| src/main/java/com/zy/asrs/entity/WrkDetlLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/WrkArchiveToLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WrkArchiveToLogServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/WrkDetlLog.java
@@ -281,6 +281,59 @@ @ApiModelProperty(value= "到期日期") @TableField("deadline") private Date deadline; public WrkDetlLog() { } /** 从现档明细拷贝到历史档 */ public WrkDetlLog(WrkDetl wrkDetl) { if (wrkDetl == null) { return; } this.wrkNo = wrkDetl.getWrkNo(); this.ioTime = wrkDetl.getIoTime(); this.anfme = wrkDetl.getAnfme(); this.stock = wrkDetl.getStock(); this.zpallet = wrkDetl.getZpallet(); this.matnr = wrkDetl.getMatnr(); this.maktx = wrkDetl.getMaktx(); this.batch = wrkDetl.getBatch(); this.orderNo = wrkDetl.getOrderNo(); this.specs = wrkDetl.getSpecs(); this.model = wrkDetl.getModel(); this.color = wrkDetl.getColor(); this.brand = wrkDetl.getBrand(); this.unit = wrkDetl.getUnit(); this.price = wrkDetl.getPrice(); this.sku = wrkDetl.getSku(); this.units = wrkDetl.getUnits(); this.barcode = wrkDetl.getBarcode(); this.origin = wrkDetl.getOrigin(); this.manu = wrkDetl.getManu(); this.manuDate = wrkDetl.getManuDate(); this.itemNum = wrkDetl.getItemNum(); this.safeQty = wrkDetl.getSafeQty(); this.weight = wrkDetl.getWeight(); this.length = wrkDetl.getLength(); this.volume = wrkDetl.getVolume(); this.threeCode = wrkDetl.getThreeCode(); this.supp = wrkDetl.getSupp(); this.suppCode = wrkDetl.getSuppCode(); this.beBatch = wrkDetl.getBeBatch(); this.deadTime = wrkDetl.getDeadTime(); this.deadWarn = wrkDetl.getDeadWarn(); this.source = wrkDetl.getSource(); this.inspect = wrkDetl.getInspect(); this.danger = wrkDetl.getDanger(); this.modiUser = wrkDetl.getModiUser(); this.modiTime = wrkDetl.getModiTime(); this.appeUser = wrkDetl.getAppeUser(); this.appeTime = wrkDetl.getAppeTime(); this.memo = wrkDetl.getMemo(); this.proddate = wrkDetl.getProddate(); this.deadline = wrkDetl.getDeadline(); } public String getProddate$(){ if (Cools.isEmpty(this.proddate)){ return ""; @@ -382,6 +435,5 @@ } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); } } src/main/java/com/zy/asrs/service/WrkArchiveToLogService.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.service; import com.zy.asrs.entity.WrkMast; /** * 工作主档、明细转历史档并删现档 */ public interface WrkArchiveToLogService { void archiveMastAndDetlToLogThenDeleteCurrent(WrkMast wrkMast); } src/main/java/com/zy/asrs/service/impl/WrkArchiveToLogServiceImpl.java
New file @@ -0,0 +1,94 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkDetlLog; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.entity.WrkMastLog; import com.zy.asrs.mapper.WrkDetlLogMapper; import com.zy.asrs.mapper.WrkDetlMapper; import com.zy.asrs.mapper.WrkMastLogMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.WrkArchiveToLogService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.MessageFormat; import java.util.List; @Slf4j @Service("wrkArchiveToLog") public class WrkArchiveToLogServiceImpl implements WrkArchiveToLogService { @Autowired private WrkMastLogMapper wrkMastLogMapper; @Autowired private WrkDetlLogMapper wrkDetlLogMapper; @Autowired private WrkMastMapper wrkMastMapper; @Autowired private WrkDetlMapper wrkDetlMapper; @Override @Transactional(rollbackFor = Exception.class) public void archiveMastAndDetlToLogThenDeleteCurrent(WrkMast wrkMast) { boolean printLog = !Cools.isEmpty(wrkMast) && Long.valueOf(30L).equals(wrkMast.getWrkSts()) && "Y".equalsIgnoreCase(wrkMast.getFullPlt()); Integer wrkNo = wrkMast.getWrkNo(); boolean wrkMastLogSaved = wrkMastLogMapper.save(wrkNo) > 0; if (!wrkMastLogSaved) { log.error(MessageFormat.format("保存工作历史档[workNo={0}]失败", wrkNo)); } int num = 0; List<WrkDetl> detls = wrkDetlMapper.selectByWrkNo(wrkNo); for (WrkDetl d : detls) { WrkDetlLog detlLog = new WrkDetlLog(d); num += wrkDetlLogMapper.insert(detlLog); } boolean wrkDetlLogSaved = num > 0; // boolean wrkDetlLogSaved = wrkDetlLogMapper.save(wrkNo) > 0; if (!wrkDetlLogSaved) { log.error(MessageFormat.format("保存工作明细历史档[workNo={0}]失败", wrkNo)); } EntityWrapper<WrkMastLog> mastLogW = new EntityWrapper<>(); mastLogW.eq("wrk_no", wrkNo); mastLogW.eq("io_time", wrkMast.getIoTime()); int mastCount = wrkMastLogMapper.selectCount(mastLogW); EntityWrapper<WrkDetlLog> detlLogW = new EntityWrapper<>(); detlLogW.eq("wrk_no", wrkNo); detlLogW.eq("io_time", wrkMast.getIoTime()); int detlCount = wrkDetlLogMapper.selectCount(detlLogW); boolean wrkMastDeleted =false; boolean wrkDetlDeleted =false; if (mastCount > 0 && detlCount > 0) { wrkMastDeleted = wrkMastMapper.deleteById(wrkNo) > 0; if (!wrkMastDeleted) { log.error(MessageFormat.format("删除工作主档[workNo={0}]失败", wrkNo)); } wrkDetlDeleted = wrkDetlMapper.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo)) > 0; if (!wrkDetlDeleted) { log.error(MessageFormat.format("删除工作明细档[workNo={0}]失败", wrkNo)); } } if (printLog) { JSONObject detlJson = new JSONObject(true); detlJson.put("service", "WrkArchiveToLogService"); detlJson.put("wrkNo", wrkNo); detlJson.put("wrkDetls", JSON.toJSON(detls)); detlJson.put("wrkMast", (JSONObject) JSON.toJSON(wrkMast)); detlJson.put("wrkMastDeleted", wrkMastDeleted); detlJson.put("wrkDetlDeleted", wrkDetlDeleted); log.info(detlJson.toJSONString()); } } } src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
@@ -1,16 +1,46 @@ package com.zy.asrs.service.impl; import com.zy.asrs.mapper.WrkDetlLogMapper; import com.zy.asrs.entity.WrkDetlLog; import com.zy.asrs.service.WrkDetlLogService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkDetlLog; import com.zy.asrs.mapper.WrkDetlLogMapper; import com.zy.asrs.service.WrkDetlLogService; import com.zy.asrs.service.WrkDetlService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @Service("wrkDetlLogService") public class WrkDetlLogServiceImpl extends ServiceImpl<WrkDetlLogMapper, WrkDetlLog> implements WrkDetlLogService { @Resource private WrkDetlLogMapper wrkDetlLogMapper; @Resource private WrkDetlService wrkDetlService; @Override @Transactional public boolean save(Integer workNo) { return this.baseMapper.save(workNo)>0; List<WrkDetl> detls = wrkDetlService.selectByWrkNo(workNo); if (Cools.isEmpty(detls)) { return false; } Integer num = 0; try { for (WrkDetl d : detls) { WrkDetlLog detlLog = new WrkDetlLog(d); num += wrkDetlLogMapper.insert(detlLog); } return num > 0; } catch (Exception e) { System.out.println("转明细失败"); e.printStackTrace(); return false; } // return wrkDetlLogMapper.save(workNo) > 0; } } src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
@@ -291,7 +291,7 @@ WrkDetl wrkDetl = new WrkDetl(); BeanUtils.copyProperties(locDetl,wrkDetl); wrkDetl.setZpallet(wrkMast.getBarcode()); wrkDetl.setIoTime(now); wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setWrkNo(wrkMast.getWrkNo()); //wrkDetl.setBatch(locDetl.getBatch()); wrkDetl.setOrderNo(orderNo); src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -29,13 +29,15 @@ public class WorkLogHandler extends AbstractHandler<String> { @Autowired private WrkMastService wrkMastService; @Autowired private WrkMastLogService wrkMastLogService; private WrkArchiveToLogService wrkArchiveToLogService; // @Autowired // private WrkMastService wrkMastService; @Autowired private WrkDetlService wrkDetlService; @Autowired private WrkDetlLogService wrkDetlLogService; // @Autowired // private WrkMastLogService wrkMastLogService; // @Autowired // private WrkDetlLogService wrkDetlLogService; @Autowired private WaitPakinService waitPakinService; @Autowired @@ -100,23 +102,48 @@ } } } // 保存工作主档历史档 if (!wrkMastLogService.save(wrkMast.getWrkNo())) { exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo()); } // 删除工作主档 if (!wrkMastService.deleteById(wrkMast)) { exceptionHandle("删除工作主档[workNo={0}]失败", wrkMast.getWrkNo()); } // 保存工作明细档历史档 if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { wrkArchiveToLogService.archiveMastAndDetlToLogThenDeleteCurrent(wrkMast); // boolean printFullPltOutLog = !Cools.isEmpty(wrkMast) // && Long.valueOf(30L).equals(wrkMast.getWrkSts()) // && "Y".equalsIgnoreCase(wrkMast.getFullPlt()); // // 保存工作主档历史档 // boolean wrkMastLogSaved = wrkMastLogService.save(wrkMast.getWrkNo()); // if (printFullPltOutLog) { // System.out.println("[WorkLogHandler] save wrkMastLog, wrkNo=" + wrkMast.getWrkNo() // + ", result=" + wrkMastLogSaved); // } // if (!wrkMastLogSaved) { // exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo()); // } // // // 保存工作明细历史档 // boolean wrkDetlLogSaved = wrkDetlLogService.save(wrkMast.getWrkNo()); // if (printFullPltOutLog) { // System.out.println("[WorkLogHandler] save wrkDetlLog, wrkNo=" + wrkMast.getWrkNo() // + ", result=" + wrkDetlLogSaved); // } // if (!wrkDetlLogSaved) { // exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo()); } // 删除工作明细档 if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { // } // // 删除工作主档 // boolean wrkMastDeleted = wrkMastService.deleteById(wrkMast); // if (printFullPltOutLog) { // System.out.println("[WorkLogHandler] delete wrkMast, wrkNo=" + wrkMast.getWrkNo() // + ", result=" + wrkMastDeleted); // } // if (!wrkMastDeleted) { // exceptionHandle("删除工作主档[workNo={0}]失败", wrkMast.getWrkNo()); // } // // // 删除工作明细档 // boolean wrkDetlDeleted = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); // if (printFullPltOutLog) { // System.out.println("[WorkLogHandler] delete wrkDetl, wrkNo=" + wrkMast.getWrkNo() // + ", result=" + wrkDetlDeleted); // } // if (!wrkDetlDeleted) { // exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo()); } // } // 修改订单状态 作业中 ===>> 已完成 for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { if (!BaseController.isJSON(wrkDetl.getOrderNo())) {