package com.zy.crm.common.model; import com.core.common.DateUtils; import com.zy.crm.manager.entity.Plan; import com.zy.crm.manager.entity.ReimburseOnline; import com.zy.crm.system.entity.User; import lombok.Data; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Created by vincent on 2022/11/24 */ @Data public class SettleDto { private Integer step; private String title; private String msg; private Long userId; private String username; private String time; private Boolean curr; /* * 浓缩 * */ public static List InItFlowPath(List users, List names, int nodes) { List list = new ArrayList<>(); for (int i = 0; i < nodes; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); if (i == 0) { dto.setTitle("开始"); dto.setMsg(users.get(i).getUsername() + names.get(i)); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); } else { dto.setTitle(names.get(i)); } dto.setUserId(users.get(i).getId()); dto.setUsername(users.get(i).getUsername()); list.add(dto); } return list; } /* * 浓缩 * */ public static List InItFlowPathTwo(List users, List names, int nodes) { List list = new ArrayList<>(); for (int i = 1; i < nodes+1; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); if (i == 1) { dto.setTitle("开始"); dto.setMsg(users.get(i-1).getUsername() + names.get(i-1)); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); } else { dto.setTitle(names.get(i-1)); } dto.setUserId(users.get(i-1).getId()); dto.setUsername(users.get(i-1).getUsername()); list.add(dto); } return list; } public static List init(Plan plan, User manager, User planLeader) { List list = new ArrayList<>(); for (int i = 1; i < 6; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 1: dto.setTitle("开始"); dto.setMsg(plan.getUserId$() + "创建了审批"); dto.setUserId(plan.getUserId()); dto.setUsername(plan.getUserId$()); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); list.add(dto); break; case 2: dto.setTitle("售前审核"); dto.setUserId(planLeader.getId()); dto.setUsername(planLeader.getNickname()); list.add(dto); break; case 3: dto.setTitle("规划员审核"); list.add(dto); break; case 4: dto.setTitle("审批通过"); dto.setUserId(plan.getUserId()); dto.setUsername(plan.getUserId$()); list.add(dto); break; default: break; } } return list; } public static List initPriQuote(Plan plan, User manager, User president, User user) { List list = new ArrayList<>(); for (int i = 1; i < 5; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 1: dto.setTitle("开始"); dto.setMsg(user.getUsername() + "创建了审批"); dto.setUserId(user.getId()); dto.setUsername(user.getUsername()); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); list.add(dto); break; case 2: dto.setTitle("部门经理审核"); dto.setUserId(manager.getId()); dto.setUsername(manager.getNickname()); list.add(dto); break; case 3: dto.setTitle("总经办审核"); dto.setUserId(president.getId()); dto.setUsername(president.getNickname()); list.add(dto); break; case 4: dto.setTitle("审批通过"); dto.setUserId(plan.getUserId()); dto.setUsername(plan.getUserId$()); list.add(dto); break; default: break; } } return list; } public static List initPriQuote(ReimburseOnline reimburseOnline, User manager, User president3, User president4, User president5, User president6, User user) { List list = new ArrayList<>(); for (int i = 0; i < 7; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 1: dto.setTitle("开始"); dto.setMsg(user.getUsername() + "创建了审批"); dto.setUserId(user.getId()); dto.setUsername(user.getNickname()); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); list.add(dto); break; case 2: dto.setTitle("部门经理审核"); dto.setUserId(manager.getId()); dto.setUsername(manager.getNickname()); list.add(dto); break; case 3: dto.setTitle(president3.getUsername() + "审核"); dto.setUserId(president3.getId()); dto.setUsername(president3.getNickname()); list.add(dto); break; case 4: dto.setTitle(president4.getUsername() + "审核"); dto.setUserId(president4.getId()); dto.setUsername(president4.getNickname()); list.add(dto); break; case 5: dto.setTitle(president5.getUsername() + "审核"); dto.setUserId(president5.getId()); dto.setUsername(president5.getNickname()); list.add(dto); break; case 6: dto.setTitle(president6.getUsername() + "审核"); dto.setUserId(president6.getId()); dto.setUsername(president6.getNickname()); list.add(dto); break; default: break; } } return list; } public static List initBusiness(User manager, User user) { List list = new ArrayList<>(); for (int i = 0; i < 3; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 1: dto.setTitle("提交出差"); dto.setUserId(user.getId()); dto.setUsername(user.getNickname()); dto.setMsg(user.getNickname() + "提交出差申请"); dto.setTime(DateUtils.convert(new Date())); list.add(dto); break; case 2: dto.setTitle("部门经理审核"); dto.setUserId(manager.getId()); dto.setUsername(manager.getNickname()); list.add(dto); break; default: break; } } return list; } public static List initSalesPricing(User manager, User user, User userUp, List names, int nodes) { List list = new ArrayList<>(); for (int i = 0; i < nodes + 1; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 0: dto.setTitle("开始"); dto.setMsg(user.getUsername() + names.get(i)); dto.setUserId(user.getId()); dto.setUsername(user.getUsername()); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); list.add(dto); break; case 1: dto.setTitle(names.get(i)); dto.setUserId(user.getId()); dto.setUsername(user.getNickname()); list.add(dto); break; case 2: dto.setTitle(names.get(i)); dto.setUserId(manager.getId()); dto.setUsername(manager.getNickname()); list.add(dto); break; case 3: dto.setTitle(names.get(i)); dto.setUserId(userUp.getId()); dto.setUsername(userUp.getUsername()); list.add(dto); break; default: break; } } return list; } public static List initSalesPricingPriOnline2(User user, User userUp, List names, int nodes) { List list = new ArrayList<>(); for (int i = 0; i < nodes + 1; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 0: dto.setTitle("开始"); dto.setMsg(user.getUsername() + names.get(i)); dto.setUserId(user.getId()); dto.setUsername(user.getUsername()); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); list.add(dto); break; case 1: dto.setTitle(names.get(i)); dto.setUserId(user.getId()); dto.setUsername(user.getNickname()); list.add(dto); break; case 2: dto.setTitle(names.get(i)); dto.setUserId(userUp.getId()); dto.setUsername(userUp.getUsername()); list.add(dto); break; default: break; } } return list; } public static List initContract(User manager, User user, User president, List names, int nodes) { List list = new ArrayList<>(); for (int i = 0; i < nodes + 1; i++) { SettleDto dto = new SettleDto(); dto.setStep(i); switch (i) { case 1: dto.setTitle("开始"); dto.setMsg(user.getUsername() + names.get(i)); dto.setUserId(user.getId()); dto.setUsername(user.getUsername()); dto.setTime(DateUtils.convert(new Date())); dto.setCurr(Boolean.TRUE); list.add(dto); break; // case 1: // dto.setTitle(names.get(i)); // dto.setUserId(user.getId()); // dto.setUsername(user.getNickname()); // list.add(dto); // break; case 2: dto.setTitle(names.get(i)); dto.setUserId(manager.getId()); dto.setUsername(manager.getNickname()); list.add(dto); break; case 3: dto.setTitle(names.get(i)); dto.setUserId(president.getId()); dto.setUsername(president.getNickname()); list.add(dto); break; case 4: dto.setTitle(names.get(i)); dto.setUserId(user.getId()); dto.setUsername(user.getUsername()); list.add(dto); break; default: break; } } return list; } }