自动化立体仓库 - WMS系统
skyouc
昨天 bb2e781a57a96dfdd1f20d6eceddeafbd86be784
物料同步信息修改
3个文件已修改
180 ■■■■ 已修改文件
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java 172 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Mat.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -189,10 +189,10 @@
            return R.error("参数不能为空!!");
        }
        params.forEach(mats -> {
            if (Objects.isNull(mats) ) {
            if (Objects.isNull(mats)) {
                throw new CoolException("物料编码不能为空!!");
            }
            Mat matnr = matService.selectByMatnr(mats.getPro_komcode());
            Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", mats.getPro_komcode()));
            if (!Objects.isNull(matnr)) {
                // 订单时间
                if (Utils.isValidFormat(mats.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
@@ -204,6 +204,7 @@
                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
                matnr.setSuppCode(mats.getPro_id());
                matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
                matnr.setLocType(MatLocType.getTag(mats.getPro_type()));
                matnr.setManu(mats.getCompany_id());
                if (!matService.updateById(matnr)) {
                    throw new CoolException("物料更新失败或无需更新!!");
@@ -223,6 +224,7 @@
                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
                matnr.setSuppCode(mats.getPro_id());
                matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
                matnr.setLocType(MatLocType.getTag(mats.getPro_type()));
                matnr.setManu(mats.getCompany_id());
                if (!matService.insert(matnr)) {
                    throw new CoolException("物料更新失败!!");
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -30,7 +30,7 @@
 */
@RestController
@RequestMapping("mobile")
public class MobileController extends BaseController  {
public class MobileController extends BaseController {
    @Autowired
    private MobileService mobileService;
@@ -62,20 +62,19 @@
    @PostMapping("/agv/collectionPakin/view")
    @ManagerAuth
    public R pdaAgvCollectionPakinView(@RequestBody CollectionPakinParams params){
    public R pdaAgvCollectionPakinView(@RequestBody CollectionPakinParams params) {
        return mobileService.collectionPakinView(params);
    }
    @PostMapping("/agv/collectionPakin/auth")
    @ManagerAuth
    public R pdaAgvCollectionPakin(@RequestBody CollectionPakinParams params){
    public R pdaAgvCollectionPakin(@RequestBody CollectionPakinParams params) {
        return mobileService.collectionPakin(params, getUserId());
    }
    @PostMapping("/agv/callEmptyCar")
    @ManagerAuth
    public R pdaAgvFinishedCall(@RequestBody AgvCallParams params){
    public R pdaAgvFinishedCall(@RequestBody AgvCallParams params) {
        return mobileService.callEmptyCar(params, getUserId());
    }
@@ -88,7 +87,7 @@
    @RequestMapping("/pda/WarehouseOutPickMerge/v1")
    @ManagerAuth(memo = "拣料途中并板")
    public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) {
        if (Cools.isEmpty(param,param.getLocNo(),param.getBarcode(),param.getCombMats())) {
        if (Cools.isEmpty(param, param.getLocNo(), param.getBarcode(), param.getCombMats())) {
            return R.parse("参数不能为空!");
        }
        return mobileService.WarehouseOutPickMergeV1(param, getHostId(), getUserId());
@@ -98,7 +97,7 @@
    @ManagerAuth(memo = "并板入库")
    public R pickConfirm(@RequestBody PickConfirmParam param) {
        if(Cools.isEmpty(param,param.getList(),param.getLocNo(),param.getStaNo())) {
        if (Cools.isEmpty(param, param.getList(), param.getLocNo(), param.getStaNo())) {
            return R.parse("参数不完整");
        }
        return mobileService.pickConfirm(param, getUserId());
@@ -154,18 +153,18 @@
    // 商品上架
    @RequestMapping("/mat/onSale/auth")
    @ManagerAuth
    public R matOnSale(@RequestBody CombParam combParam){
    public R matOnSale(@RequestBody CombParam combParam) {
        mobileService.onSale(combParam);
        return R.ok("上架成功");
    }
    // 商品下架
    @RequestMapping("/mat/offSale/auth")
    //@ManagerAuth
    public R matOffSale(@RequestBody OffSaleParam offSaleParam){
    // @ManagerAuth
    public R matOffSale(@RequestBody OffSaleParam offSaleParam) {
        mobileService.offSale(offSaleParam);
        return R.ok("下架成功");
    }
    @GetMapping("/cache/locs")
    @ManagerAuth
@@ -173,7 +172,6 @@
    public R getCacheLocs() {
        return mobileService.getCacheLocs();
    }
    @PostMapping("/cache/agv/call")
    @ApiOperation("缓冲区入库")
@@ -195,7 +193,6 @@
        return mobileService.collectionInCall(params, getUserId());
    }
    /**
     * @author Ryan
     * @date 2025/11/3
@@ -214,6 +211,7 @@
    /**
     * 缓存区出库组托上架
     *
     * @author Ryan
     * @date 2025/12/8 13:45
     * @param params
@@ -229,9 +227,9 @@
        return mobileService.combOutPub(params);
    }
    /**
     * 缓存区出库组托上架
     *
     * @author Ryan
     * @date 2025/12/8 13:45
     * @param params
@@ -247,49 +245,48 @@
        return mobileService.combCacehList(params);
    }
    // 组托 ----------------------------------------------------------------------------------------------------
    // 组托
    // ----------------------------------------------------------------------------------------------------
    /**
     * 根据单号检索单据数据
     * 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){
    // 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;
    public R orderSearchByBarcode(@RequestParam String orderNo) {
        if (Cools.isEmpty(orderNo)) {
            orderNo = null;
        }
//        List<Order> orders = orderService.selectorderNoL(orderNo);
        // List<Order> orders = orderService.selectorderNoL(orderNo);
        List<Order> orders = OrderInAndOutUtil.selectOrderNoL(null, orderNo);
        if (Cools.isEmpty(orders)){
        if (Cools.isEmpty(orders)) {
            return R.ok();
        }
        LinkedList<CombParam> combParams = new LinkedList<>();
        if (!Cools.isEmpty(orders)){
            for (Order order:orders){
                CombParam combParam=new CombParam();
        if (!Cools.isEmpty(orders)) {
            for (Order order : orders) {
                CombParam combParam = new CombParam();
                if (order == null) {
                    continue;
                }
@@ -300,15 +297,16 @@
                if (order.getSettle() > 2) {
                    continue;
                }
//                List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
                List<OrderDetl> orderDetls = OrderInAndOutUtil.selectWorkingDetls(order.getPakinPakoutStatus$(), order.getId());
                // List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
                List<OrderDetl> orderDetls = OrderInAndOutUtil.selectWorkingDetls(order.getPakinPakoutStatus$(),
                        order.getId());
                if (!Cools.isEmpty(orderDetls)) {
                    LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
                    for (OrderDetl orderDetl:orderDetls){
                    for (OrderDetl orderDetl : orderDetls) {
                        CombParam.CombMat combMat = new CombParam.CombMat();
                        combMat.setMatnr(orderDetl.getMatnr());
                        combMat.setBatch(orderDetl.getBatch());
                        combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
                        combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty());
                        combMat.setMaktx(orderDetl.getMaktx());
                        combMat.setSpecs(orderDetl.getSpecs());
                        combMats.add(combMat);
@@ -322,15 +320,12 @@
        return R.ok().add(combParams);
    }
    @ManagerAuth(memo = "组托")
    @RequestMapping("/comb/auth")
    public R comb(@RequestBody CombParam combParam){
    public R comb(@RequestBody CombParam combParam) {
        mobileService.comb(combParam, getUserId());
        return R.ok("组托成功");
    }
    @ManagerAuth(memo = "缓冲库入库组托")
    @RequestMapping("/cache/comb/auth")
@@ -342,7 +337,6 @@
        return R.ok("组托成功");
    }
    @ManagerAuth(memo = "缓冲库确认上架(模拟物理按钮)")
    @RequestMapping("/cache/comb/pub")
    public R cacheCombPub(@RequestBody CompleteParam combParam) {
@@ -353,10 +347,9 @@
        return R.ok("上架成功");
    }
    @RequestMapping("/pack/get/auth")
    @ManagerAuth
    public R packGet(@RequestParam String barcode){
    public R packGet(@RequestParam String barcode) {
        Pack pack = packService.selectByBarcode(barcode);
        if (pack == null) {
            return R.ok();
@@ -369,20 +362,20 @@
    @RequestMapping("/pack/comb/auth")
    @ManagerAuth(memo = "下线组托")
    public R packComb(@RequestBody CombParam combParam){
    public R packComb(@RequestBody CombParam combParam) {
        mobileService.packComb(combParam, 10031L);
        return R.ok("组托成功");
    }
    // 出库 ---------------------------------------------------------------------------------------------------
    // 出库
    // ---------------------------------------------------------------------------------------------------
    @RequestMapping("/pakout/query/auth")
    @ManagerAuth
    @Deprecated
    public R pakoutQuery(@RequestParam(required = false) String barcode,
                         @RequestParam(required = false) Integer staNo,
                         @RequestParam(required = false) String matnr){
            @RequestParam(required = false) Integer staNo,
            @RequestParam(required = false) String matnr) {
        if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) {
            return R.ok();
        }
@@ -406,7 +399,7 @@
     */
    @RequestMapping("/pakout/confirm/barcode/auth")
    @ManagerAuth
    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) {
        if (Cools.isEmpty(barcode)) {
            return R.ok();
        }
@@ -415,54 +408,57 @@
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            // 去除已出库确认的明细
            wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() != null && wrkDetl.getInspect() != 0);
            return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
            return R.ok().add(
                    Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
        }
        return R.ok();
    }
    /**
     * 出库确认 - 扫货物  广德宜科版
     * 出库确认 - 扫货物 广德宜科版
     * 1.全板 返回 101
     * 2.拣料 返回 103
     */
    @RequestMapping("/pakout/confirm/goods/auth")       //待完善  原因(客户未给出详细信息)
    @RequestMapping("/pakout/confirm/goods/auth") // 待完善 原因(客户未给出详细信息)
    @ManagerAuth
    public R pakoutQueryByGoods(@RequestBody GDYKConfirmGoodsParam combParam){
    public R pakoutQueryByGoods(@RequestBody GDYKConfirmGoodsParam combParam) {
        if (Cools.isEmpty(combParam)) {
            return R.ok();
        }
//        List<Order> orders = orderService.selectorderNoL(batch);
//        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
        // List<Order> orders = orderService.selectorderNoL(batch);
        // OrderDetl orderDetl = orderDetlService.selectOne(new
        // EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch",
        // combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
        Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, combParam.getOrderNo());
        List<OrderDetl> orderDetlList = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
        OrderDetl orderDetl = null;
        for (OrderDetl orderDetl1 : orderDetlList){
            if (combParam.getMatnr().equals(orderDetl1.getMatnr()) && combParam.getBatch().equals(orderDetl1.getBatch())){
        for (OrderDetl orderDetl1 : orderDetlList) {
            if (combParam.getMatnr().equals(orderDetl1.getMatnr())
                    && combParam.getBatch().equals(orderDetl1.getBatch())) {
                orderDetl = orderDetl1;
                break;
            }
        }
        if (Cools.isEmpty(orderDetl)){
        if (Cools.isEmpty(orderDetl)) {
            return R.error("未查到数据");
        }
        if (!orderDetl.getQty$().equals("已完成")){
        if (!orderDetl.getQty$().equals("已完成")) {
            return R.error("任务未完成");
        }
        //复核数
        // 复核数
        orderDetl.setSource(1);
//        orderDetlService.updateById(orderDetl);
        OrderInAndOutUtil.updateOrderDetl(Boolean.FALSE,order,orderDetl);
        // orderDetlService.updateById(orderDetl);
        OrderInAndOutUtil.updateOrderDetl(Boolean.FALSE, order, orderDetl);
        return R.ok();
    }
    // 根据库位码和商品码搜索商品
    @RequestMapping("/mat/find/auth")
    public R find(@RequestParam(required = false) String locNo
            , @RequestParam(required = false) String matnr){
        //List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr);
    public R find(@RequestParam(required = false) String locNo, @RequestParam(required = false) String matnr) {
        // List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr);
        ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr);
        return R.ok(manLocDetl);
        //return R.ok(manLocDetlMapper.selectItem0(locNo, matnr));
        // return R.ok(manLocDetlMapper.selectItem0(locNo, matnr));
    }
    /**
@@ -470,8 +466,8 @@
     */
    @RequestMapping("/pakout/confirm/pick/auth")
    @ManagerAuth
    public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
                                , @RequestParam(required = false) String matnr){
    public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo,
            @RequestParam(required = false) String matnr) {
        if (Cools.isEmpty(wrkNo)) {
            return R.ok();
        }
@@ -493,7 +489,8 @@
            }
        }
        // 替换 明细
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
        List<LocDetl> locDetls = locDetlService
                .selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
        for (LocDetl locDetl : locDetls) {
            if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) {
                WrkDetl wrkDetl = new WrkDetl();
@@ -506,7 +503,6 @@
        }
        return R.error("系统错误,条码不存在");
    }
    @RequestMapping("/pakout/confirm/auth")
    @ManagerAuth
@@ -578,8 +574,8 @@
        return R.ok("完成确认");
    }
    // 盘点 ----------------------------------------------------------------------------------------------------
    // 盘点
    // ----------------------------------------------------------------------------------------------------
    @RequestMapping("/checkDetl/auth")
    @ManagerAuth
@@ -606,7 +602,7 @@
    @RequestMapping("/adjust/auth")
    @ManagerAuth(memo = "盘点")
    public R adjust(@RequestBody MobileAdjustParam combParam){
    public R adjust(@RequestBody MobileAdjustParam combParam) {
        mobileService.adjust(combParam, getUserId());
        return R.ok("盘点成功");
    }
@@ -614,10 +610,10 @@
    @PostMapping("/order/out/pakout/auth")
    @ManagerAuth(memo = "订单出库")
    public synchronized R pakoutByOrder(@RequestBody JSONObject param) {
        if(!param.containsKey("staNo") || !param.containsKey("orderNo")){
        if (!param.containsKey("staNo") || !param.containsKey("orderNo")) {
            return R.parse(BaseRes.PARAM);
        }
        mobileService.pakoutByOrder(param,getUserId());
        mobileService.pakoutByOrder(param, getUserId());
        return R.ok("出库成功");
    }
src/main/java/com/zy/asrs/entity/Mat.java
@@ -10,8 +10,6 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zy.api.enums.MatLocType;
import com.zy.asrs.enums.ContainerType;
import com.zy.asrs.service.BasContainerService;
import com.zy.asrs.service.TagService;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;