暂存版本

This commit is contained in:
zhangke 2025-08-18 18:15:20 +08:00
parent 0430e35af3
commit d77c8669a1
18 changed files with 449 additions and 126 deletions

View File

@ -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;
}

View File

@ -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> {
}

View File

@ -98,7 +98,6 @@ public class NormalPGIControllerService {
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, orderNo).one(); WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, orderNo).one();
if (Objects.isNull(order)) if (Objects.isNull(order))
return null; return null;
PDAOrderVO pdaOrderVO = new PDAOrderVO(); PDAOrderVO pdaOrderVO = new PDAOrderVO();
// 设置订单头基本信息 // 设置订单头基本信息
pdaOrderVO.setNoteNum(order.getNoteNum()); pdaOrderVO.setNoteNum(order.getNoteNum());
@ -164,7 +163,7 @@ public class NormalPGIControllerService {
if ("3".equals(lbprt) || "4".equals(lbprt)) { if ("3".equals(lbprt) || "4".equals(lbprt)) {
VUtil.trueThrowBusinessError( VUtil.trueThrowBusinessError(
CollectionUtil.isEmpty(item.getScanCodes()) || 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()); ).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号,订单号:" + item.getPoNum());
} }
} }
@ -208,21 +207,25 @@ public class NormalPGIControllerService {
receipt.setCreateUserId(UserUtil.getUserId()); receipt.setCreateUserId(UserUtil.getUserId());
receipt.setCreateUserName(UserUtil.getUserName()); 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())) { if (CollectionUtil.isNotEmpty(item.getScanCodes())) {
item.getScanCodes().forEach(scanCode -> { 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) { if (isQuality) {
//质检物料发送到质检单 //质检物料发送到质检单
@ -291,8 +294,9 @@ public class NormalPGIControllerService {
//序列号和批次号验证 //序列号和批次号验证
validateScanCodes(item, materialInfoInOrder); validateScanCodes(item, materialInfoInOrder);
boolean isQuality = materialInfoInOrder.getKzkri().equals("X"); boolean isQuality = materialInfoInOrder.getKzkri().equals("X");
// 生成相关单据 // 生成收货单任务单质检单 数据集合
generyReceipt(item, isQuality, materialInfoInOrder, receipts, receiptitems, tasks, srmLineVOListItems); generyReceipt(item, isQuality, materialInfoInOrder, receipts, receiptitems, tasks, srmLineVOListItems);
generateSAPData(item, materialInfoInOrder, zwm3A17DTOS); generateSAPData(item, materialInfoInOrder, zwm3A17DTOS);
}); });
//生成wms的单据 //生成wms的单据

View File

@ -29,7 +29,7 @@ public class PDAScanCodeQO {
/** /**
* 序列号 * 序列号
*/ */
private List<String> serialNumbers; private String serialNumbers;
/** /**
* 二维码内容 * 二维码内容

View File

@ -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;
}

View File

@ -1,5 +1,7 @@
package com.nflg.wms.repository.entity; 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 com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@ -7,7 +9,6 @@ import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -27,33 +28,59 @@ public class WmsSrmMaterialReceipt implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long 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 LocalDateTime createTime;
/**
* 公司
*/
private String ouCode;
/**
* 发货时间
*/
private LocalDateTime deliveryNoteDate;
/**
* 收货单编号
*/
private String receiptNo;
/** /**
* 收货人编号 * 收货人编号
*/ */
@ -63,4 +90,19 @@ public class WmsSrmMaterialReceipt implements Serializable {
* 收货人名称 * 收货人名称
*/ */
private String createUserName; private String createUserName;
/**
* 是否存在质检的物料
*/
private Boolean isQuality;
/**
* 质检物料的入库状态 0 未完成1 已完成
*/
private Short qualitySapStatus;
/**
* 未质检物料的入库状态
*/
private Short sapStatus;
} }

View File

@ -33,34 +33,44 @@ public class WmsSrmMaterialReceiptItem implements Serializable {
private Long id; private Long id;
/** /**
* 收货信息ID * 收货单的ID
*/ */
private Long receiptId; 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; private LocalDateTime createTime;
/** /**
* 送货单的单号ID * 收货数量
*/ */
private Long orderItemId; private BigDecimal receiptNum;
/**
* 仓库编号
*/
private String receivedWarehouse;
/**
* 储位
*/
private String storageLocation;
/**
* 已入库数量
*/
private BigDecimal inQty;
/**
* 送货单号
*/
private String noteNum;
} }

View File

@ -13,7 +13,7 @@ import java.math.BigDecimal;
/** /**
* <p> * <p>
* *
* </p> * </p>
* *
* @author 代码生成器生成 * @author 代码生成器生成
@ -95,4 +95,9 @@ public class WmsSrmOrderItem implements Serializable {
* 是否质检 * 是否质检
*/ */
private Boolean isQuality; private Boolean isQuality;
/**
* 收货数量
*/
private BigDecimal receiptQty;
} }

View File

