package com.zy.crm.manager.entity; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.crm.manager.service.CstmrService; import com.zy.crm.manager.service.OrderService; import com.zy.crm.manager.service.PlanNeedService; import com.zy.crm.manager.service.PlanTypeService; import com.zy.crm.system.entity.Dept; import com.zy.crm.system.entity.Host; import com.zy.crm.system.entity.User; import com.zy.crm.system.service.DeptService; import com.zy.crm.system.service.HostService; import com.zy.crm.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; @Data @TableName("man_plan") public class Plan implements Serializable { private static final long serialVersionUID = 1L; /** * ID */ @ApiModelProperty(value = "ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 所属商户 */ @ApiModelProperty(value = "所属商户") @TableField("host_id") private Long hostId; /** * 所属部门 */ @ApiModelProperty(value = "所属部门") @TableField("dept_id") private Long deptId; /** * 业务类型 */ @ApiModelProperty(value = "业务类型") @TableField("plan_type") private Long planType; /** * 业务员 */ @ApiModelProperty(value = "业务员") @TableField("user_id") private Long userId; /** * 跟踪项目 */ @ApiModelProperty(value = "跟踪项目") @TableField("order_id") private Long orderId; /** * 客户信息 */ @ApiModelProperty(value = "客户信息") @TableField("cstmr_id") private Long cstmrId; /** * 规划单代号 */ @ApiModelProperty(value = "规划单代号") private String uuid; /** * 规划单名称 */ @ApiModelProperty(value = "规划单名称") private String name; /** * 申请日期 */ @ApiModelProperty(value = "申请日期") @TableField("apple_time") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date appleTime; /** * 方案所需 */ @ApiModelProperty(value = "方案所需") @TableField("plan_need") private String planNeed; /** * 立项 1: 是 0: 否 */ @ApiModelProperty(value = "立项 1: 是 0: 否 ") @TableField("be_item") private Integer beItem; /** * 表单内容 */ @ApiModelProperty(value = "表单内容") private String form; /** * 规划员 */ @ApiModelProperty(value = "规划员") private Long planner; /** * 完成时间 */ @ApiModelProperty(value = "完成时间") @TableField("finish_time") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date finishTime; /** * 更改方案 1: 是 0: 否 */ @ApiModelProperty(value = "更改方案 1: 是 0: 否 ") private Integer change; /** * 更改次数 */ @ApiModelProperty(value = "更改次数") @TableField("change_time") private Integer changeTime; /** * 更改方案原因 */ @ApiModelProperty(value = "更改方案原因") @TableField("change_reason") private String changeReason; /** * 规格奖金 */ @ApiModelProperty(value = "规格奖金") @TableField("plan_bonus") private Double planBonus; /** * 规格组长奖金 */ @ApiModelProperty(value = "规格组长奖金") @TableField("plan_leader_bonus") private Double planLeaderBonus; /** * 附件 */ @ApiModelProperty(value = "附件") private String files; /** * 进度 1: 开始 2: 售前审核 3: 规划员审核 4: 审批通过 */ @ApiModelProperty(value = "进度 1: 开始 2: 售前审核 3: 规划员审核 4: 审批通过 ") private Integer settle; /** * 审核进度 */ @ApiModelProperty(value = "审核进度") @TableField("settle_msg") private String settleMsg; /** * 评论 */ @ApiModelProperty(value = "评论") private String comment; /** * 状态 1: 正常 0: 禁用 */ @ApiModelProperty(value = "状态 1: 正常 0: 禁用 ") private Integer status; /** * 添加人员 */ @ApiModelProperty(value = "添加人员") @TableField("create_by") private Long createBy; /** * 添加时间 */ @ApiModelProperty(value = "添加时间") @TableField("create_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 修改人员 */ @ApiModelProperty(value = "修改人员") @TableField("update_by") private Long updateBy; /** * 修改时间 */ @ApiModelProperty(value = "修改时间") @TableField("update_time") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 注释 */ @ApiModelProperty(value = "注释") private String memo; /** * 项目进度流程{1:项目创建,2:核价处理,3:产品费用明细,4:报价预算单,5:报价单} */ @ApiModelProperty(value = "项目进度流程{1:项目创建,2:核价处理,3:产品费用明细,4:报价预算单,5:报价单}") private Integer step; /** * 业务员联系方式 */ @ApiModelProperty(value = "业务员联系方式") private String userXmlSelPhone; /** * 节点负责人 */ @ApiModelProperty(value = "节点负责人") private Long director; /** * 集成项目货架核价状态 */ @ApiModelProperty(value = "状态 3: 完成核价 2: 开始核价 1: 等待核价 0: 初始 ") private Integer status2; /** * 节点负责人 */ @ApiModelProperty(value = "副planId") @TableField("assistant_plan_id") private Long assistantPlanId; /** * 节点负责人 */ @ApiModelProperty(value = "主planId") @TableField("host_plan_id") private Long hostPlanId; /** * 节点负责人 */ @ApiModelProperty(value = "主planId") @TableField("assistant_host_sign") private Integer assistantHostSign; /** * 流程长度 */ @ApiModelProperty(value= "流程长度") @TableField("settle_size") private Integer settleSize; public Plan() { } public Plan(Plan plan) { this.hostId = plan.getHostId(); this.deptId = plan.getDeptId(); this.planType = plan.getPlanType(); this.userId = plan.getUserId(); this.orderId = plan.getOrderId(); this.cstmrId = plan.getCstmrId(); this.name = plan.getName(); this.planNeed = plan.getPlanNeed(); this.beItem = plan.getBeItem(); this.form = plan.getForm(); this.finishTime = plan.getFinishTime(); this.change = plan.getChange(); this.changeTime = plan.getChangeTime(); this.changeReason = plan.getChangeReason(); this.planBonus = plan.getPlanBonus(); this.planLeaderBonus = plan.getPlanLeaderBonus(); this.files = plan.getFiles(); this.comment = plan.getComment(); this.memo = plan.getMemo(); this.userXmlSelPhone = plan.getUserXmlSelPhone(); } public String getHostId$() { HostService service = SpringUtils.getBean(HostService.class); Host host = service.selectById(this.hostId); if (!Cools.isEmpty(host)) { return String.valueOf(host.getName()); } return null; } public String getDirector$() { if (this.director == null) return ""; UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.director); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getDeptId$() { DeptService service = SpringUtils.getBean(DeptService.class); Dept dept = service.selectById(this.deptId); if (!Cools.isEmpty(dept)) { return String.valueOf(dept.getName()); } return null; } public String getPlanType$() { PlanTypeService service = SpringUtils.getBean(PlanTypeService.class); PlanType planType = service.selectById(this.planType); if (!Cools.isEmpty(planType)) { return String.valueOf(planType.getName()); } return null; } public Integer getPLType$() { PlanTypeService service = SpringUtils.getBean(PlanTypeService.class); PlanType planType = service.selectById(this.planType); if (!Cools.isEmpty(planType)) { return planType.getType(); } return null; } public String getStatusAll$(){ if (this.status2>3 || this.getAssistantHostSign()==1){ return getStatus$(); }else { return "集成"+getStatus$()+"/"+"货架"+getStatus2$(); } } public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ case 3: return "完成核价"; case 2: return "开始核价"; case 1: return "等待核价"; case 0: return "初始"; default: return String.valueOf(this.status); } } public String getStatus2$(){ if (null == this.status2){ return null; } switch (this.status2){ case 3: return "完成核价"; case 2: return "开始核价"; case 1: return "等待核价"; case 0: return "初始"; default: return String.valueOf(this.status2); } } public String getUserId$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.userId); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getOrderId$() { OrderService service = SpringUtils.getBean(OrderService.class); Order order = service.selectById(this.orderId); if (!Cools.isEmpty(order)) { return String.valueOf(order.getName()); } return null; } public String getCstmrId$() { CstmrService service = SpringUtils.getBean(CstmrService.class); Cstmr cstmr = service.selectById(this.cstmrId); if (!Cools.isEmpty(cstmr)) { return String.valueOf(cstmr.getName()); } return null; } public String getAppleTime$() { if (Cools.isEmpty(this.appleTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd").format(this.appleTime); } public String getPlanNeed$() { if (Cools.isEmpty(this.planNeed)) { return null; } PlanNeedService service = SpringUtils.getBean(PlanNeedService.class); String[] planNeeds = this.planNeed.split("-"); String name = ""; for (String planNeeda : planNeeds) { PlanNeed planNeed = service.selectById(Integer.parseInt(planNeeda)); if (!Cools.isEmpty(planNeed)) { // return String.valueOf(planNeed.getName()); name = name + planNeed.getName() + ";"; } } return name; } public String getBeItem$() { if (null == this.beItem) { return null; } switch (this.beItem) { case 1: return "是"; case 0: return "否"; default: return String.valueOf(this.beItem); } } public String getAssistantHostSign$() { if (null == this.assistantHostSign) { return null; } switch (this.assistantHostSign) { case 1: return "副流程"; case 0: return "主流程"; default: return String.valueOf(this.assistantHostSign); } } public String getFinishTime$() { if (Cools.isEmpty(this.finishTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd").format(this.finishTime); } public String getChange$() { if (null == this.change) { return null; } switch (this.change) { case 1: return "是"; case 0: return "否"; default: return String.valueOf(this.change); } } public String getSettle$() { if (null == this.settle) { return null; } if (this.getSettleSize()==2){ switch (this.settle) { case 1: return "等待确认"; case 2: return "审批通过"; default: return String.valueOf(this.settle); } } switch (this.settle) { case 1: return "等待售前分配规划员"; case 2: return "等待规划员提交"; case 3: return "规划员已提交"; case 4: return "审批通过"; default: return String.valueOf(this.settle); } } public String getPlanner$() { if (this.planner == null) return "未分配"; UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.planner); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return ""; } public String getNowHeadman$() { PlanTypeService planTypeService = SpringUtils.getBean(PlanTypeService.class); PlanType planType = planTypeService.selectById(this.planType); User user = planTypeService.findPlanLeader(planType); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getCreateBy$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.createBy); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getCreateTime$() { if (Cools.isEmpty(this.createTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getUpdateBy$() { UserService service = SpringUtils.getBean(UserService.class); User user = service.selectById(this.updateBy); if (!Cools.isEmpty(user)) { return String.valueOf(user.getNickname()); } return null; } public String getUpdateTime$() { if (Cools.isEmpty(this.updateTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } }