zouyu
11 小时以前 27a90e70749f5a569eda2c225d7b319b3c2d77a5
订单拆分生成系统编号逻辑调整
已修改3个文件
42 ■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
@@ -3,7 +3,9 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.common.utils.api.MesApiUtils;
import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.ruoyi.inspect.service.IfsSplitOrderRecordService;
@@ -16,10 +18,7 @@
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.*;
/**
 * 执行ifs移库操作后,同步推送mes实时库存
@@ -36,6 +35,12 @@
    private MesApiUtils mesApiUtils;
    private final static String LOCATION_NO = "WG-02-001";//mes外购合格库位
    @Autowired
    private IfsInventoryQuantityMapper ifsInventoryQuantityMapper;
    @Autowired
    private NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
    @AfterReturning(value = "execution(* com.ruoyi.inspect.service.impl.InsOrderServiceImpl.moveRawMaterial(..))")
    @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
@@ -55,6 +60,18 @@
                        .last("limit 1")
                );
                if(Objects.nonNull(one)){
                    //查询对应记录是否有相同批号和零件的订单记录
                    List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery()
                            .eq(IfsInventoryQuantity::getUpdateBatchNo, one.getLotBatchNo())
                            .eq(IfsInventoryQuantity::getPartNo, one.getPartNo())
                            .ne(IfsInventoryQuantity::getId,ifsInventoryQuantity.getId())
                    );
                    //获取已检验的数据条数
                    long count = quantityList.stream().filter(f -> f.getIsFinish().equals(1)).count();
                    if(!quantityList.isEmpty() && count>0){
                        //生成新的系统编号
                        one.setSystemNo(splitOrderRecordNumberGenerator.generateNumberWithPrefix(IfsSplitOrderRecord.DIGIT,IfsSplitOrderRecord.PREFIX,IfsSplitOrderRecord::getSystemNo));
                    }
                    //同步MES实时库存
                    Map<String, Object> requestMap = new HashMap<>();
                    requestMap.put("partNo", one.getPartNo()); // 零件编号
inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java
@@ -21,6 +21,10 @@
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
    public static final int DIGIT = 6;//系统编号生成位数
    public static final String PREFIX ="WG";//系统编号生成前缀
    /**
     * 主键id
     */
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -100,7 +100,7 @@
    private IfsSplitOrderRecordService ifsSplitOrderRecordService;
    private final NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
    @Override
    public Result selectStandardTreeListByPartNo(String partNo) {
@@ -112,7 +112,7 @@
        for (FactoryDto factoryDto : factoryDtos) {
            for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
                for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
                    if (sampleTypeDto.getChildren().size() == 0) {
                    if (sampleTypeDto.getChildren().isEmpty()) {
                        sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
                    }
                    // 判断绑定的是否是当前零件号
@@ -952,16 +952,17 @@
        }
        //勾选同步到MES,保存订单拆分记录
        if(orderSplitDTO.getPushToMes()){
            List<IfsSplitOrderRecord> collect = orderSplitDTO.getSplitDetailList().stream().map(m -> {
            orderSplitDTO.getSplitDetailList().forEach(m -> {
                IfsSplitOrderRecord record = new IfsSplitOrderRecord();
                BeanUtil.copyProperties(m, record);
                record.setSystemNo(splitOrderRecordNumberGenerator.generateNumberWithPrefix(IfsSplitOrderRecord.DIGIT, IfsSplitOrderRecord.PREFIX, IfsSplitOrderRecord::getSystemNo));
                record.setOrderNo(ifsInventoryQuantity.getOrderNo());
                record.setLineNo(ifsInventoryQuantity.getLineNo());
                record.setReleaseNo(ifsInventoryQuantity.getReleaseNo());
                record.setReceiptNo(ifsInventoryQuantity.getReceiptNo());
                return record;
            }).collect(Collectors.toList());
            return ifsSplitOrderRecordService.saveBatch(collect);
                ifsSplitOrderRecordService.save(record);
            });
            return true;
        }
        return false;
    }