ES0010Service.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.miniframe.bisiness.es;
  2. import java.util.*;
  3. import com.miniframe.core.ExecProcessFlow;
  4. import com.miniframe.core.exception.BusinessException;
  5. import com.miniframe.core.ext.UtilTools;
  6. import com.miniframe.generate.appcode.AttValueType;
  7. import com.miniframe.generate.business.es.model.ES0010BaseModel;
  8. import com.miniframe.generate.comm.es.D_ES0010_DATAS_RECODE;
  9. import com.miniframe.generate.comm.es.D_ES0010_DATAS_VALS_RECODE;
  10. import com.miniframe.generate.comm.es.D_ES0010_HEADERS_RECODE;
  11. import com.miniframe.model.es.*;
  12. import com.miniframe.model.es.dao.*;
  13. import org.apache.tika.io.EndianUtils;
  14. /**
  15. * 无锡发动机,“项目组件属性值数据查询”逻辑处理(重新生成不覆盖)。
  16. */
  17. public class ES0010Service extends ES0010BaseModel implements ExecProcessFlow {
  18. private static final long serialVersionUID = -7051358269847459502L;
  19. /**
  20. * 无锡发动机,“项目组件属性值数据查询”业务核心处理
  21. */
  22. public void transExecute() throws Exception {
  23. EsUnitSysUsMapper sudao = UtilTools.getBean(EsUnitSysUsMapper.class);
  24. EsUnitSysUsSQLBuilder susb = new EsUnitSysUsSQLBuilder();
  25. EsUnitSysUsSQLBuilder.Criteria susc = susb.createCriteria();
  26. susc.andUidEqualTo(getA_eshead().getUserId());
  27. List<EsUnitSysUs> sus = sudao.selectByExample(susb);
  28. String sutId = "";
  29. if(sus ==null||sus.isEmpty()){//获取系统单位
  30. sutId="1";//系统单位
  31. }else{
  32. sutId=sus.get(0).getSutId();
  33. }
  34. String pcaId = this.getA_es0010().getPcaId();
  35. EsProComAttMapper pcadao =UtilTools.getBean(EsProComAttMapper.class);
  36. EsProComAtt pca = pcadao.selectByPrimaryKey(pcaId);
  37. if(pca==null){
  38. throw new BusinessException("ES000001");//项目组件属性不存在
  39. }
  40. EsAttMapper attdao =UtilTools.getBean(EsAttMapper.class);
  41. EsAtt att = attdao.selectByPrimaryKey(pca.getAttId());
  42. if(att==null){
  43. throw new BusinessException("ES000002");//组件属性数据不存在
  44. }
  45. if(att.getValueType()!=Short.valueOf(AttValueType.v3.getIndex())){
  46. throw new BusinessException("ES000003");//该组件属性数据类型不是数列
  47. }
  48. EsDataMapper dataDao = UtilTools.getBean(EsDataMapper.class);
  49. EsData data = dataDao.selectByPrimaryKey(att.getValueDef());
  50. if(data==null){
  51. throw new BusinessException("ES000004");//数据定义错误
  52. }
  53. EsDataAttMapper dataAttDao = UtilTools.getBean(EsDataAttMapper.class);
  54. EsDataAttSQLBuilder dataAttSb = new EsDataAttSQLBuilder();
  55. EsDataAttSQLBuilder.Criteria dataAttSc = dataAttSb.createCriteria();
  56. dataAttSc.andCdIdEqualTo(data.getCdId());
  57. dataAttSb.setOrderByClause("ser asc");
  58. List<EsDataAtt> dataAtts = dataAttDao.selectByExample(dataAttSb);
  59. List<D_ES0010_HEADERS_RECODE> hrs = new ArrayList<>();
  60. for (EsDataAtt datt:dataAtts) {
  61. D_ES0010_HEADERS_RECODE hr =new D_ES0010_HEADERS_RECODE();
  62. hr.setCdvId(datt.getCdvId());
  63. hr.setCdId(datt.getCdId());
  64. hr.setName(datt.getName());
  65. hr.setCode(datt.getCode());
  66. hr.setDataType(data.getType());
  67. hr.setValueDef(datt.getValueDef());
  68. hr.setValueType(datt.getValueType());
  69. hr.setUnitType(datt.getUnitType());
  70. hr.setUnitDef(getUnitByGutIdAndStuId(datt.getUnitType(),sutId));
  71. hrs.add(hr);
  72. }
  73. this.getD_es0010().setHeaders(hrs);
  74. EsProComAttDataMapper pcaddao = UtilTools.getBean(EsProComAttDataMapper.class);
  75. EsProComAttDataSQLBuilder pcadsb = new EsProComAttDataSQLBuilder();
  76. EsProComAttDataSQLBuilder.Criteria pcadsc = pcadsb.createCriteria();
  77. pcadsc.andPcaIdEqualTo(pcaId);
  78. pcadsb.setOrderByClause("ser asc");
  79. List<EsProComAttData> pcads =pcaddao.selectByExample(pcadsb);
  80. List<D_ES0010_DATAS_RECODE> das = new ArrayList<>();
  81. for (EsProComAttData pcad :pcads) {
  82. D_ES0010_DATAS_RECODE da =new D_ES0010_DATAS_RECODE();
  83. da.setPcadgId(pcad.getPcadgId());
  84. da.setPcadId(pcad.getPcadId());
  85. da.setValue(pcad.getValue());
  86. da.setUnit(pcad.getUnit());
  87. da.setCdvId(pcad.getCdvId());
  88. das.add(da);
  89. }
  90. this.getD_es0010().setDatas(das);
  91. this.getD_es0010().setPcaId(pcaId);
  92. }
  93. private String getUnitByGutIdAndStuId(String gutId,String sutId){
  94. String unitValue = "";
  95. EsUnitSysDelMapper sddao = UtilTools.getBean(EsUnitSysDelMapper.class);
  96. EsUnitSysDelSQLBuilder sdsb = new EsUnitSysDelSQLBuilder();
  97. EsUnitSysDelSQLBuilder.Criteria sdcs =sdsb.createCriteria();
  98. sdcs.andGutIdEqualTo(gutId);
  99. sdcs.andSutIdEqualTo(sutId);
  100. List<EsUnitSysDel> dels = sddao.selectByExample(sdsb);
  101. if(dels !=null&&dels.isEmpty()){//获取单位
  102. unitValue=dels.get(0).getValue();
  103. }
  104. return unitValue;
  105. }
  106. /**
  107. * 无锡发动机,“项目组件属性值数据查询”业务前处理
  108. */
  109. public void preTransFlow() throws Exception {
  110. this.validater();
  111. }
  112. /**
  113. * 无锡发动机,“项目组件属性值数据查询”业务后处理
  114. */
  115. public void afterTransFlow() throws Exception {
  116. }
  117. /**
  118. * 无锡发动机,“项目组件属性值数据查询”逻辑入口处理方法
  119. */
  120. @SuppressWarnings("rawtypes")
  121. @Override
  122. public Map execute(Map vars) throws Exception {
  123. this.setTransMap(vars);
  124. preTransFlow();// 执行业务开始的规则检查和校验
  125. transExecute();// 执行核心业务段
  126. afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
  127. return this.getTransMap();
  128. }
  129. }