Compare commits
8 Commits
6a54dd2a7a
...
a205964d40
| Author | SHA1 | Date |
|---|---|---|
|
|
a205964d40 | |
|
|
8b4f9c0fbe | |
|
|
12cdeaece4 | |
|
|
c7b0c89970 | |
|
|
cc46fe1364 | |
|
|
773b7fc347 | |
|
|
4ee73bc191 | |
|
|
0665a12cb8 |
Binary file not shown.
|
|
@ -0,0 +1,9 @@
|
|||
Manifest-Version: 1.0
|
||||
|
||||
keyname: SAP JCO
|
||||
keyvendor: sap.com
|
||||
keylocation: SAP SE
|
||||
|
||||
sapjco release: 3.1
|
||||
sapjco patch level: 12
|
||||
sapjco os: darwinarm64
|
||||
|
|
@ -118,6 +118,11 @@
|
|||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.idev.excel</groupId>
|
||||
<artifactId>fastexcel</artifactId>
|
||||
<version>1.2.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -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.WmsInTaskItem;
|
||||
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.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,18 +39,24 @@ public class SRMController extends BaseController {
|
|||
@Resource
|
||||
private IWmsSrmOrderItemService srmOrderItemService;
|
||||
|
||||
@Resource
|
||||
private IWmsSrmQualityInspectionService srmQualityInspectionService;
|
||||
|
||||
@Resource
|
||||
private IWmsInTaskService taskService;
|
||||
|
||||
/**
|
||||
* 接收SRM送货单
|
||||
*/
|
||||
@Transactional
|
||||
@PostMapping("/SendNFDelivery")
|
||||
public Object receiveOrder(@RequestBody SRMOrderReceiveQO request){
|
||||
public Object receiveOrder(@RequestBody SRMOrderReceiveQO request) {
|
||||
try {
|
||||
WmsSrmOrder order=srmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.getNoteNum()).one();
|
||||
if (Objects.nonNull(order)){
|
||||
WmsSrmOrder order = srmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.getNoteNum()).one();
|
||||
if (Objects.nonNull(order)) {
|
||||
srmOrderService.removeById(order);
|
||||
srmOrderItemService.remove(new LambdaQueryWrapper<WmsSrmOrderItem>().eq(WmsSrmOrderItem::getOrderId,order.getId()));
|
||||
}else {
|
||||
srmOrderItemService.remove(new LambdaQueryWrapper<WmsSrmOrderItem>().eq(WmsSrmOrderItem::getOrderId, order.getId()));
|
||||
} else {
|
||||
order = new WmsSrmOrder()
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
.setIuCode(request.getIuCode())
|
||||
|
|
@ -58,14 +69,104 @@ public class SRMController extends BaseController {
|
|||
srmOrderService.save(order);
|
||||
}
|
||||
WmsSrmOrder finalOrder = order;
|
||||
srmOrderItemService.saveBatch(request.getResultSet().stream().map(it->{
|
||||
WmsSrmOrderItem item= Convert.convert(WmsSrmOrderItem.class, it);
|
||||
srmOrderItemService.saveBatch(request.getResultSet().stream().map(it -> {
|
||||
WmsSrmOrderItem item = Convert.convert(WmsSrmOrderItem.class, it);
|
||||
item.setOrderId(finalOrder.getId());
|
||||
return item;
|
||||
}).toList());
|
||||
return 0;
|
||||
}catch (Exception ex){
|
||||
log.error("SRM送货单保存失败",ex);
|
||||
} catch (Exception ex) {
|
||||
log.error("SRM送货单保存失败", ex);
|
||||
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<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;
|
||||
} catch (Exception ex) {
|
||||
log.error("SRM送货单保存失败", ex);
|
||||
return ex.getMessage();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,12 @@ import cn.hutool.core.util.NumberUtil;
|
|||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.digest.DigestUtil;
|
||||
import cn.idev.excel.EasyExcel;
|
||||
import cn.idev.excel.enums.CellDataTypeEnum;
|
||||
import cn.idev.excel.metadata.data.ImageData;
|
||||
import cn.idev.excel.metadata.data.WriteCellData;
|
||||
import cn.idev.excel.write.metadata.WriteSheet;
|
||||
import cn.idev.excel.write.metadata.fill.FillConfig;
|
||||
import com.nflg.wms.admin.pojo.document.PackageMaterialScanRecord;
|
||||
import com.nflg.wms.admin.pojo.document.PackageMaterialScanRecordItem;
|
||||
import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO;
|
||||
|
|
@ -24,10 +30,7 @@ import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
|||
import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO;
|
||||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.nflg.wms.common.pojo.vo.*;
|
||||
import com.nflg.wms.common.util.BeanUtil;
|
||||
import com.nflg.wms.common.util.EecExcelUtil;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
import com.nflg.wms.common.util.*;
|
||||
import com.nflg.wms.repository.entity.*;
|
||||
import com.nflg.wms.repository.service.*;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
|
|
@ -41,6 +44,8 @@ import jakarta.validation.constraints.NotNull;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
|
@ -50,7 +55,10 @@ import java.io.IOException;
|
|||
import java.io.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -94,7 +102,10 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
private IWmsStructuralPackageDeliverOrderMapService structuralPackageDeliverOrderMapService;
|
||||
|
||||
@Resource
|
||||
private IWmsStructuralPackageStorageTaskService structuralPackageStorageTaskService;
|
||||
private IWmsInTaskService inTaskService;
|
||||
|
||||
@Resource
|
||||
private IUserSupplierService userSupplierService;
|
||||
|
||||
/**
|
||||
* 搜索SAP订单
|
||||
|
|
@ -558,6 +569,52 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
return ApiResult.success(structuralPackageDeliverOrderService.search(request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出送货单
|
||||
* @param id 送货单id
|
||||
*/
|
||||
@GetMapping("exportDeliverOrder")
|
||||
public void exportDeliverOrder(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception {
|
||||
WmsStructuralPackageDeliverOrder deliverOrder=structuralPackageDeliverOrderService.getById(id);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(deliverOrder)).throwMessage("送货单不存在");
|
||||
Map<String, Object> info = new HashMap<>();
|
||||
info.put("deliverOrderNo", deliverOrder.getNo());
|
||||
WriteCellData<Void> writeCellData = new WriteCellData<>();
|
||||
writeCellData.setType(CellDataTypeEnum.EMPTY);
|
||||
ImageData imageData = new ImageData();
|
||||
imageData.setImageType(ImageData.ImageType.PICTURE_TYPE_PNG);
|
||||
imageData.setImage(QRCodeUtil.generateQRCode(deliverOrder.getNo(), 100, 100));
|
||||
imageData.setTop(5);
|
||||
imageData.setRight(5);
|
||||
imageData.setBottom(5);
|
||||
imageData.setLeft(5);
|
||||
imageData.setRelativeFirstRowIndex(0);
|
||||
imageData.setRelativeFirstColumnIndex(0);
|
||||
imageData.setRelativeLastRowIndex(2);
|
||||
imageData.setRelativeLastColumnIndex(0);
|
||||
writeCellData.setImageDataList(List.of(imageData));
|
||||
info.put("qrCodeUrl", writeCellData);
|
||||
UserSupplier supplier=userSupplierService.getByUserId(deliverOrder.getSupplierId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(supplier)).throwMessage("供应商不存在");
|
||||
info.put("supplierName", supplier.getSupplierName());
|
||||
info.put("abbreviation", supplier.getAbbreviation());
|
||||
info.put("today", DateTimeUtil.format(LocalDate.now(), "yyyy-MM-dd"));
|
||||
List<DeliverStructuralPackageOrderForPackageItemVO> datas = deliverStructuralPackageOrderService.getInfoByDeliverOrderNo(deliverOrder.getNo());
|
||||
datas.forEach(it -> {
|
||||
it.setTrayNum(Math.toIntExact(deliverStructuralPackageOrderTrayService.lambdaQuery()
|
||||
.eq(WmsStructuralPackageOrderTray::getOrderId, it.getId())
|
||||
.count()));
|
||||
});
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(deliverOrder.getNo() + "送货单.xlsx", StandardCharsets.UTF_8));
|
||||
try (cn.idev.excel.ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(new ClassPathResource("template/钢构包送货单模版.xlsx").getInputStream()).build()) {
|
||||
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
||||
excelWriter.fill(datas, fillConfig, writeSheet);
|
||||
excelWriter.fill(info, writeSheet);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据送货单号查询订单信息(PDA使用)
|
||||
* @param orderNo 送货单号
|
||||
|
|
@ -574,6 +631,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.stream()
|
||||
.map(WmsStructuralPackageOrderTray::getNo)
|
||||
.toList());
|
||||
it.setTrayNum(it.getTrayNos().size());
|
||||
//SAP
|
||||
SAPMaterialInfoInOrderDTO dto1 = sapService.getMaterialInfoInOrder(it.getExternalOrderNo(), it.getSupplierCode(), it.getPackageNo());
|
||||
if (Objects.isNull(dto1)) {
|
||||
|
|
@ -604,6 +662,8 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("receive")
|
||||
public ApiResult<Void> receive(@Valid @RequestBody @NotNull StructuralPackageOrderReceiveQO request) {
|
||||
DeliverStructuralPackageOrderVO order=deliverStructuralPackageOrderService.getInfo(request.getId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在");
|
||||
List<String> trayNos = deliverStructuralPackageOrderTrayService.lambdaQuery()
|
||||
.select(WmsStructuralPackageOrderTray::getNo)
|
||||
.eq(WmsStructuralPackageOrderTray::getOrderId, request.getId())
|
||||
|
|
@ -626,25 +686,23 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.eq(WmsStructuralPackageOrderTray::getState, OrderState.InTransit.getState())
|
||||
.update();
|
||||
//创建上架任务
|
||||
String deliverOrderNo = structuralPackageDeliverOrderService.getNoByOrderId(request.getId());
|
||||
String taskNo = "NFS" + deliverOrderNo;
|
||||
if (Objects.isNull(structuralPackageStorageTaskService.lambdaQuery().eq(WmsStructuralPackageStorageTask::getNo, taskNo).one())){
|
||||
structuralPackageStorageTaskService.save(new WmsStructuralPackageStorageTask()
|
||||
.setNo(taskNo)
|
||||
.setSourceFrom(1)
|
||||
.setSourceNo(deliverOrderNo)
|
||||
.setCreateTime(LocalDateTime.now())
|
||||
);
|
||||
}
|
||||
VUtil.trueThrowBusinessError(!inTaskService.generateTask(List.of(new WmsInTaskItem()
|
||||
.setPoNum(order.getExternalOrderNo())
|
||||
.setPoLineNumber(order.getRowNo())
|
||||
.setLineNumber(String.valueOf(order.getId()))
|
||||
.setNoteNum(structuralPackageDeliverOrderService.getNoByOrderId(request.getId()))
|
||||
.setItemCode(order.getPackageNo())
|
||||
.setItemName(order.getPackageDesc())
|
||||
.setUnit("套")
|
||||
.setIsQuality(false)
|
||||
.setUnqualifiedQty(BigDecimal.ZERO)
|
||||
.setQualifiedQty(BigDecimal.valueOf(order.getNum()))
|
||||
.setFactory("1010")
|
||||
.setDataStatus((short)0)
|
||||
.setOperationUserId(UserUtil.getUserId())
|
||||
.setOperationUserName(UserUtil.getUserName())
|
||||
.setBatchNumber(order.getModelNo())), (short) 1))
|
||||
.throwMessage("创建上架任务失败");
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索上架任务
|
||||
* @param request 查询参数
|
||||
*/
|
||||
@PostMapping("searchStorageTask")
|
||||
public ApiResult<PageData<WmsStructuralPackageStorageTask>> searchStorageTask(@Valid @RequestBody @NotNull StructuralPackageStorageTaskSearchQO request){
|
||||
return ApiResult.success(structuralPackageStorageTaskService.search(request));
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
@ -43,6 +43,16 @@ public class DeliverStructuralPackageOrderForPackageItemVO {
|
|||
*/
|
||||
private String packageDesc;
|
||||
|
||||
/**
|
||||
* 钢构包图号
|
||||
*/
|
||||
private String packageDrawingNo;
|
||||
|
||||
/**
|
||||
* 钢构包备注
|
||||
*/
|
||||
private String packageRemark;
|
||||
|
||||
/**
|
||||
* 仓库编号
|
||||
*/
|
||||
|
|
@ -58,6 +68,11 @@ public class DeliverStructuralPackageOrderForPackageItemVO {
|
|||
*/
|
||||
private BigDecimal weight;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 机台号
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import java.time.LocalDateTime;
|
|||
@Data
|
||||
public class DeliverStructuralPackageOrderVO {
|
||||
|
||||
// private Long id;
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据号
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ import java.time.LocalDateTime;
|
|||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("wms_structural_package_storage_task")
|
||||
public class WmsStructuralPackageStorageTask implements Serializable {
|
||||
@TableName("wms_in_task")
|
||||
public class WmsInTask implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
|
@ -32,19 +32,19 @@ public class WmsStructuralPackageStorageTask implements Serializable {
|
|||
private Long id;
|
||||
|
||||
/**
|
||||
* 任务单号
|
||||
* 任务号,SJ-+任务源单号
|
||||
*/
|
||||
private String no;
|
||||
private String taskNumber;
|
||||
|
||||
/**
|
||||
* 来源,1:采购单入库
|
||||
* 1、钢构包送货单 2、普通物料送货单
|
||||
*/
|
||||
private Integer sourceFrom;
|
||||
private Short taskFrom;
|
||||
|
||||
/**
|
||||
* 来源单号
|
||||
* 任务源单号
|
||||
*/
|
||||
private String sourceNo;
|
||||
private String orderNumber;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
|
|
@ -52,7 +52,17 @@ public class WmsStructuralPackageStorageTask implements Serializable {
|
|||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 上架时间
|
||||
* 最后一次添加任务单的时间
|
||||
*/
|
||||
private LocalDateTime storeTime;
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 0 待上架 1 上架中 2 已上架
|
||||
*/
|
||||
private Short taskStatus;
|
||||
|
||||
/**
|
||||
* SAP 同步成功或失败
|
||||
*/
|
||||
private Boolean sapStatus;
|
||||
}
|
||||
|
|
@ -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_in_task_item")
|
||||
public class WmsInTaskItem 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,66 @@
|
|||
package com.nflg.wms.repository.entity;
|
||||
|
||||
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_receipt")
|
||||
public class WmsSrmMaterialReceipt implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 普通物料送货单的详情ID
|
||||
*/
|
||||
private Long orderItemId;
|
||||
|
||||
/**
|
||||
* 收货数量,如果是需要质检的,数量为0
|
||||
*/
|
||||
private BigDecimal receiptNum;
|
||||
|
||||
/**
|
||||
* 是否质检
|
||||
*/
|
||||
private Boolean isQuality;
|
||||
|
||||
/**
|
||||
* 越库数量
|
||||
*/
|
||||
private BigDecimal crossNumber;
|
||||
|
||||
/**
|
||||
* 收货数量
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 收货人编号
|
||||
*/
|
||||
private Integer createUserId;
|
||||
|
||||
/**
|
||||
* 收货人名称
|
||||
*/
|
||||
private String createUserName;
|
||||
}
|
||||
|
|
@ -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,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsInTaskItem;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsInTaskItemMapper extends BaseMapper<WmsInTaskItem> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsInTask;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsInTaskMapper extends BaseMapper<WmsInTask> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsSrmMaterialReceiptMapper extends BaseMapper<WmsSrmMaterialReceipt> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.wms.common.pojo.qo.StructuralPackageStorageTaskSearchQO;
|
||||
import com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface WmsStructuralPackageStorageTaskMapper extends BaseMapper<WmsStructuralPackageStorageTask> {
|
||||
|
||||
IPage<WmsStructuralPackageStorageTask> search(StructuralPackageStorageTaskSearchQO request, Page<?> objectPage);
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsInTaskItem;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsInTaskItemService extends IService<WmsInTaskItem> {
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsInTask;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.repository.entity.WmsInTaskItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsInTaskService extends IService<WmsInTask> {
|
||||
|
||||
/**
|
||||
* 生成入库任务
|
||||
* @param tasks 任务详情
|
||||
* @param taskSource 来源 1、钢构包送货单 2、普通物料送货单
|
||||
* @return
|
||||
*/
|
||||
boolean generateTask(List<WmsInTaskItem> tasks, short taskSource) ;
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsSrmMaterialReceiptService extends IService<WmsSrmMaterialReceipt> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.common.pojo.qo.StructuralPackageStorageTaskSearchQO;
|
||||
import com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
public interface IWmsStructuralPackageStorageTaskService extends IService<WmsStructuralPackageStorageTask> {
|
||||
|
||||
IPage<WmsStructuralPackageStorageTask> search(@Valid @NotNull StructuralPackageStorageTaskSearchQO request);
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsInTaskItem;
|
||||
import com.nflg.wms.repository.mapper.WmsInTaskItemMapper;
|
||||
import com.nflg.wms.repository.service.IWmsInTaskItemService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsInTaskItemServiceImpl extends ServiceImpl<WmsInTaskItemMapper, WmsInTaskItem> implements IWmsInTaskItemService {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
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.WmsInTask;
|
||||
import com.nflg.wms.repository.entity.WmsInTaskItem;
|
||||
import com.nflg.wms.repository.mapper.WmsInTaskMapper;
|
||||
import com.nflg.wms.repository.service.IWmsInTaskItemService;
|
||||
import com.nflg.wms.repository.service.IWmsInTaskService;
|
||||
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 WmsInTaskServiceImpl extends ServiceImpl<WmsInTaskMapper, WmsInTask> implements IWmsInTaskService {
|
||||
|
||||
@Resource
|
||||
private IWmsInTaskItemService wmsTaskItemService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public boolean generateTask(List<WmsInTaskItem> tasks, short taskSource) {
|
||||
boolean result = false;
|
||||
if (Objects.isNull(tasks) || CollectionUtil.isEmpty(tasks)) {
|
||||
return result;
|
||||
}
|
||||
try {
|
||||
List<WmsInTask> newTaskList = new ArrayList<WmsInTask>();
|
||||
List<WmsInTask> oldTaskList = new ArrayList<WmsInTask>();
|
||||
|
||||
tasks.forEach(task -> {
|
||||
String taskNumber = "SJ-" + task.getNoteNum();
|
||||
task.setId(IdUtil.getSnowflake().nextId());
|
||||
task.setTaskNumber(taskNumber);
|
||||
WmsInTask wmsInTask = lambdaQuery().eq(WmsInTask::getTaskNumber, taskNumber).one();
|
||||
if (Objects.isNull(wmsInTask)) {
|
||||
if (!newTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
|
||||
newTaskList.add(new WmsInTask().setTaskFrom(taskSource)
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
.setTaskNumber(taskNumber)
|
||||
.setOrderNumber(task.getNoteNum())
|
||||
.setCreateTime(LocalDateTime.now())
|
||||
.setUpdateTime(LocalDateTime.now())
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if (!oldTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
|
||||
wmsInTask.setUpdateTime(LocalDateTime.now());
|
||||
oldTaskList.add(wmsInTask);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (CollectionUtil.isNotEmpty(newTaskList)) {
|
||||
result = saveBatch(newTaskList);
|
||||
}
|
||||
|
||||
if (result && CollectionUtil.isNotEmpty(oldTaskList)) {
|
||||
result = updateBatchById(oldTaskList);
|
||||
}
|
||||
|
||||
if (result) {
|
||||
result = wmsTaskItemService.saveBatch(tasks);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("生成上架任务失败", e);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
|
||||
import com.nflg.wms.repository.mapper.WmsSrmMaterialReceiptMapper;
|
||||
import com.nflg.wms.repository.service.IWmsSrmMaterialReceiptService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsSrmMaterialReceiptServiceImpl extends ServiceImpl<WmsSrmMaterialReceiptMapper, WmsSrmMaterialReceipt> implements IWmsSrmMaterialReceiptService {
|
||||
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.qo.StructuralPackageStorageTaskSearchQO;
|
||||
import com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask;
|
||||
import com.nflg.wms.repository.mapper.WmsStructuralPackageStorageTaskMapper;
|
||||
import com.nflg.wms.repository.service.IWmsStructuralPackageStorageTaskService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author 代码生成器生成
|
||||
* @since 2025
|
||||
*/
|
||||
@Service
|
||||
public class WmsStructuralPackageStorageTaskServiceImpl extends ServiceImpl<WmsStructuralPackageStorageTaskMapper, WmsStructuralPackageStorageTask> implements IWmsStructuralPackageStorageTaskService {
|
||||
|
||||
@Override
|
||||
public IPage<WmsStructuralPackageStorageTask> search(StructuralPackageStorageTaskSearchQO request) {
|
||||
return baseMapper.search(request,new Page<>(request.getPage(),request.getPageSize()));
|
||||
}
|
||||
}
|
||||
|
|
@ -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.WmsInTaskItemMapper">
|
||||
|
||||
</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.WmsInTaskMapper">
|
||||
|
||||
</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.WmsSrmMaterialReceiptMapper">
|
||||
|
||||
</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.WmsSrmQualityInspectionMapper">
|
||||
|
||||
</mapper>
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
|
||||
<select id="getInfoByDeliverOrderNo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderForPackageItemVO">
|
||||
SELECT o.*,m.no||wb."no" AS "workbench_code",us.supplier_code,us.supplier_name,sp."no" AS "package_no"
|
||||
,sp."name" AS "package_desc"
|
||||
,sp."name" AS "package_desc",sp.drawing_no as "package_drawing_no",sp.remark as "package_remark",o.num
|
||||
FROM wms_structural_package_deliver_order pdo
|
||||
inner join wms_structural_package_deliver_order_map pdom on pdo.id=pdom.deliver_id
|
||||
LEFT JOIN wms_structural_package_order o on o.id=pdom.order_id
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
<?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.WmsStructuralPackageStorageTaskMapper">
|
||||
|
||||
<select id="search" resultType="com.nflg.wms.repository.entity.WmsStructuralPackageStorageTask">
|
||||
select *
|
||||
from wms_structural_package_storage_task
|
||||
<where>
|
||||
<if test="request.type != null">
|
||||
and source_from=#{type}
|
||||
</if>
|
||||
<if test="request.taskNo != null and request.taskNo!=''">
|
||||
and "no" like concat('%', #{request.taskNo}, '%')
|
||||
</if>
|
||||
<if test="request.orderNo != null and request.orderNo!=''">
|
||||
and source_no like concat('%', #{request.orderNo}, '%')
|
||||
</if>
|
||||
<if test="request.startDate!=null">
|
||||
and create_time >= #{request.startDate}
|
||||
</if>
|
||||
<if test="request.endDate!=null">
|
||||
and create_time <= #{request.endDate}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</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_structural_package_storage_task") //只生成指定表
|
||||
.addInclude("wms_srm_material_receipt") //只生成指定表
|
||||
.entityBuilder().idType(IdType.ASSIGN_ID)
|
||||
.enableLombok()
|
||||
.enableChainModel()
|
||||
|
|
|
|||
Loading…
Reference in New Issue