This commit is contained in:
parent
0665a12cb8
commit
4ee73bc191
|
|
@ -1,13 +1,16 @@
|
|||
package com.nflg.wms.admin.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.nflg.wms.common.pojo.qo.SRMOrderReceiveQO;
|
||||
import com.nflg.wms.common.pojo.qo.SRMQualityInspectionResult;
|
||||
import com.nflg.wms.repository.entity.WmsSrmOrder;
|
||||
import com.nflg.wms.repository.entity.WmsSrmOrderItem;
|
||||
import com.nflg.wms.repository.service.IWmsSrmOrderItemService;
|
||||
import com.nflg.wms.repository.service.IWmsSrmOrderService;
|
||||
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||
import com.nflg.wms.repository.entity.WmsTaskItem;
|
||||
import com.nflg.wms.repository.service.*;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -18,6 +21,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
|
|
@ -34,6 +39,12 @@ public class SRMController extends BaseController {
|
|||
@Resource
|
||||
private IWmsSrmOrderItemService srmOrderItemService;
|
||||
|
||||
@Resource
|
||||
private IWmsSrmQualityInspectionService srmQualityInspectionService;
|
||||
|
||||
@Resource
|
||||
private IWmsTaskService taskService;
|
||||
|
||||
/**
|
||||
* 接收SRM送货单
|
||||
*/
|
||||
|
|
@ -69,4 +80,94 @@ public class SRMController extends BaseController {
|
|||
return ex.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* SRM 推送质检单到WMS
|
||||
*/
|
||||
@Transactional
|
||||
@PostMapping("/SendNFInspect")
|
||||
public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) {
|
||||
Integer result = 1;
|
||||
try {
|
||||
WmsSrmQualityInspection inspect = srmQualityInspectionService.lambdaQuery()
|
||||
.eq(WmsSrmQualityInspection::getInspectionNum, request.getInspectionNum())
|
||||
.one();
|
||||
List<WmsTaskItem> tasks = new ArrayList<WmsTaskItem>();
|
||||
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 WmsTaskItem().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, "普通物料送货单"))
|
||||
log.error("质检单生成上架任务失败");
|
||||
|
||||
return result;
|
||||
} catch (Exception ex) {
|
||||
log.error("SRM送货单保存失败", ex);
|
||||
return ex.getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class SRMQualityInspectionResult {
|
||||
/**
|
||||
质检单号
|
||||
*/
|
||||
public String inspectionNum;
|
||||
|
||||
/**
|
||||
工厂
|
||||
*/
|
||||
public String factory;
|
||||
|
||||
/**
|
||||
送货数量
|
||||
*/
|
||||
public BigDecimal deliveryQty;
|
||||
|
||||
/**
|
||||
检验结果
|
||||
*/
|
||||
public String inspectionResult;
|
||||
|
||||
/**
|
||||
物料号
|
||||
*/
|
||||
public String itemCode;
|
||||
|
||||
/**
|
||||
供应商代码
|
||||
*/
|
||||
public String supplierNum;
|
||||
|
||||
/**
|
||||
检验类型
|
||||
*/
|
||||
public String inspectionType;
|
||||
|
||||
/**
|
||||
采购单行号
|
||||
*/
|
||||
public String poLineNumber;
|
||||
|
||||
/**
|
||||
检验数量
|
||||
*/
|
||||
public BigDecimal inspectionQty;
|
||||
|
||||
/**
|
||||
物料描述
|
||||
*/
|
||||
public String itemName;
|
||||
|
||||
/**
|
||||
单位
|
||||
*/
|
||||
public String unit;
|
||||
|
||||
/**
|
||||
收货仓库
|
||||
*/
|
||||
public String receivedWarehouse;
|
||||
|
||||
/**
|
||||
不合格原因
|
||||
*/
|
||||
public String unqualifiedReason;
|
||||
|
||||
/**
|
||||
采购订单号
|
||||
*/
|
||||
public String poNum;
|
||||
|
||||
/**
|
||||
物料凭证(收货时SAP返回的凭证)
|
||||
*/
|
||||
public String receiveNum;
|
||||
|
||||
/**
|
||||
不合格数量
|
||||
*/
|
||||
public BigDecimal unqualifiedQty;
|
||||
|
||||
/**
|
||||
合格数量合格数量
|
||||
*/
|
||||
public BigDecimal qualifiedQty;
|
||||
|
||||
/**
|
||||
收货时的凭证
|
||||
*/
|
||||
public String materialBatch;
|
||||
|
||||
/**
|
||||
收货时的批次
|
||||
*/
|
||||
public String receiveBatchNum;
|
||||
|
||||
/**
|
||||
收货时的序列号
|
||||
*/
|
||||
public String serialNum;
|
||||
|
||||
|
||||
/**
|
||||
送货单行号
|
||||
*/
|
||||
public String lineNumber;
|
||||
|
||||
/**
|
||||
送货单号
|
||||
*/
|
||||
public String noteNum;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
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_quality_inspection")
|
||||
public class WmsSrmQualityInspection implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 质检单号
|
||||
*/
|
||||
private String inspectionNum;
|
||||
|
||||
/**
|
||||
* 工厂
|
||||
*/
|
||||
private String factory;
|
||||
|
||||
/**
|
||||
* 送货数量
|
||||
*/
|
||||
private BigDecimal deliveryQty;
|
||||
|
||||
/**
|
||||
* 检验结果
|
||||
*/
|
||||
private String inspectionResult;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
private String itemCode;
|
||||
|
||||
/**
|
||||
* 供应商代码
|
||||
*/
|
||||
private String supplerNum;
|
||||
|
||||
/**
|
||||
* 检验类型
|
||||
*/
|
||||
private String inspectionType;
|
||||
|
||||
/**
|
||||
* 采购单行号
|
||||
*/
|
||||
private String poLineNumber;
|
||||
|
||||
/**
|
||||
* 检验数量
|
||||
*/
|
||||
private BigDecimal inspectionQty;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 物料单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 仓库编号
|
||||
*/
|
||||
private String receivedWarehouse;
|
||||
|
||||
/**
|
||||
* 不合格原因
|
||||
*/
|
||||
private String unqualifiedReason;
|
||||
|
||||
/**
|
||||
* 采购订单号
|
||||
*/
|
||||
private String poNum;
|
||||
|
||||
/**
|
||||
* 物料凭证(收货时SAP返回的凭证)
|
||||
*/
|
||||
private String receiveNum;
|
||||
|
||||
/**
|
||||
* 不合格数量
|
||||
*/
|
||||
private BigDecimal unqualifiedQty;
|
||||
|
||||
/**
|
||||
* 合格数量
|
||||
*/
|
||||
private BigDecimal qualifiedQty;
|
||||
|
||||
/**
|
||||
* 收货时的凭证
|
||||
*/
|
||||
private String materialBatch;
|
||||
|
||||
/**
|
||||
* 收货时的序列号
|
||||
*/
|
||||
private String serialNum;
|
||||
|
||||
/**
|
||||
* 送货单行号
|
||||
*/
|
||||
private String lineNumber;
|
||||
|
||||
/**
|
||||
* 送货单号
|
||||
*/
|
||||
private String noteNum;
|
||||
|
||||
/**
|
||||
* 接收时间
|
||||
*/
|
||||
private LocalDateTime acceptTime;
|
||||
|
||||
/**
|
||||
* 最后修改时间
|
||||
*/
|
||||
private LocalDateTime lastModifyTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
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.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("wms_task")
|
||||
@Accessors(chain = true)
|
||||
public class WmsTask implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 任务号,SJ-+任务源单号
|
||||
*/
|
||||
private String taskNumber;
|
||||
|
||||
/**
|
||||
* 任务来源(普通物料采购收货)
|
||||
*/
|
||||
private String taskFrom;
|
||||
|
||||
/**
|
||||
* 任务源单号
|
||||
*/
|
||||
private String orderNumber;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 最后一次添加任务单的时间
|
||||
*/
|
||||
private LocalDateTime modifyTime;
|
||||
}
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
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_task_item")
|
||||
public class WmsTaskItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
private String taskNumber;
|
||||
|
||||
private String poLineNumber;
|
||||
|
||||
private String poNum;
|
||||
|
||||
/**
|
||||
* 送货单行号
|
||||
*/
|
||||
private String lineNumber;
|
||||
|
||||
/**
|
||||
* 送货单号
|
||||
*/
|
||||
private String noteNum;
|
||||
|
||||
/**
|
||||
* 物料编号
|
||||
*/
|
||||
private String itemCode;
|
||||
|
||||
/**
|
||||
* 物料描述
|
||||
*/
|
||||
private String itemName;
|
||||
|
||||
/**
|
||||
* 物料单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 仓库编号
|
||||
*/
|
||||
private String receivedWarehouse;
|
||||
|
||||
/**
|
||||
* 储位
|
||||
*/
|
||||
private String storageLocation;
|
||||
|
||||
/**
|
||||
* 标志位
|
||||
*/
|
||||
private Short signPosition;
|
||||
|
||||
/**
|
||||
* 是否质检
|
||||
*/
|
||||
private Boolean isQuality;
|
||||
|
||||
/**
|
||||
* 不合格数量
|
||||
*/
|
||||
private BigDecimal unqualifiedQty;
|
||||
|
||||
/**
|
||||
* 合格数量
|
||||
*/
|
||||
private BigDecimal qualifiedQty;
|
||||
|
||||
/**
|
||||
* 工厂
|
||||
*/
|
||||
private String factory;
|
||||
|
||||
/**
|
||||
* 数据状态 0 待上架;1 已上架;2 sap同步失败
|
||||
*/
|
||||
private Short dataStatus;
|
||||
|
||||
/**
|
||||
* sap 同步失败原因
|
||||
*/
|
||||
private String failResult;
|
||||
|
||||
/**
|
||||
* 上架操作人
|
||||
*/
|
||||
private Long operationUserId;
|
||||
|
||||
/**
|
||||
* 上架操作人
|
||||
*/
|
||||
private String operationUserName;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNumber;
|
||||
|
||||
/**
|
||||
* 序列号,多个序列号使用;号隔开
|
||||
*/
|
||||
private String serialNumber;
|
||||
|
||||
/**
|
||||
* 报检数量
|
||||
*/
|
||||
private BigDecimal inspectionQty;
|
||||
|
||||
/**
|
||||
* 物料凭证编号
|
||||
*/
|
||||
private String materialVoucherNum;
|
||||
|
||||
/**
|
||||
* 物料凭证年度
|
||||
*/
|
||||
private String materialVoucherYear;
|
||||
|
||||
/**
|
||||
* 物料有效期
|
||||
*/
|
||||
private LocalDateTime periodTime;
|
||||
|
||||
private String inspectionOrder;
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsSrmQualityInspectionMapper extends BaseMapper<WmsSrmQualityInspection> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsTaskItem;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsTaskItemMapper extends BaseMapper<WmsTaskItem> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsTask;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsTaskMapper extends BaseMapper<WmsTask> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsSrmQualityInspectionService extends IService<WmsSrmQualityInspection> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsTaskItem;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsTaskItemService extends IService<WmsTaskItem> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsTask;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.repository.entity.WmsTaskItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsTaskService extends IService<WmsTask> {
|
||||
/**
|
||||
生成任务单
|
||||
*/
|
||||
boolean generateTask(List<WmsTaskItem> tasks, String taskSource);
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||
import com.nflg.wms.repository.mapper.WmsSrmQualityInspectionMapper;
|
||||
import com.nflg.wms.repository.service.IWmsSrmQualityInspectionService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsSrmQualityInspectionServiceImpl extends ServiceImpl<WmsSrmQualityInspectionMapper, WmsSrmQualityInspection> implements IWmsSrmQualityInspectionService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsTaskItem;
|
||||
import com.nflg.wms.repository.mapper.WmsTaskItemMapper;
|
||||
import com.nflg.wms.repository.service.IWmsTaskItemService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsTaskItemServiceImpl extends ServiceImpl<WmsTaskItemMapper, WmsTaskItem> implements IWmsTaskItemService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.nflg.wms.repository.entity.WmsTask;
|
||||
import com.nflg.wms.repository.entity.WmsTaskItem;
|
||||
import com.nflg.wms.repository.mapper.WmsTaskMapper;
|
||||
import com.nflg.wms.repository.service.IWmsTaskItemService;
|
||||
import com.nflg.wms.repository.service.IWmsTaskService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsTaskServiceImpl extends ServiceImpl<WmsTaskMapper, WmsTask> implements IWmsTaskService {
|
||||
|
||||
@Resource
|
||||
private IWmsTaskItemService wmsTaskItemService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean generateTask(List<WmsTaskItem> tasks, String taskSource) {
|
||||
boolean result = false;
|
||||
if (Objects.isNull(tasks) || CollectionUtil.isEmpty(tasks)) {
|
||||
return result;
|
||||
}
|
||||
List<WmsTask> newTaskList = new ArrayList<WmsTask>();
|
||||
List<WmsTask> oldTaskList = new ArrayList<WmsTask>();
|
||||
tasks.forEach(task -> {
|
||||
String taskNumber = "SJ-" + task.getNoteNum();
|
||||
task.setId(IdUtil.getSnowflake().nextId());
|
||||
task.setTaskNumber(taskNumber);
|
||||
WmsTask wmsTask = lambdaQuery().eq(WmsTask::getTaskNumber, taskNumber).one();
|
||||
if (Objects.nonNull(wmsTask)) {
|
||||
if (!newTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
|
||||
newTaskList.add(new WmsTask().setTaskFrom(taskSource)
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
.setTaskNumber(taskNumber)
|
||||
.setOrderNumber(task.getNoteNum())
|
||||
.setCreateTime(LocalDateTime.now())
|
||||
.setModifyTime(LocalDateTime.now())
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if (!oldTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
|
||||
wmsTask.setModifyTime(LocalDateTime.now());
|
||||
oldTaskList.add(wmsTask);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (CollectionUtil.isNotEmpty(newTaskList)) {
|
||||
result = saveBatch(newTaskList);
|
||||
}
|
||||
|
||||
if (result && CollectionUtil.isNotEmpty(oldTaskList)) {
|
||||
result = updateBatchById(oldTaskList);
|
||||
}
|
||||
|
||||
if (result) {
|
||||
result = wmsTaskItemService.saveBatch(tasks);
|
||||
}
|
||||
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.WmsSrmQualityInspectionMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -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.WmsTaskItemMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -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.WmsTaskMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -33,7 +33,7 @@ public class CodeGeneratorTest {
|
|||
)
|
||||
.strategyConfig(builder -> {
|
||||
builder
|
||||
.addInclude("wms_srm_order_item") //只生成指定表
|
||||
.addInclude("wms_task_item") //只生成指定表
|
||||
.entityBuilder().idType(IdType.ASSIGN_ID)
|
||||
.enableLombok()
|
||||
.enableChainModel()
|
||||
|
|
|
|||
Loading…
Reference in New Issue