#
zjj
1 天以前 b53e174293bb6991945e9e5940cf081f87bfb0d5
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -23,6 +23,7 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Service
@@ -45,8 +46,7 @@
    private DictDataService dictDataService;
    @Autowired
    private MatnrService matnrService;
    @Autowired
    private CheckOrderService checkOrderService;
    @Override
    public R getCheckList(String code) {
@@ -103,10 +103,10 @@
        if (null == task) {
            throw new CoolException("数据错误,未找到容器码对应盘点任务");
        }
        for (CheckDiffItem checkDiffItem : params.getCheckDiffItems()) {
        for (CheckDiffItem ckDiffItem : params.getCheckDiffItems()) {
            CheckDiffItem diffItem = new CheckDiffItem();
            if (Objects.isNull(checkDiffItem.getId())) {
                BeanUtils.copyProperties(checkDiffItem, diffItem);
            if (Objects.isNull(ckDiffItem.getId())) {
                BeanUtils.copyProperties(ckDiffItem, diffItem);
                diffItem.setCheckId(params.getCheckId());
                Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, diffItem.getMatnrCode()));
@@ -146,17 +146,17 @@
                    throw new CoolException("新增盘点明细保存失败!!");
                }
            } else {
                diffItem = checkDiffItemService.getById(checkDiffItem.getId());
                diffItem = checkDiffItemService.getById(ckDiffItem.getId());
                if (null == diffItem) {
                    return R.error("数据错误,未找到差异单明细");
                }
            }
            checkDiffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
            if (!checkDiffItemService.updateById(checkDiffItem)) {
            diffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
            if (!checkDiffItemService.updateById(diffItem)) {
                throw new CoolException("更新差异单明细失败");
            }
            Double checkQty = Math.round((checkDiff.getCheckQty() + checkDiffItem.getCheckQty()) * 10000) / 10000.0;
            Double checkQty = Math.round((checkDiff.getCheckQty() + diffItem.getCheckQty()) * 10000) / 10000.0;
            checkDiff.setCheckQty(checkQty);
        }
        checkDiff.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
@@ -173,4 +173,23 @@
        }
        return R.ok("盘点完成");
    }
    @Override
    public R selectAddMatnr(Map<String, String> map) {
        String matnrCode = map.get("matnr");
        if (Cools.isEmpty(matnrCode)){
            return R.error("物料码为空");
        }
        Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, matnrCode));
        if (null == matnr){
            return R.error("未找到编码对应的明细");
        }
        CheckDiffItem checkDiffItem = new CheckDiffItem()
                .setMatnrCode(matnr.getCode())
                .setMaktx(matnr.getName())
                .setAnfme(0D)
                .setCheckQty(0D)
                ;
        return R.ok(checkDiffItem);
    }
}