自动化立体仓库 - WMS系统
1
zhang
4 天以前 6d3b7e69524cdc6fd4c44fe9f37661a19a56c6ff
1
23个文件已修改
308 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocDetl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetlPakin.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WaitPakin.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WaitPakinLog.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkDetl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkDetlLog.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MatParam.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlPakoutMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlPakoutService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/entity/NccJcQilibcBarcodeflowWms.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/entity/NccScZkmxbWms.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/task/PlanOrderTask.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/asrs/OrderDetlPakoutMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -240,6 +240,7 @@
        Mat mat = matService.selectByMatnr(nccJcQilibcBarcodeflowWms.getWlbm());
        MatParam matParam = new MatParam();
        Synchro.Copy(mat, matParam);
        matParam.setOrderNo(nccJcQilibcBarcodeflowWms.getZkdh());
        matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode());
        matParam.setAnfme(nccJcQilibcBarcodeflowWms.getAsnnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getAsnnum().doubleValue());
        return R.ok().add(matParam);
src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -7,10 +7,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasProcessProceduresService;
import com.zy.asrs.service.BasQualityTestingService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.LocOwnerService;
import com.zy.asrs.service.*;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -337,6 +334,15 @@
        }
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public String getBoxType1$(){
        BasProcessProceduresService service = SpringUtils.getBean(BasProcessProceduresService.class);
        BasProcessProcedures processProcedures = service.selectOne(new EntityWrapper<BasProcessProcedures>().eq("box_type", this.boxType1));
src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -10,6 +10,7 @@
import com.zy.asrs.service.BasProcessProceduresService;
import com.zy.asrs.service.BasQualityTestingService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.StoreTypeService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -585,6 +586,31 @@
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public boolean beSimilar2(OrderDetl orderDetl){
        return (
                this.orderNo.equals(orderDetl.getOrderNo())
                        && this.matnr.equals(orderDetl.getMatnr())
                        && this.brand.equals(orderDetl.getBrand())
                        && this.standby1.equals(orderDetl.getStandby1())
                        && this.standby2.equals(orderDetl.getStandby2())
                        && this.standby3.equals(orderDetl.getStandby3())
                        && this.boxType1.equals(orderDetl.getBoxType1())
                        && this.boxType2.equals(orderDetl.getBoxType2())
                        && this.boxType3.equals(orderDetl.getBoxType3())
        );
    }
    public static OrderDetl find(List<OrderDetl> detlDtos, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3) {
        if (Cools.isEmpty(matnr)) {
            return null;
src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
@@ -10,6 +10,7 @@
import com.zy.asrs.service.BasProcessProceduresService;
import com.zy.asrs.service.BasQualityTestingService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.StoreTypeService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -546,6 +547,17 @@
        return this.boxType1;
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public boolean beSimilar(OrderDetlPakin orderDetlPakin){
        return (
                this.orderNo.equals(orderDetlPakin.getOrderNo())
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
@@ -10,6 +10,7 @@
import com.zy.asrs.service.BasProcessProceduresService;
import com.zy.asrs.service.BasQualityTestingService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.StoreTypeService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -562,6 +563,18 @@
        );
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -7,6 +7,7 @@
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasProcessProceduresService;
import com.zy.asrs.service.BasQualityTestingService;
import com.zy.asrs.service.StoreTypeService;
import com.zy.common.utils.Synchro;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -268,6 +269,16 @@
        return this.boxType1;
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public String getBoxType2$(){
        BasQualityTestingService service = SpringUtils.getBean(BasQualityTestingService.class);
        BasQualityTesting basQualityTesting = service.selectOne(new EntityWrapper<BasQualityTesting>().eq("box_type", this.boxType1));
src/main/java/com/zy/asrs/entity/WaitPakinLog.java
@@ -7,6 +7,7 @@
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasProcessProceduresService;
import com.zy.asrs.service.BasQualityTestingService;
import com.zy.asrs.service.StoreTypeService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -220,6 +221,15 @@
        }
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public String getInspect$(){
        if (null == this.inspect){ return null; }
        switch (this.inspect){
src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotations.TableName;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.StoreTypeService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -317,7 +318,9 @@
    }
    public String getBeBatch$(){
        if (null == this.beBatch){ return null; }
        if (null == this.beBatch) {
            return null;
        }
        switch (this.beBatch){
            case 1:
                return "是";
@@ -329,7 +332,9 @@
    }
    public String getSource$(){
        if (null == this.source){ return null; }
        if (null == this.source) {
            return null;
        }
        switch (this.source){
            case 1:
                return "制造";
@@ -343,7 +348,9 @@
    }
    public String getInspect$(){
        if (null == this.inspect){ return null; }
        if (null == this.inspect) {
            return null;
        }
        switch (this.inspect){
            case 1:
                return "是";
@@ -355,7 +362,9 @@
    }
    public String getDanger$(){
        if (null == this.danger){ return null; }
        if (null == this.danger) {
            return null;
        }
        switch (this.danger){
            case 1:
                return "是";
@@ -375,6 +384,15 @@
        return null;
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public String getModiTime$(){
        if (Cools.isEmpty(this.modiTime)){
            return "";
src/main/java/com/zy/asrs/entity/WrkDetlLog.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotations.TableName;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.StoreTypeService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -398,6 +399,15 @@
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public String getStandby1$() {
        StoreTypeService service = SpringUtils.getBean(StoreTypeService.class);
        StoreType storeType = service.selectById(this.standby1);
        if (!Cools.isEmpty(storeType)) {
            return String.valueOf(storeType.getStoreName());
        }
        return null;
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
src/main/java/com/zy/asrs/entity/param/MatParam.java
@@ -196,5 +196,9 @@
     * 备注
     */
    private Integer times = 0;
    /**
     * 单据单号
     */
    private String orderNo;
}
src/main/java/com/zy/asrs/mapper/OrderDetlPakoutMapper.java
@@ -48,6 +48,8 @@
                             @Param("boxType2")String boxType2,
                             @Param("boxType3")String boxType3, @Param("qty")Double qty);
    int  increaseQtyById(@Param("id")Long id, @Param("qty")Double qty);
    int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("brand")String brand,
                        @Param("standby1")String standby1, @Param("standby2")String standby2, @Param("standby3")String standby3, @Param("boxType1")String boxType1,
                        @Param("boxType2")String boxType2,
src/main/java/com/zy/asrs/service/OrderDetlPakoutService.java
@@ -28,6 +28,7 @@
    boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3, Double qty);
    boolean increaseQtyById(Long id, Double qty);
    /**
     * 入出库任务生成时,更新单据表中作业数量
     * @param orderId
src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java
@@ -81,6 +81,11 @@
        return this.baseMapper.increaseQtyByOrderNo(orderNo, matnr, batch,brand,standby1,standby2,standby3,boxType1,boxType2,boxType3, qty) > 0;
    }
    @Override
    public boolean increaseQtyById(Long id, Double qty) {
        return this.baseMapper.increaseQtyById(id, qty) > 0;
    }
    /**
     * 入出库任务生成时,更新单据表中作业数量
     * @param orderId
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -457,6 +457,7 @@
            wrkDetl.setAppeUser(userId);
            wrkDetl.setModiTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setThreeCode(orderDetl.getId() + "");
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作档明细失败");
            }
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -112,8 +112,8 @@
//        }
    }
    @Scheduled(cron = "0/5 * * * * ? ")
    @Async("orderThreadPool")
    //@Scheduled(cron = "0/5 * * * * ? ")
    //@Async("orderThreadPool")
    public void completeAndReportOrderInAndOutUtil2() {
//        String erpReport = Parameter.get().getErpReport();
//        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -121,9 +121,9 @@
        if (null == docType) {
            return SUCCESS;
        }
        if (docType.getDocName().equals("销售发货")) {
            return SUCCESS;
        }
//        if (docType.getDocName().equals("销售发货")) {
//            return SUCCESS;
//        }
        Order orderSou = orderService.selectByNo(order.getOrderNo());
        if (!orderSou.getSettle().equals(2L)) {
            return FAIL.setMsg("订单状态不正确,请联系管理员");
@@ -137,6 +137,7 @@
                if (orderDetl.getQty().equals(0D)) {
                    continue;
                }
                if (!Cools.isEmpty(orderDetlSou.getBatch())){
                if (orderDetlSou.beSimilar(orderDetl)) {
                    double v = orderDetlSou.getAnfme() - orderDetlSou.getQty();
                    if (v < orderDetl.getQty() || orderDetl.getQty().equals(v)) {
@@ -148,6 +149,19 @@
                        orderDetl.setQty(0D);
                    }
                }
                }else {
                    if (orderDetlSou.beSimilar2(orderDetl)) {
                        double v = orderDetlSou.getAnfme() - orderDetlSou.getQty();
                        if (v < orderDetl.getQty() || orderDetl.getQty().equals(v)) {
                            orderDetlSou.setQty(orderDetlSou.getAnfme());
                            orderDetl.setQty(orderDetl.getQty() - v);
                            break;
                        } else {
                            orderDetlSou.setQty(orderDetlSou.getQty() + orderDetl.getQty());
                            orderDetl.setQty(0D);
                        }
                    }
                }
            }
        }
        for (OrderDetl orderDetlSou : orderDetlList) {
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -215,26 +215,32 @@
                        }
                        // 更新订单完成数量
                        addOrderDetlQty(wrkMast, wrkDetl);
//                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                        if (orderDetlPakout == null) {
//                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                        }
//                        try {
//                            if (!Cools.isEmpty(orderDetlPakout)) {
////                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
////                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
////                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
//
                        //addOrderDetlQty(wrkMast, wrkDetl);
                        OrderDetlPakout orderDetlPakout;
                        if (!Cools.isEmpty(wrkDetl.getThreeCode())) {
                            orderDetlPakout = orderDetlPakoutService.selectById(Long.parseLong(wrkDetl.getThreeCode()));
                        } else {
                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                            if (orderDetlPakout == null) {
                                orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                            }
                        }
                        try {
                            if (!Cools.isEmpty(orderDetlPakout)) {
//                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
//                                        orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
//                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
                                if (!orderDetlPakoutService.increaseQtyById(orderDetlPakout.getId(), wrkDetl.getAnfme())) {
//                                if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) {
////                                    exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
////                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                    return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
//                                }
//                            }
//                        } catch (Exception ignore) {
//                        }
//                                    exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore) {
                        }
                    }
                    // 修改库位状态 Q ====>> F
@@ -436,22 +442,28 @@
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        // 更新订单完成数量
                        addOrderDetlQty(wrkMast, wrkDetl);
//                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                        if (orderDetlPakout == null) {
//                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                        }
//                        try {
//                            if (!Cools.isEmpty(orderDetlPakout)) {
//                                if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) {
////                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
////                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                                }
//                            }
//                        } catch (Exception ignore) {
//                        }
                        //addOrderDetlQty(wrkMast, wrkDetl);
                        OrderDetlPakout orderDetlPakout;
                        if (!Cools.isEmpty(wrkDetl.getThreeCode())) {
                            orderDetlPakout = orderDetlPakoutService.selectById(Long.parseLong(wrkDetl.getThreeCode()));
                        } else {
                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                            if (orderDetlPakout == null) {
                                orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                            }
                        }
                        try {
                            if (!Cools.isEmpty(orderDetlPakout)) {
                                if (!orderDetlPakoutService.increaseQtyById(orderDetlPakout.getId(), wrkDetl.getAnfme())) {
//                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore) {
                        }
                    }
                    // 删除工作档源库位的库存明细
                    if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
@@ -543,7 +555,10 @@
            OrderDetlPakout orderDetlPakout;
            switch (order.getDocType$()) {
                case "销售发货":
                    orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                    if (Cools.isEmpty(orderDetlPakout)) {
                    orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                    }
                    if (!Cools.isEmpty(orderDetlPakout)) {
                        OrderDetl orderDetl = orderDetlService.selectItem(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), wrkDetl.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3());
                        if (orderDetl == null) {
src/main/java/com/zy/nc/entity/NccJcQilibcBarcodeflowWms.java
@@ -21,6 +21,10 @@
    /**
     * 
     */
    private String zkdh;
    /**
     *
     */
    private String ts;
src/main/java/com/zy/nc/entity/NccScZkmxbWms.java
@@ -314,6 +314,8 @@
     */
    private String wmsMemo;
    @Override
    public boolean equals(Object that) {
        if (this == that) {
src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -53,12 +53,7 @@
            if (wmsFlag == null || wmsFlag.isEmpty()) {
                return;
            }
            ReturnT<String> returnT;
            if (wmsFlag.get(0).getNastnum().doubleValue() > 0) {
                returnT = planOrderHandler.start1(wmsFlag);
            } else {
                returnT = planOrderHandler.start1In(wmsFlag);
            }
            ReturnT<String> returnT = planOrderHandler.start1(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccSaleXsfhmxWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
@@ -66,8 +61,13 @@
                }
                log.error(returnT.getMsg());
            }
        }
//            if (wmsFlag.get(0).getNastnum().doubleValue() > 0) {
//                returnT = planOrderHandler.start1(wmsFlag);
//            } else {
//                returnT = planOrderHandler.start1In(wmsFlag);
//            }
        }
    }
    /**
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -25,6 +25,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Service
@@ -66,11 +67,26 @@
    @Transactional
    public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) {
        try {
            HashMap<String, List<NccSaleXsfhmxWms>> map = new HashMap<>();
            List<NccSaleXsfhmxWms> fenzu;
            for (NccSaleXsfhmxWms wms : wmsFlag) {
                if (map.get(wms.getFhckbm()) == null) {
                    fenzu = new ArrayList<>();
                    fenzu.add(wms);
                    map.put(wms.getFhckbm(), fenzu);
                } else {
                    fenzu = map.get(wms.getFhckbm());
                    fenzu.add(wms);
                    map.put(wms.getFhckbm(), fenzu);
                }
            }
            int size = 1;
            for (String key : map.keySet()) {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
            DetlDto detlDto;
            List<DetlDto> orderDetails = new ArrayList<>();
            long i = 1;
            for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) {
                for (NccSaleXsfhmxWms nccSaleXsfhmxWms : map.get(key)) {
                param.setOrderType("销售发货");
                detlDto = new DetlDto();
                detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
@@ -82,11 +98,12 @@
                log.info("NccSaleXsfhmxWms数据:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
                i++;
                nccSaleXsfhmxWms.setWmsFlag(1);
                param.setOrderNo(nccSaleXsfhmxWms.getVbillcode());
                    param.setOrderNo(nccSaleXsfhmxWms.getVbillcode() + "-" + size);
            }
            param.setOrderDetails(orderDetails);
            openService.pakoutOrderCreate(param);
            nccSaleXsfhmxWmsService.updateBatchById(wmsFlag);
                nccSaleXsfhmxWmsService.updateBatchById(map.get(key));
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
src/main/resources/mapper/asrs/OrderDetlPakoutMapper.xml
@@ -232,6 +232,13 @@
        <include refid="standbyAll"></include>
    </update>
    <update id="increaseQtyById">
        update man_order_detl_pakout
        set qty = qty + #{qty}
        where id = #{id}
    </update>
    <update id="increaseWorkQty">
        update man_order_detl_pakout
        set work_qty = work_qty + #{workQty}
src/main/webapp/static/js/common.js
@@ -188,12 +188,12 @@
    ,{field: 'maktx', align: 'center',title: '商品名称(品名)', width: 200}
    // ,{field: 'name', align: 'center',title: '别名'}
    ,{field: 'specs', align: 'center',title: '规格'}
    ,{field: 'model', align: 'center',title: '代码', hide: true}
    ,{field: 'model', align: 'center',title: '型号'}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
    ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
    ,{field: 'sku', align: 'center',title: '物料简称'}
    ,{field: 'units', align: 'center',title: '单位量', hide: true}
    ,{field: 'barcode', align: 'center',title: '条码', hide: true}
    ,{field: 'origin', align: 'center',title: '产地', hide: true}
@@ -225,12 +225,13 @@
    {field: 'matnr', align: 'center',title: '商品编号(品号)', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称(品名)', sort:true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
    ,{field: 'batch', align: 'center',title: '货品特征', sort:true}
    ,{field: 'batch', align: 'center',title: '批次'}
    ,{field: 'anfme', align: 'center',title: '数量', hide: false}
    ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: false}
    ,{field: 'specs', align: 'center',title: '规格', hide: false}
    ,{field: 'model', align: 'center',title: '代码', hide: true}
    ,{field: 'model', align: 'center',title: '型号'}
    ,{field: 'supp', align: 'center',title: '客户'}
    ,{field: 'standby1$', align: 'center',title: '仓库'}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
@@ -247,12 +248,10 @@
    ,{field: 'length', align: 'center',title: '单箱毛重', hide: true}
    ,{field: 'volume', align: 'center',title: '单箱体积', hide: true}
    ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
    ,{field: 'supp', align: 'center',title: '供应商', hide: true}
    ,{field: 'suppCode', align: 'center',title: '供应商编码', hide: true}
    ,{field: 'beBatch$', align: 'center',title: '是否批次', hide: true}
    ,{field: 'deadTime', align: 'center',title: '保质期', hide: true}
    ,{field: 'deadWarn', align: 'center',title: '预警天数', hide: true}
    ,{field: 'source$', align: 'center',title: '制购', hide: true}
    ,{field: 'check$', align: 'center',title: '要求检验', hide: true}
    ,{field: 'danger$', align: 'center',title: '危险品', hide: true}
    ,{field: 'frozen$', align: 'center',title: '冻结否',hide: true,