|
@@ -4,10 +4,8 @@ import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.github.pagehelper.util.StringUtil;
|
|
|
import com.idea.oa.activiti.service.ProActiService;
|
|
|
-import com.idea.oa.apply.model.ApplyProject;
|
|
|
import com.idea.oa.apply.model.inout.AddConfirmResult;
|
|
|
import com.idea.oa.apply.model.inout.OperaterManage;
|
|
|
-import com.idea.oa.apply.service.ApplyProjectService;
|
|
|
import com.idea.oa.apply.util.constant.ConstantFlowType;
|
|
|
import com.idea.oa.flow2.mapper.FlowMainExtendMapper;
|
|
|
import com.idea.oa.flow2.mapper.FlowMainMapper;
|
|
@@ -51,14 +49,7 @@ import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
-// @Autowired
|
|
|
-// private ApplyProjectProposalService applyProjectProposalService;
|
|
|
-// @Autowired
|
|
|
-// private ApplyChangeProjectProposalService applyChangeProjectProposalService;
|
|
|
-// @Autowired
|
|
|
-// private ProMainService proMainService;
|
|
|
- // @Autowired
|
|
|
-// private ApplyUseMoneyDetailService applyUseMoneyDetailService;
|
|
|
+
|
|
|
@Autowired
|
|
|
public FrameUserService frameUserService;
|
|
|
@Autowired
|
|
@@ -78,17 +69,9 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
private FlowMainLogService flowMainLogService;
|
|
|
@Autowired
|
|
|
private FlowMainCcService flowMainCcService;
|
|
|
- @Autowired
|
|
|
- private ApplyProjectService applyProjectService;
|
|
|
|
|
|
-// @Autowired
|
|
|
-// private ApplyChangeProjectService applyChangeProjectService;
|
|
|
|
|
|
-// @Autowired
|
|
|
-// private CtrMainService ctrMainService;
|
|
|
|
|
|
-// @Autowired
|
|
|
-// private ProTypeService proTypeService;
|
|
|
@Autowired
|
|
|
private FrameUserDeptService frameUserDeptService;
|
|
|
@Autowired
|
|
@@ -100,7 +83,7 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
if (!"ok_end".equals(isOkString) && !"ok_noEnd".equals(isOkString)&&!"no_end".equals(isOkString)) {
|
|
|
|
|
|
}else{
|
|
|
- //todo 该审核人审核结束 信息在flowMainPush中
|
|
|
+ // 该审核人审核结束 信息在flowMainPush中
|
|
|
|
|
|
}
|
|
|
|
|
@@ -270,7 +253,7 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
// 不操作,说明都同意直接跳过
|
|
|
|
|
|
} else {
|
|
|
- //todo 说明有人不同意,需要结束流程
|
|
|
+ // 说明有人不同意,需要结束流程
|
|
|
// 因为这是同意签核,但是之前有人不同意,并已经记录了,所以要进行不同意操作,所以要记录本用户同意,而流程是不同意结束
|
|
|
{
|
|
|
{// 发起流程引擎操作 并结束该流程
|
|
@@ -1808,22 +1791,23 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
try {
|
|
|
|
|
|
//todo 判断是否需要确定集团审核 ============================================这里,要特别定制(只对三资,解决集团分管领导不知道选哪个的问题)
|
|
|
- if (roleKey.equals("jtzjl") || roleKey.equals("xmpswyh") || roleKey.equals("jxpswyh") || roleKey.equals("jtfgld") || roleKey.equals("zyld")) {
|
|
|
-// System.out.println("-100,查询数据开始:" + roleKey + "===>" + roleType);
|
|
|
- if (roleKey.equals("jtfgld")) {
|
|
|
- // 三资,解决集团分管领导不知道选哪个的问题
|
|
|
- frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup2(roleKey, roleType, groupId);
|
|
|
-
|
|
|
- } else if (roleKey.equals("zyld")) {
|
|
|
- // 三资,解决集团分管领导不知道选哪个的问题
|
|
|
- frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup3(roleKey, roleType, groupId);
|
|
|
-
|
|
|
- } else {
|
|
|
- frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup(roleKey, roleType);
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- } else if (roleKey.equals("fgld")) {
|
|
|
+// if (roleKey.equals("jtzjl") || roleKey.equals("xmpswyh") || roleKey.equals("jxpswyh") || roleKey.equals("jtfgld") || roleKey.equals("zyld")) {
|
|
|
+//// System.out.println("-100,查询数据开始:" + roleKey + "===>" + roleType);
|
|
|
+// if (roleKey.equals("jtfgld")) {
|
|
|
+// // 三资,解决集团分管领导不知道选哪个的问题
|
|
|
+// frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup2(roleKey, roleType, groupId);
|
|
|
+//
|
|
|
+// } else if (roleKey.equals("zyld")) {
|
|
|
+// // 三资,解决集团分管领导不知道选哪个的问题
|
|
|
+// frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup3(roleKey, roleType, groupId);
|
|
|
+//
|
|
|
+// } else {
|
|
|
+// frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup(roleKey, roleType);
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// } else
|
|
|
+ if (roleKey.equals("fgld")) {
|
|
|
// 找分管领导
|
|
|
frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndDept(flowMain.getDeptId());
|
|
|
|
|
@@ -1832,7 +1816,8 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndUpDept(flowMain.getDeptId());
|
|
|
|
|
|
} else {
|
|
|
- frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndGroup(roleKey, roleType, groupId);
|
|
|
+ frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndNoGroup(roleKey, roleType);
|
|
|
+// frameUsersByRoleKey = flowMainExtendMapper.findFrameUsersByRoleKeyAndGroup(roleKey, roleType, groupId);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -1933,256 +1918,30 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
public String[] getFlowStep(FlowMain flowMain) {
|
|
|
String[] flowStep = null;
|
|
|
{
|
|
|
- if (flowMain.getFlowType().equals(ConstantFlowType.ADD_WORK)) {
|
|
|
- flowStep = ConstantFlowType.ADD_WORK_FLOWSTEPS;
|
|
|
+ if (flowMain.getFlowType().equals(ConstantFlowType.OFF_WORK)) {
|
|
|
+// flowStep = ConstantFlowType.OFF_WORK_FLOWSTEPS_noenough2;
|
|
|
+
|
|
|
} else if (flowMain.getFlowType().equals(ConstantFlowType.PAYMENT)) {
|
|
|
flowStep = ConstantFlowType.PAYMENT_FLOWSTEPS;
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.END_PROJECT)) {
|
|
|
- if (flowMain.getGroupId().equals(ConstantFlowType.groupIdMyself)) {
|
|
|
- flowStep = ConstantFlowType.END_PROJECT_FLOWSTEPS;
|
|
|
- } else {
|
|
|
- flowStep = ConstantFlowType.END_PROJECT_FLOWSTEPS1;
|
|
|
- }
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.START_PROJECT)) {
|
|
|
- ApplyProject applyProject = applyProjectService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProject.getProId());
|
|
|
-// CtrMainExample example = new CtrMainExample();
|
|
|
-// example.createCriteria().andProidEqualTo(applyProject.getProId());
|
|
|
-// List<CtrMain> ctrMains = ctrMainService.selectByExample(example);
|
|
|
-// Double ctrAmount = 0D;//合同金额
|
|
|
-// if (ctrMains.size() > 0) {
|
|
|
-// ctrAmount = ctrMains.get(0).getTotalamount();
|
|
|
-// }
|
|
|
-// BigDecimal ratio = applyProject.getExpectRatio();//毛利
|
|
|
-// BigDecimal expectCost = applyProject.getExpectCost();//投入成本
|
|
|
-// //战略型T14 市场型T15 保障型T16
|
|
|
-// //1、市场型项目:合同金额>=6000000,或毛利率<30%;
|
|
|
-// //2、战略型项目:投入金额>300000;
|
|
|
-// //3、保障型项目:毛利率<8%,或项目合同金额>=10000000
|
|
|
-// String proType = proMain.getProtype();
|
|
|
-// ProTypeExample proTypeExample = new ProTypeExample();
|
|
|
-// proTypeExample.createCriteria().andProValueEqualTo(proType).andGroupIdEqualTo(proMain.getGroupId());
|
|
|
-// List<ProType> proTypes = proTypeService.selectByExample(proTypeExample);
|
|
|
-// Boolean flag = false;
|
|
|
-// if (proTypes.size() > 0) {
|
|
|
-// ProType proType1 = proTypes.get(0);
|
|
|
-// if (proType1.getProLabel().equals("市场型")) {
|
|
|
-// if (ctrAmount >= 6000000D || ratio.compareTo(new BigDecimal(30)) < 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("战略型")) {
|
|
|
-// if (expectCost.compareTo(new BigDecimal(300000)) > 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("保障型")) {
|
|
|
-// if (ratio.compareTo(new BigDecimal("8")) < 0 || ctrAmount >= 10000000) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (flag) {
|
|
|
-// if (flowMain.getGroupId().equals(ConstantFlowType.groupIdMyself)) {
|
|
|
-//
|
|
|
-// flowStep = ConstantFlowType.START_PROJECT_FLOWSTEPS_enough;
|
|
|
-// } else {
|
|
|
-// flowStep = ConstantFlowType.START_PROJECT_FLOWSTEPS1_enough;
|
|
|
-//
|
|
|
-// }
|
|
|
-// } else {
|
|
|
- //逻辑判断
|
|
|
- flowStep = ConstantFlowType.START_PROJECT_FLOWSTEPS_noenough;
|
|
|
-// }
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.CHANGE_PROJECT)) {
|
|
|
-// ApplyChangeProject applyProject = applyChangeProjectService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProject.getProId());
|
|
|
-// CtrMainExample example = new CtrMainExample();
|
|
|
-// example.createCriteria().andProidEqualTo(applyProject.getProId());
|
|
|
-// List<CtrMain> ctrMains = ctrMainService.selectByExample(example);
|
|
|
-// Double ctrAmount = 0D;//合同金额
|
|
|
-// if (ctrMains.size() > 0) {
|
|
|
-// ctrAmount = ctrMains.get(0).getTotalamount();
|
|
|
-// }
|
|
|
-// BigDecimal ratio = applyProject.getExpectRatio();//毛利
|
|
|
-// BigDecimal expectCost = applyProject.getExpectCost();//投入成本
|
|
|
-// //战略型T14 市场型T15 保障型T16
|
|
|
-// //1、市场型项目:合同金额>=6000000,或毛利率<30%;
|
|
|
-// //2、战略型项目:投入金额>300000;
|
|
|
-// //3、保障型项目:毛利率<8%,或项目合同金额>=10000000
|
|
|
-// String proType = proMain.getProtype();
|
|
|
-// ProTypeExample proTypeExample = new ProTypeExample();
|
|
|
-// proTypeExample.createCriteria().andProValueEqualTo(proType).andGroupIdEqualTo(proMain.getGroupId());
|
|
|
-// List<ProType> proTypes = proTypeService.selectByExample(proTypeExample);
|
|
|
-// Boolean flag = false;
|
|
|
-// if (proTypes.size() > 0) {
|
|
|
-// ProType proType1 = proTypes.get(0);
|
|
|
-// if (proType1.getProLabel().equals("市场型")) {
|
|
|
-// if (ctrAmount >= 6000000D || ratio.compareTo(new BigDecimal(30)) < 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("战略型")) {
|
|
|
-// if (expectCost.compareTo(new BigDecimal(300000)) > 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("保障型")) {
|
|
|
-// if (ratio.compareTo(new BigDecimal("8")) < 0 || ctrAmount >= 10000000) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (flag) {
|
|
|
-// if (flowMain.getGroupId().equals(ConstantFlowType.groupIdMyself)) {
|
|
|
-//
|
|
|
-// flowStep = ConstantFlowType.CHANGE_PROJECT_FLOWSTEPS_enough;
|
|
|
-// } else {
|
|
|
-// flowStep = ConstantFlowType.CHANGE_PROJECT_FLOWSTEPS1_enough;
|
|
|
-//
|
|
|
-// }
|
|
|
-// } else {
|
|
|
- //逻辑判断
|
|
|
- flowStep = ConstantFlowType.CHANGE_PROJECT_FLOWSTEPS_noenough;
|
|
|
-// }
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.PROJECT_PROPOSAL1)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyProjectProposal applyProjectProposal = applyProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.PROJECT_PROPOSAL1_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.PROJECT_PROPOSAL1_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.PROJECT_PROPOSAL)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyProjectProposal applyProjectProposal = applyProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.PROJECT_PROPOSAL_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.PROJECT_PROPOSAL_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.CHANGE_PROJECT_PROPOSAL1)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyChangeProjectProposal applyChangeProjectProposal = applyChangeProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyChangeProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.CHANGE_PROJECT_PROPOSAL1_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.CHANGE_PROJECT_PROPOSAL1_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.CHANGE_PROJECT_PROPOSAL)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyChangeProjectProposal applyChangeProjectProposal = applyChangeProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyChangeProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.CHANGE_PROJECT_PROPOSAL_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.CHANGE_PROJECT_PROPOSAL_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.CHECK_IN)) {
|
|
|
+ flowStep = ConstantFlowType.CHECK_IN_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.CONTRACT)) {
|
|
|
+ flowStep = ConstantFlowType.CONTRACT_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.RECEIVABLES_ADJUST)) {
|
|
|
+ flowStep = ConstantFlowType.RECEIVABLES_ADJUST_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.INVOICE_RED)) {
|
|
|
+ flowStep = ConstantFlowType.INVOICE_RED_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.BUYING_MORE)) {
|
|
|
+ flowStep = ConstantFlowType.BUYING_MORE_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.FINANCE)) {
|
|
|
+ flowStep = ConstantFlowType.FINANCE_FLOWSTEPS;
|
|
|
}
|
|
|
}
|
|
|
return flowStep;
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 获取流程步骤(后端查询各个节点名称用),逻辑同上 todo 新增流程要在这里加_步骤2
|
|
|
*
|
|
@@ -2192,257 +1951,30 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
public String[] getOnlyFlowFlowStep(FlowMain flowMain) {
|
|
|
String[] flowStep = null;
|
|
|
{
|
|
|
- if (flowMain.getFlowType().equals(ConstantFlowType.ADD_WORK)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_ADD_WORK_FLOWSTEPS;
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.PROJECT_PROPOSAL1)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyProjectProposal applyProjectProposal = applyProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_PROJECT_PROPOSAL1_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_PROJECT_PROPOSAL1_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.START_PROJECT)) {
|
|
|
-
|
|
|
-
|
|
|
- ApplyProject applyProject = applyProjectService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProject.getProId());
|
|
|
-// CtrMainExample example = new CtrMainExample();
|
|
|
-// example.createCriteria().andProidEqualTo(applyProject.getProId());
|
|
|
-// List<CtrMain> ctrMains = ctrMainService.selectByExample(example);
|
|
|
-// Double ctrAmount = 0D;//合同金额
|
|
|
-// if (ctrMains.size() > 0) {
|
|
|
-// ctrAmount = ctrMains.get(0).getTotalamount();
|
|
|
-// }
|
|
|
-// BigDecimal ratio = applyProject.getExpectRatio();//毛利
|
|
|
-// BigDecimal expectCost = applyProject.getExpectCost();//投入成本
|
|
|
-// //战略型T14 市场型T15 保障型T16
|
|
|
-// //1、市场型项目:合同金额>=6000000,或毛利率<30%;
|
|
|
-// //2、战略型项目:投入金额>300000;
|
|
|
-// //3、保障型项目:毛利率<8%,或项目合同金额>=10000000
|
|
|
-// String proType = proMain.getProtype();
|
|
|
-// ProTypeExample proTypeExample = new ProTypeExample();
|
|
|
-// proTypeExample.createCriteria().andProValueEqualTo(proType).andGroupIdEqualTo(proMain.getGroupId());
|
|
|
-// List<ProType> proTypes = proTypeService.selectByExample(proTypeExample);
|
|
|
-// Boolean flag = false;
|
|
|
-// if (proTypes.size() > 0) {
|
|
|
-// ProType proType1 = proTypes.get(0);
|
|
|
-// if (proType1.getProLabel().equals("市场型")) {
|
|
|
-// if (ctrAmount >= 6000000D || ratio.compareTo(new BigDecimal(30)) < 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("战略型")) {
|
|
|
-// if (expectCost.compareTo(new BigDecimal(300000)) > 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("保障型")) {
|
|
|
-// if (ratio.compareTo(new BigDecimal("8")) < 0 || ctrAmount >= 10000000) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (flag) {
|
|
|
-// if (flowMain.getGroupId().equals(ConstantFlowType.groupIdMyself)) {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_START_PROJECT_FLOWSTEPS_enough;
|
|
|
-// } else {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_START_PROJECT_FLOWSTEPS1_enough;
|
|
|
-//
|
|
|
-// }
|
|
|
-// } else {
|
|
|
- //逻辑判断
|
|
|
- flowStep = ConstantFlowType.onlyFlow_START_PROJECT_FLOWSTEPS_noenough;
|
|
|
-// }
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.CHANGE_PROJECT)) {
|
|
|
-// ApplyChangeProject applyProject = applyChangeProjectService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProject.getProId());
|
|
|
-// CtrMainExample example = new CtrMainExample();
|
|
|
-// example.createCriteria().andProidEqualTo(applyProject.getProId());
|
|
|
-// List<CtrMain> ctrMains = ctrMainService.selectByExample(example);
|
|
|
-// Double ctrAmount = 0D;//合同金额
|
|
|
-// if (ctrMains.size() > 0) {
|
|
|
-// ctrAmount = ctrMains.get(0).getTotalamount();
|
|
|
-// }
|
|
|
-// BigDecimal ratio = applyProject.getExpectRatio();//毛利
|
|
|
-// BigDecimal expectCost = applyProject.getExpectCost();//投入成本
|
|
|
-// //战略型T14 市场型T15 保障型T16
|
|
|
-// //1、市场型项目:合同金额>=6000000,或毛利率<30%;
|
|
|
-// //2、战略型项目:投入金额>300000;
|
|
|
-// //3、保障型项目:毛利率<8%,或项目合同金额>=10000000
|
|
|
-// String proType = proMain.getProtype();
|
|
|
-// ProTypeExample proTypeExample = new ProTypeExample();
|
|
|
-// proTypeExample.createCriteria().andProValueEqualTo(proType).andGroupIdEqualTo(proMain.getGroupId());
|
|
|
-// List<ProType> proTypes = proTypeService.selectByExample(proTypeExample);
|
|
|
-// Boolean flag = false;
|
|
|
-// if (proTypes.size() > 0) {
|
|
|
-// ProType proType1 = proTypes.get(0);
|
|
|
-// if (proType1.getProLabel().equals("市场型")) {
|
|
|
-// if (ctrAmount >= 6000000D || ratio.compareTo(new BigDecimal(30)) < 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("战略型")) {
|
|
|
-// if (expectCost.compareTo(new BigDecimal(300000)) > 0) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// } else if (proType1.getProLabel().equals("保障型")) {
|
|
|
-// if (ratio.compareTo(new BigDecimal("8")) < 0 || ctrAmount >= 10000000) {
|
|
|
-// flag = true;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// if (flag) {
|
|
|
-// if (flowMain.getGroupId().equals(ConstantFlowType.groupIdMyself)) {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_FLOWSTEPS_enough;
|
|
|
-// } else {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_FLOWSTEPS1_enough;
|
|
|
-//
|
|
|
-// }
|
|
|
-// } else {
|
|
|
- //逻辑判断
|
|
|
- flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_FLOWSTEPS_noenough;
|
|
|
-// }
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.PROJECT_PROPOSAL)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyProjectProposal applyProjectProposal = applyProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_PROJECT_PROPOSAL_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_PROJECT_PROPOSAL_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
+ if (flowMain.getFlowType().equals(ConstantFlowType.OFF_WORK)) {
|
|
|
+// flowStep = ConstantFlowType.onlyFlow_OFF_WORK_FLOWSTEPS_noenough2;
|
|
|
} else if (flowMain.getFlowType().equals(ConstantFlowType.PAYMENT)) {
|
|
|
flowStep = ConstantFlowType.onlyFlow_PAYMENT_FLOWSTEPS;
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.END_PROJECT)) {
|
|
|
- if (flowMain.getGroupId().equals(ConstantFlowType.groupIdMyself)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_END_PROJECT_FLOWSTEPS;
|
|
|
- } else {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_END_PROJECT_FLOWSTEPS1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.CHANGE_PROJECT_PROPOSAL1)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyChangeProjectProposal applyChangeProjectProposal = applyChangeProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyChangeProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_PROPOSAL1_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_PROPOSAL1_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- } else if (flowMain.getFlowType().equals(ConstantFlowType.CHANGE_PROJECT_PROPOSAL)) {
|
|
|
- {//进行审核判断
|
|
|
-// ApplyChangeProjectProposal applyChangeProjectProposal = applyChangeProjectProposalService.selectByPrimaryKey(flowMain.getFormId());
|
|
|
-////获取商机库信息
|
|
|
-// ProMain proMain = proMainService.selectByPrimaryKey(applyChangeProjectProposal.getTableProMainId());
|
|
|
-//
|
|
|
-// //添加判断条件
|
|
|
-// HashMap<String, Object> feeMoneyTotalMap = new HashMap<>();
|
|
|
-// {
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(300000)) < 0) {
|
|
|
-// feeMoneyTotalMap.put("less30w", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("less30w", "no");
|
|
|
-// }
|
|
|
-// Double presales = proMain.getPresales();
|
|
|
-// if (presales == null) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// } else {//预投入限额<=销售额的5%或小于300000
|
|
|
-// if (applyChangeProjectProposal.getProMoney().compareTo(new BigDecimal(presales).multiply(new BigDecimal(0.05))) <= 0) {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "yes");
|
|
|
-// } else {
|
|
|
-// feeMoneyTotalMap.put("lessequal5", "no");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// if ("yes".equals(feeMoneyTotalMap.get("less30w")) && "yes".equals(feeMoneyTotalMap.get("lessequal5"))) {
|
|
|
-// flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_PROPOSAL_FLOWSTEPS_noenough;
|
|
|
-// } else {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_PROPOSAL_FLOWSTEPS_enough;
|
|
|
-// }
|
|
|
- }
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.CHECK_IN)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_CHECK_IN_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.CONTRACT)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_CONTRACT_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.RECEIVABLES_ADJUST)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_RECEIVABLES_ADJUST_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.INVOICE_RED)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_INVOICE_RED_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.BUYING_MORE)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_BUYING_MORE_FLOWSTEPS;
|
|
|
+ } else if (flowMain.getFlowType().equals(ConstantFlowType.FINANCE)){
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_FINANCE_FLOWSTEPS;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
return flowStep;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 获取全流程信息 todo 新增流程要在这里加_步骤1
|
|
|
*
|
|
@@ -2452,27 +1984,22 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
public String[] getOnlylowStepAll(String flowType) {
|
|
|
String[] flowStep = null;
|
|
|
{
|
|
|
- if (flowType.equals(ConstantFlowType.ADD_WORK)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_ADD_WORK_FLOWSTEPS_ALL;
|
|
|
- } else if (flowType.equals(ConstantFlowType.PAYMENT)) {
|
|
|
+ if (flowType.equals(ConstantFlowType.OFF_WORK)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_OFF_WORK_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.PAYMENT)) {
|
|
|
flowStep = ConstantFlowType.onlyFlow_PAYMENT_FLOWSTEPS_ALL;
|
|
|
-
|
|
|
- } else if (flowType.equals(ConstantFlowType.END_PROJECT)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_END_PROJECT_FLOWSTEPS_ALL;
|
|
|
- } else if (flowType.equals(ConstantFlowType.PROJECT_PROPOSAL1)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_PROJECT_PROPOSAL1_FLOWSTEPS_ALL;
|
|
|
- } else if (flowType.equals(ConstantFlowType.PROJECT_PROPOSAL)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_PROJECT_PROPOSAL_FLOWSTEPS_ALL;
|
|
|
- } else if (flowType.equals(ConstantFlowType.CHANGE_PROJECT_PROPOSAL1)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_PROPOSAL1_FLOWSTEPS_ALL;
|
|
|
- } else if (flowType.equals(ConstantFlowType.CHANGE_PROJECT_PROPOSAL)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_PROPOSAL_FLOWSTEPS_ALL;
|
|
|
-
|
|
|
- } else if (flowType.equals(ConstantFlowType.START_PROJECT)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_START_PROJECT_FLOWSTEPS_ALL;
|
|
|
-
|
|
|
- } else if (flowType.equals(ConstantFlowType.CHANGE_PROJECT)) {
|
|
|
- flowStep = ConstantFlowType.onlyFlow_CHANGE_PROJECT_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.CHECK_IN)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_CHECK_IN_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.CONTRACT)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_CONTRACT_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.RECEIVABLES_ADJUST)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_RECEIVABLES_ADJUST_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.INVOICE_RED)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_INVOICE_RED_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.BUYING_MORE)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_BUYING_MORE_FLOWSTEPS_ALL;
|
|
|
+ }else if (flowType.equals(ConstantFlowType.FINANCE)) {
|
|
|
+ flowStep = ConstantFlowType.onlyFlow_FINANCE_FLOWSTEPS_ALL;
|
|
|
}
|
|
|
}
|
|
|
return flowStep;
|
|
@@ -2480,6 +2007,7 @@ public class FlowMainService implements BaseService<FlowMain, FlowMainExample> {
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 前端流程图使用查看各个流程节点目前的情况
|
|
|
*
|