自动化立体仓库 - WMS系统
13
zhang
昨天 55eb3d480594f4c0dd382eaeeb8548bf911d6ad7
13
23个文件已修改
6 文件已复制
9 文件已重命名
7个文件已添加
1752 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MatController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlPakoutController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderPakinController.java 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderPakoutController.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WaitPakinController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetlPakin.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderReportLog.java 471 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OrderPakinDomainParam.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OrderPakoutDomainParam.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlPakoutMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderReportMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlPakinService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlPakoutService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakinService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakoutService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderReportService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderReportServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlPakinMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlPakoutMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderPakinMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderPakoutMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MatController.java
@@ -16,7 +16,6 @@
import com.zy.asrs.entity.result.KeyValueVo;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.MobileService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.utils.MatExcelListener;
import com.zy.common.CodeRes;
import com.zy.common.config.AdminInterceptor;
@@ -43,8 +42,6 @@
    @Autowired
    private MatService matService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private MobileService mobileService;
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -44,9 +44,14 @@
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private OrderService orderService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private DocTypeService docTypeService;
    @Autowired
@@ -61,13 +66,7 @@
    private CommonService commonService;
//    @PostMapping("/agv/start")
//    @ManagerAuth
//    public R pdaStockCheck(@RequestBody StockCheckParam param){
//
//
//
//    }
    @PostMapping("/agv/start")
@@ -79,16 +78,6 @@
        } else if (Cools.isEmpty(map.get("inSta"))) {
            return R.parse("入库站点不能为空");
        }
//        HashMap<String, String> map1 = new HashMap<>();
//        map1.put("agv0001","sta0001");
//        String sta = map.get("sta").toString();
//
//        ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
//        getAgvTaskParam(forwardAGVTaskParam,sta,map1.get(sta));
//        String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask");
//        if ("SUCCESS".equals(request)) {
//            return R.ok();
//        }
        String sta = (String) map.get("sta"); // 暂存位
        String inSta = String.valueOf(map.get("inSta")); // 入库站点
@@ -187,39 +176,14 @@
    }
    // 组托 ----------------------------------------------------------------------------------------------------
    /**
     * 根据单号检索单据数据
     * http://localhost:8081/jkwms/mobile/order/serach/orderNo/auth?orderNo=123123
     */
//    @RequestMapping("/order/search/orderNo/auth")
//    @ManagerAuth
//    public R orderSearchByBarcode(@RequestParam String orderNo){
//        Order order = orderService.selectByNo(orderNo);
//        if (order == null) {
//            return R.ok();
//        }
//        DocType docType = docTypeService.selectById(order.getDocType());
//        if (docType.getPakin() == null || docType.getPakin() != 1) {
//            return R.ok();
//        }
//        if (order.getSettle() > 2) {
//            return R.ok();
//        }
//        List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
//        if (Cools.isEmpty(orderDetls)) {
//            return R.ok();
//        }
//        return R.ok().add(orderDetls);
//    }
    @RequestMapping("/order/search/orderNo/auth")
    @ManagerAuth
    public R orderSearchByBarcode(@RequestParam String orderNo) {
        if (Cools.isEmpty(orderNo)) {
            orderNo = null;
        }
        List<OrderPakin> orders = orderService.selectorderNoL(orderNo);
        List<OrderPakin> orders = orderPakinService.selectorderNoL(orderNo);
        if (Cools.isEmpty(orders)) {
            return R.ok();
        }
@@ -237,10 +201,10 @@
                if (order.getSettle() > 2) {
                    continue;
                }
                List<OrderDetlPakout> orderDetlPakouts = orderService.selectWorkingDetls(order.getId());
                List<OrderDetlPakin> orderDetlPakouts = orderPakinService.selectWorkingDetls(order.getId());
                if (!Cools.isEmpty(orderDetlPakouts)) {
                    LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
                    for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                    for (OrderDetlPakin orderDetlPakout : orderDetlPakouts) {
                        CombParam.CombMat combMat = new CombParam.CombMat();
                        combMat.setMatnr(orderDetlPakout.getMatnr());
                        combMat.setBatch(orderDetlPakout.getBatch());
@@ -342,7 +306,7 @@
            return R.ok();
        }
//        List<Order> orders = orderService.selectorderNoL(batch);
        OrderDetlPakout orderDetlPakout = orderDetlService.selectOne(new EntityWrapper<OrderDetlPakout>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no", combParam.getOrderNo()));
        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectOne(new EntityWrapper<OrderDetlPakout>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no", combParam.getOrderNo()));
        if (Cools.isEmpty(orderDetlPakout)) {
            return R.error("未查到数据");
        }
@@ -351,7 +315,7 @@
        }
        //复核数
        orderDetlPakout.setSource(1);
        orderDetlService.updateById(orderDetlPakout);
        orderDetlPakoutService.updateById(orderDetlPakout);
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -40,20 +40,33 @@
    @Autowired
    private WrkMastService wrkMastService;
    @GetMapping("/order/delete/v1")
    @GetMapping("/pakout/order/delete/v1")
    @AppAuth(memo = "订单信息删除")
    public synchronized R orderDelete(@RequestHeader(required = false) String appkey,
                                      @RequestParam String orderNo,
                                      HttpServletRequest request) {
    public synchronized R orderPakinDelete(@RequestHeader(required = false) String appkey,
                                           @RequestParam String orderNo,
                                           HttpServletRequest request) {
        auth(appkey, orderNo, request);
        if (Cools.isEmpty(orderNo)) {
            return R.parse(BaseRes.PARAM);
        }
        openService.orderDelete(orderNo);
        openService.orderPakinDelete(orderNo);
        return R.ok();
    }
    @GetMapping("/pakin/order/delete/v1")
    @AppAuth(memo = "入库订单信息删除")
    public synchronized R orderPakoutDelete(@RequestHeader(required = false) String appkey,
                                            @RequestParam String orderNo,
                                            HttpServletRequest request) {
        auth(appkey, orderNo, request);
        if (Cools.isEmpty(orderNo)) {
            return R.parse(BaseRes.PARAM);
        }
        openService.orderPakoutDelete(orderNo);
        return R.ok();
    }
    @PostMapping("/tagSync/v1")
    @AppAuth(memo = "物料分类同步")
src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
copy from src/main/java/com/zy/asrs/controller/OrderDetlController.java copy to src/main/java/com/zy/asrs/controller/OrderDetlPakinController.java
File was copied from src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -9,9 +9,9 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.mapper.OrderDetlPakinMapper;
import com.zy.asrs.service.OrderDetlPakinService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -23,18 +23,19 @@
import java.util.Map;
@RestController
public class OrderDetlController extends BaseController {
@RequestMapping(value = "/pakin")
public class OrderDetlPakinController extends BaseController {
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakinService orderDetlService;
    @Resource
    private OrderDetlMapper orderDetlMapper;
    private OrderDetlPakinMapper orderDetlMapper;
    @RequestMapping(value = "/orderDetl/search/pda/auth")
    @ManagerAuth
    public R pdaOrderDetlSearch(@RequestParam(required = false) String condition, @RequestParam(required = false) String order) {
        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderDetlPakin> wrapper = new EntityWrapper<>();
        if (!Cools.isEmpty(condition)) {
//            wrapper.like("matnr", condition).or().like("maktx", condition);
@@ -42,13 +43,13 @@
        }
        wrapper.eq("order_no", order);
        wrapper.orderBy("create_time", false);
        List<OrderDetlPakout> mats = orderDetlService.selectList(wrapper);
        List<OrderDetlPakin> mats = orderDetlService.selectList(wrapper);
        return R.ok().add(mats);
    }
    @PostMapping("/orderDetl/list/pda/auth")
    public R getPdaOrderDetl(@RequestBody Map<String, Object> map) {
        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderDetlPakin> wrapper = new EntityWrapper<>();
        wrapper.eq("order_no", map.get("orderNo"));
        return R.ok(orderDetlService.selectList(wrapper));
    }
@@ -66,7 +67,7 @@
                  @RequestParam(required = false) String orderByField,
                  @RequestParam(required = false) String orderByType,
                  @RequestParam Map<String, Object> param) {
        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderDetlPakin> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
@@ -75,7 +76,7 @@
            wrapper.orderBy("create_time", false);
        }
        wrapper.eq("status", 1);
        Page<OrderDetlPakout> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        Page<OrderDetlPakin> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok(orderDetlPage);
    }
@@ -84,7 +85,7 @@
    public R pakoutList(@RequestParam(defaultValue = "1") Integer curr,
                        @RequestParam(defaultValue = "10") Integer limit,
                        @RequestParam Map<String, Object> param) {
        return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetlPakout.class)));
        return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetlPakin.class)));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
