ES0004Service.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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.ES0004BaseModel;
  9. import com.miniframe.mappers.es.dao.EsMapper;
  10. import com.miniframe.model.es.*;
  11. import com.miniframe.model.es.dao.*;
  12. import com.miniframe.tools.XIDateTimeUtils;
  13. import com.miniframe.tools.ali.Data;
  14. import javax.rmi.CORBA.Util;
  15. /**
  16. * 无锡发动机,“项目添加组件”逻辑处理(重新生成不覆盖)。
  17. */
  18. public class ES0004Service extends ES0004BaseModel implements ExecProcessFlow {
  19. private static final long serialVersionUID = -7051358269847459502L;
  20. /**
  21. * 无锡发动机,“项目添加组件”业务核心处理
  22. */
  23. public void transExecute() throws Exception {
  24. String pid = this.getA_es0004().getPid();
  25. String comId = this.getA_es0004().getComId();
  26. EsProMapper pdao = UtilTools.getBean(EsProMapper.class);
  27. EsPro p = pdao.selectByPrimaryKey(pid);
  28. if(p==null){
  29. throw new BusinessException("ES000005");
  30. }
  31. EsComMapper cdao = UtilTools.getBean(EsComMapper.class);
  32. EsCom c = cdao.selectByPrimaryKey(comId);
  33. String uid =this.getA_eshead().getUserId();
  34. EsProCom pc =savePc(pid, c, uid);
  35. savePca(pid, uid, pc);
  36. this.getD_es0004().setPcId(pc.getPcId());
  37. }
  38. private void savePca(String pid, String uid, EsProCom pc) {
  39. EsProComAttMapper pcadao = UtilTools.getBean(EsProComAttMapper.class);
  40. EsAttMapper adao = UtilTools.getBean(EsAttMapper.class);
  41. EsAttSQLBuilder asb =new EsAttSQLBuilder();
  42. EsAttSQLBuilder.Criteria asc = asb.createCriteria();
  43. asc.andComIdEqualTo(pc.getComId());
  44. List<EsAtt> atts = adao.selectByExample(asb);
  45. for (EsAtt a :atts) {
  46. EsProComAtt pca = new EsProComAtt();
  47. pca.setPcaId(UtilTools.getUUid());
  48. pca.setPid(pid);
  49. pca.setPcId(pc.getPcId());
  50. pca.setComId(pc.getComId());
  51. pca.setAttId(a.getAttId());
  52. pca.setUid(uid);
  53. Date now = new Date();
  54. pca.setUpdateTime(now);
  55. pca.setCreateTime(now);
  56. pcadao.insert(pca);
  57. }
  58. }
  59. private EsProCom savePc(String pid, EsCom c, String uid) {
  60. Date now = new Date();
  61. EsProCom pc =new EsProCom();
  62. pc.setPcId(UtilTools.getUUid());
  63. pc.setComId(c.getComId());
  64. pc.setUid(uid);
  65. pc.setCreateTime(now);
  66. pc.setUpdateTime(now);
  67. pc.setPid(pid);
  68. EsMapper edao = UtilTools.getBean(EsMapper.class);
  69. Integer maxser =edao.getProComSer(pid, c.getIdCode());
  70. maxser=maxser==null?0:maxser;
  71. pc.setSer(maxser+1);
  72. pc.setIdCode(c.getIdCode());
  73. EsProComMapper pcdao = UtilTools.getBean(EsProComMapper.class);
  74. pcdao.insert(pc);
  75. return pc;
  76. }
  77. /**
  78. * 无锡发动机,“项目添加组件”业务前处理
  79. */
  80. public void preTransFlow() throws Exception {
  81. this.validater();
  82. }
  83. /**
  84. * 无锡发动机,“项目添加组件”业务后处理
  85. */
  86. public void afterTransFlow() throws Exception {
  87. }
  88. /**
  89. * 无锡发动机,“项目添加组件”逻辑入口处理方法
  90. */
  91. @SuppressWarnings("rawtypes")
  92. @Override
  93. public Map execute(Map vars) throws Exception {
  94. this.setTransMap(vars);
  95. preTransFlow();// 执行业务开始的规则检查和校验
  96. transExecute();// 执行核心业务段
  97. afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
  98. return this.getTransMap();
  99. }
  100. }