package opsdev import ( "dashoo.cn/opms_parent/app/model/opsdev/internal" ) // ProjectInventory 项目清单(复用 OpsDeliveryProject 结构) type ProjectInventory internal.OpsDeliveryProject // ProjectInventorySearchReq 项目清单查询请求 type ProjectInventorySearchReq struct { PageNum int `json:"pageNum" form:"pageNum"` // 页码 PageSize int `json:"pageSize" form:"pageSize"` // 每页条数 ContractNo string `json:"contractNo" form:"contractNo"` // 合同编号 ProjectName string `json:"projectName" form:"projectName"` // 项目名称 ProductLine string `json:"productLine" form:"productLine"` // 产品线 ProjectStatus string `json:"projectStatus" form:"projectStatus"` // 项目状态 DeliveryNode string `json:"deliveryNode" form:"deliveryNode"` // 交付节点 DeliveryUserId int `json:"deliveryUserId" form:"deliveryUserId"` // 交付负责人ID SalesUserId int `json:"salesUserId" form:"salesUserId"` // 销售负责人ID PlanDeliveryTimeStart string `json:"planDeliveryTimeStart" form:"planDeliveryTimeStart"` // 计划交付时间开始 PlanDeliveryTimeEnd string `json:"planDeliveryTimeEnd" form:"planDeliveryTimeEnd"` // 计划交付时间结束 PlanAcceptTimeStart string `json:"planAcceptTimeStart" form:"planAcceptTimeStart"` // 计划验收时间开始 PlanAcceptTimeEnd string `json:"planAcceptTimeEnd" form:"planAcceptTimeEnd"` // 计划验收时间结束 } // ProjectInventoryRsp 项目清单响应(包含合同金额信息) type ProjectInventoryRsp struct { Id int `json:"id" orm:"id"` // 主键 ProjectName string `json:"projectName" orm:"project_name"` // 项目名称 ProductLine string `json:"productLine" orm:"product_line"` // 产品线 ProjectStatus string `json:"projectStatus" orm:"project_status"` // 项目状态 DeliveryNode string `json:"deliveryNode" orm:"delivery_node"` // 交付节点 DeliveryUserId int `json:"deliveryUserId" orm:"delivery_user_id"` // 交付负责人ID DeliveryUserName string `json:"deliveryUserName" orm:"delivery_user_name"` // 交付负责人 SalesUserId int `json:"salesUserId" orm:"sales_user_id"` // 销售负责人ID SalesUserName string `json:"salesUserName" orm:"sales_user_name"` // 销售负责人 PlanDeliveryTime string `json:"planDeliveryTime" orm:"plan_delivery_time"` // 计划交付时间 PlanAcceptTime string `json:"planAcceptTime" orm:"plan_accept_time"` // 计划验收时间 ContractId int `json:"contractId" orm:"contract_id"` // 合同ID ContractNo string `json:"contractNo" orm:"contract_no"` // 合同编号 ContractAmount float64 `json:"contractAmount" orm:"contract_amount"` // 合同金额 CollectedAmount float64 `json:"collectedAmount" orm:"collected_amount"` // 回款金额 CustId string `json:"custId" orm:"cust_id"` // 客户ID CustName string `json:"custName" orm:"cust_name"` // 客户名称 } // ProjectManagerReq 查询项目经理/交付经理请求 type ProjectManagerReq struct { RoleType string `json:"roleType" form:"roleType"` // 角色类型:projectManager-项目经理, deliveryManager-交付经理 } // ProjectManagerRsp 项目管理人员响应 type ProjectManagerRsp struct { UserId int `json:"userId" orm:"user_id"` // 用户ID UserName string `json:"userName" orm:"user_name"` // 用户姓名 NickName string `json:"nickName" orm:"nick_name"` // 用户昵称 DeptName string `json:"deptName" orm:"dept_name"` // 部门名称 RoleName string `json:"roleName" orm:"role_name"` // 角色名称 } // ContractProductReq 查询合同产品请求 type ContractProductReq struct { ContractId int `json:"contractId" form:"contractId" v:"required#合同ID不能为空"` // 合同ID } // ProjectInventoryExportReq 项目清单导出请求 type ProjectInventoryExportReq struct { ProjectInventorySearchReq Columns []string `json:"columns"` // 导出列 } // ProjectInventoryExportData 项目清单导出数据(用于 export 标签定义表头) type ProjectInventoryExportData struct { ContractNo string `json:"contractNo" export:"合同编号"` ProjectName string `json:"projectName" export:"项目名称"` ProductLine string `json:"productLine" export:"产品线"` ProjectStatus string `json:"projectStatus" export:"项目状态"` DeliveryNode string `json:"deliveryNode" export:"交付节点"` DeliveryUserName string `json:"deliveryUserName" export:"交付负责人"` SalesUserName string `json:"salesUserName" export:"销售负责人"` PlanDeliveryTime string `json:"planDeliveryTime" export:"计划交付时间"` PlanAcceptTime string `json:"planAcceptTime" export:"计划验收时间"` ContractAmount float64 `json:"contractAmount" export:"合同金额"` CollectedAmount float64 `json:"collectedAmount" export:"回款金额"` CustName string `json:"custName" export:"客户名称"` } // ProjectInventoryExportContent 项目清单导出内容 type ProjectInventoryExportContent struct { Content string `json:"content"` // 导出内容(base64编码) } // ContractProductRsp 合同产品响应 type ContractProductRsp struct { Id int `json:"id"` // 主键 ContractId int `json:"contractId"` // 关联合同ID ContractCode string `json:"contractCode"` // 合同编号 ProdId int `json:"prodId"` // 关联产品ID ProdCode string `json:"prodCode"` // 产品型号 ProdName string `json:"prodName"` // 产品名称 ProdClass string `json:"prodClass"` // 产品类别 ProdNum int `json:"prodNum"` // 产品数量 MaintTerm int `json:"maintTerm"` // 维保期 SugSalesPrice float64 `json:"sugSalesPrice"` // 建议成交价 TranPrice float64 `json:"tranPrice"` // 成交价格 ContractPrive float64 `json:"contractPrive"` // 合同总价 Remark string `json:"remark"` // 备注 }