@@ -102,18 +103,18 @@
    @RequestMapping(value = "/orderDetl/add/auth")
    @ManagerAuth
    public R add(OrderDetlPakout orderDetlPakout) {
        orderDetlService.insert(orderDetlPakout);
    public R add(OrderDetlPakin OrderDetlPakin) {
        orderDetlService.insert(OrderDetlPakin);
        return R.ok();
    }
    @RequestMapping(value = "/orderDetl/update/auth")
    @ManagerAuth
    public R update(OrderDetlPakout orderDetlPakout) {
        if (Cools.isEmpty(orderDetlPakout) || null == orderDetlPakout.getId()) {
    public R update(OrderDetlPakin OrderDetlPakin) {
        if (Cools.isEmpty(OrderDetlPakin) || null == OrderDetlPakin.getId()) {
            return R.error();
        }
        orderDetlService.updateById(orderDetlPakout);
        orderDetlService.updateById(OrderDetlPakin);
        return R.ok();
    }
@@ -129,25 +130,25 @@
    @RequestMapping(value = "/orderDetl/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param) {
        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderDetlPakin> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("orderDetl"));
        convert(map, wrapper);
        List<OrderDetlPakout> list = orderDetlService.selectList(wrapper);
        List<OrderDetlPakin> list = orderDetlService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/orderDetlQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<OrderDetlPakout> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderDetlPakin> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<OrderDetlPakout> page = orderDetlService.selectPage(new Page<>(0, 10), wrapper);
        Page<OrderDetlPakin> page = orderDetlService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (OrderDetlPakout orderDetlPakout : page.getRecords()) {
        for (OrderDetlPakin OrderDetlPakin : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", orderDetlPakout.getId());
            map.put("value", orderDetlPakout.getId());
            map.put("id", OrderDetlPakin.getId());
            map.put("value", OrderDetlPakin.getId());
            result.add(map);
        }
        return R.ok(result);
@@ -156,9 +157,9 @@
    @RequestMapping(value = "/orderDetl/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<OrderDetlPakout> wrapper = new EntityWrapper<OrderDetlPakout>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        Wrapper<OrderDetlPakin> wrapper = new EntityWrapper<OrderDetlPakin>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != orderDetlService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(OrderDetlPakout.class, String.valueOf(param.get("key"))));
            return R.parse(BaseRes.REPEAT).add(getComment(OrderDetlPakin.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/OrderDetlPakoutController.java
File was renamed from src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -10,8 +10,8 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.service.OrderDetlPakoutService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -23,13 +23,14 @@
import java.util.Map;
@RestController
public class OrderDetlController extends BaseController {
@RequestMapping(value = "/pakout")
public class OrderDetlPakoutController extends BaseController {
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakoutService orderDetlService;
    @Resource
    private OrderDetlMapper orderDetlMapper;
    private OrderDetlPakoutMapper orderDetlMapper;
    @RequestMapping(value = "/orderDetl/search/pda/auth")
    @ManagerAuth
src/main/java/com/zy/asrs/controller/OrderPakinController.java
copy from src/main/java/com/zy/asrs/controller/OrderController.java copy to src/main/java/com/zy/asrs/controller/OrderPakinController.java
File was copied from src/main/java/com/zy/asrs/controller/OrderController.java
@@ -8,7 +8,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OrderDomainParam;
import com.zy.asrs.entity.param.OrderPakinDomainParam;
import com.zy.asrs.entity.result.WrkTraceVo;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
@@ -21,12 +21,13 @@
import java.util.*;
@RestController
public class OrderController extends BaseController {
@RequestMapping(value = "/pakin")
public class OrderPakinController extends BaseController {
    @Autowired
    private OrderService orderService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
@@ -51,7 +52,7 @@
            wrapper.like("order_no", condition);
        }
        wrapper.orderBy("create_time", false);
        List<OrderPakin> mats = orderService.selectList(wrapper);
        List<OrderPakin> mats = orderPakinService.selectList(wrapper);
        return R.ok().add(mats);
    }
@@ -71,7 +72,7 @@
        wrapper.in("doc_type", arrayList);
        wrapper.in("settle", 1, 2);
        wrapper.orderBy("create_time", false);
        Page<OrderPakin> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
        Page<OrderPakin> orderPage = orderPakinService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok().add(orderPage);
    }
@@ -90,7 +91,7 @@
        wrapper.in("doc_type", arrayList);
        wrapper.in("settle", 1, 2);
        wrapper.orderBy("create_time", false);
        Page<OrderPakin> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
        Page<OrderPakin> orderPage = orderPakinService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok().add(orderPage);
    }
@@ -103,7 +104,7 @@
        }
        wrapper.le("settle", 2).eq("status", 1);
        wrapper.orderBy("create_time", false);
        List<OrderPakin> orders = orderService.selectList(wrapper);
        List<OrderPakin> orders = orderPakinService.selectList(wrapper);
        // 保留出库单
        if (!Cools.isEmpty(orders)) {
            Iterator<OrderPakin> iterator = orders.iterator();
@@ -138,19 +139,19 @@
            wrapper.orderBy("settle").orderBy("create_time", false);
        }
        wrapper.eq("status", 1);
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(orderPakinService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId) {
        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId)));
        return R.ok().add(orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderId)));
    }
    @RequestMapping(value = "/order/form/add/auth")
    @ManagerAuth(memo = "手动添加订单")
    @Transactional
    public R formAdd(@RequestBody OrderDomainParam param) {
    public R formAdd(@RequestBody OrderPakinDomainParam param) {
        if (Cools.isEmpty(param.getOrderNo())) {
            String prefix = "";
            DocType docType = docTypeService.selectById(param.getDocType());
@@ -159,7 +160,7 @@
            }
            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
        }
        OrderPakin order = orderService.selectByNo(param.getOrderNo());
        OrderPakin order = orderPakinService.selectByNo(param.getOrderNo());
        if (order != null) {
            return R.error("单据编号已存在");
        }
@@ -200,29 +201,29 @@
                now,    // 修改时间
                null    // 备注
        );
        if (!orderService.insert(order)) {
        if (!orderPakinService.insert(order)) {
            throw new CoolException("保存订单主档失败");
        }
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) {
            DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
        for (OrderDetlPakin OrderDetlPakin : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
                item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme());
                if (!orderDetlService.updateById(item)) {
                OrderDetlPakin item = orderDetlPakinService.selectItem(order.getId(), OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch());
                item.setAnfme(item.getAnfme() + OrderDetlPakin.getAnfme());
                if (!orderDetlPakinService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
                }
            } else {
                list.add(dto);
                orderDetlPakout.setOrderId(order.getId());
                orderDetlPakout.setOrderNo(order.getOrderNo());
                orderDetlPakout.setCreateBy(getUserId());
                orderDetlPakout.setCreateTime(now);
                orderDetlPakout.setUpdateBy(getUserId());
                orderDetlPakout.setUpdateTime(now);
                orderDetlPakout.setStatus(1);
                orderDetlPakout.setQty(0.0D);
                if (!orderDetlService.insert(orderDetlPakout)) {
                OrderDetlPakin.setOrderId(order.getId());
                OrderDetlPakin.setOrderNo(order.getOrderNo());
                OrderDetlPakin.setCreateBy(getUserId());
                OrderDetlPakin.setCreateTime(now);
                OrderDetlPakin.setUpdateBy(getUserId());
                OrderDetlPakin.setUpdateTime(now);
                OrderDetlPakin.setStatus(1);
                OrderDetlPakin.setQty(0.0D);
                if (!orderDetlPakinService.insert(OrderDetlPakin)) {
                    throw new CoolException("保存订单明细档失败");
                }
            }
@@ -233,8 +234,8 @@
    @RequestMapping(value = "/order/form/modify/auth")
    @ManagerAuth(memo = "手动修改订单")
    @Transactional
    public R formModify(@RequestBody OrderDomainParam param) {
        OrderPakin order = orderService.selectById(param.getOrderId());
    public R formModify(@RequestBody OrderPakinDomainParam param) {
        OrderPakin order = orderPakinService.selectById(param.getOrderId());
        if (order == null || order.getStatus() == 0) {
            return R.error("订单不存在");
        }
@@ -245,37 +246,37 @@
            order.setDocType(param.getDocType());
            order.setUpdateBy(userId);
            order.setUpdateTime(now);
            if (!orderService.updateById(order)) {
            if (!orderPakinService.updateById(order)) {
                throw new CoolException("修改订单类型失败");
            }
        }
        // 修改明细档
//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        // 1.清空明细档
        if (!orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) {
        if (!orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_id", order.getId()))) {
            throw new CoolException("清空订单明细失败");
        }
        // 2.重组数据
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) {
            DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
        for (OrderDetlPakin OrderDetlPakin : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
                item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme());
                if (!orderDetlService.updateById(item)) {
                OrderDetlPakin item = orderDetlPakinService.selectItem(order.getId(), OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch());
                item.setAnfme(item.getAnfme() + OrderDetlPakin.getAnfme());
                if (!orderDetlPakinService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
                }
            } else {
                list.add(dto);
                orderDetlPakout.setOrderId(order.getId());
                orderDetlPakout.setOrderNo(order.getOrderNo());
                orderDetlPakout.setCreateBy(getUserId());
                orderDetlPakout.setCreateTime(now);
                orderDetlPakout.setUpdateBy(getUserId());
                orderDetlPakout.setUpdateTime(now);
                orderDetlPakout.setStatus(1);
                orderDetlPakout.setQty(0.0D);
                if (!orderDetlService.insert(orderDetlPakout)) {
                OrderDetlPakin.setOrderId(order.getId());
                OrderDetlPakin.setOrderNo(order.getOrderNo());
                OrderDetlPakin.setCreateBy(getUserId());
                OrderDetlPakin.setCreateTime(now);
                OrderDetlPakin.setUpdateBy(getUserId());
                OrderDetlPakin.setUpdateTime(now);
                OrderDetlPakin.setStatus(1);
                OrderDetlPakin.setQty(0.0D);
                if (!orderDetlPakinService.insert(OrderDetlPakin)) {
                    throw new CoolException("保存订单明细档失败");
                }
            }
@@ -286,23 +287,23 @@
    @PostMapping(value = "/order/wrk/trace/auth")
    @ManagerAuth
    public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
        OrderPakin order = orderService.selectById(orderId);
        OrderPakin order = orderPakinService.selectById(orderId);
        if (null == order) {
            return R.error("单据不存在");
        }
        // 数量统计
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(orderId);
        List<OrderDetlPakin> OrderDetlPakins = orderDetlPakinService.selectByOrderId(orderId);
        double totalQty = 0;
        double wrkQty = 0;
        double lackQty = 0;
        double endQty = 0;
        for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
            totalQty = totalQty + orderDetlPakout.getAnfme();
            wrkQty = wrkQty + orderDetlPakout.getWorkQty();
            endQty = endQty + orderDetlPakout.getQty();
            double issued = Optional.of(orderDetlPakout.getAnfme() - orderDetlPakout.getWorkQty()).orElse(0.0D);
        for (OrderDetlPakin OrderDetlPakin : OrderDetlPakins) {
            totalQty = totalQty + OrderDetlPakin.getAnfme();
            wrkQty = wrkQty + OrderDetlPakin.getWorkQty();
            endQty = endQty + OrderDetlPakin.getQty();
            double issued = Optional.of(OrderDetlPakin.getAnfme() - OrderDetlPakin.getWorkQty()).orElse(0.0D);
            if (issued > 0.0) {
                List<LocDetl> locDetls = locDetlService.queryStock(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getOrigin(), null, null, null, null);
                List<LocDetl> locDetls = locDetlService.queryStock(OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch(), OrderDetlPakin.getOrigin(), null, null, null, null);
                for (LocDetl locDetl : locDetls) {
                    if (issued > 0) {
                        issued = issued - locDetl.getAnfme();
@@ -363,7 +364,7 @@
    @RequestMapping(value = "/order/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(orderService.selectById(String.valueOf(id)));
        return R.ok(orderPakinService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/order/list/auth")
@@ -379,7 +380,7 @@
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        }
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(orderPakinService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
@@ -413,7 +414,7 @@
        order.setUpdateBy(getUserId());
        order.setUpdateTime(new Date());
        if (!orderService.updateById(order)) {
        if (!orderPakinService.updateById(order)) {
            throw new CoolException("修改订单失败");
        }
        return R.ok();
@@ -423,12 +424,12 @@
    @ManagerAuth(memo = "手动删除订单")
    @Transactional
    public R delete(@RequestParam Long orderId) {
        orderService.remove(orderId);
//        Order order = orderService.selectById(orderId);
        orderPakinService.remove(orderId);
//        Order order = orderPakinService.selectById(orderId);
//        if (order != null) {
//            order.setStatus(0);
//        }
//        if (!orderService.updateById(order)) {
//        if (!orderPakinService.updateById(order)) {
//            throw new CoolException("删除订单失败");
//        }
//        orderDetlService.modifyStatus(orderId, 0);
@@ -442,7 +443,7 @@
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("order"));
        convert(map, wrapper);
        List<OrderPakin> list = orderService.selectList(wrapper);
        List<OrderPakin> list = orderPakinService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
@@ -451,7 +452,7 @@
    public R query(String condition) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<OrderPakin> page = orderService.selectPage(new Page<>(0, 10), wrapper);
        Page<OrderPakin> page = orderPakinService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (OrderPakin order : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
@@ -466,7 +467,7 @@
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<OrderPakin> wrapper = new EntityWrapper<OrderPakin>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != orderService.selectOne(wrapper)) {
        if (null != orderPakinService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(OrderPakin.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
src/main/java/com/zy/asrs/controller/OrderPakoutController.java
File was renamed from src/main/java/com/zy/asrs/controller/OrderController.java
@@ -8,7 +8,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OrderDomainParam;
import com.zy.asrs.entity.param.OrderPakoutDomainParam;
import com.zy.asrs.entity.result.WrkTraceVo;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
@@ -21,12 +21,13 @@
import java.util.*;
@RestController
public class OrderController extends BaseController {
@RequestMapping(value = "/pakout")
public class OrderPakoutController extends BaseController {
    @Autowired
    private OrderService orderService;
    private OrderPakoutService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
@@ -45,13 +46,13 @@
    @RequestMapping(value = "/order/search/pda/auth")
    @ManagerAuth
    public R pdaOrderSearch(@RequestParam(required = false) String condition) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        if (!Cools.isEmpty(condition)) {
//            wrapper.like("matnr", condition).or().like("maktx", condition);
            wrapper.like("order_no", condition);
        }
        wrapper.orderBy("create_time", false);
        List<OrderPakin> mats = orderService.selectList(wrapper);
        List<OrderPakout> mats = orderService.selectList(wrapper);
        return R.ok().add(mats);
    }
@@ -66,12 +67,12 @@
        docTypes.forEach(docType -> {
            arrayList.add(docType.getDocId().intValue());
        });
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
//        wrapper.eq("tag_id", tagId);
        wrapper.in("doc_type", arrayList);
        wrapper.in("settle", 1, 2);
        wrapper.orderBy("create_time", false);
        Page<OrderPakin> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
        Page<OrderPakout> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok().add(orderPage);
    }
@@ -85,30 +86,30 @@
        docTypes.forEach(docType -> {
            arrayList.add(docType.getDocId().intValue());
        });
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
//        wrapper.eq("tag_id", tagId);
        wrapper.in("doc_type", arrayList);
        wrapper.in("settle", 1, 2);
        wrapper.orderBy("create_time", false);
        Page<OrderPakin> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
        Page<OrderPakout> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok().add(orderPage);
    }
    @RequestMapping(value = "/order/nav/list/auth")
    @ManagerAuth
    public R navList(@RequestParam(required = false) String orderNo) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        if (!Cools.isEmpty(orderNo)) {
            wrapper.like("order_no", orderNo);
        }
        wrapper.le("settle", 2).eq("status", 1);
        wrapper.orderBy("create_time", false);
        List<OrderPakin> orders = orderService.selectList(wrapper);
        List<OrderPakout> orders = orderService.selectList(wrapper);
        // 保留出库单
        if (!Cools.isEmpty(orders)) {
            Iterator<OrderPakin> iterator = orders.iterator();
            Iterator<OrderPakout> iterator = orders.iterator();
            while (iterator.hasNext()) {
                OrderPakin order = iterator.next();
                OrderPakout order = iterator.next();
                if (order.getDocType() != null) {
                    DocType docType = docTypeService.selectById(order.getDocType());
                    if (docType != null) {
@@ -129,7 +130,7 @@
                  @RequestParam(required = false) String orderByField,
                  @RequestParam(required = false) String orderByType,
                  @RequestParam Map<String, Object> param) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
@@ -144,13 +145,13 @@
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId) {
        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId)));
        return R.ok().add(orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId)));
    }
    @RequestMapping(value = "/order/form/add/auth")
    @ManagerAuth(memo = "手动添加订单")
    @Transactional
    public R formAdd(@RequestBody OrderDomainParam param) {
    public R formAdd(@RequestBody OrderPakoutDomainParam param) {
        if (Cools.isEmpty(param.getOrderNo())) {
            String prefix = "";
            DocType docType = docTypeService.selectById(param.getDocType());
@@ -159,12 +160,12 @@
            }
            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
        }
        OrderPakin order = orderService.selectByNo(param.getOrderNo());
        OrderPakout order = orderService.selectByNo(param.getOrderNo());
        if (order != null) {
            return R.error("单据编号已存在");
        }
        Date now = new Date();
        order = new OrderPakin(
        order = new OrderPakout(
                String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                param.getOrderNo(),    // 订单编号
                DateUtils.convert(now),    // 单据日期
@@ -204,12 +205,12 @@
            throw new CoolException("保存订单主档失败");
        }
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) {
        for (OrderDetlPakout orderDetlPakout : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
                OrderDetlPakout item = orderDetlPakoutService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
                item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme());
                if (!orderDetlService.updateById(item)) {
                if (!orderDetlPakoutService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
                }
            } else {
@@ -222,7 +223,7 @@
                orderDetlPakout.setUpdateTime(now);
                orderDetlPakout.setStatus(1);
                orderDetlPakout.setQty(0.0D);
                if (!orderDetlService.insert(orderDetlPakout)) {
                if (!orderDetlPakoutService.insert(orderDetlPakout)) {
                    throw new CoolException("保存订单明细档失败");
                }
            }
@@ -233,8 +234,8 @@
    @RequestMapping(value = "/order/form/modify/auth")
    @ManagerAuth(memo = "手动修改订单")
    @Transactional
    public R formModify(@RequestBody OrderDomainParam param) {
        OrderPakin order = orderService.selectById(param.getOrderId());
    public R formModify(@RequestBody OrderPakoutDomainParam param) {
        OrderPakout order = orderService.selectById(param.getOrderId());
        if (order == null || order.getStatus() == 0) {
            return R.error("订单不存在");
        }
@@ -252,17 +253,17 @@
        // 修改明细档
//        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
        // 1.清空明细档
        if (!orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) {
        if (!orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) {
            throw new CoolException("清空订单明细失败");
        }
        // 2.重组数据
        List<DetlDto> list = new ArrayList<>();
        for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) {
        for (OrderDetlPakout orderDetlPakout : param.getOrderDetlList()) {
            DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
                OrderDetlPakout item = orderDetlPakoutService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch());
                item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme());
                if (!orderDetlService.updateById(item)) {
                if (!orderDetlPakoutService.updateById(item)) {
                    throw new CoolException("保存订单明细档失败");
                }
            } else {
@@ -275,7 +276,7 @@
                orderDetlPakout.setUpdateTime(now);
                orderDetlPakout.setStatus(1);
                orderDetlPakout.setQty(0.0D);
                if (!orderDetlService.insert(orderDetlPakout)) {
                if (!orderDetlPakoutService.insert(orderDetlPakout)) {
                    throw new CoolException("保存订单明细档失败");
                }
            }
@@ -286,12 +287,12 @@
    @PostMapping(value = "/order/wrk/trace/auth")
    @ManagerAuth
    public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
        OrderPakin order = orderService.selectById(orderId);
        OrderPakout order = orderService.selectById(orderId);
        if (null == order) {
            return R.error("单据不存在");
        }
        // 数量统计
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(orderId);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectByOrderId(orderId);
        double totalQty = 0;
        double wrkQty = 0;
        double lackQty = 0;
@@ -373,7 +374,7 @@
                  @RequestParam(required = false) String orderByField,
                  @RequestParam(required = false) String orderByType,
                  @RequestParam Map<String, Object> param) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
@@ -397,7 +398,7 @@
    @RequestMapping(value = "/order/update/auth")
    @ManagerAuth
    public R update(OrderPakin order) {
    public R update(OrderPakout order) {
        if (Cools.isEmpty(order) || null == order.getId()) {
            return R.error();
        }
@@ -438,22 +439,22 @@
    @RequestMapping(value = "/order/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("order"));
        convert(map, wrapper);
        List<OrderPakin> list = orderService.selectList(wrapper);
        List<OrderPakout> list = orderService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/orderQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>();
        EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<OrderPakin> page = orderService.selectPage(new Page<>(0, 10), wrapper);
        Page<OrderPakout> page = orderService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (OrderPakin order : page.getRecords()) {
        for (OrderPakout order : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", order.getId());
            map.put("value", order.getOrderNo());
@@ -465,9 +466,9 @@
    @RequestMapping(value = "/order/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<OrderPakin> wrapper = new EntityWrapper<OrderPakin>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        Wrapper<OrderPakout> wrapper = new EntityWrapper<OrderPakout>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != orderService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(OrderPakin.class, String.valueOf(param.get("key"))));
            return R.parse(BaseRes.REPEAT).add(getComment(OrderPakout.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/OutController.java
@@ -34,9 +34,9 @@
public class OutController extends BaseController {
    @Autowired
    private OrderService orderService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
@@ -53,7 +53,7 @@
    @ManagerAuth
    public R pakoutOrderDetlIds(@RequestParam Long orderId) throws InterruptedException {
        Thread.sleep(200);
        return R.ok().add(orderDetlService.selectByOrderId(orderId).stream().map(OrderDetlPakout::getId).distinct().collect(Collectors.toList()));
        return R.ok().add(orderDetlPakoutService.selectByOrderId(orderId).stream().map(OrderDetlPakout::getId).distinct().collect(Collectors.toList()));
    }
    @PostMapping("/out/pakout/OrderOutGetLoc/auth")
@@ -63,7 +63,7 @@
            return R.parse(BaseRes.PARAM);
        }
        // 获取订单明细并处理
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        Set<String> processedLocs = new HashSet<>(); // 已处理货位缓存
        Set<ExistDto> processedStock = new HashSet<>(); // 已处理库存缓存
        List<LocDto> result = new ArrayList<>();
@@ -94,7 +94,7 @@
        // 获取订单明细并处理
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        Set<String> processedLocs = new HashSet<>(); // 已处理货位缓存
        Set<ExistDto> processedStock = new HashSet<>(); // 已处理库存缓存
        List<LocDto> result = new ArrayList<>();
@@ -271,7 +271,7 @@
        if (Cools.isEmpty(ids)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
@@ -339,7 +339,7 @@
        if (Cools.isEmpty(ids)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
@@ -406,7 +406,7 @@
        if (Cools.isEmpty(ids)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
@@ -465,7 +465,7 @@
        if (Cools.isEmpty(ids)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
@@ -523,7 +523,7 @@
        if (Cools.isEmpty(ids)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
@@ -582,7 +582,7 @@
        if (Cools.isEmpty(ids)) {
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectBatchIds(ids);
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectBatchIds(ids);
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,9 +10,10 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderDetlPakinService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.web.BaseController;
@@ -31,7 +32,7 @@
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private WrkMastService wrkMastService;
@@ -105,7 +106,7 @@
            waitPakinService.delete(new EntityWrapper<>(entity));
            //订单关联,修改订单作业数量
            if (!Cools.isEmpty(entity.getOrderNo())) {
                if (!orderDetlService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
                if (!orderDetlPakinService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
                    return R.error("订单数据回滚失败");
                }
            }
src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
@@ -6,7 +6,6 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.OrderService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -349,14 +348,6 @@
        this.memo = memo;
    }
    public String getOrderId$() {
        OrderService service = SpringUtils.getBean(OrderService.class);
        OrderPakin order = service.selectById(this.orderId);
        if (!Cools.isEmpty(order)) {
            return String.valueOf(order.getId());
        }
        return null;
    }
    public String getBeBatch$() {
        if (null == this.beBatch) {
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
@@ -6,7 +6,6 @@
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.OrderService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -349,15 +348,7 @@
        this.memo = memo;
    }
    public String getOrderId$() {
        OrderService service = SpringUtils.getBean(OrderService.class);
        OrderPakin order = service.selectById(this.orderId);
        if (!Cools.isEmpty(order)) {
            return String.valueOf(order.getId());
        }
        return null;
    }
    public String getBeBatch$() {
        if (null == this.beBatch) {
            return null;
src/main/java/com/zy/asrs/entity/OrderReportLog.java
New file
@@ -0,0 +1,471 @@
package com.zy.asrs.entity;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.OrderSettleService;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("man_order_report")
public class OrderReportLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    private String uuid;
    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 单据日期
     */
    @ApiModelProperty(value = "单据日期")
    @TableField("order_time")
    private String orderTime;
    /**
     * 单据类型
     */
    @ApiModelProperty(value = "单据类型")
    @TableField("doc_type")
    private Long docType;
    /**
     * 项目编号
     */
    @ApiModelProperty(value = "项目编号")
    @TableField("item_id")
    private Long itemId;
    @ApiModelProperty(value = "")
    @TableField("item_name")
    private String itemName;
    /**
     * 调拨项目编号
     */
    @ApiModelProperty(value = "调拨项目编号")
    @TableField("allot_item_id")
    private Long allotItemId;
    /**
     * 初始票据号
     */
    @ApiModelProperty(value = "初始票据号")
    @TableField("def_number")
    private String defNumber;
    /**
     * 票据号
     */
    @ApiModelProperty(value = "票据号")
    private String number;
    /**
     * 客户编号
     */
    @ApiModelProperty(value = "客户编号")
    private Long cstmr;
    /**
     * 客户
     */
    @ApiModelProperty(value = "客户")
    @TableField("cstmr_name")
    private String cstmrName;
    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式")
    private String tel;
    /**
     * 操作人员
     */
    @ApiModelProperty(value = "操作人员")
    @TableField("oper_memb")
    private String operMemb;
    /**
     * 合计金额
     */
    @ApiModelProperty(value = "合计金额")
    @TableField("total_fee")
    private Double totalFee;
    /**
     * 优惠率
     */
    @ApiModelProperty(value = "优惠率")
    private Double discount;
    /**
     * 优惠金额
     */
    @ApiModelProperty(value = "优惠金额")
    @TableField("discount_fee")
    private Double discountFee;
    /**
     * 销售或采购费用合计
     */
    @ApiModelProperty(value = "销售或采购费用合计")
    @TableField("other_fee")
    private Double otherFee;
    /**
     * 实付金额
     */
    @ApiModelProperty(value = "实付金额")
    @TableField("act_fee")
    private Double actFee;
    /**
     * 付款类型 1: 现金  2: 记账
     */
    @ApiModelProperty(value = "付款类型 1: 现金  2: 记账  ")
    @TableField("pay_type")
    private Integer payType;
    /**
     * 业务员
     */
    @ApiModelProperty(value = "业务员")
    private String salesman;
    /**
     * 结算天数
     */
    @ApiModelProperty(value = "结算天数")
    @TableField("account_day")
    private Integer accountDay;
    /**
     * 邮费支付类型 1: 在线支付  2: 货到付款
     */
    @ApiModelProperty(value = "邮费支付类型 1: 在线支付  2: 货到付款  ")
    @TableField("post_fee_type")
    private Integer postFeeType;
    /**
     * 邮费
     */
    @ApiModelProperty(value = "邮费")
    @TableField("post_fee")
    private Double postFee;
    /**
     * 付款时间
     */
    @ApiModelProperty(value = "付款时间")
    @TableField("pay_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 发货时间
     */
    @ApiModelProperty(value = "发货时间")
    @TableField("send_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;
    /**
     * 物流名称
     */
    @ApiModelProperty(value = "物流名称")
    @TableField("ship_name")
    private String shipName;
    /**
     * 物流单号
     */
    @ApiModelProperty(value = "物流单号")
    @TableField("ship_code")
    private String shipCode;
    /**
     * 订单状态
     */
    @ApiModelProperty(value = "订单状态")
    private Long settle;
    /**
     * 状态 1: 正常  0: 禁用
     */
    @ApiModelProperty(value = "状态 1: 正常  0: 禁用  ")
    private Integer status;
    /**
     * 添加人员
     */
    @ApiModelProperty(value = "添加人员")
    @TableField("create_by")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    @TableField("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    @TableField("update_by")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String memo;
    /**
     * 状态 1: 进行中  0: 初始  2:已完成
     */
    @ApiModelProperty(value = "状态  2:已完成 1: 进行中 0: 初始  ")
    @TableField("move_status")
    private Integer moveStatus;
    public OrderReportLog() {
    }
    public OrderReportLog(String uuid, String orderNo, String orderTime, Long docType, Long itemId, String itemName, Long allotItemId, String defNumber, String number, Long cstmr, String cstmrName, String tel, String operMemb, Double totalFee, Double discount, Double discountFee, Double otherFee, Double actFee, Integer payType, String salesman, Integer accountDay, Integer postFeeType, Double postFee, Date payTime, Date sendTime, String shipName, String shipCode, Long settle, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
        this.uuid = uuid;
        this.orderNo = orderNo;
        this.orderTime = orderTime;
        this.docType = docType;
        this.itemId = itemId;
        this.itemName = itemName;
        this.allotItemId = allotItemId;
        this.defNumber = defNumber;
        this.number = number;
        this.cstmr = cstmr;
        this.cstmrName = cstmrName;
        this.tel = tel;
        this.operMemb = operMemb;
        this.totalFee = totalFee;
        this.discount = discount;
        this.discountFee = discountFee;
        this.otherFee = otherFee;
        this.actFee = actFee;
        this.payType = payType;
        this.salesman = salesman;
        this.accountDay = accountDay;
        this.postFeeType = postFeeType;
        this.postFee = postFee;
        this.payTime = payTime;
        this.sendTime = sendTime;
        this.shipName = shipName;
        this.shipCode = shipCode;
        this.settle = settle;
        this.status = status;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.memo = memo;
    }
//    Order order = new Order(
//            null,    // 编号[非空]
//            null,    // 订单编号
//            null,    // 单据日期
//            null,    // 单据类型
//            null,    // 项目编号
//            null,    //
//            null,    // 调拨项目编号
//            null,    // 初始票据号
//            null,    // 票据号
//            null,    // 客户编号
//            null,    // 客户
//            null,    // 联系方式
//            null,    // 操作人员
//            null,    // 合计金额
//            null,    // 优惠率
//            null,    // 优惠金额
//            null,    // 销售或采购费用合计
//            null,    // 实付金额
//            null,    // 付款类型
//            null,    // 业务员
//            null,    // 结算天数
//            null,    // 邮费支付类型
//            null,    // 邮费
//            null,    // 付款时间
//            null,    // 发货时间
//            null,    // 物流名称
//            null,    // 物流单号
//            null,    // 订单状态
//            null,    // 状态
//            null,    // 添加人员
//            null,    // 添加时间
//            null,    // 修改人员
//            null,    // 修改时间
//            null    // 备注
//    );
    public String getDocType$() {
        DocTypeService service = SpringUtils.getBean(DocTypeService.class);
        DocType docType = service.selectById(this.docType);
        if (!Cools.isEmpty(docType)) {
            return String.valueOf(docType.getDocName());
        }
        return null;
    }
    public String getPayType$() {
        if (null == this.payType) {
            return null;
        }
        switch (this.payType) {
            case 1:
                return "现金";
            case 2:
                return "记账";
            default:
                return String.valueOf(this.payType);
        }
    }
    public String getPostFeeType$() {
        if (null == this.postFeeType) {
            return null;
        }
        switch (this.postFeeType) {
            case 1:
                return "在线支付";
            case 2:
                return "货到付款";
            default:
                return String.valueOf(this.postFeeType);
        }
    }
    public String getPayTime$() {
        if (Cools.isEmpty(this.payTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.payTime);
    }
    public String getSendTime$() {
        if (Cools.isEmpty(this.sendTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.sendTime);
    }
    public String getSettle$() {
        OrderSettleService service = SpringUtils.getBean(OrderSettleService.class);
        OrderSettle orderSettle = service.selectById(this.settle);
        if (!Cools.isEmpty(orderSettle)) {
            return String.valueOf(orderSettle.getSettleName());
        }
        return null;
    }
    public String getStatus$() {
        if (null == this.status) {
            return null;
        }
        switch (this.status) {
            case 1:
                return "正常";
            case 0:
                return "禁用";
            default:
                return String.valueOf(this.status);
        }
    }
    public String getMoveStatus$() {
        if (null == this.moveStatus) {
            return null;
        }
        switch (this.moveStatus) {
            case 2:
                return "已备货";
            case 1:
                return "备货中";
            case 0:
                return "未初始";
            default:
                return String.valueOf(this.moveStatus);
        }
    }
    public String getCreateBy$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.createBy);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getCreateTime$() {
        if (Cools.isEmpty(this.createTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
    public String getUpdateBy$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.updateBy);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getUpdateTime$() {
        if (Cools.isEmpty(this.updateTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
    }
}
src/main/java/com/zy/asrs/entity/param/OrderPakinDomainParam.java
copy from src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java copy to src/main/java/com/zy/asrs/entity/param/OrderPakinDomainParam.java
File was copied from src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java
@@ -1,5 +1,6 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.entity.OrderDetlPakout;
import lombok.Data;
@@ -9,7 +10,7 @@
 * Created by vincent on 2022/3/24
 */
@Data
public class OrderDomainParam {
public class OrderPakinDomainParam {
    private Long orderId;
@@ -17,7 +18,7 @@
    private String orderNo;
    private List<OrderDetlPakout> orderDetlPakoutList;
    private List<OrderDetlPakin> orderDetlList;
}
src/main/java/com/zy/asrs/entity/param/OrderPakoutDomainParam.java
File was renamed from src/main/java/com/zy/asrs/entity/param/OrderDomainParam.java
@@ -9,7 +9,7 @@
 * Created by vincent on 2022/3/24
 */
@Data
public class OrderDomainParam {
public class OrderPakoutDomainParam {
    private Long orderId;
@@ -17,7 +17,7 @@
    private String orderNo;
    private List<OrderDetlPakout> orderDetlPakoutList;
    private List<OrderDetlPakout> orderDetlList;
}
src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java
copy from src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java copy to src/main/java/com/zy/asrs/mapper/OrderDetlPakinMapper.java
File was copied from src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -1,7 +1,7 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.entity.param.PrintDataDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -12,15 +12,15 @@
@Mapper
@Repository
public interface OrderDetlMapper extends BaseMapper<OrderDetlPakout> {
public interface OrderDetlPakinMapper extends BaseMapper<OrderDetlPakin> {
    OrderDetlPakout selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
    OrderDetlPakin selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
    OrderDetlPakout selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
    OrderDetlPakin selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
    List<OrderDetlPakout> selectWorkingDetls(Long orderId);
    List<OrderDetlPakin> selectWorkingDetls(Long orderId);
    List<OrderDetlPakout> getPakoutPage(Map<String, Object> map);
    List<OrderDetlPakin> getPakoutPage(Map<String, Object> map);
    Integer getPakoutPageCount(Map<String, Object> map);
@@ -30,7 +30,7 @@
    int modifyStatus(@Param("orderId") Long orderId, @Param("status") Integer status);
    int addToLogTable(OrderDetlPakout orderDetlPakout);
    int addToLogTable(OrderDetlPakin OrderDetlPakin);
    int increaseQtyByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("qty") Double qty);
src/main/java/com/zy/asrs/mapper/OrderDetlPakoutMapper.java
File was renamed from src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -12,7 +12,7 @@
@Mapper
@Repository
public interface OrderDetlMapper extends BaseMapper<OrderDetlPakout> {
public interface OrderDetlPakoutMapper extends BaseMapper<OrderDetlPakout> {
    OrderDetlPakout selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
src/main/java/com/zy/asrs/mapper/OrderPakinMapper.java
File was renamed from src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -10,7 +10,7 @@
@Mapper
@Repository
public interface OrderMapper extends BaseMapper<OrderPakin> {
public interface OrderPakinMapper extends BaseMapper<OrderPakin> {
    int updateSettle(@Param("orderId") Long orderId, @Param("settle") Long settle, @Param("userId") Long userId);
src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java
New file
@@ -0,0 +1,29 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.entity.OrderPakout;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface OrderPakoutMapper extends BaseMapper<OrderPakout> {
    int updateSettle(@Param("orderId") Long orderId, @Param("settle") Long settle, @Param("userId") Long userId);
    List<OrderPakout> selectComplete();
    List<OrderPakout> selectComplete8();
    int addToLogTable(OrderPakout order);
    List<OrderPakout> selectorderNoL(@Param("orderNo") String orderNo);
    OrderPakout selectOrderMoveStatus();
    OrderPakout selectOrderMoveStatusInitial();
}
src/main/java/com/zy/asrs/mapper/OrderReportMapper.java
New file
@@ -0,0 +1,17 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.OrderReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface OrderReportMapper extends BaseMapper<OrderReport> {
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -48,5 +48,8 @@
    void syncTag(List<TagParam> param);
    void orderDelete(String orderNo);
    void orderPakinDelete(String orderNo);
    void orderPakoutDelete(String orderNo);
}
src/main/java/com/zy/asrs/service/OrderDetlPakinService.java
New file
@@ -0,0 +1,43 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetlPakin;
import java.util.List;
public interface OrderDetlPakinService extends IService<OrderDetlPakin> {
    List<OrderDetlPakin> selectByOrderId(Long orderId);
    Page<OrderDetlPakin> getPakoutPage(Page<OrderDetlPakin> page);
    OrderDetlPakin selectItem(Long orderId, String matnr, String batch);
    OrderDetlPakin selectItem(String orderNo, String matnr, String batch);
    OrderDetlPakin findByLook(List<OrderDetlPakin> OrderDetlPakins, Long orderId, String matnr, String batch);
    boolean increase(Long orderId, String matnr, String batch, Double qty);
    boolean decrease(String orderNo, String matnr, String batch, Double qty);
    boolean modifyStatus(Long orderId, Integer status);
    boolean addToLogTable(OrderDetlPakin OrderDetlPakin);
    boolean increaseQtyByOrderNo(String orderNo, String matnr, String batch, Double qty);
    /**
     * 入出库任务生成时,更新单据表中作业数量
     *
     * @param orderId
     * @param matnr
     * @param batch
     * @param workQty
     * @return
     */
    boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
    boolean increaseWorkQtyById(Long id, Double workQty);
}
src/main/java/com/zy/asrs/service/OrderDetlPakoutService.java
File was renamed from src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -6,7 +6,7 @@
import java.util.List;
public interface OrderDetlService extends IService<OrderDetlPakout> {
public interface OrderDetlPakoutService extends IService<OrderDetlPakout> {
    List<OrderDetlPakout> selectByOrderId(Long orderId);
src/main/java/com/zy/asrs/service/OrderPakinService.java
File was renamed from src/main/java/com/zy/asrs/service/OrderService.java
@@ -1,18 +1,15 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.*;
import java.util.List;
public interface OrderService extends IService<OrderPakin> {
public interface OrderPakinService extends IService<OrderPakin> {
    OrderPakin selectByNo(String orderNo);
    List<OrderDetlPakout> selectWorkingDetls(Long orderId);
    List<OrderDetlPakin> selectWorkingDetls(Long orderId);
    boolean updateSettle(Long orderId, Long settle, Long userId);
src/main/java/com/zy/asrs/service/OrderPakoutService.java
New file
@@ -0,0 +1,34 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.*;
import java.util.List;
public interface OrderPakoutService extends IService<OrderPakout> {
    OrderPakout selectByNo(String orderNo);
    List<OrderDetlPakout> selectWorkingDetls(Long orderId);
    boolean updateSettle(Long orderId, Long settle, Long userId);
    void checkComplete(String orderNo);
    boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls);
    void remove(Long orderId);
    List<OrderPakout> selectComplete();
    List<OrderPakout> selectComplete8();
    boolean addToLogTable(OrderPakout order);
    List<OrderPakout> selectorderNoL(String orderNo);
    OrderPakout selectOrderMoveStatus();
    OrderPakout selectOrderMoveStatusInitial();
}
src/main/java/com/zy/asrs/service/OrderReportService.java
New file
@@ -0,0 +1,11 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.*;
import java.util.List;
public interface OrderReportService extends IService<OrderReport> {
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -43,9 +43,13 @@
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private OrderService orderService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private BasDevpService basDevpService;
    @Autowired
@@ -301,7 +305,7 @@
            // 关联组托
        } else {
            OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", param.getOrderNo()));
            OrderPakin order = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", param.getOrderNo()));
            if (Cools.isEmpty(order) || order.getSettle() > 2) {
                throw new CoolException("单据编号已过期");
            }
@@ -310,12 +314,12 @@
            param.getCombMats().forEach(elem -> {
                // 订单明细数量校验
                OrderDetlPakout orderDetlPakout = orderDetlService.selectById(elem.getDetlId());
                OrderDetlPakin orderDetlPakout = orderDetlPakinService.selectById(elem.getDetlId());
                if (elem.getAnfme() > orderDetlPakout.getEnableQty()) {
                    throw new CoolException(orderDetlPakout.getMatnr() + "入库数量不合法");
                }
                // 修改订单作业数量
                if (!orderDetlService.increaseWorkQtyById(orderDetlPakout.getId(), elem.getAnfme())) {
                if (!orderDetlPakinService.increaseWorkQtyById(orderDetlPakout.getId(), elem.getAnfme())) {
                    throw new CoolException("修改单据作业数量失败");
                }
@@ -342,7 +346,7 @@
                }
            });
            orderService.updateSettle(order.getId(), 2L, userId);
            orderPakinService.updateSettle(order.getId(), 2L, userId);
        }
    }
@@ -358,7 +362,7 @@
        if (param.getCombMats().stream().anyMatch(obj -> obj.getAnfme() == null)) {
            throw new CoolException("入库物料数量不能为空");
        }
        OrderPakin order = orderService.selectByNo(param.getOrderNo());
        OrderPakin order = orderPakinService.selectByNo(param.getOrderNo());
        if (Cools.isEmpty(order) || order.getSettle() > 2) {
            throw new CoolException("单据编号已过期");
        }
@@ -384,7 +388,7 @@
        Date now = new Date();
        for (CombParam.CombMat combMat : param.getCombMats()) {
            // 订单明细数量校验
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch());
            OrderDetlPakin orderDetlPakout = orderDetlPakinService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch());
            if (Cools.isEmpty(orderDetlPakout)) {
                throw new CoolException("该单据中未找到对应物料明细");
            }
@@ -392,7 +396,7 @@
                throw new CoolException(orderDetlPakout.getMatnr() + "入库数量不合法");
            }
            // 修改订单作业数量
            if (!orderDetlService.increaseWorkQty(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
            if (!orderDetlPakinService.increaseWorkQty(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
                throw new CoolException("修改单据作业数量失败");
            }
@@ -515,12 +519,12 @@
        BasDevp sta = basDevpService.checkSiteStatus(staNo);
        //根据订单号生成出库任务工作档
        OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", orderNo));
        OrderPakout order = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", orderNo));
        if (order.getSettle() != 1 && order.getSettle() != 2) {
            throw new CoolException("该订单已处理");
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        Date now = new Date();
        for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
            //查询所有库位状态为F的库位信息
@@ -553,7 +557,7 @@
                order.setSettle(2L);
                order.setUpdateBy(userId);
                order.setUpdateTime(now);
                if (!orderService.update(order, new EntityWrapper<OrderPakin>().eq("order_no", orderNo))) {
                if (!orderPakoutService.update(order, new EntityWrapper<OrderPakout>().eq("order_no", orderNo))) {
                    throw new CoolException("更新订单状态失败");
                }
                orderDetlPakout.setWorkQty(orderDetlPakout.getWorkQty() + curOutQty);
@@ -563,7 +567,7 @@
                if (!Cools.isEmpty(orderDetlPakout.getBatch())) {
                    wrapper.eq("batch", orderDetlPakout.getBatch());
                }
                if (!orderDetlService.update(orderDetlPakout, wrapper)) {
                if (!orderDetlPakoutService.update(orderDetlPakout, wrapper)) {
                    throw new CoolException("更新订单明细失败");
                }
            }
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -11,7 +11,6 @@
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.NodeUtils;
import lombok.extern.slf4j.Slf4j;
@@ -31,9 +30,13 @@
public class OpenServiceImpl implements OpenService {
    @Autowired
    private OrderService orderService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
@@ -67,13 +70,13 @@
    public void pakinOrderCreate(OpenOrderPakinParam param) {
        callApiLogSaveOrder(param, "入库单", true);
        OrderPakin order = orderService.selectByNo(param.getOrderNo());
        OrderPakin order = orderPakinService.selectByNo(param.getOrderNo());
        if (!Cools.isEmpty(order) && order.getSettle() != 1) {
            throw new CoolException(param.getOrderNo() + "单据已有工作任务");
        }
        if (!Cools.isEmpty(order)) {
            boolean orderNo = orderService.delete(new EntityWrapper<OrderPakin>().eq("order_no", param.getOrderNo()));
            boolean orderNo1 = orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", param.getOrderNo()));
            boolean orderNo = orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", param.getOrderNo()));
            boolean orderNo1 = orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", param.getOrderNo()));
        }
        DocType docType;
@@ -120,8 +123,7 @@
                now,    // 修改时间
                null    // 备注
        );
        //order.setShipCode(String.valueOf(param.getDetails().get(0).getQuality()));
        if (!orderService.insert(order)) {
        if (!orderPakinService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
        // 单据明细档
@@ -144,7 +146,7 @@
            if (Cools.isEmpty(mat)) {
                throw new CoolException(detlDto.getMatnr() + "编号商品检索失败,请先添加商品");
            }
            OrderDetlPakout orderDetlPakout = new OrderDetlPakout();
            OrderDetlPakin orderDetlPakout = new OrderDetlPakin();
            orderDetlPakout.sync(mat);
            orderDetlPakout.setBatch(detlDto.getBatch());
            orderDetlPakout.setAnfme(detlDto.getAnfme());
@@ -167,7 +169,7 @@
            orderDetlPakout.setTemp3(detlDto.getTemp3());
            orderDetlPakout.setTemp4(detlDto.getTemp4());
            orderDetlPakout.setInspect(detlDto.getQuality());
            if (!orderDetlService.insert(orderDetlPakout)) {
            if (!orderDetlPakinService.insert(orderDetlPakout)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
        }
@@ -176,43 +178,43 @@
    @Override
    @Transactional
    public List<OpenOrderCompeteResult> pakinOrderComplete(OpenOrderCompleteParam param) {
        callApiLogSaveOrder(param, "出库单", true);
        callApiLogSaveOrder(param, "入库单", true);
        List<OpenOrderCompeteResult> results = new ArrayList<>();
        if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) {
            // 指定订单
            OrderPakin order = orderService.selectByNo(param.getOrderNo());
            OrderPakin order = orderPakinService.selectByNo(param.getOrderNo());
            if (null != order) {
                OpenOrderCompeteResult result = new OpenOrderCompeteResult();
                results.add(result);
                result.setOrderNo(order.getOrderNo());
                result.setOrderTime(order.getOrderTime());
                result.setOrderType(order.getDocType$());
                List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(order.getId());
                for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                List<OrderDetlPakin> orderDetlPakouts = orderDetlPakinService.selectByOrderId(order.getId());
                for (OrderDetlPakin orderDetlPakout : orderDetlPakouts) {
                    result.getOrderDetails().add(new DetlDto(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getQty()));
                }
                if (order.getSettle() == 4L) {
                    // 修改订单状态 4.完成 ===>> 6.已上报
                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
                    if (!orderPakinService.updateSettle(order.getId(), 6L, null)) {
                        throw new CoolException("服务器内部错误,请联系管理员");
                    }
                }
            }
        } else {
            // 所有订单
            List<OrderPakin> orders = orderService.selectList(new EntityWrapper<OrderPakin>().eq("settle", 4L));
            List<OrderPakin> orders = orderPakinService.selectList(new EntityWrapper<OrderPakin>().eq("settle", 4L));
            for (OrderPakin order : orders) {
                OpenOrderCompeteResult result = new OpenOrderCompeteResult();
                results.add(result);
                result.setOrderNo(order.getOrderNo());
                result.setOrderTime(order.getOrderTime());
                result.setOrderType(order.getDocType$());
                List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(order.getId());
                for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                List<OrderDetlPakin> orderDetlPakouts = orderDetlPakinService.selectByOrderId(order.getId());
                for (OrderDetlPakin orderDetlPakout : orderDetlPakouts) {
                    result.getOrderDetails().add(new DetlDto(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getQty()));
                }
                // 修改订单状态 4.完成 ===>> 6.已上报
                if (!orderService.updateSettle(order.getId(), 6L, null)) {
                if (!orderPakinService.updateSettle(order.getId(), 6L, null)) {
                    throw new CoolException("服务器内部错误,请联系管理员");
                }
            }
@@ -224,13 +226,13 @@
    @Transactional
    public void pakoutOrderCreate(OpenOrderPakoutParam param) {
        callApiLogSaveOrder(param, "出库单", true);
        OrderPakin order = orderService.selectByNo(param.getOrderNo());
        OrderPakout order = orderPakoutService.selectByNo(param.getOrderNo());
        // 如果单据不存在则添加;如果单据存在,作业中无法修改,反之则修改单据
        if (!Cools.isEmpty(order)) {
            if (order.getSettle() > 1L) {
                throw new CoolException(param.getOrderNo() + "正在出库,无法修改单据");
            }
            orderService.remove(order.getId());
            orderPakoutService.remove(order.getId());
        }
        DocType docType;
        if (param.getOrderType().equals("调拨单")) {
@@ -240,7 +242,7 @@
        }
        Date now = new Date();
        // 单据主档
        order = new OrderPakin(
        order = new OrderPakout(
                String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                param.getOrderNo(),    // 订单编号
                param.getInboundDate(),    // 单据日期
@@ -277,7 +279,7 @@
                null    // 备注
        );
        order.setShipCode(param.getQuality());
        if (!orderService.insert(order)) {
        if (!orderPakoutService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
        // 单据明细档
@@ -322,7 +324,7 @@
            orderDetlPakout.setTemp2(detlDto.getTemp2());
            orderDetlPakout.setTemp3(detlDto.getTemp3());
            orderDetlPakout.setTemp4(detlDto.getTemp4());
            if (!orderDetlService.insert(orderDetlPakout)) {
            if (!orderDetlPakoutService.insert(orderDetlPakout)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
        }
@@ -333,39 +335,39 @@
        List<OpenOrderCompeteResult> results = new ArrayList<>();
        if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) {
            // 指定订单
            OrderPakin order = orderService.selectByNo(param.getOrderNo());
            OrderPakout order = orderPakoutService.selectByNo(param.getOrderNo());
            if (null != order) {
                OpenOrderCompeteResult result = new OpenOrderCompeteResult();
                results.add(result);
                result.setOrderNo(order.getOrderNo());
                result.setOrderTime(order.getOrderTime());
                result.setOrderType(order.getDocType$());
                List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(order.getId());
                List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectByOrderId(order.getId());
                for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                    result.getOrderDetails().add(new DetlDto(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getQty()));
                }
                if (order.getSettle() == 4L) {
                    // 修改订单状态 4.完成 ===>> 6.已上报
                    if (!orderService.updateSettle(order.getId(), 6L, null)) {
                    if (!orderPakoutService.updateSettle(order.getId(), 6L, null)) {
                        throw new CoolException("服务器内部错误,请联系管理员");
                    }
                }
            }
        } else {
            // 所有订单
            List<OrderPakin> orders = orderService.selectList(new EntityWrapper<OrderPakin>().eq("settle", 4L));
            for (OrderPakin order : orders) {
            List<OrderPakout> orders = orderPakoutService.selectList(new EntityWrapper<OrderPakout>().eq("settle", 4L));
            for (OrderPakout order : orders) {
                OpenOrderCompeteResult result = new OpenOrderCompeteResult();
                results.add(result);
                result.setOrderNo(order.getOrderNo());
                result.setOrderTime(order.getOrderTime());
                result.setOrderType(order.getDocType$());
                List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(order.getId());
                List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectByOrderId(order.getId());
                for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                    result.getOrderDetails().add(new DetlDto(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getQty()));
                }
                // 修改订单状态 4.完成 ===>> 6.已上报
                if (!orderService.updateSettle(order.getId(), 6L, null)) {
                if (!orderPakoutService.updateSettle(order.getId(), 6L, null)) {
                    throw new CoolException("服务器内部错误,请联系管理员");
                }
            }
@@ -378,7 +380,6 @@
    public List<StockVo> queryStock() {
        return locDetlService.queryStockTotal();
    }
    @Override
@@ -490,35 +491,6 @@
                }
            }
            //Tag tag = tagService.selectOne(new EntityWrapper<Tag>().eq("memo", matParam.getTagId()));
//            if (tag == null) {
//                throw new CoolException("出错,未找到分类");
//            }
//            if (mat == null) {
//                mat = new Mat();
//                mat.sync(matParam);
////            mat.setMatnr(param.getMatnr());
////            mat.setMaktx(param.getMaktx());
////            mat.setSpecs(param.getSpecs());
////            mat.setModel(param.getModel());
//
//                mat.setTagId(tag.getId());
//                mat.setStatus(1);
//                mat.setCreateTime(now);
//                mat.setUpdateTime(now);
//                if (!matService.insert(mat)) {
//                    throw new CoolException("服务器内部错误,请联系管理员");
//                } else {
//                    log.info("同步新物料[商品编号:{}]", mat.getMatnr());
//                }
//            } else {
//                mat.sync(matParam);
//                mat.setTagId(tag.getId());
//                if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) {
//                    throw new CoolException("更新已存在商品信息失败,请联系管理员");
//                }
//            }
        }
    }
@@ -539,7 +511,7 @@
                    if (wrkDetlLog.getOrderNo() != null && !wrkDetlLog.getOrderNo().isEmpty()) {
                        LocDetlByTimeDTO locDetlByTimeDTO = new LocDetlByTimeDTO();
                        if (!Cools.isEmpty(wrkDetlLog.getOrderNo())) {
                            OrderPakin order = orderService.selectByNo(wrkDetlLog.getOrderNo());
                            OrderPakout order = orderPakoutService.selectByNo(wrkDetlLog.getOrderNo());
                            if (!Cools.isEmpty(order)) {
                                locDetlByTimeDTO.setDate(order.getOrderTime());
                                locDetlByTimeDTO.setWarehouse(order.getItemName());
@@ -560,26 +532,6 @@
            }
        });
//        if (!Cools.isEmpty(locDetls)) {
//            for (LocDetl locDetl : locDetls) {
//
//                if (!Cools.isEmpty(locDetl.getOrderNo())){
//                    Order order = orderService.selectByNo(locDetl.getOrderNo());
//                    if (!Cools.isEmpty(order)) {
//                        locDetlByTimeDTO.setDate(order.getOrderTime());
//                        locDetlByTimeDTO.setWarehouse(order.getItemName());
//                        locDetlByTimeDTO.setOrderType(order.getDocType().toString());
//                    }
//                }
//
//                locDetlByTimeDTO.setMatnr(locDetl.getMatnr());
//                locDetlByTimeDTO.setLocNo(locDetl.getLocNo());
//                locDetlByTimeDTO.setBatch(locDetl.getBatch());
//                locDetlByTimeDTO.setAnfme(locDetl.getAnfme());
//                locDetlByTimeDTO.setOrderNo(locDetl.getOrderNo());
//                locDetlByTimeDTOS.add(locDetlByTimeDTO);
//            }
//        }
        return locDetlByTimeDTOS;
    }
@@ -725,18 +677,38 @@
    @Transactional
    @Override
    public void orderDelete(String orderNo) {
        OrderPakin order = orderService.selectByNo(orderNo);
    public void orderPakinDelete(String orderNo) {
        OrderPakin order = orderPakinService.selectByNo(orderNo);
        if (order == null) {
            throw new CoolException("未查询到对应订单信息");
        }
        if (order.getSettle() != 1) {
            throw new CoolException("该订单已有对应任务,禁止删除");
        }
        List<OrderDetlPakout> OrderDetlPakout = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        List<OrderDetlPakout> OrderDetlPakout = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        if (!Cools.isEmpty(OrderDetlPakout)) {
            orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
            orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderNo));
        }
        orderService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderNo));
        orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderNo));
    }
    @Transactional
    @Override
    public void orderPakoutDelete(String orderNo) {
        OrderPakout orderPakout = orderPakoutService.selectByNo(orderNo);
        if (orderPakout == null) {
            throw new CoolException("未查询到对应订单信息");
        }
        if (orderPakout.getSettle() != 1) {
            throw new CoolException("该订单已有对应任务,禁止删除");
        }
        List<OrderDetlPakout> orderDetlPakins = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        if (!Cools.isEmpty(orderDetlPakins)) {
            orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        }
        orderPakoutService.delete(new EntityWrapper<OrderPakout>().eq("order_no", orderNo));
    }
}
src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java
copy from src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java copy to src/main/java/com/zy/asrs/service/impl/OrderDetlPakinServiceImpl.java
File was copied from src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -4,44 +4,44 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.mapper.OrderDetlPakinMapper;
import com.zy.asrs.service.OrderDetlPakinService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("orderDetlService")
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetlPakout> implements OrderDetlService {
@Service("orderDetlPakinService")
public class OrderDetlPakinServiceImpl extends ServiceImpl<OrderDetlPakinMapper, OrderDetlPakin> implements OrderDetlPakinService {
    @Override
    public List<OrderDetlPakout> selectByOrderId(Long orderId) {
        return this.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId));
    public List<OrderDetlPakin> selectByOrderId(Long orderId) {
        return this.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderId));
    }
    @Override
    public Page<OrderDetlPakout> getPakoutPage(Page<OrderDetlPakout> page) {
    public Page<OrderDetlPakin> getPakoutPage(Page<OrderDetlPakin> page) {
        page.setRecords(baseMapper.getPakoutPage(page.getCondition()));
        page.setTotal(baseMapper.getPakoutPageCount(page.getCondition()));
        return page;
    }
    @Override
    public OrderDetlPakout selectItem(Long orderId, String matnr, String batch) {
    public OrderDetlPakin selectItem(Long orderId, String matnr, String batch) {
        return this.baseMapper.selectItem(orderId, matnr, batch);
    }
    @Override
    public OrderDetlPakout selectItem(String orderNo, String matnr, String batch) {
    public OrderDetlPakin selectItem(String orderNo, String matnr, String batch) {
        return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
    }
    @Override
    public OrderDetlPakout findByLook(List<OrderDetlPakout> orderDetlPakouts, Long orderId, String matnr, String batch) {
        for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
            if (orderDetlPakout.getOrderId().equals(orderId) && orderDetlPakout.getMatnr().equals(matnr)) {
                if (Cools.eq(batch, orderDetlPakout.getBatch())) {
                    return orderDetlPakout;
    public OrderDetlPakin findByLook(List<OrderDetlPakin> OrderDetlPakins, Long orderId, String matnr, String batch) {
        for (OrderDetlPakin OrderDetlPakin : OrderDetlPakins) {
            if (OrderDetlPakin.getOrderId().equals(orderId) && OrderDetlPakin.getMatnr().equals(matnr)) {
                if (Cools.eq(batch, OrderDetlPakin.getBatch())) {
                    return OrderDetlPakin;
                }
            }
        }
@@ -69,8 +69,8 @@
    }
    @Override
    public boolean addToLogTable(OrderDetlPakout orderDetlPakout) {
        return this.baseMapper.addToLogTable(orderDetlPakout) > 0;
    public boolean addToLogTable(OrderDetlPakin OrderDetlPakin) {
        return this.baseMapper.addToLogTable(OrderDetlPakin) > 0;
    }
    @Override
src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutServiceImpl.java
File was renamed from src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -5,14 +5,14 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.service.OrderDetlPakoutService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("orderDetlService")
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetlPakout> implements OrderDetlService {
@Service("orderDetlPakoutService")
public class OrderDetlPakoutServiceImpl extends ServiceImpl<OrderDetlPakoutMapper, OrderDetlPakout> implements OrderDetlPakoutService {
    @Override
    public List<OrderDetlPakout> selectByOrderId(Long orderId) {
@@ -81,7 +81,7 @@
    /**
     * 入出库任务生成时,更新单据表中作业数量
     *
     * @param orderId
     * @param id
     * @param matnr
     * @param batch
     * @param workQty
src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
copy from src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java copy to src/main/java/com/zy/asrs/service/impl/OrderPakinServiceImpl.java
File was copied from src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -9,8 +9,8 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.mapper.OrderDetlPakinMapper;
import com.zy.asrs.mapper.OrderPakinMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
@@ -21,17 +21,17 @@
import java.util.List;
@Slf4j
@Service("orderService")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderPakin> implements OrderService {
@Service("orderPakinService")
public class OrderPakinServiceImpl extends ServiceImpl<OrderPakinMapper, OrderPakin> implements OrderPakinService {
    @Autowired
    private OrderDetlMapper orderDetlMapper;
    private OrderDetlPakinMapper orderDetlMapper;
    @Autowired
    private OpenService openService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private DocTypeService docTypeService;
    @Autowired
@@ -47,7 +47,7 @@
    }
    @Override
    public List<OrderDetlPakout> selectWorkingDetls(Long orderId) {
    public List<OrderDetlPakin> selectWorkingDetls(Long orderId) {
        return orderDetlMapper.selectWorkingDetls(orderId);
    }
@@ -62,10 +62,10 @@
        if (Cools.isEmpty(order) || order.getSettle() >= 4L) {
            return;
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlMapper.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()));
        List<OrderDetlPakin> OrderDetlPakins = orderDetlMapper.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", order.getId()));
        boolean complete = true;
        for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
            if (orderDetlPakout.getAnfme() > orderDetlPakout.getQty()) {
        for (OrderDetlPakin OrderDetlPakin : OrderDetlPakins) {
            if (OrderDetlPakin.getAnfme() > OrderDetlPakin.getQty()) {
                complete = false;
                break;
            }
@@ -74,22 +74,22 @@
            // 出库订单重新整理明细
            DocType docType = docTypeService.selectById(order.getDocType());
            if (null != docType && docType.getPakout() == 1) {
                if (!orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) {
                if (!orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_id", order.getId()))) {
                    throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                }
                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
                for (WrkDetl wrkDetl : wrkDetls) {
                    OrderDetlPakout orderDetlPakout = new OrderDetlPakout();
                    orderDetlPakout.sync(wrkDetl);
                    orderDetlPakout.setQty(orderDetlPakout.getAnfme());
                    orderDetlPakout.setOrderId(order.getId());
                    orderDetlPakout.setOrderNo(orderNo);
                    orderDetlPakout.setStatus(1);
                    orderDetlPakout.setCreateTime(order.getCreateTime());
                    orderDetlPakout.setCreateBy(order.getCreateBy());
                    orderDetlPakout.setUpdateTime(order.getUpdateTime());
                    orderDetlPakout.setUpdateBy(order.getUpdateBy());
                    if (!orderDetlService.insert(orderDetlPakout)) {
                    OrderDetlPakin OrderDetlPakin = new OrderDetlPakin();
                    OrderDetlPakin.sync(wrkDetl);
                    OrderDetlPakin.setQty(OrderDetlPakin.getAnfme());
                    OrderDetlPakin.setOrderId(order.getId());
                    OrderDetlPakin.setOrderNo(orderNo);
                    OrderDetlPakin.setStatus(1);
                    OrderDetlPakin.setCreateTime(order.getCreateTime());
                    OrderDetlPakin.setCreateBy(order.getCreateBy());
                    OrderDetlPakin.setUpdateTime(order.getUpdateTime());
                    OrderDetlPakin.setUpdateBy(order.getUpdateBy());
                    if (!orderDetlPakinService.insert(OrderDetlPakin)) {
                        throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                    }
                }
@@ -137,11 +137,11 @@
            }
            for (DetlDto detlDto : detlDtos) {
                // 修改订单明细数量
                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                if (!orderDetlPakinService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                    throw new CoolException("修改单据明细数量失败");
                }
                // 修改订单作业数量
                if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                if (!orderDetlPakinService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                    throw new CoolException("修改单据作业数量失败");
                }
            }
@@ -157,7 +157,7 @@
        if (!this.deleteById(orderId)) {
            throw new CoolException("删除单据失败");
        }
        orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId));
        orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderId));
    }
    @Override
src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
File was renamed from src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -9,8 +9,8 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.mapper.OrderPakoutMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
@@ -21,25 +21,25 @@
import java.util.List;
@Slf4j
@Service("orderService")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderPakin> implements OrderService {
@Service("orderPakoutService")
public class OrderPakoutServiceImpl extends ServiceImpl<OrderPakoutMapper, OrderPakout> implements OrderPakoutService {
    @Autowired
    private OrderDetlMapper orderDetlMapper;
    private OrderDetlPakoutMapper orderDetlPakoutMapper;
    @Autowired
    private OpenService openService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private DocTypeService docTypeService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Override
    public OrderPakin selectByNo(String orderNo) {
        List<OrderPakin> orderList = this.selectList(new EntityWrapper<OrderPakin>().eq("order_no", orderNo));
    public OrderPakout selectByNo(String orderNo) {
        List<OrderPakout> orderList = this.selectList(new EntityWrapper<OrderPakout>().eq("order_no", orderNo));
        if (Cools.isEmpty(orderList)) {
            return null;
        }
@@ -48,7 +48,7 @@
    @Override
    public List<OrderDetlPakout> selectWorkingDetls(Long orderId) {
        return orderDetlMapper.selectWorkingDetls(orderId);
        return orderDetlPakoutMapper.selectWorkingDetls(orderId);
    }
    @Override
@@ -58,11 +58,11 @@
    @Override
    public void checkComplete(String orderNo) {
        OrderPakin order = this.selectByNo(orderNo);
        OrderPakout order = this.selectByNo(orderNo);
        if (Cools.isEmpty(order) || order.getSettle() >= 4L) {
            return;
        }
        List<OrderDetlPakout> orderDetlPakouts = orderDetlMapper.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()));
        List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutMapper.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()));
        boolean complete = true;
        for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
            if (orderDetlPakout.getAnfme() > orderDetlPakout.getQty()) {
@@ -74,7 +74,7 @@
            // 出库订单重新整理明细
            DocType docType = docTypeService.selectById(order.getDocType());
            if (null != docType && docType.getPakout() == 1) {
                if (!orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) {
                if (!orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) {
                    throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                }
                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
@@ -89,7 +89,7 @@
                    orderDetlPakout.setCreateBy(order.getCreateBy());
                    orderDetlPakout.setUpdateTime(order.getUpdateTime());
                    orderDetlPakout.setUpdateBy(order.getUpdateBy());
                    if (!orderDetlService.insert(orderDetlPakout)) {
                    if (!orderDetlPakoutService.insert(orderDetlPakout)) {
                        throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                    }
                }
@@ -128,7 +128,7 @@
                openService.pakoutOrderCreate(openParam);
            }
            OrderPakin order = this.selectByNo(orderNo);
            OrderPakout order = this.selectByNo(orderNo);
            if (null == order) {
                throw new CoolException("生成单据失败");
            }
@@ -137,11 +137,11 @@
            }
            for (DetlDto detlDto : detlDtos) {
                // 修改订单明细数量
                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                if (!orderDetlPakoutService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                    throw new CoolException("修改单据明细数量失败");
                }
                // 修改订单作业数量
                if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                if (!orderDetlPakoutService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                    throw new CoolException("修改单据作业数量失败");
                }
            }
@@ -157,36 +157,36 @@
        if (!this.deleteById(orderId)) {
            throw new CoolException("删除单据失败");
        }
        orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId));
        orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId));
    }
    @Override
    public List<OrderPakin> selectComplete() {
    public List<OrderPakout> selectComplete() {
        return this.baseMapper.selectComplete();
    }
    @Override
    public List<OrderPakin> selectComplete8() {
    public List<OrderPakout> selectComplete8() {
        return this.baseMapper.selectComplete8();
    }
    @Override
    public boolean addToLogTable(OrderPakin order) {
    public boolean addToLogTable(OrderPakout order) {
        return this.baseMapper.addToLogTable(order) > 0;
    }
    @Override
    public List<OrderPakin> selectorderNoL(String orderNo) {
    public List<OrderPakout> selectorderNoL(String orderNo) {
        return this.baseMapper.selectorderNoL(orderNo);
    }
    @Override
    public OrderPakin selectOrderMoveStatus() {
    public OrderPakout selectOrderMoveStatus() {
        return this.baseMapper.selectOrderMoveStatus();
    }
    @Override
    public OrderPakin selectOrderMoveStatusInitial() {
    public OrderPakout selectOrderMoveStatusInitial() {
        return this.baseMapper.selectOrderMoveStatusInitial();
    }
src/main/java/com/zy/asrs/service/impl/OrderReportServiceImpl.java
New file
@@ -0,0 +1,31 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.mapper.OrderPakoutMapper;
import com.zy.asrs.mapper.OrderReportMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service("orderReportService")
public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, OrderReport> implements OrderReportService {
}
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -69,9 +69,13 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private OrderService orderService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private WcsController wcsController;
    @Autowired
@@ -470,9 +474,9 @@
            if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                continue;
            }
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetlPakout == null) {
                orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
                orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetlPakout);
@@ -490,10 +494,10 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!orderDetlService.increaseWorkQtyById(orderDetlPakout.getId(), locDto.getAnfme())) {
            if (!orderDetlPakoutService.increaseWorkQtyById(orderDetlPakout.getId(), locDto.getAnfme())) {
                throw new CoolException("修改订单明细数量失败");
            }
            orderService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
            orderPakoutService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
        }
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
@@ -578,9 +582,9 @@
            if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                continue;
            }
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetlPakout == null) {
                orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
                orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetlPakout);
@@ -598,10 +602,10 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!orderDetlService.increaseWorkQty(orderDetlPakout.getOrderId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), locDto.getAnfme())) {
            if (!orderDetlPakoutService.increaseWorkQty(orderDetlPakout.getOrderId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), locDto.getAnfme())) {
                throw new CoolException("修改订单明细数量失败");
            }
            orderService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
            orderPakoutService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
        }
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
@@ -1395,26 +1399,26 @@
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            for (WrkDetl wrkDetl : wrkDetls) {
                if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                    if (!orderDetlPakoutService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                        throw new CoolException("订单数据回滚失败");
                    }
                    //修改订单主表状态,没有作业数量时才可以修改
                    boolean flag = true;
                    List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo()));
                    List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo()));
                    for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                        if (orderDetlPakout.getWorkQty() > 0) {
                            flag = false;
                        }
                    }
                    if (flag) {
                        OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", wrkDetl.getOrderNo()));
                        OrderPakout order = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()));
                        if (!Cools.isEmpty(order) && order.getSettle() == 2) {
                            order.setSettle(1L);
                            order.setUpdateBy(userId);
                            order.setUpdateTime(now);
                        }
                        if (!orderService.update(order, new EntityWrapper<OrderPakin>().eq("order_no", wrkDetl.getOrderNo()))) {
                        if (!orderPakoutService.update(order, new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()))) {
                            throw new CoolException("修改订单状态失败");
                        }
                    }
src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
@@ -33,33 +33,10 @@
    @Autowired
    private SlaveWmsParameterProperties slaveWmsParameterProperties;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private AutoMoveService autoMoveService;
    //定时出库   经典双伸
    @Scheduled(cron = "0/3 * * * * ? ")
    public void locToLocAutoLocMove() {
        if (slaveWmsParameterProperties.isAutoLocMoveBoolean()) {
            Config config = configService.selectConfigByCode("AutoLocMove");
            if (Cools.isEmpty(config) || config.getValue().equals("false")) {
                return;
            }
            OrderPakin order = orderService.selectOrderMoveStatus();
            if (!Cools.isEmpty(order)) {
//                autoMoveService.selectList()
            } else {
                order = orderService.selectOrderMoveStatusInitial();
                if (Cools.isEmpty(order)) {
                    return;
                }
                order.setMoveStatus(2);
                orderService.updateById(order);
            }
        }
    }
    //定时出库
    @Scheduled(cron = "0/3 * * * * ? ")
src/main/java/com/zy/asrs/task/OrderMoveHistoryScheduler.java
@@ -16,6 +16,14 @@
     */
    @Scheduled(cron = "0/30 * * * * ?")
    public void execute() {
        orderMoveHistoryHandler.start();
        orderMoveHistoryHandler.startPakin();
    }
    /**
     * 将已完成order和orderDetl移动到log表
     */
    @Scheduled(cron = "0/30 * * * * ?")
    public void execute2() {
        orderMoveHistoryHandler.startPakout();
    }
}
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -5,10 +5,7 @@
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.OrderDetlReport;
import com.zy.asrs.entity.OrderDetlReportLog;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OrderDetlReportLogService;
import com.zy.asrs.service.OrderDetlReportService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.OrderSyncHandler;
import com.zy.common.entity.Parameter;
@@ -30,7 +27,9 @@
    @Autowired
    private OrderSyncHandler orderSyncHandler;
    @Autowired
    private OrderService orderService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderPakoutService orderPakoutService;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
@@ -47,7 +46,7 @@
        }
    }
    @Scheduled(cron = "0/30 * * * * ? ")
   /* @Scheduled(cron = "0/30 * * * * ? ")
    public void clearReportLog() {
        try {
            List<OrderDetlReport> orderDetls = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>());
@@ -79,6 +78,6 @@
                }
            }
        }
    }
    }*/
}
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -2,14 +2,8 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderDetlReport;
import com.zy.asrs.entity.OrderDetlReportLog;
import com.zy.asrs.service.OrderDetlReportLogService;
import com.zy.asrs.service.OrderDetlReportService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
@@ -23,21 +17,30 @@
@Slf4j
public class OrderMoveHistoryHandler extends AbstractHandler<String> {
    @Autowired
    private OrderService orderService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlReportLogService orderDetlReportLogService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private OrderReportService orderReportService;
    @Autowired
    private OrderDetlReportService orderDetlReportService;
    @Autowired
    private OrderDetlReportLogService orderDetlReportLogService;
    public ReturnT<String> start() {
        List<OrderPakin> settleEqual6 = orderService.selectList(new EntityWrapper<OrderPakin>()
    public ReturnT<String> startPakin() {
        List<OrderPakin> settleEqual6 = orderPakinService.selectList(new EntityWrapper<OrderPakin>()
                .eq("settle", 6));
        for (OrderPakin order : settleEqual6) {
            List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>()
            List<OrderDetlPakin> orderDetlPakouts = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
                    .eq("order_no", order.getOrderNo()));
            moveBoth(order, orderDetlPakouts);
            moveBothPakin(order, orderDetlPakouts);
            List<OrderDetlReport> orderNo = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("order_no", order.getOrderNo()));
            for (OrderDetlReport orderDetlReport : orderNo) {
                OrderDetlReportLog log = new OrderDetlReportLog();
@@ -50,24 +53,63 @@
        return SUCCESS;
    }
    private void moveBoth(OrderPakin order, List<OrderDetlPakout> orderDetlPakouts) {
    private void moveBothPakin(OrderPakin order, List<OrderDetlPakin> orderDetlPakins) {
        Date now = new Date();
        if (!Cools.isEmpty(orderDetlPakouts)) {
            for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
        if (!Cools.isEmpty(orderDetlPakins)) {
            for (OrderDetlPakin orderDetlPakout : orderDetlPakins) {
                orderDetlPakout.setUpdateBy(0L);
                orderDetlPakout.setUpdateTime(now);
                orderDetlService.addToLogTable(orderDetlPakout);
                orderDetlService.delete(new EntityWrapper<OrderDetlPakout>()
                orderDetlPakinService.addToLogTable(orderDetlPakout);
                orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>()
                        .eq("id", orderDetlPakout.getId()));
            }
        }
        if (!Cools.isEmpty(order)) {
            order.setUpdateBy(0L);
            order.setUpdateTime(now);
            orderService.addToLogTable(order);
            orderService.delete(new EntityWrapper<OrderPakin>()
            orderPakinService.addToLogTable(order);
            orderPakinService.delete(new EntityWrapper<OrderPakin>()
                    .eq("id", order.getId()));
        }
    }
    public ReturnT<String> startPakout() {
        List<OrderPakout> settleEqual6 = orderPakoutService.selectList(new EntityWrapper<OrderPakout>()
                .eq("settle", 6));
        for (OrderPakout order : settleEqual6) {
            List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>()
                    .eq("order_no", order.getOrderNo()));
            moveBothPakout(order, orderDetlPakouts);
            List<OrderDetlReport> orderNo = orderDetlReportService.selectList(new EntityWrapper<OrderDetlReport>().eq("order_no", order.getOrderNo()));
            for (OrderDetlReport orderDetlReport : orderNo) {
                OrderDetlReportLog log = new OrderDetlReportLog();
                log.sync(orderDetlReport);
                orderDetlReportLogService.insert(log);
                orderDetlReportService.deleteById(orderDetlReport);
            }
            log.info("已完成单据移动至历史表成功 =====>" + order);
        }
        return SUCCESS;
    }
    private void moveBothPakout(OrderPakout order, List<OrderDetlPakout> orderDetlPakouts) {
        Date now = new Date();
        if (!Cools.isEmpty(orderDetlPakouts)) {
            for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                orderDetlPakout.setUpdateBy(0L);
                orderDetlPakout.setUpdateTime(now);
                orderDetlPakoutService.addToLogTable(orderDetlPakout);
                orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>()
                        .eq("id", orderDetlPakout.getId()));
            }
        }
        if (!Cools.isEmpty(order)) {
            order.setUpdateBy(0L);
            order.setUpdateTime(now);
            orderPakoutService.addToLogTable(order);
            orderPakoutService.delete(new EntityWrapper<OrderPakout>()
                    .eq("id", order.getId()));
        }
    }
}
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -21,9 +21,13 @@
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private OrderService orderService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private OrderDetlReportService orderDetlReportService;
    @Autowired
@@ -31,11 +35,6 @@
    @Autowired
    private DocTypeService docTypeService;
    @Value("${mes.url}")
    private String url;
    @Value("${mes.pakin}")
    private String pakin;
    @Transactional
    public ReturnT<String> start(OrderPakin order) {
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -36,7 +36,9 @@
    @Autowired
    private WaitPakinLogService waitPakinLogService;
    @Autowired
    private OrderService orderService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderPakoutService orderPakoutService;
    @Transactional
    public ReturnT<String> start(WrkMast wrkMast) {
@@ -48,7 +50,8 @@
                while (iterator.hasNext()) {
                    WrkDetl wrkDetl = iterator.next();
                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                        orderService.checkComplete(wrkDetl.getOrderNo());
                        orderPakinService.checkComplete(wrkDetl.getOrderNo());
                        orderPakoutService.checkComplete(wrkDetl.getOrderNo());
                        iterator.remove();
                    }
                }
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -32,21 +32,14 @@
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private WaitPakinService waitPakinService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private WorkService workService;
    @Autowired
    private OrderDetlReportService orderDetlReportService;
//    private static final Map<Integer,Integer> sourceSite = new HashMap<>();
//    static {
//        sourceSite.put(1041,1040);sourceSite.put(1042,1040);
//        sourceSite.put(2011,2010);sourceSite.put(2012,2010);
//        sourceSite.put(2001,2000);sourceSite.put(2002,2000);
//        sourceSite.put(3011,3010);sourceSite.put(3010,1040);
//    }
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
@@ -55,10 +48,6 @@
            // 14.出库完成
        } else if (wrkMast.getWrkSts() == 14) {
            return doOut(wrkMast);
        } else if (wrkMast.getWrkSts() == 108) {
            return doOut2_5(wrkMast);
        } else if (wrkMast.getWrkSts() == 106) {
            return doOut2_5(wrkMast);
        }
        return SUCCESS;
    }
@@ -138,13 +127,13 @@
                        }
                        // 更新订单完成数量
                        OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        OrderDetlPakin orderDetlPakout = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (orderDetlPakout == null) {
                            orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                            orderDetlPakout = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                        }
                        try {
                            if (!Cools.isEmpty(orderDetlPakout)) {
                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetlPakout.getBatch(), wrkDetl.getAnfme())) {
//                                    exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -192,13 +181,13 @@
                        }
                        // 更新订单完成数量
                        OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (orderDetlPakout == null) {
                            orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                            orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                        }
                        try {
                            if (!Cools.isEmpty(orderDetlPakout)) {
                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetlPakout.getBatch(), wrkDetl.getAnfme())) {
//                                    exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -259,13 +248,13 @@
                            }
                            if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                                // 更新订单完成数量
                                OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                                OrderDetlPakin orderDetlPakout = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                                if (orderDetlPakout == null) {
                                    orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                                    orderDetlPakout = orderDetlPakinService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                                }
                                try {
                                    if (!Cools.isEmpty(orderDetlPakout)) {
                                        if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                                orderDetlPakout.getBatch(), wrkDetl.getAnfme())) {
//                                    exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -418,13 +407,13 @@
                        }
                        for (WrkDetl wrkDetl : wrkDetls101) {
                            // 更新订单完成数量
                            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                            if (orderDetlPakout == null) {
                                orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                                orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                            }
                            try {
                                if (!Cools.isEmpty(orderDetlPakout)) {
                                    if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                    if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                            orderDetlPakout.getBatch(), wrkDetl.getAnfme())) {
//                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -490,113 +479,6 @@
        return SUCCESS;
    }
    private ReturnT<String> doOut2_5(WrkMast wrkMast) {
        Date now = new Date();
        LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
        try {
            if (null == locMast) {
//                exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return FAIL.setMsg("工作档库位号错误; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
            }
            assert locMast != null;
            switch (wrkMast.getIoType()) {
                // 全板出库
                case 101:
                    List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                    if (wrkMast.getStaNo() == 1135) {
                        //那需要生成一条四项库的入库任务
                        workService.toSxk(wrkMast, wrkDetls101, (short) 1);
                    } else if (wrkMast.getStaNo() == 1031) {
                        //那需要生成一条四项库的入库任务
                        workService.toCrn(wrkMast, wrkDetls101, (short) 1);
                    }
                    // 根据工作号,查询工作明细档
                    if (wrkDetls101.isEmpty()) {
//                        exceptionHandle("全板出库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo());
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        // 更新订单完成数量
                        OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (orderDetlPakout == null) {
                            orderDetlPakout = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
                        }
                        try {
                            if (!Cools.isEmpty(orderDetlPakout)) {
                                if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        orderDetlPakout.getBatch(), 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()))) {
//                        exceptionHandle("全板出库 ===>> 删除库存明细失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return FAIL.setMsg("全板出库 ===>> 删除库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                    }
                    // 修改源库位状态 R ===>> O
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
//                            exceptionHandle("全板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                    }
                    break;
                // 空板出库
                case 110:
                    if (wrkMast.getStaNo() == 1135) {
                        //那需要生成一条四项库的入库任务
                        workService.toSxk(wrkMast, null, (short) 1);
                    } else if (wrkMast.getStaNo() == 1031) {
                        //那需要生成一条四项库的入库任务
                        workService.toCrn(wrkMast, null, (short) 1);
                    }
                    // 修改库位状态 R ===>> O
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
//                            exceptionHandle("空板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return FAIL.setMsg("空板出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                    }
                    break;
                default:
                    break;
            }
            // 修改工作主档状态
            wrkMast.setWrkSts(15L);
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {
//                exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo());
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return FAIL.setMsg("更新出库完成状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
            }
        } catch (Exception e) {
            log.error("fail", e);
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }
}
src/main/java/com/zy/common/web/WcsController.java
@@ -57,7 +57,9 @@
    @Autowired
    private WebSocketServer webSocketServer;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @PostMapping("/led/getTask")
@@ -125,7 +127,7 @@
                        total = locDetl.getAnfme();
                    }
                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                        OrderDetlPakout orderDetlPakout = orderDetlService.selectOne(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo())
                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectOne(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo())
                                .eq("matnr", wrkDetl.getMatnr()).eq("batch", wrkDetl.getBatch()));
                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total, orderDetlPakout.getSuppCode(), orderDetlPakout.getSku()));
@@ -237,7 +239,7 @@
                        total = locDetl.getAnfme();
                    }
                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                        OrderDetlPakout orderDetlPakout = orderDetlService.selectOne(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo())
                        OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectOne(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo())
                                .eq("matnr", wrkDetl.getMatnr()).eq("batch", wrkDetl.getBatch()));
                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total, orderDetlPakout.getSuppCode(), orderDetlPakout.getSku()));
src/main/resources/mapper/OrderDetlPakinMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.OrderDetlMapper">
<mapper namespace="com.zy.asrs.mapper.OrderDetlPakinMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderDetlPakout">
src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.OrderDetlMapper">
<mapper namespace="com.zy.asrs.mapper.OrderDetlPakoutMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderDetlPakout">
src/main/resources/mapper/OrderPakinMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.OrderMapper">
<mapper namespace="com.zy.asrs.mapper.OrderPakinMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderPakin">
src/main/resources/mapper/OrderPakoutMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.OrderMapper">
<mapper namespace="com.zy.asrs.mapper.OrderPakoutMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderPakout">