skyouc
12 小时以前 38c682e2296f560f7fd7ebae9064b7d09d62a923
临时盘点功能 优化
3个文件已修改
59 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -18,17 +18,17 @@
import com.vincent.rsf.server.manager.service.*;
import com.vincent.rsf.server.system.constant.DictTypeCode;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.entity.FieldsItem;
import com.vincent.rsf.server.system.service.DictDataService;
import com.vincent.rsf.server.system.service.DictTypeService;
import com.vincent.rsf.server.system.service.FieldsItemService;
import com.vincent.rsf.server.system.service.impl.FieldsItemServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
@Service
public class PdaCheckOrderServiceImpl implements PdaCheckOrderService {
@@ -50,6 +50,8 @@
    private DictDataService dictDataService;
    @Autowired
    private MatnrService matnrService;
    @Autowired
    private FieldsItemService fieldsItemService;
    @Override
@@ -291,6 +293,7 @@
     * @version 1.0
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R confirmMatnr(Map<String, Object> map) {
        if (Objects.isNull(map)) {
            throw new CoolException("参数不能为空!!");
@@ -312,22 +315,43 @@
            return R.error("任务状态不是等待确认");
        }
        List<Matnr> items = JSONArray.parseArray(JSONArray.toJSONString(map.get("matnrs")), Map<String, Object>.class);
        List<CheckDiffItem> items = JSONArray.parseArray(JSONArray.toJSONString(map.get("matnrs")), CheckDiffItem.class);
        List<TaskItem> taskItems = new ArrayList<>();
        TaskItem item1 = taskItemService.getOne(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()).last("limit 1"));
        items.forEach(item -> {
            TaskItem taskItem = new TaskItem();
            if (!Objects.isNull(item1)) {
                BeanUtils.copyProperties(item1, taskItem);
            }
            Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, item.getMatnrCode()));
            if (Objects.isNull(matnr)) {
                throw new CoolException("物料信息不存在 !!");
            }
//        if (Objects.isNull(map.get("taskId"))) {
//            throw new CoolException("任务ID不能为空!!");
//        }
//        if (Objects.isNull(map.get("matnr"))) {
//            throw new CoolException("物料编码不能为空!!");
//        }
//        if (Objects.isNull(map.get("batch"))) {
//            throw new CoolException("批次不能为空!!");
//        }
            taskItem.setTaskId(task.getId())
                    .setId(null)
                    .setFieldsIndex(null)
                    .setMatnrId(matnr.getId())
                    .setMatnrCode(matnr.getCode())
                    .setMaktx(matnr.getName())
                    .setAnfme(item.getCheckQty());
            FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getValue, item.getFieldsIndex()).last("limit 1"));
            if (Objects.isNull(fieldsItem)) {
                throw new CoolException("当前票号不存在库存中,请拿出后重新入库!!");
            }
            taskItem.setFieldsIndex(fieldsItem.getUuid());
        return null;
            taskItems.add(taskItem);
        });
        if (!taskItemService.saveBatch(taskItems)) {
            throw new CoolException("新增盘点物料失败!!");
        }
        return R.ok();
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -193,7 +193,7 @@
                    throw new CoolException("票号不能为空!!");
                }
                //Fix 这里只针对希日项目的票号功能,票号和uuid为一对一的情况,不会出现重复的情况
                FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getValue, oldOrderItem.getFieldsIndex()));
                FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>().eq(FieldsItem::getValue, oldOrderItem.getFieldsIndex()).last("limit 1"));
                if (!Objects.isNull(fieldsItem)) {
                    orderItem.setFieldsIndex(fieldsItem.getUuid());
                }
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/CheckDiffItem.java
@@ -106,6 +106,9 @@
    @ApiModelProperty(value= "盘点库存")
    private Double checkQty;
    @ApiModelProperty("索引")
    private String fieldsIndex;
    /**
     * 差异原因
     */