zwl
2025-09-12 7e10622ead5bd8b3ce0c9fda39d22ae0e938e030
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
@@ -6,10 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.utils.TreeUtils;
import com.zy.asrs.common.wms.entity.*;
import com.zy.asrs.common.wms.service.LocDetlService;
import com.zy.asrs.common.wms.service.LocMastService;
import com.zy.asrs.common.wms.service.MatService;
import com.zy.asrs.common.wms.service.WrkMastService;
import com.zy.asrs.common.wms.service.*;
import com.zy.asrs.framework.annotations.ManagerAuth;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
@@ -35,6 +32,8 @@
    private LocMastService locMastService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @RequestMapping(value = "/mat/{id}/auth")
    @ManagerAuth
@@ -295,4 +294,36 @@
        }
        return R.ok();
    }
    @PostMapping("/mat/sync")
    @ManagerAuth
    public R synchronous(@RequestBody Mat data) {
        // 检查是否有任务中使用了该物料
        int wrkCount = wrkDetlService.count(new LambdaQueryWrapper<WrkDetl>()
                .eq(WrkDetl::getMatnr, data.getMatnr()));
        if (wrkCount > 0) {
            return R.error("该物料正在被任务使用,禁止同步");
        }
        // 查询对应库存明细
        List<LocDetl> locDetls = locDetlService.list(
                new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getMatnr, data.getMatnr())
        );
        for (LocDetl locDetl : locDetls) {
            locDetl.setMaktx(data.getMaktx());
            locDetl.setSpecs(Cools.isEmpty(data.getSpecs()) ? "" : data.getSpecs());
            locDetl.setModel(Cools.isEmpty(data.getModel()) ? "" : data.getModel());
            locDetl.setSku(Cools.isEmpty(data.getSku()) ? "" : data.getSku());
            locDetl.setItemNum(Cools.isEmpty(data.getImgNum()) ? "" : data.getImgNum());
            // 若需要同步重量和长度,取消注释
            // locDetl.setWeight(Cools.isEmpty(data.getWeight()) ? 0.0 : Double.parseDouble(data.getWeight()));
            // locDetl.setLength(Cools.isEmpty(data.getLength()) ? 0.0 : Double.parseDouble(data.getLength()));
            locDetlService.updateById(locDetl);
        }
        return R.ok();
    }
}