package com.miniframe.bisiness.es; import java.util.Date; import java.util.List; import java.util.Map; import com.miniframe.core.ExecProcessFlow; import com.miniframe.core.exception.BusinessException; import com.miniframe.core.ext.UtilTools; import com.miniframe.generate.business.es.model.ES0004BaseModel; import com.miniframe.mappers.es.dao.EsMapper; import com.miniframe.model.es.*; import com.miniframe.model.es.dao.*; import com.miniframe.tools.XIDateTimeUtils; import com.miniframe.tools.ali.Data; import javax.rmi.CORBA.Util; /** * 无锡发动机,“项目添加组件”逻辑处理(重新生成不覆盖)。 */ public class ES0004Service extends ES0004BaseModel implements ExecProcessFlow { private static final long serialVersionUID = -7051358269847459502L; /** * 无锡发动机,“项目添加组件”业务核心处理 */ public void transExecute() throws Exception { String pid = this.getA_es0004().getPid(); String comId = this.getA_es0004().getComId(); EsProMapper pdao = UtilTools.getBean(EsProMapper.class); EsPro p = pdao.selectByPrimaryKey(pid); if(p==null){ throw new BusinessException("ES000005"); } EsComMapper cdao = UtilTools.getBean(EsComMapper.class); EsCom c = cdao.selectByPrimaryKey(comId); String uid =this.getA_eshead().getUserId(); EsProCom pc =savePc(pid, c, uid); savePca(pid, uid, pc); this.getD_es0004().setPcId(pc.getPcId()); } private void savePca(String pid, String uid, EsProCom pc) { EsProComAttMapper pcadao = UtilTools.getBean(EsProComAttMapper.class); EsAttMapper adao = UtilTools.getBean(EsAttMapper.class); EsAttSQLBuilder asb =new EsAttSQLBuilder(); EsAttSQLBuilder.Criteria asc = asb.createCriteria(); asc.andComIdEqualTo(pc.getComId()); List atts = adao.selectByExample(asb); for (EsAtt a :atts) { EsProComAtt pca = new EsProComAtt(); pca.setPcaId(UtilTools.getUUid()); pca.setPid(pid); pca.setPcId(pc.getPcId()); pca.setComId(pc.getComId()); pca.setAttId(a.getAttId()); pca.setUid(uid); Date now = new Date(); pca.setUpdateTime(now); pca.setCreateTime(now); pcadao.insert(pca); } } private EsProCom savePc(String pid, EsCom c, String uid) { Date now = new Date(); EsProCom pc =new EsProCom(); pc.setPcId(UtilTools.getUUid()); pc.setComId(c.getComId()); pc.setUid(uid); pc.setCreateTime(now); pc.setUpdateTime(now); pc.setPid(pid); EsMapper edao = UtilTools.getBean(EsMapper.class); Integer maxser =edao.getProComSer(pid, c.getIdCode()); maxser=maxser==null?0:maxser; pc.setSer(maxser+1); pc.setIdCode(c.getIdCode()); EsProComMapper pcdao = UtilTools.getBean(EsProComMapper.class); pcdao.insert(pc); return pc; } /** * 无锡发动机,“项目添加组件”业务前处理 */ 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(); } }