ES0006Service.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.miniframe.bisiness.es;
  2. import java.util.Date;
  3. import java.util.List;
  4. import java.util.Map;
  5. import com.miniframe.core.ExecProcessFlow;
  6. import com.miniframe.core.exception.BusinessException;
  7. import com.miniframe.core.ext.UtilTools;
  8. import com.miniframe.generate.business.es.model.ES0006BaseModel;
  9. import com.miniframe.model.es.EsProCom;
  10. import com.miniframe.model.es.EsProComCon;
  11. import com.miniframe.model.es.EsProComConSQLBuilder;
  12. import com.miniframe.model.es.EsProComSQLBuilder;
  13. import com.miniframe.model.es.dao.EsProComConMapper;
  14. import com.miniframe.model.es.dao.EsProComMapper;
  15. import io.netty.util.internal.StringUtil;
  16. /**
  17. * 无锡发动机,“项目组件连线”逻辑处理(重新生成不覆盖)。
  18. */
  19. public class ES0006Service extends ES0006BaseModel implements ExecProcessFlow {
  20. private static final long serialVersionUID = -7051358269847459502L;
  21. /**
  22. * 无锡发动机,“项目组件连线”业务核心处理
  23. */
  24. public void transExecute() throws Exception {
  25. String pid =this.getA_es0006().getPid();
  26. String npcId = this.getA_es0006().getNpcId();
  27. String pcId1 = this.getA_es0006().getPcId1();
  28. String pcId2 = this.getA_es0006().getPcId2();
  29. Integer type =this.getA_es0006().getType();
  30. String uid = this.getA_eshead().getUserId();
  31. EsProCom nProcom = findEsProCom(npcId);
  32. EsProCom proCom1 = findEsProCom(pcId1);
  33. EsProCom proCom2 = findEsProCom(pcId2);
  34. if(nProcom==null){
  35. throw new BusinessException("ES000006");//节点不存在
  36. }
  37. if(!nProcom.getComId().equals("3")){//节点不存在
  38. throw new BusinessException("ES000006");
  39. }
  40. if(proCom1==null){
  41. throw new BusinessException("ES000007");//组件不存在
  42. }
  43. String pccId1 = savePcc(pid,npcId, uid, pcId1,type);
  44. this.getD_es0006().setPccId1(pccId1);
  45. if(proCom2!=null){
  46. String pccId2 = savePcc(pid,npcId, uid, pcId2,type);
  47. this.getD_es0006().setPccId2(pccId2);
  48. }
  49. }
  50. private String savePcc(String pid,String npcId, String uid, String pcId,Integer type) {
  51. EsProComConMapper condao = UtilTools.getBean(EsProComConMapper.class);
  52. EsProComConSQLBuilder consb = new EsProComConSQLBuilder();
  53. EsProComConSQLBuilder.Criteria consc = consb.createCriteria();
  54. consc.andPcIdEqualTo(pcId);
  55. consc.andNpcIdEqualTo(npcId);
  56. consc.andTypeEqualTo(Short.valueOf(type.toString()));
  57. List<EsProComCon> comCons = condao.selectByExample(consb);
  58. if(comCons==null||comCons.isEmpty()){
  59. EsProComCon comCon = new EsProComCon();
  60. comCon.setPccId(UtilTools.getUUid());
  61. comCon.setNpcId(npcId);
  62. comCon.setPcId(pcId);
  63. comCon.setUid(uid);
  64. comCon.setCreateTime(new Date());
  65. comCon.setUpdateTime(new Date());
  66. comCon.setType(Short.valueOf(type.toString()));
  67. comCon.setPid(pid);
  68. condao.insert(comCon);
  69. return comCon.getPccId();
  70. }else{
  71. return comCons.get(0).getPccId();
  72. }
  73. }
  74. public EsProCom findEsProCom(String pcid){
  75. if(StringUtil.isNullOrEmpty(pcid)){
  76. return null;
  77. }
  78. EsProComMapper cdao = UtilTools.getBean(EsProComMapper.class);
  79. return cdao.selectByPrimaryKey(pcid);
  80. }
  81. /**
  82. * 无锡发动机,“项目组件连线”业务前处理
  83. */
  84. public void preTransFlow() throws Exception {
  85. this.validater();
  86. }
  87. /**
  88. * 无锡发动机,“项目组件连线”业务后处理
  89. */
  90. public void afterTransFlow() throws Exception {
  91. }
  92. /**
  93. * 无锡发动机,“项目组件连线”逻辑入口处理方法
  94. */
  95. @SuppressWarnings("rawtypes")
  96. @Override
  97. public Map execute(Map vars) throws Exception {
  98. this.setTransMap(vars);
  99. preTransFlow();// 执行业务开始的规则检查和校验
  100. transExecute();// 执行核心业务段
  101. afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
  102. return this.getTransMap();
  103. }
  104. }