1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.miniframe.bisiness.mdo;
- import java.io.File;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import com.alibaba.excel.EasyExcel;
- import com.miniframe.core.ExecProcessFlow;
- import com.miniframe.core.exception.BusinessException;
- import com.miniframe.core.ext.UtilTools;
- import com.miniframe.generate.business.mdo.model.MDO0081BaseModel;
- import com.miniframe.mdo.excel.ProVarM;
- import com.miniframe.model.mdo.MdoProject;
- import com.miniframe.model.mdo.MdoProjectVariate;
- import com.miniframe.model.mdo.dao.MdoProjectVariateMapper;
- import com.miniframe.tools.XIFileUtils;
- /**
- * 西工大系统,“设计变量模版导入”逻辑处理(重新生成不覆盖)。
- */
- public class MDO0081Service extends MDO0081BaseModel implements ExecProcessFlow {
-
- private static final long serialVersionUID = -7051358269847459502L;
-
- /**
- * 西工大系统,“设计变量模版导入”业务核心处理
- */
- public void transExecute() throws Exception {
- String pid = this.getA_mdo0081().getPid();
- String filePath = this.getA_mdo0081().getFile();
- if (Files.notExists(Paths.get(filePath))) {
- throw new BusinessException("EB2000008");
- }
- List<ProVarM> ms = new ArrayList<>();
- ms=EasyExcel.read(filePath).head( ProVarM.class).sheet("sheet1").doReadSync();
- if(ms.isEmpty()){
- throw new BusinessException("MDO000014");
- }
- MdoProjectVariateMapper vdao = UtilTools.getBean(MdoProjectVariateMapper.class);
- List<MdoProjectVariate> vs = new ArrayList<>();
- if(ms!=null&&!ms.isEmpty()){
- for (ProVarM m:ms) {
- MdoProjectVariate v = vdao.selectByPrimaryKey(m.getId());
- if(v==null||v.getPid()!=pid){
- throw new BusinessException("MDO000013",m.getId());
- }
- v.setUpper(m.getUpper());
- v.setLower(m.getLower());
- v.setReference(m.getReference());
- vdao.updateByPrimaryKey(v);
- }
- }
- XIFileUtils.delete(filePath);
- }
-
- /**
- * 西工大系统,“设计变量模版导入”业务前处理
- */
- 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();
- }
- }
|