暂存版本
This commit is contained in:
parent
0430e35af3
commit
d77c8669a1
|
|
@ -0,0 +1,53 @@
|
|||
package com.nflg.wms.admin.pojo.document;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@Document(collection = "SrmMaterialReceiptScanCodes")
|
||||
public class SrmMaterialReceiptScanCodes{
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 收货单的单号
|
||||
*/
|
||||
private String orderNo;
|
||||
|
||||
/***
|
||||
* 收货单的单行ID号
|
||||
*
|
||||
*/
|
||||
private String orderItemId;
|
||||
/**
|
||||
* 二维码编号
|
||||
*/
|
||||
private String codeId;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@NotNull
|
||||
private BigDecimal codeNum;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNumber;
|
||||
|
||||
/**
|
||||
* 序列号
|
||||
*/
|
||||
private String serialNumbers;
|
||||
|
||||
/**
|
||||
* 二维码内容
|
||||
*/
|
||||
private String codeContent;
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
package com.nflg.wms.admin.repository;
|
||||
|
||||
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface SrmMaterialReceiptCanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
||||
}
|
||||
|
|
@ -98,7 +98,6 @@ public class NormalPGIControllerService {
|
|||
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, orderNo).one();
|
||||
if (Objects.isNull(order))
|
||||
return null;
|
||||
|
||||
PDAOrderVO pdaOrderVO = new PDAOrderVO();
|
||||
// 设置订单头基本信息
|
||||
pdaOrderVO.setNoteNum(order.getNoteNum());
|
||||
|
|
@ -164,7 +163,7 @@ public class NormalPGIControllerService {
|
|||
if ("3".equals(lbprt) || "4".equals(lbprt)) {
|
||||
VUtil.trueThrowBusinessError(
|
||||
CollectionUtil.isEmpty(item.getScanCodes()) ||
|
||||
item.getScanCodes().stream().anyMatch(code -> CollectionUtil.isEmpty(code.getSerialNumbers()))
|
||||
item.getScanCodes().stream().anyMatch(code -> StrUtil.isBlank(code.getSerialNumbers()))
|
||||
).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号,订单号:" + item.getPoNum());
|
||||
}
|
||||
}
|
||||
|
|
@ -208,21 +207,25 @@ public class NormalPGIControllerService {
|
|||
receipt.setCreateUserId(UserUtil.getUserId());
|
||||
receipt.setCreateUserName(UserUtil.getUserName());
|
||||
//条码内容
|
||||
WmsSrmMaterialReceiptItem receiptItem = new WmsSrmMaterialReceiptItem();
|
||||
receiptItem.setCodeId(scanCode.getCodeId());
|
||||
receiptItem.setCodeNum(scanCode.getCodeNum());
|
||||
receiptItem.setBatchNumber(scanCode.getBatchNumber());
|
||||
receiptItem.setSerialNumber(scanCode.getSerialNumbers());
|
||||
receiptItem.setCodeContent(scanCode.getCodeContent());
|
||||
receiptItem.setOrderItemId(item.getOrderItemId());
|
||||
receiptItem.setCreateUserId(UserUtil.getUserId());
|
||||
receiptItem.setCreateUserName(UserUtil.getUserName());
|
||||
receiptItem.setCreateTime(LocalDateTime.now());
|
||||
receiptItem.setReceiptId(receiptId);
|
||||
receiptItem.setId(IdUtil.getSnowflakeNextId());
|
||||
receiptItems.add(receiptItem);
|
||||
|
||||
|
||||
if (CollectionUtil.isNotEmpty(item.getScanCodes())) {
|
||||
item.getScanCodes().forEach(scanCode -> {
|
||||
WmsSrmMaterialReceiptItem receiptItem = new WmsSrmMaterialReceiptItem();
|
||||
receiptItem.setCodeId(scanCode.getCodeId());
|
||||
receiptItem.setCodeNum(scanCode.getCodeNum());
|
||||
receiptItem.setBatchNumber(scanCode.getBatchNumber());
|
||||
receiptItem.setSerialNumber(StrUtil.join(";", scanCode.getSerialNumbers()));
|
||||
receiptItem.setCodeContent(scanCode.getCodeContent());
|
||||
receiptItem.setOrderItemId(item.getOrderItemId());
|
||||
receiptItem.setCreateUserId(UserUtil.getUserId());
|
||||
receiptItem.setCreateUserName(UserUtil.getUserName());
|
||||
receiptItem.setCreateTime(LocalDateTime.now());
|
||||
receiptItem.setReceiptId(receiptId);
|
||||
receiptItem.setId(IdUtil.getSnowflakeNextId());
|
||||
receiptItems.add(receiptItem);
|
||||
|
||||
|
||||
|
||||
if (isQuality) {
|
||||
//质检物料发送到质检单
|
||||
|
|
@ -291,8 +294,9 @@ public class NormalPGIControllerService {
|
|||
//序列号和批次号验证
|
||||
validateScanCodes(item, materialInfoInOrder);
|
||||
boolean isQuality = materialInfoInOrder.getKzkri().equals("X");
|
||||
// 生成相关单据
|
||||
// 生成收货单、任务单、质检单 数据集合
|
||||
generyReceipt(item, isQuality, materialInfoInOrder, receipts, receiptitems, tasks, srmLineVOListItems);
|
||||
|
||||
generateSAPData(item, materialInfoInOrder, zwm3A17DTOS);
|
||||
});
|
||||
//生成wms的单据
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class PDAScanCodeQO {
|
|||
/**
|
||||
* 序列号
|
||||
*/
|
||||
private List<String> serialNumbers;
|
||||
private String serialNumbers;
|
||||
|
||||
/**
|
||||
* 二维码内容
|
||||
|
|
|
|||
|
|
@ -0,0 +1,119 @@
|
|||
package com.nflg.wms.repository.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("wms_srm_material_qms_receipt_item")
|
||||
public class WmsSrmMaterialQmsReceiptItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 收货单的ID
|
||||
*/
|
||||
private Long receiptId;
|
||||
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 送货单行号
|
||||
*/
|
||||
private String lineNumber;
|
||||
|
||||
/**
|
||||
* 采购订单号
|
||||
*/
|
||||
private String poNum;
|
||||
|
||||
/**
|
||||
* 采购订单行号
|
||||
*/
|
||||
private String poLineNumber;
|
||||
|
||||
/**
|
||||
* 物料编码
|
||||
*/
|
||||
private String itemCode;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String uomCode;
|
||||
|
||||
/**
|
||||
* 收货人编号
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 收货人名称
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 扫描时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 收货数量
|
||||
*/
|
||||
private BigDecimal receiptNum;
|
||||
|
||||
/**
|
||||
* 仓库编号
|
||||
*/
|
||||
private String receivedWarehouse;
|
||||
|
||||
/**
|
||||
* 储位
|
||||
*/
|
||||
private String storageLocation;
|
||||
|
||||
/**
|
||||
* 已入库数量
|
||||
*/
|
||||
private BigDecimal inQty;
|
||||
|
||||
/**
|
||||
* 已检数量
|
||||
*/
|
||||
private BigDecimal checkQty;
|
||||
|
||||
/**
|
||||
* 送货单号
|
||||
*/
|
||||
private String noteNum;
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package com.nflg.wms.repository.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -7,7 +9,6 @@ import lombok.ToString;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
|
|
@ -27,33 +28,59 @@ public class WmsSrmMaterialReceipt implements Serializable {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 普通物料送货单的详情ID
|
||||
* 工厂
|
||||
*/
|
||||
private Long orderItemId;
|
||||
private String iuCode;
|
||||
|
||||
/**
|
||||
* 收货数量,如果是需要质检的,数量为0
|
||||
* 送货单号
|
||||
*/
|
||||
private BigDecimal receiptNum;
|
||||
private String noteNum;
|
||||
|
||||
/**
|
||||
* 是否质检
|
||||
* 采购组
|
||||
*/
|
||||
private Boolean isQuality;
|
||||
private String purchaseGroup;
|
||||
|
||||
/**
|
||||
* 越库数量
|
||||
* 运单号
|
||||
*/
|
||||
private BigDecimal crossNumber;
|
||||
private String waybillNum;
|
||||
|
||||
/**
|
||||
* 收货数量
|
||||
* 供应商编码
|
||||
*/
|
||||
private String supplierNum;
|
||||
|
||||
/**
|
||||
* 供应商名称
|
||||
*/
|
||||
private String supplierName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 公司
|
||||
*/
|
||||
private String ouCode;
|
||||
|
||||
/**
|
||||
* 发货时间
|
||||
*/
|
||||
private LocalDateTime deliveryNoteDate;
|
||||
|
||||
/**
|
||||
* 收货单编号
|
||||
*/
|
||||
private String receiptNo;
|
||||
|
||||
/**
|
||||
* 收货人编号
|
||||
*/
|
||||
|
|
@ -63,4 +90,19 @@ public class WmsSrmMaterialReceipt implements Serializable {
|
|||
* 收货人名称
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 是否存在质检的物料
|
||||
*/
|
||||
private Boolean isQuality;
|
||||
|
||||
/**
|
||||
* 质检物料的入库状态 0 未完成,1 已完成
|
||||
*/
|
||||
private Short qualitySapStatus;
|
||||
|
||||
/**
|
||||
* 未质检物料的入库状态
|
||||
*/
|
||||
private Short sapStatus;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,34 +33,44 @@ public class WmsSrmMaterialReceiptItem implements Serializable {
|
|||
private Long id;
|
||||
|
||||
/**
|
||||
* 收货信息ID
|
||||
* 收货单的ID
|
||||
*/
|
||||
private Long receiptId;
|
||||
|
||||
/**
|
||||
* 二维码编号
|
||||
* 订单id
|
||||
*/
|
||||
private String codeId;
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
* 送货单行号
|
||||
*/
|
||||
private BigDecimal codeNum;
|
||||
private String lineNumber;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
* 采购订单号
|
||||
*/
|
||||
private String batchNumber;
|
||||
private String poNum;
|
||||
|
||||
/**
|
||||
* 序列号,多个序列号使用;号隔开
|
||||
* 采购订单行号
|
||||
*/
|
||||
private String serialNumber;
|
||||
private String poLineNumber;
|
||||
|
||||
/**
|
||||
* 二维码内容
|
||||
* 物料编码
|
||||
*/
|
||||
private String codeContent;
|
||||
private String itemCode;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String uomCode;
|
||||
|
||||
/**
|
||||
* 收货人编号
|
||||
|
|
@ -78,7 +88,27 @@ public class WmsSrmMaterialReceiptItem implements Serializable {
|
|||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 送货单的单号ID
|
||||
* 收货数量
|
||||
*/
|
||||
private Long orderItemId;
|
||||
private BigDecimal receiptNum;
|
||||
|
||||
/**
|
||||
* 仓库编号
|
||||
*/
|
||||
private String receivedWarehouse;
|
||||
|
||||
/**
|
||||
* 储位
|
||||
*/
|
||||
private String storageLocation;
|
||||
|
||||
/**
|
||||
* 已入库数量
|
||||
*/
|
||||
private BigDecimal inQty;
|
||||
|
||||
/**
|
||||
* 送货单号
|
||||
*/
|
||||
private String noteNum;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import java.math.BigDecimal;
|
|||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
|
|
@ -95,4 +95,9 @@ public class WmsSrmOrderItem implements Serializable {
|
|||
* 是否质检
|
||||
*/
|
||||
private Boolean isQuality;
|
||||
|
||||
/**
|
||||
* 收货数量
|
||||
*/
|
||||
private BigDecimal receiptQty;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,4 +146,9 @@ public class WmsSrmQualityInspection implements Serializable {
|
|||
* 最后修改时间
|
||||
*/
|
||||
private LocalDateTime lastModifyTime;
|
||||
|
||||
/**
|
||||
* SAP同步状态 0 已同步,1 未同步
|
||||
*/
|
||||
private Short sapStatus;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsSrmMaterialQmsReceiptItem;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsSrmMaterialQmsReceiptItemMapper extends BaseMapper<WmsSrmMaterialQmsReceiptItem> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsSrmMaterialQmsReceiptItem;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsSrmMaterialQmsReceiptItemService extends IService<WmsSrmMaterialQmsReceiptItem> {
|
||||
|
||||
}
|
||||
|
|
@ -19,4 +19,6 @@ import jakarta.validation.Valid;
|
|||
public interface IWmsSrmQualityInspectionService extends IService<WmsSrmQualityInspection> {
|
||||
|
||||
IPage<QualityInspectionVO> search(@Valid NomalQMOrderSearchQO request);
|
||||
|
||||
boolean saveQualityInspection(@Valid WmsSrmQualityInspection request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsSrmMaterialQmsReceiptItem;
|
||||
import com.nflg.wms.repository.mapper.WmsSrmMaterialQmsReceiptItemMapper;
|
||||
import com.nflg.wms.repository.service.IWmsSrmMaterialQmsReceiptItemService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsSrmMaterialQmsReceiptItemServiceImpl extends ServiceImpl<WmsSrmMaterialQmsReceiptItemMapper, WmsSrmMaterialQmsReceiptItem> implements IWmsSrmMaterialQmsReceiptItemService {
|
||||
|
||||
}
|
||||
|
|
@ -2,24 +2,31 @@ package com.nflg.wms.repository.service.impl;
|
|||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.qo.NomalQMOrderSearchQO;
|
||||
import com.nflg.wms.common.pojo.vo.QualityInspectionVO;
|
||||
import com.nflg.wms.common.pojo.vo.StorageVO;
|
||||
import com.nflg.wms.repository.entity.WmsBin;
|
||||
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||
import com.nflg.wms.repository.entity.*;
|
||||
import com.nflg.wms.repository.mapper.WmsSrmQualityInspectionMapper;
|
||||
import com.nflg.wms.repository.service.IWmsSrmMaterialQmsReceiptItemService;
|
||||
import com.nflg.wms.repository.service.IWmsSrmMaterialReceiptItemService;
|
||||
import com.nflg.wms.repository.service.IWmsSrmMaterialReceiptService;
|
||||
import com.nflg.wms.repository.service.IWmsSrmQualityInspectionService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.postgresql.core.Utils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
|
|
@ -28,8 +35,42 @@ import java.util.List;
|
|||
@Service
|
||||
public class WmsSrmQualityInspectionServiceImpl extends ServiceImpl<WmsSrmQualityInspectionMapper, WmsSrmQualityInspection> implements IWmsSrmQualityInspectionService {
|
||||
|
||||
@Resource
|
||||
private IWmsSrmMaterialQmsReceiptItemService wmsSrmMaterialQmsReceiptItemService;
|
||||
|
||||
@Resource
|
||||
private IWmsSrmMaterialReceiptService wmsSrmMaterialReceiptService;
|
||||
|
||||
@Override
|
||||
public IPage<QualityInspectionVO> search(NomalQMOrderSearchQO request) {
|
||||
return baseMapper.search(request,new Page<>(request.getPage(),request.getPageSize()));
|
||||
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean saveQualityInspection(WmsSrmQualityInspection request) {
|
||||
boolean result = this.save(request);
|
||||
if (result) {
|
||||
result = wmsSrmMaterialQmsReceiptItemService.update(
|
||||
new LambdaUpdateWrapper<WmsSrmMaterialQmsReceiptItem>()
|
||||
.setSql("check_qty = check_qty + " + request.getUnqualifiedQty().add(request.getQualifiedQty()))
|
||||
.eq(WmsSrmMaterialQmsReceiptItem::getNoteNum, request.getNoteNum())
|
||||
.eq(WmsSrmMaterialQmsReceiptItem::getLineNumber, request.getLineNumber())
|
||||
);
|
||||
//修改状态
|
||||
List<WmsSrmMaterialQmsReceiptItem> receiptItems = wmsSrmMaterialQmsReceiptItemService.lambdaQuery()
|
||||
.eq(WmsSrmMaterialQmsReceiptItem::getNoteNum, request.getNoteNum())
|
||||
.apply("check_qty>in_qty")
|
||||
.list();
|
||||
//修改下状态
|
||||
if (CollectionUtil.isNotEmpty(receiptItems)) {
|
||||
// result =wmsSrmMaterialReceiptService.update(
|
||||
// new LambdaUpdateWrapper<WmsSrmMaterialQmsReceiptItem>()
|
||||
// .setSql("check_qty = check_qty + " + request.getUnqualifiedQty().add(request.getQualifiedQty()))
|
||||
// .eq(WmsSrmMaterialQmsReceiptItem::getNoteNum, request.getNoteNum())
|
||||
// .eq(WmsSrmMaterialQmsReceiptItem::getLineNumber, request.getLineNumber())
|
||||
// );
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nflg.wms.repository.mapper.WmsSrmMaterialQmsReceiptItemMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -17,10 +17,8 @@
|
|||
select
|
||||
a.inspection_num,a.factory,a.suppler_num as supplier_num,c.supplier_name,a.delivery_qty,a.inspection_result,a.item_code,a.inspection_type,
|
||||
a.po_line_number,a.inspection_qty,a.item_name,a.unit,a.received_warehouse,a.unqualified_reason,a.po_num,a.receive_num,a.unqualified_qty,
|
||||
a.qualified_qty,a.material_batch as receive_batch_num,a.serial_num,a.line_number,a.note_num,COALESCE(b.data_status,0) as
|
||||
in_status
|
||||
from wms_srm_quality_inspection a left join wms_in_task_item b on a.note_num=b.note_num and
|
||||
a.line_number=b.line_number
|
||||
a.qualified_qty,a.material_batch as receive_batch_num,a.serial_num,a.line_number,a.note_num,,a.sap_status as in_status
|
||||
from wms_srm_quality_inspection a
|
||||
left join user_supplier c on a.suppler_num=c.supplier_code
|
||||
<where>
|
||||
<if test="request.poNum !=null and request.poNum !='' ">
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public class CodeGeneratorTest {
|
|||
)
|
||||
.strategyConfig(builder -> {
|
||||
builder
|
||||
.addInclude("wms_in_produce_back_ticket_item") //只生成指定表
|
||||
.addInclude("wms_srm_material_receipt") //只生成指定表
|
||||
.entityBuilder().idType(IdType.ASSIGN_ID)
|
||||
.enableLombok()
|
||||
.enableChainModel()
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -80,6 +81,7 @@ public class SRMController extends BaseController {
|
|||
srmOrderItemService.saveBatch(request.getResultSet().stream().map(it -> {
|
||||
WmsSrmOrderItem item = Convert.convert(WmsSrmOrderItem.class, it);
|
||||
item.setOrderId(finalOrder.getId());
|
||||
item.setReceiptQty(new BigDecimal(0));
|
||||
return item;
|
||||
}).toList());
|
||||
return 0;
|
||||
|
|
@ -97,82 +99,38 @@ public class SRMController extends BaseController {
|
|||
@PostMapping("/SendNFInspect")
|
||||
public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) {
|
||||
Integer result = 1;
|
||||
WmsSrmQualityInspection inspect = new WmsSrmQualityInspection()
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
.setInspectionNum(request.getInspectionNum())
|
||||
.setFactory(request.getFactory())
|
||||
.setDeliveryQty(request.getDeliveryQty())
|
||||
.setInspectionResult(request.getInspectionResult())
|
||||
.setItemCode(request.getItemCode())
|
||||
.setSupplerNum(request.getSupplierNum())
|
||||
.setInspectionType(request.getInspectionType())
|
||||
.setPoLineNumber(String.valueOf(request.getPoLineNumber()))
|
||||
.setInspectionQty(request.getInspectionQty())
|
||||
.setItemName(request.getItemName())
|
||||
.setUnit(request.getUnit())
|
||||
.setReceivedWarehouse(request.getReceivedWarehouse())
|
||||
.setUnqualifiedReason(request.getUnqualifiedReason())
|
||||
.setReceiveNum(request.getReceiveNum())
|
||||
.setPoNum(request.getPoNum())
|
||||
.setUnqualifiedQty(request.getUnqualifiedQty())
|
||||
.setQualifiedQty(request.getQualifiedQty())
|
||||
.setMaterialBatch(request.getMaterialBatch())
|
||||
.setSerialNum(request.getSerialNum())
|
||||
.setLineNumber(request.getLineNumber())
|
||||
.setNoteNum(request.getNoteNum())
|
||||
.setSapStatus((short) 0)
|
||||
.setAcceptTime(LocalDateTime.now());
|
||||
try {
|
||||
WmsSrmQualityInspection inspect = srmQualityInspectionService.lambdaQuery()
|
||||
.eq(WmsSrmQualityInspection::getInspectionNum, request.getInspectionNum())
|
||||
.one();
|
||||
List<WmsInTaskItem> tasks = new ArrayList<WmsInTaskItem>();
|
||||
if (Objects.nonNull(inspect)) {
|
||||
inspect.setFactory(request.getFactory())
|
||||
.setDeliveryQty(request.getDeliveryQty())
|
||||
.setInspectionResult(request.getInspectionResult())
|
||||
.setItemCode(request.getItemCode())
|
||||
.setItemName(request.getItemName())
|
||||
.setSupplerNum(request.getSupplierNum())
|
||||
.setInspectionType(request.getInspectionType())
|
||||
.setPoLineNumber(String.valueOf(request.getPoLineNumber()))
|
||||
.setInspectionQty(request.getInspectionQty())
|
||||
.setUnit(request.getUnit())
|
||||
.setReceivedWarehouse(request.getReceivedWarehouse())
|
||||
.setUnqualifiedQty(request.getUnqualifiedQty())
|
||||
.setPoNum(request.getPoNum())
|
||||
.setQualifiedQty(request.getQualifiedQty())
|
||||
.setMaterialBatch(request.getMaterialBatch())
|
||||
.setSerialNum(request.getSerialNum())
|
||||
.setLineNumber(request.getLineNumber())
|
||||
.setNoteNum(request.getNoteNum())
|
||||
.setLastModifyTime(LocalDateTime.now());
|
||||
result = srmQualityInspectionService.updateById(inspect) ? 0 : 1;
|
||||
} else {
|
||||
inspect = new WmsSrmQualityInspection()
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
.setInspectionNum(request.getInspectionNum())
|
||||
.setFactory(request.getFactory())
|
||||
.setDeliveryQty(request.getDeliveryQty())
|
||||
.setInspectionResult(request.getInspectionResult())
|
||||
.setItemCode(request.getItemCode())
|
||||
.setItemName(request.getItemName())
|
||||
.setSupplerNum(request.getSupplierNum())
|
||||
.setInspectionType(request.getInspectionType())
|
||||
.setPoLineNumber(String.valueOf(request.getPoLineNumber()))
|
||||
.setInspectionQty(request.getInspectionQty())
|
||||
.setUnit(request.getUnit())
|
||||
.setReceivedWarehouse(request.getReceivedWarehouse())
|
||||
.setUnqualifiedQty(request.getUnqualifiedQty())
|
||||
.setPoNum(request.getPoNum())
|
||||
.setQualifiedQty(request.getQualifiedQty())
|
||||
.setMaterialBatch(request.getMaterialBatch())
|
||||
.setSerialNum(request.getSerialNum())
|
||||
.setLineNumber(request.getLineNumber())
|
||||
.setNoteNum(request.getNoteNum())
|
||||
.setAcceptTime(LocalDateTime.now());
|
||||
result = srmQualityInspectionService.save(inspect) ? 0 : 1;
|
||||
}
|
||||
tasks.add(
|
||||
new WmsInTaskItem().setItemCode(request.getItemCode())
|
||||
.setItemName(request.getItemName())
|
||||
.setReceivedWarehouse(request.getReceivedWarehouse())
|
||||
.setInspectionQty(request.getInspectionQty())
|
||||
.setIsQuality(true)
|
||||
.setFactory(request.getFactory())
|
||||
.setFailResult(request.unqualifiedReason)
|
||||
.setPoLineNumber(String.valueOf(request.getPoLineNumber()))
|
||||
.setPoNum(request.getPoNum())
|
||||
.setUnit(request.getUnit())
|
||||
.setUnqualifiedQty(request.getUnqualifiedQty())
|
||||
.setQualifiedQty(request.getQualifiedQty())
|
||||
.setSerialNumber(String.valueOf(request.getSerialNum()))
|
||||
.setSerialNumber(String.valueOf(request.getSerialNum()))
|
||||
.setLineNumber(String.valueOf(request.getLineNumber()))
|
||||
.setNoteNum(request.getNoteNum())
|
||||
.setInspectionOrder(request.receiveNum)
|
||||
);
|
||||
|
||||
if (result == 0 && CollectionUtil.isNotEmpty(tasks))
|
||||
if (!taskService.generateTask(tasks, (short) 1))
|
||||
log.error("质检单生成上架任务失败");
|
||||
|
||||
return result;
|
||||
result = srmQualityInspectionService.saveQualityInspection(inspect) ? 0 : 1;
|
||||
if (result == 0) {
|
||||
log.error("质检单生成上架任务成功");
|
||||
return result;
|
||||
} else
|
||||
return "质检单生成上架任务失败";
|
||||
} catch (Exception ex) {
|
||||
log.error("SRM送货单保存失败", ex);
|
||||
return ex.getMessage();
|
||||
|
|
|
|||
Loading…
Reference in New Issue