王佳豪
2021-06-19 0ae7027b39b0954fd462af601fdc2b5ed0f5832f
1.pda原材料入库erp传入修改
4个文件已修改
120 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LocNormalController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocNormalService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/locNormalIn.html 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocNormalController.java
@@ -137,7 +137,7 @@
        return R.ok("成功导入" + listener.getTotal() + "条物料信息");
    }
    /* 平仓入库 */
    /* 平仓入库 成品 */
    @RequestMapping(value = "/locNormal/in")
    @ManagerAuth(memo = "平仓入库")
    @Transactional
@@ -152,6 +152,21 @@
        return R.ok();
    }
    /* 平仓入库-原材料 */
    @RequestMapping(value = "/locNormal/in/source")
    @ManagerAuth(memo = "平仓入库-原材料")
    @Transactional
    public R locNormalInSource(@RequestBody LocNormalParam param) {
        Long userId = getUserId();
        Date timeNow = new Date();
        for (Integer i = 0; i < param.getNormalList().size(); i++) {
            param.getNormalList().get(i).setAppeUser(userId);
            param.getNormalList().get(i).setAppeTime(timeNow);
        }
        locNormalService.locNormalIn(param.getNormalList());
        return R.ok();
    }
    /* pda入库 */
    @RequestMapping(value = "/locNormal/pda/in")
    @ManagerAuth(memo = "平仓管理pda入库")
src/main/java/com/zy/asrs/service/LocNormalService.java
@@ -19,6 +19,8 @@
  public void locNormalIn(List<LocNormal> list);
  public void locNormalInSource(List<LocNormal> list);
  public void pdaLocNormalIn(List<LocNormal> list);
  public List<LocNormal> pdaLocNormalQuery(String matnr, String warehouse, String billNo);
src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -15,6 +15,7 @@
import com.zy.asrs.service.LocNormalService;
import com.zy.asrs.service.WaitPakinLogService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.common.service.erp.ErpService;
import com.zy.common.service.erp.ErpSqlServer;
import com.zy.common.service.erp.entity.CPICMO;
import com.zy.common.service.erp.entity.OutStockBillEntry;
@@ -41,6 +42,8 @@
    WaitPakinService waitPakinService;
    @Autowired
    WaitPakinLogService waitPakinLogService;
    @Autowired
    ErpService erpService;
    @Override
    public List<LocNormal> getLocNormalData() {
@@ -137,6 +140,80 @@
        }
    }
    @Override
    public void locNormalInSource(List<LocNormal> list) {
        // 平仓入库后更新中间表数据,Fflag_finish改为1,表示平仓入库成功
        if (list.size() > 0) {
            for (Integer i = 0; i < list.size(); i++) {
                List<LocNormal> addList = new ArrayList<>();
                List<LocNormal> updateList = new ArrayList<>();
                if (!Cools.isEmpty(list.get(i).getSupplier())) { // 存在入库单号的才进行erp更新
                    // 判断原先平仓是否存在有货,如果有货数量进行累加
                    LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("supplier", list.get(i).getSupplier()).and().eq("state", "1").eq("warehouse", list.get(i).getWarehouse()));
                    if (!Cools.isEmpty(oldLocList)) {
                        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.pdaLocNormalUpdate(updateList) > 0) {
                            // cust_wait_pakin转cust_wait_pakin_log,并更新数量
                            custWaitPakinToLog(list.get(i), updateAnfme);
                        }
                        // erp更新 InStockbill和InStockBillEntry
                        erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), list.get(i).getAnfme().doubleValue());
                    } else {
                        // 平仓入库逻辑
                        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());
                        }
                        // erp更新 InStockbill和InStockBillEntry
                        erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), list.get(i).getAnfme().doubleValue());
                    }
                } else {
                    // 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, ''{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)";
//                            ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
//                            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, ''{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)";
//                            ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
//                            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());
                        }
                    }
                }
            }
        }
    }
    /**
     * 成品入库单标记完成
     */
src/main/webapp/views/pda/locNormalIn.html
@@ -361,6 +361,29 @@
        });
        // 请求保存接口
        var areaType = getQueryVariable('areaType');
        if (areaType == 1) {
            $.ajax({
                url: baseUrl + "/locNormal/in/source",
                headers: {'token': localStorage.getItem('token')},
                data: JSON.stringify({
                    normalList: data,
                }),
                contentType: 'application/json;charset=UTF-8',
                method: 'POST',
                async: false,
                success: function (res) {
                    if (res.code === 200) {
                        reset(true);
                        tips("组托成功")
                    } else if (res.code === 403) {
                        top.location.href = baseUrl + "/pda";
                    } else {
                        tips(res.msg, true)
                    }
                },
            });
        } else {
        $.ajax({
            url: baseUrl + "/locNormal/pda/in",
            headers: {'token': localStorage.getItem('token')},
@@ -382,6 +405,7 @@
            },
        });
    }
    }
    /**
     * 根据通知单号查询物料详情