| | |
| | | import com.zy.asrs.entity.LocNormal; |
| | | import com.zy.asrs.entity.WaitPakin; |
| | | import com.zy.asrs.entity.WaitPakinLog; |
| | | import com.zy.asrs.entity.param.ERPselectParam; |
| | | import com.zy.asrs.mapper.LocNormalMapper; |
| | | import com.zy.asrs.mapper.OutStockMapper; |
| | | import com.zy.asrs.service.LocNormalService; |
| | |
| | | } |
| | | } |
| | | } else { |
| | | throw new CoolException("通知单号不可为空"); |
| | | // throw new CoolException("通知单号不可为空"); 通知单号空的情况下,往CPICMO表插入手动入库数据 |
| | | // 判断原先平仓是否存在有货,如果有货数量进行累加 |
| | | LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("matnr", list.get(i).getMatnr()).and().eq("warehouse", list.get(i).getWarehouse()).and().eq("mnemonic", list.get(i).getMnemonic()).and().eq("state", "1")); |
| | | if (!Cools.isEmpty(oldLocList)) { |
| | | // erp更新 |
| | | if (Cools.isEmpty(list.get(i).getSupplier())) { |
| | | String maxKeySql = "select max(FInterID) as num from CPICMO"; |
| | | List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class); |
| | | Integer maxKey = maxKeyList.get(0).getNum(); |
| | | String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop) values (0, 0, '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378)"; |
| | | ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr()); |
| | | erpSqlServer.update(ErpSql); |
| | | } |
| | | // Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue()); |
| | | // 平仓入库(更新)逻辑 |
| | | list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme())); |
| | | updateList.add(list.get(i)); |
| | | if (baseMapper.withoutSupplierLocNormalUpdate(updateList) > 0) { |
| | | // cust_wait_pakin转cust_wait_pakin_log,并更新数量 |
| | | // custWaitPakinToLog(list.get(i), updateAnfme); |
| | | } |
| | | } else { |
| | | // erp更新 |
| | | if (Cools.isEmpty(list.get(i).getSupplier())) { |
| | | String maxKeySql = "select max(FInterID) as num from CPICMO"; |
| | | List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class); |
| | | Integer maxKey = maxKeyList.get(0).getNum(); |
| | | String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop) values (0, 0, '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378)"; |
| | | ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr()); |
| | | erpSqlServer.update(ErpSql); |
| | | } |
| | | // 平仓入库逻辑 |
| | | addList.add(list.get(i)); |
| | | if (baseMapper.pdaLocNormalIn(addList) > 0) { |
| | | // cust_wait_pakin转cust_wait_pakin_log,并更新数量 |
| | | // custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | /* cust_wait_pakin转cust_wait_pakin_log,并更新数量 */ |
| | | private boolean custWaitPakinToLog(LocNormal list, Double updateAnfme) { |
| | | WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("supplier", list.getSupplier()).and().eq("matnr", list.getMatnr())); |
| | | WaitPakinLog waitPakinLog = new WaitPakinLog(); |
| | | waitPakinLog.setAnfme(updateAnfme); |
| | | waitPakinLog.setMatnr(waitPakin.getMatnr()); |
| | | waitPakinLog.setMaktx(waitPakin.getMaktx()); |
| | | waitPakinLog.setLgnum(waitPakin.getLgnum()); |
| | | waitPakinLog.setType(waitPakin.getType()); |
| | | waitPakinLog.setMnemonic(waitPakin.getMnemonic()); |
| | | waitPakinLog.setSupplier(waitPakin.getSupplier()); |
| | | waitPakinLog.setWarehouse(waitPakin.getWarehouse()); |
| | | waitPakinLog.setBrand(waitPakin.getBrand()); |
| | | waitPakinLog.setAltme(waitPakin.getAltme()); |
| | | waitPakinLog.setZpallet(waitPakin.getZpallet()); |
| | | waitPakinLog.setBname(waitPakin.getBname()); |
| | | waitPakinLog.setLocNo(waitPakin.getLocNo()); |
| | | waitPakinLog.setStatus(waitPakin.getStatus()); |
| | | waitPakinLog.setIoStatus(waitPakin.getIoStatus()); |
| | | waitPakinLog.setMemo(waitPakin.getMemo()); |
| | | waitPakinLog.setModiTime(waitPakin.getModiTime()); |
| | | waitPakinLog.setModiUser(waitPakin.getModiUser()); |
| | | waitPakinLog.setAppeTime(waitPakin.getAppeTime()); |
| | | waitPakinLog.setAppeUser(waitPakin.getAppeUser()); |
| | | // 转入库通知历史档 |
| | | waitPakinLogService.insert(waitPakinLog); |
| | | // 修改入库同志档物料数量 |
| | | Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>(); |
| | | wrapper.eq("supplier", list.getSupplier()) |
| | | .eq("matnr", list.getMatnr()) |
| | | .isNull("zpallet"); |
| | | WaitPakin pakin = new WaitPakin(); |
| | | pakin.setAnfme(waitPakin.getAnfme() - updateAnfme); |
| | | waitPakinService.update(pakin, wrapper); |
| | | if(!Cools.isEmpty(waitPakin)){ |
| | | WaitPakinLog waitPakinLog = new WaitPakinLog(); |
| | | waitPakinLog.setAnfme(updateAnfme); |
| | | waitPakinLog.setMatnr(waitPakin.getMatnr()); |
| | | waitPakinLog.setMaktx(waitPakin.getMaktx()); |
| | | waitPakinLog.setLgnum(waitPakin.getLgnum()); |
| | | waitPakinLog.setType(waitPakin.getType()); |
| | | waitPakinLog.setMnemonic(waitPakin.getMnemonic()); |
| | | waitPakinLog.setSupplier(waitPakin.getSupplier()); |
| | | waitPakinLog.setWarehouse(waitPakin.getWarehouse()); |
| | | waitPakinLog.setBrand(waitPakin.getBrand()); |
| | | waitPakinLog.setAltme(waitPakin.getAltme()); |
| | | waitPakinLog.setZpallet(waitPakin.getZpallet()); |
| | | waitPakinLog.setBname(waitPakin.getBname()); |
| | | waitPakinLog.setLocNo(waitPakin.getLocNo()); |
| | | waitPakinLog.setStatus(waitPakin.getStatus()); |
| | | waitPakinLog.setIoStatus(waitPakin.getIoStatus()); |
| | | waitPakinLog.setMemo(waitPakin.getMemo()); |
| | | waitPakinLog.setModiTime(waitPakin.getModiTime()); |
| | | waitPakinLog.setModiUser(waitPakin.getModiUser()); |
| | | waitPakinLog.setAppeTime(waitPakin.getAppeTime()); |
| | | waitPakinLog.setAppeUser(waitPakin.getAppeUser()); |
| | | // 转入库通知历史档 |
| | | waitPakinLogService.insert(waitPakinLog); |
| | | // 修改入库同志档物料数量 |
| | | Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>(); |
| | | wrapper.eq("supplier", list.getSupplier()) |
| | | .eq("matnr", list.getMatnr()) |
| | | .isNull("zpallet"); |
| | | WaitPakin pakin = new WaitPakin(); |
| | | pakin.setAnfme(waitPakin.getAnfme() - updateAnfme); |
| | | waitPakinService.update(pakin, wrapper); |
| | | } |
| | | return true; |
| | | } |
| | | |