| | |
| | | waitPakin.setModiUser(userId); |
| | | waitPakin.setModiTime(new Date()); |
| | | VersionUtils.setWaitPakIn(waitPakin, matCode); |
| | | waitPakin.setMatnr(matCode.getMatNo()+"|"+combMat.getMnemonic()); //产品编码|生产单号 |
| | | waitPakin.setBname(matCode.getMatNo()); |
| | | // 如果生成单号不为空插入生产单号 |
| | | if (!Cools.isEmpty(combMat.getMnemonic())) { |
| | | waitPakin.setMnemonic(combMat.getMnemonic()); |
| | |
| | | String maxKeySql = "select min(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, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 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)"; |
| | | 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,Fflag_rw) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 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, 1)"; |
| | | ErpSql = MessageFormat.format(ErpSql, maxKey - 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo(), es.getCount(), es.getMnemonic()); |
| | | erpSqlServer.update(ErpSql); |
| | | } |
| | |
| | | String maxKeySql = "select min(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, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 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)"; |
| | | 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, Fflag_rw) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 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, 1)"; |
| | | ErpSql = MessageFormat.format(ErpSql, maxKey - 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo(), es.getCount(), es.getMnemonic()); |
| | | erpSqlServer.update(ErpSql); |
| | | } |
| | |
| | | String sql = "update OutStockbillEntry set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FInterID = {2,number,#}"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FInterID); |
| | | if (jdbcTemplate.update(sql) > 0) { |
| | | log.info("step 1 ======>> {}", sql); |
| | | sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#}"; |
| | | sql = MessageFormat.format(sql, Fnumber, FInterID); |
| | | List<OutStockBillEntry> select = this.selectList(new EntityWrapper<OutStockBillEntry>().eq("Fnumber", Fnumber).eq("FInterID", FInterID)); |
| | | log.info("step 2 ======>> {}", sql); |
| | | OutStockBillEntry outStockBillEntry = select.get(0); |
| | | boolean complete = false; |
| | | if (outStockBillEntry.getFQty().compareTo(BigDecimal.ZERO) == 1) { |
| | |
| | | private boolean completeCPakOut(String FBillNo){ |
| | | String sql = "update OutStockbill set Fflag_finish = 1 where FBillNo = ''{0}''"; |
| | | sql = MessageFormat.format(sql, FBillNo); |
| | | log.info("step 3 ======>> {}", sql); |
| | | return jdbcTemplate.update(sql) > 0; |
| | | } |
| | | |
| | |
| | | String maxKeySql = "select min(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, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 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)"; |
| | | 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, Fflag_rw) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 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, 1)"; |
| | | ErpSql = MessageFormat.format(ErpSql, maxKey - 1, es.getCount(), es.getCount(), es.getCount(), es.getMatNo(), es.getCount(), es.getStr5()); |
| | | erpSqlServer.update(ErpSql); |
| | | } |
| | |
| | | return erpSqlServer.update("delete from M_item where 1=1 and Mnumber = '" + Mnumber + "'") > 0; |
| | | } |
| | | |
| | | //////////////////////成品、原材料入库通知单数据提取////////////////////////////////////////////////// |
| | | /** |
| | | * 获取未读取过的原材料入库单据 |
| | | * 提取中间表原材料入库单据 |
| | | */ |
| | | public List<InStockDto> getReadyInStock() { |
| | | List<InStockDto> result = new ArrayList<>(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取未读取过的成品入库单据 |
| | | * 获取入库物流明细 |
| | | * @param fInterID 单据内码 |
| | | */ |
| | | public List<CPICMO> getReadyCPICMO() { |
| | | String sql = "select * from CPICMO where 1=1 and Fflag_rw = 0"; |
| | | return erpSqlServer.select(sql, CPICMO.class); |
| | | private List<InStockBillEntry> getInStockBillEntry(Integer fInterID) { |
| | | String sql = "select * from InStockBillEntry where 1=1 and FSourceBillNo!='' and FAuxCommitQty=0 and FInterID = " + fInterID; |
| | | return erpSqlServer.select(sql, InStockBillEntry.class); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 提取中间表成品入库单据 |
| | | */ |
| | | public List<CPICMO> getReadyCPICMO() { |
| | | String sql = "select * from CPICMO where 1=1 and FSourceBillNo!='' and FAuxCommitQty=0 and Fflag_rw = 0"; |
| | | return erpSqlServer.select(sql, CPICMO.class); |
| | | } |
| | | |
| | | /** |
| | | * 将未读的成品入库单据设置为已读 |
| | | */ |
| | | public boolean haveReadCPICMO(String FBillNo){ |
| | |
| | | sql = MessageFormat.format(sql, FBillNo); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } |
| | | //////////////////////////////////////////////////////////////////////////////////////// |
| | | |
| | | ////////////////////// 出库通知单数据提取////////////////////////////////////////////////// |
| | | /** |
| | | * 查询erp中间表表头OutStockBill数据 |
| | | * @return |
| | | */ |
| | | public List<OutStockBill> syncOutStock() { |
| | | return erpSqlServer.select("SELECT * FROM xtyasrs_dual.dbo.OutStockBill where Fflag_rw=0", OutStockBill.class); |
| | | // return erpSqlServer.select("SELECT * FROM xtyasrs_dual.dbo.OutStockBill where Fflag_rw=0", OutStockBill.class); |
| | | } |
| | | |
| | | /** |
| | | * 查询erp中间表表体OutStockbillEntry数据 |
| | | * @param FInterID |
| | | * @return |
| | | */ |
| | | public List<OutStockBillEntry> syncOutStockDetail(Integer FInterID) { |
| | | return erpSqlServer.select("SELECT * FROM xtyasrs_dual.dbo.OutStockBillEntry where FSourceBillNo!='' and FAuxCommitQty=0 and FInterID=" + FInterID, OutStockBillEntry.class); |
| | | } |
| | | |
| | | /** |
| | | * 将提取完成的成品出库通知单据设置为已读 |
| | | */ |
| | | public boolean haveReadOutBill(String FBrNo, Integer FInterID){ |
| | | String sql = "update OutStockbill set Fflag_rw = 1 where FBillNo = ''{0}'' and FInterID = {1,number,#} "; |
| | | sql = MessageFormat.format(sql, FBrNo, FInterID); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } |
| | | //////////////////////////////////////////////////////////////////////////////////////////// |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 提交实际收货数量 |
| | |
| | | /** |
| | | * 原材料增量入库 |
| | | */ |
| | | public boolean incrementPakIn(String FBillNo, String Fnumber, Double increment) { |
| | | public boolean incrementPakIn(String FBillNo, String Fnumbers, Double increment) { |
| | | String[] arrays = Fnumbers.split("|"); |
| | | String Fnumber="",sBillNo=""; //产品代码,生产单号 |
| | | |
| | | String sql = "update ise \n" + |
| | | "set ise.FAuxCommitQty = (ise.FAuxCommitQty + {0,number,#}) \n" + |
| | | "from InStockBillEntry ise\n" + |
| | | "left join InStockbill isb on isb.FInterID = ise.FInterID\n" + |
| | | "where 1=1 \n" + |
| | | "and ise.Fnumber = ''{1}''\n" + |
| | | "and isb.FBillNo= ''{2}''"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FBillNo); |
| | | "and isb.FBillNo= ''{2}''\n"; |
| | | |
| | | Fnumber = arrays[0]; |
| | | if(arrays.length>1){ |
| | | sBillNo = arrays[1]; |
| | | sql = sql + "and ise.FSourceBillNo= ''{3}''"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FBillNo, sBillNo); |
| | | } else { |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FBillNo); |
| | | } |
| | | |
| | | if (erpSqlServer.update(sql) > 0) { |
| | | // log.error("更新ERP中间表成功===>>[FBillNo:{},Fnumber:{},increment:{}]",FBillNo,Fnumber,increment); |
| | | List<InStockBillEntry> inStockBillEntries = getInStockBillEntry(FBillNo); |
| | |
| | | } |
| | | return true; |
| | | } else { |
| | | log.error("更新ERP中间表失败===>>[FBillNo:{},Fnumber:{},increment:{}]",FBillNo,Fnumber,increment); |
| | | log.error("更新ERP中间表失败===>>[FBillNo:{},Fnumber:{},increment:{}]",FBillNo,Fnumbers,increment); |
| | | return false; |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 成品增量入库 |
| | | */ |
| | | public boolean incrementCPakIn(String FBillNo, String Fnumber, Double increment) { |
| | | String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FBillNo); |
| | | public boolean incrementCPakIn(String FBillNo, String Fnumbers, Double increment) { |
| | | String[] arrays = Fnumbers.split("|"); |
| | | String Fnumber="",sBillNo=""; //产品代码,生产单号 |
| | | |
| | | String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}'' "; |
| | | |
| | | Fnumber = arrays[0]; |
| | | if(arrays.length>1){ |
| | | sBillNo = arrays[1]; |
| | | sql = sql + " and FSourceBillNo= ''{3}''"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FBillNo, sBillNo); |
| | | } else { |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FBillNo); |
| | | } |
| | | |
| | | if (erpSqlServer.update(sql) > 0) { |
| | | sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''"; |
| | | sql = MessageFormat.format(sql, Fnumber, FBillNo); |
| | | if(arrays.length>1) { |
| | | sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}'' and FSourceBillNo= ''{2}''"; |
| | | sql = MessageFormat.format(sql, Fnumber, FBillNo, sBillNo); |
| | | } else { |
| | | sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''"; |
| | | sql = MessageFormat.format(sql, Fnumber, FBillNo); |
| | | } |
| | | List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class); |
| | | CPICMO cpicmo = select.get(0); |
| | | boolean complete = false; |
| | |
| | | } |
| | | } |
| | | if (complete) { |
| | | if (!completeCPakIn(FBillNo, Fnumber)) { |
| | | if (!completeCPakIn(FBillNo, Fnumber, sBillNo)) { |
| | | log.error("{}入库单标记完成失败", FBillNo); |
| | | } |
| | | } |
| | |
| | | * @param qty 数量(正表示盘盈、负表示盘亏) |
| | | */ |
| | | public boolean checkStockEntity(String FNumber, Double qty){ |
| | | String[] arrays = FNumber.split("|"); |
| | | FNumber = arrays[0]; |
| | | String sql = "insert [dbo].[StockCheckRecord] ([FNumber],[CheckQty],[Fflag_rw],[Fflag_finish],[sync_id]) values (''{0}'', {1,number,#}, 0, 0, -1);"; |
| | | sql = MessageFormat.format(sql, FNumber, qty); |
| | | if (erpSqlServer.update(sql) == 0) { |
| | |
| | | } |
| | | |
| | | // 私有方法 -------------------------------------------------------------------------------------- |
| | | |
| | | /** |
| | | * 获取入库物流明细 |
| | | * @param fInterID 单据内码 |
| | | */ |
| | | private List<InStockBillEntry> getInStockBillEntry(Integer fInterID) { |
| | | String sql = "select * from InStockBillEntry where 1=1 and FInterID = " + fInterID; |
| | | return erpSqlServer.select(sql, InStockBillEntry.class); |
| | | } |
| | | |
| | | private List<InStockBillEntry> getInStockBillEntry(String FBillNo) { |
| | | String sql = "select ise.* from InStockBillEntry ise left join InStockbill isb on isb.FInterID = ise.FInterID where 1=1 and isb.FBillNo = '" + FBillNo +"'"; |
| | |
| | | /** |
| | | * 成品入库单标记完成 |
| | | */ |
| | | private boolean completeCPakIn(String FBillNo, String Fnumber){ |
| | | String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''"; |
| | | sql = MessageFormat.format(sql, FBillNo, Fnumber); |
| | | return erpSqlServer.update(sql) > 0; |
| | | private boolean completeCPakIn(String FBillNo, String Fnumber, String sBillNo){ |
| | | if(Cools.isEmpty(sBillNo)) { |
| | | String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''"; |
| | | sql = MessageFormat.format(sql, FBillNo, Fnumber); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } else { |
| | | String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}'' and FSourceBillNo= ''{2}'' "; |
| | | sql = MessageFormat.format(sql, FBillNo, Fnumber, sBillNo); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 出库单标记完成 |
| | | */ |
| | | private boolean completePakOut(Integer fInterID){ |
| | | String sql = "update OutStockBill set Fflag_finish = 1 where FInterID = {0,number,#}"; |
| | | sql = MessageFormat.format(sql, fInterID); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } |
| | | |
| | | /* 查询erp中年表OutStockBill数据 */ |
| | | public List<OutStockBill> syncOutStock() { |
| | | return erpSqlServer.select("SELECT * FROM xtyasrs_dual.dbo.OutStockBill", OutStockBill.class); |
| | | } |
| | | |
| | | public List<OutStockBillEntry> syncOutStockDetail() { |
| | | return erpSqlServer.select("SELECT * FROM xtyasrs_dual.dbo.OutStockBillEntry", OutStockBillEntry.class); |
| | | } |
| | | // /** |
| | | // * 出库单标记完成 |
| | | // */ |
| | | // private boolean completePakOut(Integer fInterID){ |
| | | // String sql = "update OutStockBill set Fflag_finish = 1 where FInterID = {0,number,#}"; |
| | | // sql = MessageFormat.format(sql, fInterID); |
| | | // return erpSqlServer.update(sql) > 0; |
| | | // } |
| | | |
| | | /* 成品增量出库 */ |
| | | public boolean incrementCPakOut(Integer FInterID, String Fnumber, Double increment, String FBillNo) { |
| | | String sql = "update OutStockbillEntry set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FInterID = {2,number,#}"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FInterID); |
| | | public boolean incrementCPakOut(Integer FInterID, String Fnumbers, Double increment, String FBillNo) { |
| | | String[] arrays = Fnumbers.split("|"); |
| | | String Fnumber="",sBillNo=""; //产品代码,生产单号 |
| | | |
| | | String sql = "update OutStockbillEntry set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FInterID = {2,number,#} "; |
| | | Fnumber = arrays[0]; |
| | | if(arrays.length>1){ |
| | | sBillNo = arrays[1]; |
| | | sql = sql + " and FSourceBillNo= ''{3}''"; |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FInterID, sBillNo); |
| | | } else { |
| | | sql = MessageFormat.format(sql, increment, Fnumber, FInterID); |
| | | } |
| | | |
| | | try { |
| | | if (erpSqlServer.update(sql) > 0) { |
| | | sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#}"; |
| | | sql = MessageFormat.format(sql, Fnumber, FInterID); |
| | | if(arrays.length>1) { |
| | | sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#} and FSourceBillNo= ''{2}''"; |
| | | sql = MessageFormat.format(sql, Fnumber, FInterID, sBillNo); |
| | | } else { |
| | | sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#}"; |
| | | sql = MessageFormat.format(sql, Fnumber, FInterID); |
| | | } |
| | | |
| | | List<OutStockBillEntry> select = erpSqlServer.select(sql, OutStockBillEntry.class); |
| | | OutStockBillEntry outStockBillEntry = select.get(0); |
| | | boolean complete = false; |
| | |
| | | } |
| | | |
| | | |
| | | public boolean updateFnumber(Integer itemId, String FNumber){ |
| | | String sql = "update InStockbillEntry set Fnumber = ''{0}'' where FItemID = {1,number,#}"; |
| | | sql = MessageFormat.format(sql, FNumber, itemId); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } |
| | | // public boolean updateFnumber(Integer itemId, String FNumber){ |
| | | // String sql = "update InStockbillEntry set Fnumber = ''{0}'' where FItemID = {1,number,#}"; |
| | | // sql = MessageFormat.format(sql, FNumber, itemId); |
| | | // return erpSqlServer.update(sql) > 0; |
| | | // } |
| | | |
| | | public boolean updateCFnumber(Integer itemId, String FNumber){ |
| | | String sql = "update CPICMO set Fnumber = ''{0}'' where FItemID = {1,number,#}"; |
| | | sql = MessageFormat.format(sql, FNumber, itemId); |
| | | return erpSqlServer.update(sql) > 0; |
| | | } |
| | | // public boolean updateCFnumber(Integer itemId, String FNumber){ |
| | | // String sql = "update CPICMO set Fnumber = ''{0}'' where FItemID = {1,number,#}"; |
| | | // sql = MessageFormat.format(sql, FNumber, itemId); |
| | | // return erpSqlServer.update(sql) > 0; |
| | | // } |
| | | |
| | | public List<CPICMO> queryErpCPICMO(String fbillNo, String fsourceBillNo) { |
| | | String sql = "select * from CPICMO"; |
| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.MatCode; |
| | | import com.zy.asrs.entity.WaitPakin; |
| | | import com.zy.asrs.service.MatCodeService; |
| | | import com.zy.asrs.service.OutStockMainService; |
| | | import com.zy.asrs.service.OutStockService; |
| | | import com.zy.asrs.service.WaitPakinService; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.utils.VersionUtils; |
| | | import com.zy.common.service.erp.ErpService; |
| | | import com.zy.common.service.erp.dto.InStockDto; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.util.Date; |
| | |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class ErpScheduler { |
| | | public class ErpScheduler extends AbstractHandler<Exception> { |
| | | |
| | | @Autowired |
| | | private ErpService erpService; |
| | |
| | | private Map<Integer, M_item> itemMap = new HashMap<>(); |
| | | |
| | | /** |
| | | * 原材料 |
| | | * 原材料入库单 |
| | | */ |
| | | @Scheduled(cron = "0/5 * * * * ? ") |
| | | // @PostConstruct |
| | | public void inStockExecute(){ |
| | | // List<M_item> item = erpService.getItem(); |
| | | // for (M_item item1 : item) { |
| | | // itemMap.put(item1.getMitemid(), item1); |
| | | // } |
| | | |
| | | List<InStockDto> readyInStock = erpService.getReadyInStock(); |
| | | for (InStockDto dto : readyInStock) { |
| | | for (InStockBillEntry entry : dto.getInStockBillEntries()) { |
| | | // if (entry.getFNumber() == null && itemMap.containsKey(entry.getFItemID())) { |
| | | // entry.setFNumber(itemMap.get(entry.getFItemID()).getMnumber()); |
| | | // boolean b = erpService.updateFnumber(entry.getFItemID(), entry.getFNumber()); |
| | | // if (b) { |
| | | // System.err.println(entry.getFItemID() + ": " + entry.getFNumber()); |
| | | // } |
| | | // } |
| | | |
| | | MatCode matCode = matCodeService.selectById(entry.getFnumber()); |
| | | if (null != matCode) { |
| | | // 生成入库通知单 |
| | |
| | | VersionUtils.setWaitPakIn(waitPakin, matCode); |
| | | waitPakin.setMnemonic(entry.getFOrderBillNo()); // todo:luxiaotao 生产单号 |
| | | waitPakin.setSupplier(dto.getInStockBill().getFBillNo()); // todo:luxiaotao 通知单号 |
| | | String Fnumber = (Cools.isEmpty(entry.getFSourceBillNo())) ? matCode.getMatNo() : matCode.getMatNo() + "|" + entry.getFSourceBillNo(); |
| | | waitPakin.setMatnr(Fnumber); //产品代码|生产单号 |
| | | waitPakin.setBname(matCode.getMatNo()); |
| | | Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() |
| | | .eq("supplier", waitPakin.getSupplier()) |
| | | .eq("matnr", waitPakin.getMatnr()) |
| | | .isNull("zpallet"); |
| | | .eq("matnr", waitPakin.getMatnr()); |
| | | // .isNull("zpallet"); |
| | | WaitPakin one = waitPakinService.selectOne(wrapper); |
| | | try { |
| | | if (one == null) { |
| | | waitPakin.setAnfme(entry.getFAuxQty()); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | log.error("{}原材料入库通知单的{}物料数据处理失败", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | log.error("提取原材料入库通知单InStockBillEntry失败[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } else { |
| | | log.info("提取原材料入库通知单InStockBillEntry成功[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } |
| | | } else { |
| | | waitPakin.setAnfme(entry.getFAuxQty()); |
| | | if (!waitPakinService.update(waitPakin, wrapper)) { |
| | | log.error("更新原材料入库通知单InStockBillEntry失败[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } else { |
| | | log.info("更新原材料入库通知单InStockBillEntry成功[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } |
| | | } |
| | | // else { |
| | | // waitPakin.setAnfme(one.getAnfme() + entry.getFAuxQty()); |
| | | // waitPakinService.update(waitPakin, wrapper); |
| | | // } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | System.out.println(JSON.toJSON(waitPakin)); |
| | |
| | | } |
| | | } |
| | | if (!erpService.haveReadInStock(dto.getInStockBill().getFBillNo())) { |
| | | log.error("{}原材料入库通知单已读失败", dto.getInStockBill().getFBillNo()); |
| | | log.error("标记原材料入库通知单已读InStockBill失败[FBillNo={}]", dto.getInStockBill().getFBillNo()); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * 成品 |
| | | * 成品入库单 |
| | | */ |
| | | @Scheduled(cron = "0/5 * * * * ? ") |
| | | // @PostConstruct |
| | | public void inCPICMOExecute(){ |
| | | // List<M_item> item = erpService.getItem(); |
| | | // for (M_item item1 : item) { |
| | | // itemMap.put(item1.getMitemid(), item1); |
| | | // } |
| | | |
| | | List<CPICMO> cpicmos = erpService.getReadyCPICMO(); |
| | | for (CPICMO cpicmo : cpicmos) { |
| | | // if (Cools.isEmpty(cpicmo.getFnumber()) && itemMap.containsKey(cpicmo.getFItemID())) { |
| | | // cpicmo.setFnumber(itemMap.get(cpicmo.getFItemID()).getMnumber()); |
| | | // boolean b = erpService.updateCFnumber(cpicmo.getFItemID(), cpicmo.getFnumber()); |
| | | // if (b) { |
| | | // System.err.println(cpicmo.getFItemID() + ": " + cpicmo.getFnumber()); |
| | | // } |
| | | // } |
| | | MatCode matCode = matCodeService.selectById(cpicmo.getFnumber()); |
| | | if (null != matCode) { |
| | | // 生成入库通知单 |
| | |
| | | VersionUtils.setWaitPakIn(waitPakin, matCode); |
| | | waitPakin.setMnemonic(cpicmo.getFSourceBillNo()); // todo:luxiaotao 生产单号 |
| | | waitPakin.setSupplier(cpicmo.getFBillNo()); // todo:luxiaotao 通知单号 |
| | | String Fnumber = (Cools.isEmpty(cpicmo.getFSourceBillNo())) ? matCode.getMatNo() : matCode.getMatNo() + "|" + cpicmo.getFSourceBillNo(); |
| | | waitPakin.setMatnr(Fnumber); //产品代码|生产单号 |
| | | waitPakin.setBname(matCode.getMatNo()); |
| | | Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() |
| | | .eq("supplier", waitPakin.getSupplier()) |
| | | .eq("matnr", waitPakin.getMatnr()) |
| | | .isNull("zpallet"); |
| | | .eq("matnr", waitPakin.getMatnr()); |
| | | // .isNull("zpallet"); |
| | | WaitPakin one = waitPakinService.selectOne(wrapper); |
| | | if (one == null) { |
| | | waitPakin.setAnfme(cpicmo.getFAuxQty()); |
| | | if (!waitPakinService.insert(waitPakin)) { |
| | | log.error("{}成品入库通知单的{}物料数据处理失败", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | log.error("提取成品入库通知单CPICMO失败[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } else { |
| | | log.info("提取成品入库通知单CPICMO成功[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } |
| | | } else { |
| | | waitPakin.setAnfme(cpicmo.getFAuxQty()); |
| | | if (!waitPakinService.update(waitPakin, wrapper)) { |
| | | log.error("同步更新成品入库通知单CPICMO失败[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } else { |
| | | log.info("同步更新成品入库通知单CPICMO失败[FBillNo={},Fnumber={}]", waitPakin.getSupplier(), waitPakin.getMatnr()); |
| | | } |
| | | } |
| | | if (!erpService.haveReadCPICMO(cpicmo.getFBillNo())) { |
| | | log.error("{}成品入库通知单已读失败", cpicmo.getFBillNo()); |
| | | log.error("标记成品入库通知单已读CPICMO失败[FBillNo={}]", cpicmo.getFBillNo()); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 成品出库-发货通知单表头 |
| | | * 成品出库 发货通知单表头,表明细 |
| | | */ |
| | | @Scheduled(cron = "0/15 * * * * ? ") |
| | | @Transactional |
| | | public void syncOutStock(){ |
| | | List<OutStockBill> result = erpService.syncOutStock(); |
| | | for (Integer i = 0; i < result.size(); i++) { |
| | | OutStockBill main = outStockMainService.selectOne(new EntityWrapper<OutStockBill>().eq("FBrNo", result.get(i).getFBrNo()).and().eq("FInterID", result.get(i).getFInterID())); |
| | | List<OutStockBill> outStockBills = erpService.syncOutStock(); |
| | | for (Integer i = 0; i < outStockBills.size(); i++) { |
| | | OutStockBill outStockBill = outStockBills.get(i); |
| | | OutStockBill main = outStockMainService.selectOne(new EntityWrapper<OutStockBill>().eq("FBillNo",outStockBill.getFBillNo()).and().eq("FInterID", outStockBill.getFInterID())); |
| | | if (null == main) { |
| | | if (!outStockMainService.insert(result.get(i))) { |
| | | log.info("出库通知主表OutStockBill同步失败"); |
| | | outStockBill.setFflag_rw(1); |
| | | if (!outStockMainService.insert(outStockBill)) { |
| | | log.info("同步出库通知主表OutStockBill失败"); |
| | | exceptionHandle("同步出库通知主表OutStockBill失败[FBillNo={0},FInterID={1}]",outStockBill.getFBillNo(),outStockBill.getFInterID()); |
| | | }; |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 成品出库-发货通知单表体 |
| | | */ |
| | | @Scheduled(cron = "0/15 * * * * ? ") |
| | | public void syncOutStockDetail(){ |
| | | List<OutStockBillEntry> result = erpService.syncOutStockDetail(); |
| | | for (Integer i = 0; i < result.size(); i++) { |
| | | OutStockBillEntry main = outStockService.selectOne(new EntityWrapper<OutStockBillEntry>().eq("FInterID", result.get(i).getFInterID()).and().eq("FEntryID", result.get(i).getFEntryID())); |
| | | if (null == main) { |
| | | if (!outStockService.insert(result.get(i))) { |
| | | log.info("出库通知明细表OutStockBillEntry同步失败"); |
| | | }; |
| | | } else { |
| | | // 数量有变化进行更新 |
| | | if (Double.doubleToLongBits(main.getFAuxQty().doubleValue()) != Double.doubleToLongBits(result.get(i).getFAuxQty().doubleValue())) { |
| | | if (!outStockService.update(result.get(i), new EntityWrapper<OutStockBillEntry>().eq("FInterID", result.get(i).getFInterID()).and().eq("FEntryID", result.get(i).getFEntryID()))) { |
| | | log.info("出库通知明细表OutStockBillEntry同步失败"); |
| | | }; |
| | | List<OutStockBillEntry> outStockBillEntries = erpService.syncOutStockDetail(outStockBill.getFInterID()); |
| | | for (Integer j = 0; j < outStockBillEntries.size(); j++) { |
| | | OutStockBillEntry outStockBillEntry = outStockBillEntries.get(j); |
| | | Wrapper<OutStockBillEntry> wrapper = new EntityWrapper<OutStockBillEntry>().eq("FInterID", outStockBillEntry.getFInterID()). |
| | | eq("FEntryID", outStockBillEntry.getFEntryID()).eq("FBrNo",outStockBillEntry.getFBrNo()); |
| | | OutStockBillEntry one = outStockService.selectOne(wrapper); |
| | | if (null == one) { |
| | | String Fnumber = (Cools.isEmpty(outStockBillEntry.getFSourceBillNo())) ? outStockBillEntry.getFnumber() : outStockBillEntry.getFnumber()+"|"+outStockBillEntry.getFSourceBillNo(); |
| | | outStockBillEntry.setFnumber(Fnumber); //产品代码|生产单号 |
| | | if (!outStockService.insert(outStockBillEntry)) { |
| | | log.info("提取出库通知明细表OutStockBillEntry失败[FBrNo={},FInterID={},FEntryID={}]",outStockBillEntry.getFBrNo(), |
| | | outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID()); |
| | | exceptionHandle("提取出库通知明细表OutStockBillEntry失败[FBrNo={0},FInterID={1},FEntryID={2}]",outStockBillEntry.getFBrNo(), |
| | | outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID()); |
| | | } else { |
| | | log.info("提取出库通知明细表OutStockBillEntry成功[FBrNo={},FInterID={},FEntryID={}]",outStockBillEntry.getFBrNo(), |
| | | outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID()); |
| | | } |
| | | } else { |
| | | // 数量有变化进行更新 |
| | | if (Double.doubleToLongBits(one.getFAuxQty().doubleValue()) != Double.doubleToLongBits(outStockBillEntry.getFAuxQty().doubleValue())) { |
| | | if (!outStockService.update(outStockBillEntry, wrapper)) { |
| | | log.info("同步更新通知明细表OutStockBillEntry失败[FBrNo={},FInterID={},FEntryID={}]",outStockBillEntry.getFBrNo(), |
| | | outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID()); |
| | | exceptionHandle("同步更新通知明细表OutStockBillEntry失败[FBrNo={0},FInterID={1},FEntryID={2}]",outStockBillEntry.getFBrNo(), |
| | | outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID()); |
| | | } else { |
| | | log.info("同步更新通知明细表OutStockBillEntry成功[FBrNo={},FInterID={},FEntryID={}]",outStockBillEntry.getFBrNo(), |
| | | outStockBillEntry.getFInterID(),outStockBillEntry.getFEntryID()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | |
| | | } |
| | | |
| | | if (!erpService.haveReadOutBill(outStockBill.getFBillNo(),outStockBill.getFInterID())) { |
| | | log.error("更新出库通知单读取状态失败[FBrNo={},FInterID={}]", outStockBill.getFBrNo(),outStockBill.getFInterID()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // /** |
| | | // * 成品出库 发货通知单表体 |
| | | // */ |
| | | // @Scheduled(cron = "0/15 * * * * ? ") |
| | | // public void syncOutStockDetail(){ |
| | | // List<OutStockBillEntry> result = erpService.syncOutStockDetail(); |
| | | // for (Integer i = 0; i < result.size(); i++) { |
| | | // OutStockBillEntry main = outStockService.selectOne(new EntityWrapper<OutStockBillEntry>().eq("FInterID", result.get(i).getFInterID()).and().eq("FEntryID", result.get(i).getFEntryID())); |
| | | // if (null == main) { |
| | | // OutStockBillEntry outStockBillEntry = result.get(i); |
| | | // outStockBillEntry.setFnumber(outStockBillEntry.getFnumber()+"|"+outStockBillEntry.getFSourceBillNo()); //产品代码|生产单号 |
| | | // if (!outStockService.insert(outStockBillEntry)) { |
| | | // log.info("出库通知明细表OutStockBillEntry同步失败"); |
| | | // }; |
| | | // } else { |
| | | // // 数量有变化进行更新 |
| | | // if (Double.doubleToLongBits(main.getFAuxQty().doubleValue()) != Double.doubleToLongBits(result.get(i).getFAuxQty().doubleValue())) { |
| | | // if (!outStockService.update(result.get(i), new EntityWrapper<OutStockBillEntry>().eq("FInterID", result.get(i).getFInterID()).and().eq("FEntryID", result.get(i).getFEntryID()))) { |
| | | // log.info("出库通知明细表OutStockBillEntry同步失败"); |
| | | // }; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * 原材料出库 |
| | | */ |
| | |
| | | <div id="combPro" onclick="nav(this.id)" style="font-size: 15px">立库任务单入库</div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <div id="stockIn" onclick="nav(this.id)" class="nav-font-size">立库配件入库</div> |
| | | </td> |
| | | <td> |
| | | <div id="stockOut" onclick="nav(this.id)" class="nav-font-size">立库配件出库</div> |
| | | </td> |
| | | </tr> |
| | | <!-- <tr>--> |
| | | <!-- <td>--> |
| | | <!-- <div id="stockIn" onclick="nav(this.id)" class="nav-font-size">立库配件入库</div>--> |
| | | <!-- </td>--> |
| | | <!-- <td>--> |
| | | <!-- <div id="stockOut" onclick="nav(this.id)" class="nav-font-size">立库配件出库</div>--> |
| | | <!-- </td>--> |
| | | <!-- </tr>--> |
| | | <tr> |
| | | <td> |
| | | <div id="locNormalIn1" onclick="nav(this.id)" class="nav-font-size">平仓材料入库</div> |
| | |
| | | <div id="locNormalOut" onclick="nav(this.id)" class="nav-font-size">平仓成品出库</div> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | <div id="locNormalMove" onclick="nav(this.id)" class="nav-font-size">平仓成品移库</div> |
| | | </td> |
| | | </tr> |
| | | <!-- <tr>--> |
| | | <!-- <td>--> |
| | | <!-- <div id="locNormalMove" onclick="nav(this.id)" class="nav-font-size">平仓成品移库</div>--> |
| | | <!-- </td>--> |
| | | <!-- </tr>--> |
| | | </table> |
| | | |
| | | <!-- 主体内容 --> |