@ -146,4 +146,9 @@ public class WmsSrmQualityInspection implements Serializable {
* 最后修改时间 * 最后修改时间
*/ */
private LocalDateTime lastModifyTime; private LocalDateTime lastModifyTime;
/**
* SAP同步状态 0 已同步1 未同步
*/
private Short sapStatus;
} }

View File

@ -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> {
}

View File

@ -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> {
}

View File

@ -19,4 +19,6 @@ import jakarta.validation.Valid;
public interface IWmsSrmQualityInspectionService extends IService<WmsSrmQualityInspection> { public interface IWmsSrmQualityInspectionService extends IService<WmsSrmQualityInspection> {
IPage<QualityInspectionVO> search(@Valid NomalQMOrderSearchQO request); IPage<QualityInspectionVO> search(@Valid NomalQMOrderSearchQO request);
boolean saveQualityInspection(@Valid WmsSrmQualityInspection request);
} }

View File

@ -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 {
}

View File

@ -2,24 +2,31 @@ package com.nflg.wms.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; 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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.NomalQMOrderSearchQO; import com.nflg.wms.common.pojo.qo.NomalQMOrderSearchQO;
import com.nflg.wms.common.pojo.vo.QualityInspectionVO; import com.nflg.wms.common.pojo.vo.QualityInspectionVO;
import com.nflg.wms.common.pojo.vo.StorageVO; import com.nflg.wms.common.pojo.vo.StorageVO;
import com.nflg.wms.repository.entity.WmsBin; import com.nflg.wms.repository.entity.*;
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
import com.nflg.wms.repository.mapper.WmsSrmQualityInspectionMapper; 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.nflg.wms.repository.service.IWmsSrmQualityInspectionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
* </p> * </p>
* *
* @author 代码生成器生成 * @author 代码生成器生成
@ -28,8 +35,42 @@ import java.util.List;
@Service @Service
public class WmsSrmQualityInspectionServiceImpl extends ServiceImpl<WmsSrmQualityInspectionMapper, WmsSrmQualityInspection> implements IWmsSrmQualityInspectionService { public class WmsSrmQualityInspectionServiceImpl extends ServiceImpl<WmsSrmQualityInspectionMapper, WmsSrmQualityInspection> implements IWmsSrmQualityInspectionService {
@Resource
private IWmsSrmMaterialQmsReceiptItemService wmsSrmMaterialQmsReceiptItemService;
@Resource
private IWmsSrmMaterialReceiptService wmsSrmMaterialReceiptService;
@Override @Override
public IPage<QualityInspectionVO> search(NomalQMOrderSearchQO request) { 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;
}
} }
}

View File

@ -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>

View File

@ -17,10 +17,8 @@
select 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.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.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 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
in_status from wms_srm_quality_inspection a
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
left join user_supplier c on a.suppler_num=c.supplier_code left join user_supplier c on a.suppler_num=c.supplier_code
<where> <where>
<if test="request.poNum !=null and request.poNum !='' "> <if test="request.poNum !=null and request.poNum !='' ">

View File

@ -33,7 +33,7 @@ public class CodeGeneratorTest {
) )
.strategyConfig(builder -> { .strategyConfig(builder -> {
builder builder
.addInclude("wms_in_produce_back_ticket_item") //只生成指定表 .addInclude("wms_srm_material_receipt") //只生成指定表
.entityBuilder().idType(IdType.ASSIGN_ID) .entityBuilder().idType(IdType.ASSIGN_ID)
.enableLombok() .enableLombok()
.enableChainModel() .enableChainModel()

View File

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
@ -80,6 +81,7 @@ public class SRMController extends BaseController {
srmOrderItemService.saveBatch(request.getResultSet().stream().map(it -> { srmOrderItemService.saveBatch(request.getResultSet().stream().map(it -> {
WmsSrmOrderItem item = Convert.convert(WmsSrmOrderItem.class, it); WmsSrmOrderItem item = Convert.convert(WmsSrmOrderItem.class, it);
item.setOrderId(finalOrder.getId()); item.setOrderId(finalOrder.getId());
item.setReceiptQty(new BigDecimal(0));
return item; return item;
}).toList()); }).toList());
return 0; return 0;
@ -97,82 +99,38 @@ public class SRMController extends BaseController {
@PostMapping("/SendNFInspect") @PostMapping("/SendNFInspect")
public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) { public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) {
Integer result = 1; 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 { try {
WmsSrmQualityInspection inspect = srmQualityInspectionService.lambdaQuery() result = srmQualityInspectionService.saveQualityInspection(inspect) ? 0 : 1;
.eq(WmsSrmQualityInspection::getInspectionNum, request.getInspectionNum()) if (result == 0) {
.one(); log.error("质检单生成上架任务成功");
List<WmsInTaskItem> tasks = new ArrayList<WmsInTaskItem>(); return result;
if (Objects.nonNull(inspect)) { } else
inspect.setFactory(request.getFactory()) return "质检单生成上架任务失败";
.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;
} catch (Exception ex) { } catch (Exception ex) {
log.error("SRM送货单保存失败", ex); log.error("SRM送货单保存失败", ex);
return ex.getMessage(); return ex.getMessage();