skyouc
2025-03-14 89e69825afdc8fb7619444d6e0bbc808502920e5
#修改
1. 字段优化
2. 添加物料查询收货通知单接口
7个文件已修改
79 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/application-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -294,7 +294,7 @@
            ReceiptDetlsDto detlsDto = new ReceiptDetlsDto();
            detlsDto.setAsnCode(asnOrderItem.getAsnCode())
                    .setMatnk(asnOrderItem.getMatnk())
                    .setMatnk(asnOrderItem.getMaktx())
                    .setBarcode(asnOrderItem.getBarcode())
                    .setPoCode(asnOrderItem.getPoCode())
                    .setPurQty(asnOrderItem.getAnfme())
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
@@ -140,6 +140,16 @@
        }
    }
    @PostMapping("/asnOrder/matnr/list")
    @ApiOperation("物料获取订单")
    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
    public R getListByMatnr(@RequestBody Map<String, String> params){
        if (Objects.isNull(params)) {
            throw new CoolException("查询条件不能为空!!");
        }
        return R.ok(asnOrderService.getListByMatnr(params));
    }
    @PostMapping("/asnOrder/generate/barcode")
    @ApiOperation("生成ASN标签")
    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
@@ -75,16 +75,28 @@
    private String poCode;
    /**
     * 跟踪码
     */
    @ApiModelProperty("跟踪码")
    private String trackCode;
    /**
     * 物料标识
     */
    @ApiModelProperty(value= "物料标识")
    private String matnrId;
    /**
     * 物料编码
     */
    @ApiModelProperty(value = "物料编码")
    private String matnrCode;
    /**
     * 物料名称
     */
    @ApiModelProperty(value= "物料名称")
    private String matnk;
    private String maktx;
    /**
     * 送货数量
@@ -205,13 +217,14 @@
    public AsnOrderItem() {}
    public AsnOrderItem(Long asnId,String asnCode,Long poDetlId,String poCode,String matnrId,String matnk,Double anfme,String stockUnit,Double purQty,String purUnit,Double qty,String splrCode,String splrName,String qrcode,String barcode,String packName,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
    public AsnOrderItem(Long asnId,String asnCode,Long poDetlId, String matnrCode, String poCode,String matnrId,String matnk,Double anfme,String stockUnit,Double purQty,String purUnit,Double qty,String splrCode,String splrName,String qrcode,String barcode,String packName,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
        this.asnId = asnId;
        this.asnCode = asnCode;
        this.poDetlId = poDetlId;
        this.matnrCode = matnrCode;
        this.poCode = poCode;
        this.matnrId = matnrId;
        this.matnk = matnk;
        this.maktx = matnk;
        this.anfme = anfme;
        this.stockUnit = stockUnit;
        this.purQty = purQty;
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -106,14 +106,13 @@
                        .setSplrName(item.getSplrName())
                        .setAsnCode(code)
                        .setSplrCode(item.getSplrCode())
                        .setMatnk(item.getMatnrName())
                        .setPoDetlId(item.getId())
                        .setPlatItemId(item.getPlatItemId())
//                        .setBarcode(barcode)
                        .setPoCode(purchase.getCode())
                        .setPurQty(item.getAnfme())
                        .setPurUnit(item.getUnit())
                        .setMatnk(matnr.getName())
                        .setMaktx(matnr.getName())
                        .setMatnrId(matnr.getId() + "");
                orderItems.add(orderItem);
            });
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderService.java
@@ -5,10 +5,13 @@
import com.vincent.rsf.server.manager.entity.AsnOrder;
import java.util.List;
import java.util.Map;
public interface AsnOrderService extends IService<AsnOrder> {
    boolean notifyInspect(List<AsnOrder> orders);
    R generateBarcode(List<AsnOrder> orders);
    List<AsnOrder> getListByMatnr(Map<String, String> params);
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -10,6 +10,7 @@
import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.mapper.PurchaseMapper;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -20,8 +21,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -39,8 +39,8 @@
    @Resource
    private PurchaseMapper purchaseMapper;
    @Resource
    private AsnOrderItemMapper asnOrderItemMapper;
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    @Resource
    private SerialRuleMapper serialRuleMapper;
@@ -65,12 +65,34 @@
    @Override
    public R generateBarcode(List<AsnOrder> orders) {
        orders.forEach(order -> {
            List<AsnOrderItem> items = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
            items.forEach(item -> {
                String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item);
                //TODO asnorderitem  添加单独的字段,保存编码
            });
            List<AsnOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
            if (!items.isEmpty()) {
                items.forEach(item -> {
                    String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item);
                    item.setTrackCode(ruleCode);
                });
                if (!asnOrderItemService.saveOrUpdateBatch(items)) {
                    throw new CoolException("生成条码失败!!");
                }
            }
        });
        return R.ok();
    }
    @Override
    public List<AsnOrder> getListByMatnr(Map<String, String> params) {
        if (Objects.isNull(params)) {
            throw new CoolException("查询条件不能为空!!");
        }
        List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
                .like(!Objects.isNull(params.get("maktx")), AsnOrderItem::getMaktx, params.get("maktx"))
                .eq(!Objects.isNull(params.get("matnrCode")), AsnOrderItem::getMatnrCode, params.get("matnrCode")));
        if (orderItems.isEmpty()) {
            return new ArrayList<>();
        }
        List<Long> longList = orderItems.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList());
        return this.listByIds(longList);
    }
}
rsf-server/src/main/resources/application-dev.yml
@@ -12,7 +12,7 @@
      matching-strategy: ANT_PATH_MATCHER
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.4.24:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 34821015
    type: com.alibaba.druid.pool.DruidDataSource