| | |
| | | import com.zy.asrs.entity.AgvLocDetl; |
| | | import com.zy.asrs.entity.AgvLocMast; |
| | | import com.zy.asrs.entity.AgvWrkDetl; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.mapper.AgvLocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.model.LocDto; |
| | | import com.zy.common.model.TaskDto; |
| | | import com.zy.system.service.ConfigService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.apache.poi.ss.usermodel.DataFormatter; |
| | |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | @Autowired |
| | | private FlowLogService flowLogService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | |
| | | public void addLocDetlInfo(String locNo, int taskCode) { |
| | | Date now = new Date(); |
| | | List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode)); |
| | | long flowId = snowflakeIdWorker.nextId(); |
| | | agvWrkDetls.stream().map(agvWrkDetl -> { |
| | | AgvLocDetl agvLocDetl = new AgvLocDetl(); |
| | | //log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); |
| | | BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); |
| | | agvLocDetl.setLocNo(locNo); |
| | | //log.info("zc添加库存日志:{}", JSON.toJSON(agvLocDetl)); |
| | | this.insert(agvLocDetl); |
| | | // 流水 -- 新增订单明细 |
| | | OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode()); |
| | | AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode())); |
| | | if (agvLocDetl != null) { |
| | | this.updateAnfme(agvLocDetl.getAnfme() + agvWrkDetl.getAnfme(), agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getBatch(), agvLocDetl.getThreeCode(), agvLocDetl.getDeadTime()); |
| | | } else { |
| | | agvLocDetl = new AgvLocDetl(); |
| | | //log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); |
| | | BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); |
| | | agvLocDetl.setLocNo(locNo); |
| | | //log.info("zc添加库存日志:{}", JSON.toJSON(agvLocDetl)); |
| | | this.insert(agvLocDetl); |
| | | // 流水 -- 新增订单明细 |
| | | //OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode()); |
| | | // FlowLog flowLog = new FlowLog(); |
| | | // flowLog.setFid(String.valueOf(flowId)); |
| | | // flowLog.setSpare2(String.valueOf(taskCode)); |
| | |
| | | // if (!flowLogService.insert(flowLog)) { |
| | | // throw new CoolException("同步半成品调拨单流水记录失败"); |
| | | // } |
| | | } |
| | | return agvLocDetl; |
| | | }).collect(Collectors.toList()); |
| | | |
| | |
| | | if (type.equals(AsrsConstants.ERCHANG)) { |
| | | wrapper.notLike("loc_no", "F3"); |
| | | } else { |
| | | if (matnr.startsWith("401") || matnr.startsWith("402")) { |
| | | boolean flag = false; |
| | | for (String s : configService.getMatCode()) { |
| | | if (matnr.startsWith(s)) { |
| | | flag = true; |
| | | } |
| | | } |
| | | if (flag) { |
| | | //wrapper.notLike("loc_no", "F3"); |
| | | wrapper.notLike("loc_no", "F1"); |
| | | } else { |
| | |
| | | /* |
| | | 更新库存明细 |
| | | */ |
| | | public void updateStock(String sourceLoc, String targetLoc) { |
| | | this.baseMapper.updateStock(sourceLoc, targetLoc); |
| | | public void updateStock(String sourceLoc, String targetLoc, Long userId) { |
| | | if (Cools.isEmpty(userId)) { |
| | | this.baseMapper.updateStock(sourceLoc, targetLoc); |
| | | } else { |
| | | this.baseMapper.updateStock2(sourceLoc, targetLoc, userId); |
| | | } |
| | | } |
| | | |
| | | public Page<AgvLocDetl> getStockStatis(Page<AgvLocDetl> page) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<AgvLocDetl> selectItem2(String locNo, String matnr, String batch, String csocode, String isoCode) { |
| | | return this.baseMapper.selectItemByOrderNo2(locNo, matnr, batch, csocode, isoCode); |
| | | } |
| | | |
| | | @Override |
| | | public Double getSumAnfmeProcess(String matnr, String threeCode) { |
| | | return this.baseMapper.selectSumAnfmeByMatnrProcess(matnr, threeCode); |
| | | } |