skyouc
3 天以前 0d692433815cd80bab48091829c427e22d4663d0
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -1,6 +1,7 @@
package com.vincent.rsf.server.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
@@ -128,7 +129,7 @@
                        .setOrderType(OrderType.ORDER_CHECK.type)
                        .setSourceCode(diffItem.getOrderCode())
                        .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type))
                        .setAnfme(diffItem.getAnfme())
                        .setAnfme(diffItem.getCheckQty())
                        .setWorkQty(0.0)
                        .setBatch(diffItem.getBatch())
                        .setMaktx(matnr.getName())
@@ -151,7 +152,7 @@
                    throw new CoolException("新增盘点明细保存失败!!");
                }
                diffItem.setTaskItemId(taskItem.getId());
                diffItem.setTaskItemId(taskItem.getId()).setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
                if (!checkDiffItemService.updateById(diffItem)) {
                    throw new CoolException("明细修改失败!!");
@@ -162,14 +163,18 @@
                    return R.error("数据错误,未找到差异单明细");
                }
                diffItem.setCheckQty(ckDiffItem.getCheckQty()).setReason(ckDiffItem.getReason()).setMemo(ckDiffItem.getMemo());
            }
            diffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
            if (!checkDiffItemService.updateById(diffItem)) {
                throw new CoolException("更新差异单明细失败");
                diffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
                if (!checkDiffItemService.updateById(diffItem)) {
                    throw new CoolException("更新差异单明细失败");
                }
                if (!taskItemService.update(new LambdaUpdateWrapper<TaskItem>()
                        .set(TaskItem::getAnfme, diffItem.getCheckQty())
                        .eq(TaskItem::getId, diffItem.getTaskItemId()))) {
                    throw new CoolException("任务数量修改失败!!");
                }
            }
//            Double checkQty = Math.round((checkDiff.getCheckQty() + diffItem.getCheckQty()) * 10000) / 10000.0;
//            checkDiff.setCheckQty(checkQty);
        }
        List<CheckDiffItem> diffItems = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>()