|
@@ -0,0 +1,132 @@
|
|
|
+package com.miniframe.bisiness.system;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import com.miniframe.core.ExecProcessFlow;
|
|
|
+import com.miniframe.core.ext.UtilTools;
|
|
|
+import com.miniframe.generate.business.system.model.D50013BaseModel;
|
|
|
+import com.miniframe.model.system.*;
|
|
|
+import com.miniframe.model.system.dao.DPumpBaseMapper;
|
|
|
+import com.miniframe.model.system.dao.DPumpHfBaseMapper;
|
|
|
+import com.miniframe.model.system.dao.DPumpHfMapper;
|
|
|
+import com.miniframe.model.system.dao.DPumpMapper;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 基础系统,“水泵载入”逻辑处理(重新生成不覆盖)。
|
|
|
+ */
|
|
|
+public class D50013Service extends D50013BaseModel implements ExecProcessFlow {
|
|
|
+
|
|
|
+ private static final long serialVersionUID = -7051358269847459502L;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 基础系统,“水泵载入”业务核心处理
|
|
|
+ */
|
|
|
+ public void transExecute() throws Exception {
|
|
|
+ Integer aid = this.getA_d50013().getAid();
|
|
|
+ String pumpbaseids =this.getA_d50013().getPumpbaseids();
|
|
|
+ Integer[] intArr = Arrays.stream(pumpbaseids.split(","))
|
|
|
+ .map(Integer::valueOf)
|
|
|
+ .toArray(Integer[]::new);
|
|
|
+ List<Integer> pumpbaseidList =Arrays.asList(intArr);
|
|
|
+ if(pumpbaseidList!=null&& !pumpbaseidList.isEmpty()){
|
|
|
+ delPupmAndHs(pumpbaseidList,aid);
|
|
|
+ DPumpBaseMapper pbDao = UtilTools.getBean(DPumpBaseMapper.class);
|
|
|
+ DPumpBaseSQLBuilder pbsb =new DPumpBaseSQLBuilder();
|
|
|
+ DPumpBaseSQLBuilder.Criteria pbsc = pbsb.createCriteria();
|
|
|
+ pbsc.andIdIn(pumpbaseidList);
|
|
|
+ List<DPumpBase> pbList = pbDao.selectByExample(pbsb);
|
|
|
+ for (DPumpBase pb:pbList) {
|
|
|
+ DPump p = savep(pb,aid);
|
|
|
+ DPumpHfBaseMapper pbhDao = UtilTools.getBean(DPumpHfBaseMapper.class);
|
|
|
+ DPumpHfBaseSQLBuilder pbhsb = new DPumpHfBaseSQLBuilder();
|
|
|
+ DPumpHfBaseSQLBuilder.Criteria pbhsc = pbhsb.createCriteria();
|
|
|
+ pbhsc.andPumpbaseidEqualTo(pb.getId());
|
|
|
+ List<DPumpHfBase> pbhList= pbhDao.selectByExample(pbhsb);
|
|
|
+ for (DPumpHfBase pbh: pbhList) {
|
|
|
+ saveph(p,pbh);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void saveph(DPump p, DPumpHfBase pbh) {
|
|
|
+ DPumpHfMapper phDao = UtilTools.getBean(DPumpHfMapper.class);
|
|
|
+ DPumpHf ph = new DPumpHf();
|
|
|
+ ph.setPumpid(p.getId());
|
|
|
+ ph.setHight(pbh.getHight());
|
|
|
+ ph.setFlow(pbh.getFlow());
|
|
|
+ phDao.insertSelective(ph);
|
|
|
+ }
|
|
|
+
|
|
|
+ private DPump savep(DPumpBase pb,Integer aid) {
|
|
|
+ DPumpMapper pdao = UtilTools.getBean(DPumpMapper.class);
|
|
|
+ DPump p = new DPump();
|
|
|
+ p.setPid(pb.getPid());
|
|
|
+ p.setPcode(pb.getPcode());
|
|
|
+ p.setPname(pb.getPname());
|
|
|
+ p.setAid(aid);
|
|
|
+ p.setSite(pb.getSite());
|
|
|
+ p.setName(pb.getName());
|
|
|
+ p.setOpenhig(pb.getOpenhig());
|
|
|
+ p.setClosehig(pb.getClosehig());
|
|
|
+ p.setOnoff(pb.getOnoff());
|
|
|
+ p.setCode(pb.getCode());
|
|
|
+ p.setPumpbaseid(pb.getId());
|
|
|
+ pdao.insertSelective(p);
|
|
|
+
|
|
|
+ DPumpSQLBuilder psb = new DPumpSQLBuilder();
|
|
|
+ DPumpSQLBuilder.Criteria psc = psb.createCriteria();
|
|
|
+ psc.andPumpbaseidEqualTo(pb.getId());
|
|
|
+ psc.andAidEqualTo(aid);
|
|
|
+ return pdao.selectByExample(psb).get(0);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void delPupmAndHs(List<Integer> pumpbaseidList,Integer aid) {
|
|
|
+ DPumpMapper pdao = UtilTools.getBean(DPumpMapper.class);
|
|
|
+ DPumpSQLBuilder psb = new DPumpSQLBuilder();
|
|
|
+ DPumpSQLBuilder.Criteria psc = psb.createCriteria();
|
|
|
+ psc.andPumpbaseidIn(pumpbaseidList);
|
|
|
+ psc.andAidEqualTo(aid);
|
|
|
+ List<DPump> pList = pdao.selectByExample(psb);
|
|
|
+ for (DPump p:pList) {
|
|
|
+ DPumpHfMapper phDao = UtilTools.getBean(DPumpHfMapper.class);
|
|
|
+ DPumpHfSQLBuilder phsb = new DPumpHfSQLBuilder();
|
|
|
+ DPumpHfSQLBuilder.Criteria phsc = phsb.createCriteria();
|
|
|
+ phsc.andPumpidEqualTo(p.getId());
|
|
|
+ phDao.deleteByExample(phsb);
|
|
|
+ }
|
|
|
+ pdao.deleteByExample(psb);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 基础系统,“水泵载入”业务前处理
|
|
|
+ */
|
|
|
+ public void preTransFlow() throws Exception {
|
|
|
+ this.validater();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 基础系统,“水泵载入”业务后处理
|
|
|
+ */
|
|
|
+ public void afterTransFlow() throws Exception {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 基础系统,“水泵载入”逻辑入口处理方法
|
|
|
+ */
|
|
|
+ @SuppressWarnings("rawtypes")
|
|
|
+ @Override
|
|
|
+ public Map execute(Map vars) throws Exception {
|
|
|
+ this.setTransMap(vars);
|
|
|
+ preTransFlow();// 执行业务开始的规则检查和校验
|
|
|
+ transExecute();// 执行核心业务段
|
|
|
+ afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
|
|
|
+ return this.getTransMap();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|