diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index e36a1d49..810682b3 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -2,6 +2,7 @@ package com.nflg.wms.admin.controller; /* * 普通物料收货单*/ +import cn.hutool.core.collection.CollectionUtil; import com.nflg.wms.admin.service.NormalPGIControllerService; import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.pojo.ApiResult; @@ -10,7 +11,10 @@ import com.nflg.wms.common.pojo.qo.SRMOrderSearchQO; import com.nflg.wms.common.pojo.qo.SrmMaterialReceiptQO; import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.util.UserUtil; +import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.WmsSrmMaterialReceiptItem; +import com.nflg.wms.repository.entity.WmsSrmOrder; +import com.nflg.wms.repository.entity.WmsSrmOrderItem; import com.nflg.wms.repository.service.IWmsSrmMaterialReceiptItemService; import com.nflg.wms.repository.service.IWmsSrmOrderItemService; import com.nflg.wms.repository.service.IWmsSrmOrderService; @@ -20,7 +24,10 @@ import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; @RestController @RequestMapping("/pgi/normal") @@ -76,11 +83,42 @@ public class NormalPGIController extends BaseController { //收货确认 @PostMapping("takeDelivery") @ApiMark(moduleName = "送货单管理", apiName = "收货确认") - public ApiResult takeDelivery(@Valid @RequestBody SrmMaterialReceiptQO request) { - //UserUtil - // return ApiResult.success(wmsSrmMaterialReceiptService.takeDelivery(request)); - return null; + public ApiResult takeDelivery(@Valid @RequestBody List request) { + normalPGIControllerService.takeDelivery(request); + return ApiResult.success(); } //一键收货 + + @PostMapping("takeDeliveryByNoScan") + @ApiMark(moduleName = "送货单管理", apiName = "一键收货") + public ApiResult takeDeliveryByNoScan(@Valid @RequestBody SrmMaterialReceiptQO request) { + + WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.getNoteNum()).one(); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在"); + List items = wmsSrmOrderItemService.lambdaQuery() + .eq(WmsSrmOrderItem::getOrderId, order.getId()) + .list(); + VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(items)).throwMessage("收货单详情不存在"); + List requestList = new ArrayList<>(); + items.forEach(item -> { + SrmMaterialReceiptQO qoItem = new SrmMaterialReceiptQO(); + qoItem.setNoteNum(order.getNoteNum()); + qoItem.setLineNumber(item.getLineNumber()); + qoItem.setSupplierNum(order.getSupplierNum()); + qoItem.setSupplierName(order.getSupplierName()); + + qoItem.setPoNum(item.getPoNum()); + qoItem.setPoLineNumber(item.getPoLineNumber()); + qoItem.setItemCode(item.getItemCode()); + + qoItem.setOrderItemId(item.getId()); + qoItem.setReceiptNum(item.getDeliveryQty()); + qoItem.setCrossNumber(new BigDecimal(0.00)); + requestList.add(qoItem); + }); + //获取到订单信息 + normalPGIControllerService.takeDelivery(requestList); + return ApiResult.success(); + } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/SAPMaterialInfoInOrderDTO.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/SAPMaterialInfoInOrderDTO.java index fdfe5760..da2c22a4 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/SAPMaterialInfoInOrderDTO.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/dto/SAPMaterialInfoInOrderDTO.java @@ -40,7 +40,7 @@ public class SAPMaterialInfoInOrderDTO { private String maktx; /** - * 标志:关键部件 + * 标志:关键部件(是否质检) */ private String kzkri; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java index 4cc5e815..2b34f5f3 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java @@ -1,30 +1,35 @@ package com.nflg.wms.admin.service; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO; -import com.nflg.wms.common.constant.STATE; -import com.nflg.wms.common.pojo.ApiResult; -import com.nflg.wms.common.pojo.dto.SAPSyncParamsDTO; +import cn.hutool.json.JSONUtil; +import com.nflg.wms.common.pojo.dto.*; import com.nflg.wms.common.pojo.qo.SrmMaterialReceiptQO; import com.nflg.wms.common.pojo.vo.PDAOrderItemVO; import com.nflg.wms.common.pojo.vo.PDAOrderVO; -import com.nflg.wms.common.pojo.vo.SRMOrderItemVO; +import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; -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.*; +import com.nflg.wms.repository.service.*; import jakarta.annotation.Resource; -import jakarta.validation.Valid; -import org.apache.poi.ss.formula.functions.Forecast; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.http.*; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.client.RestTemplate; +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.concurrent.TimeUnit; + +import static cn.dev33.satoken.SaManager.log; public class NormalPGIControllerService { @@ -37,11 +42,39 @@ public class NormalPGIControllerService { private SAPCommonService sapCommonService; @Resource - private SapService sapService; + private IWmsSrmMaterialReceiptItemService wmsSrmMaterialReceiptItemService; + + @Resource + private IWmsSrmMaterialReceiptService wmsSrmMaterialReceiptService; + + @Resource + private RestTemplate restTemplate; + + @Resource + private IWmsInTaskService taskService; + + @Value("${srm.inspection.url}") + private String pushUrl; + + @Value("${srm.token.url}") + private String tokenUrl; + + @Value("${srm.token.user}") + private String oauthApp; + + @Value("${srm.token.pwd}") + private String oauthSecret; + + @Value("${srm.inspection.gateway.tag}") + private String gatewayTag; + + + @Resource + private StringRedisTemplate stringRedisTemplate; public PDAOrderVO getOrderItemByOrderNo(@RequestParam String orderNo) throws Exception { //return ApiResult.success(wmsSrmOrderItemService.getOrderItem(orderId)); - PDAOrderVO pdaOrderVO = null; + PDAOrderVO pdaOrderVO = new PDAOrderVO(); WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, orderNo).one(); if (Objects.isNull(order)) @@ -77,8 +110,8 @@ public class NormalPGIControllerService { itemVO.setBinNos(syncParamsDTO.getBinNos()); itemVO.setLbprt(syncParamsDTO.getLbprt()); itemVO.setTransportNum(syncParamsDTO.getTransportNum()); - boolean isQuality = false; - if (syncParamsDTO.getKzkri().equals("0")) + boolean isQuality ; + if (syncParamsDTO.getKzkri().equals("X")) isQuality = true; else isQuality = false; @@ -98,8 +131,19 @@ public class NormalPGIControllerService { @Transactional public void takeDelivery(List request) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("收货参数为空"); + List receipts = new ArrayList<>(); + List receiptitems = new ArrayList<>(); + List tasks = new ArrayList<>(); + List srmLineVOListItems = new ArrayList<>(); + request.forEach(item -> { - SAPMaterialInfoInOrderDTO materialInfoInOrder = sapService.getMaterialInfoInOrder(item.getPoNum(), item.getSupplierNum(), item.getItemCode()); + SAPSyncParamsDTO materialInfoInOrder = null; + try { + materialInfoInOrder = sapCommonService.getMaterialInfoInOrder(item.getPoNum(), item.getSupplierNum(), item.getItemCode()); + } catch (Exception e) { + log.error("获取物料信息失败", e); + throw new RuntimeException(e); + } VUtil.trueThrowBusinessError(Objects.isNull(materialInfoInOrder)).throwMessage("无法获取到有效订单信息" + item.getPoNum()); //判断收货数量是否大于了未收数量 VUtil.trueThrowBusinessError(item.getReceiptNum().add(item.getCrossNumber()).compareTo(materialInfoInOrder.getTransportNum()) > 0).throwMessage("无法获取到有效订单信息" + item.getPoNum()); @@ -118,10 +162,188 @@ public class NormalPGIControllerService { if (materialInfoInOrder.getLbprt().equals("3") || materialInfoInOrder.getLbprt().equals("4")) { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(item.getScanCodes()) || item.getScanCodes().stream().anyMatch(code -> StrUtil.isBlank(code.getSerialNumber()))).throwMessage("此物料[" + item.getItemCode() + "]必须填写序列号" + item.getPoNum()); } -// 保存收货信息 - //质检物料发送到质检单 - //生成上架任务 + List serialNumbers = new ArrayList<>(); + List batchNumbers = new ArrayList<>(); + boolean isQuality = materialInfoInOrder.getKzkri().equals("X") ? true : false; + if (!isQuality) { + // 保存收货信息 + WmsSrmMaterialReceipt receipt = new WmsSrmMaterialReceipt(); + Long receiptId = IdUtil.getSnowflakeNextId(); + receipt.setId(receiptId); + receipt.setOrderItemId(item.getOrderItemId()); + receipt.setReceiptNum(item.getReceiptNum()); + receipt.setCrossNumber(item.getCrossNumber()); + receipt.setIsQuality(isQuality); + receipt.setCreateTime(LocalDateTime.now()); + receipt.setCreateUserId(UserUtil.getUserId()); + receipt.setCreateUserName(UserUtil.getUserName()); + + + //条码内容 + 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(scanCode.getSerialNumber()); + 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 (!serialNumbers.contains(receiptItem.getSerialNumber())) { + serialNumbers.add(receiptItem.getSerialNumber()); + } + if (!batchNumbers.contains(receiptItem.getBatchNumber())) { + batchNumbers.add(receiptItem.getBatchNumber()); + } + }); + } + receipts.add(receipt); + //生成上架任务 + WmsInTaskItem taskItem = new WmsInTaskItem(); + taskItem.setPoNum(item.getPoNum()) + .setPoLineNumber(item.getPoLineNumber()) + .setLineNumber(String.valueOf(item.getLineNumber())) + .setNoteNum(item.getNoteNum()) + .setItemCode(item.getItemCode()) + .setItemName(materialInfoInOrder.getMaktx()) + .setUnit(materialInfoInOrder.getMeins()) + .setReceivedWarehouse(materialInfoInOrder.getWarehouseNo()) + .setStorageLocation(materialInfoInOrder.getBinNos()) + .setIsQuality(false) + .setUnqualifiedQty(new BigDecimal(0.00)) + .setQualifiedQty(item.getReceiptNum()) + .setUnqualifiedQty(new BigDecimal(0.00)) + .setQualifiedQty(item.getReceiptNum()) + .setFactory(materialInfoInOrder.getWerks()) + .setDataStatus((short) 0) + .setFailResult("") + .setSerialNumber(serialNumbers.isEmpty() ? "" : String.join(";", serialNumbers)) + .setBatchNumber(batchNumbers.isEmpty() ? "" : String.join(";", batchNumbers)) + .setInspectionQty(new BigDecimal(0.00)) + .setSupplierNum(item.getSupplierNum()) + .setInspectionOrder(""); + tasks.add(taskItem); + } else { + //质检物料发送到质检单 + SRMLineVOListItem srmItem = new SRMLineVOListItem(); + srmItem.setItemCode(item.getItemCode()); + srmItem.setItemName(materialInfoInOrder.getMaktx()); + srmItem.setUnit(materialInfoInOrder.getMeins()); + srmItem.setFactory(materialInfoInOrder.getWerks()); + srmItem.setReceivedWarehouse(materialInfoInOrder.getWarehouseNo()); + srmItem.setReceiveBatchNum(batchNumbers.isEmpty() ? "" : String.join(";", batchNumbers)); + srmItem.setReceivedQty(item.getReceiptNum()); + srmItem.setSerialNum(serialNumbers.isEmpty() ? "" : String.join(";", serialNumbers)); + srmItem.setLineNumber(Integer.valueOf(item.getLineNumber())); + srmItem.setNoteNum(item.getNoteNum()); + srmItem.setReceivedDate(DateTime.now()); + srmItem.setInspectionFlag("Y"); + srmLineVOListItems.add(srmItem); + } + }); + if (Objects.nonNull(srmLineVOListItems) && !srmLineVOListItems.isEmpty()) { + SrmMaterialReceiptQO receiptQO = request.get(0); + SRMInspectionInputDTO pushDto = new SRMInspectionInputDTO(); + SRMInspectionContentDTO content = new SRMInspectionContentDTO(); + content.setLineVOList(srmLineVOListItems); + content.setSupplierName(receiptQO.getSupplierName()); + content.setSupplierNum(receiptQO.getSupplierNum()); + content.setReceiveNum("ZJ-" + receiptQO.getNoteNum()); + content.setReceiveType("BY_DELIVERY"); + pushDto.setContent(content); + pushDto.setCode("SCAN_RCV_RECEIVE_TO_SRM"); + pushInspectionMaterialsToSRM(pushDto); + } + + if (Objects.nonNull(receipts) && !receipts.isEmpty()) { + wmsSrmMaterialReceiptService.saveBatch(receipts); + } + if (Objects.nonNull(receipts) && !receipts.isEmpty()) { + wmsSrmMaterialReceiptItemService.saveBatch(receiptitems); + } + if (Objects.nonNull(receipts) && !receipts.isEmpty()) { + if (!taskService.generateTask(tasks, (short) 1)) + log.error("收货单生成上架任务失败"); + } + } + + /** + * 将检验物料信息推送到SRM系统 + * + * @param request SRM检验输入数据传输对象,包含需要推送的检验物料信息 + */ + private void pushInspectionMaterialsToSRM(SRMInspectionInputDTO request) { + // 获取SRM系统认证Token + String token = GetSRMToken(); + VUtil.trueThrowBusinessError(token.trim().isEmpty()).throwMessage("获取SRM的TOKEN失败"); + + // 构建HTTP请求头信息 + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.add("AuthorizationCode", token); + headers.add("Gateway-Tag", gatewayTag); + HttpEntity requestEntity = new HttpEntity<>(request, headers); + + // 调用SRM认证接口获取新的Token + ResponseEntity> response = restTemplate.exchange( + pushUrl, + HttpMethod.POST, + requestEntity, + new ParameterizedTypeReference>() { + + } + ); + + // 记录推送结果日志并验证响应状态 + log.info("收货单推送SRM的结果:{},{}", response.getStatusCodeValue(), JSONUtil.toJsonStr(response.getBody())); + VUtil.trueThrowBusinessError(Objects.isNull(response.getBody()) || !response.getBody().getStatus().equals("S")).throwMessage("收货单推送SRM失败"); + } + + + /** + * 获取SRM系统认证Token + *

+ * 该方法首先尝试从Redis缓存中获取SRM Token,如果缓存中不存在或为空, + * 则通过OAuth认证接口重新获取Token并存入Redis缓存50分钟。 + * + * @return SRM系统认证Token字符串 + */ + private String GetSRMToken() { + + // 从Redis缓存中获取SRM Token + String srmToken = stringRedisTemplate.opsForValue().get("srm:token"); + if (srmToken == null || srmToken.trim().isEmpty()) { + // 构造HTTP请求头和请求体 + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + HttpEntity requestEntity = new HttpEntity<>(new SRMTokenInputDTO(oauthApp, oauthSecret), headers); + + // 调用SRM认证接口获取新的Token + ResponseEntity> response = restTemplate.exchange( + tokenUrl, + HttpMethod.POST, + requestEntity, + new ParameterizedTypeReference>() { + + } + ); + + // 提取返回的Token并存储到Redis缓存中,有效期50分钟 + String newToken = response.getBody() == null ? "" : response.getBody().getData().getAuthorizationCode(); + stringRedisTemplate.opsForValue().set("srm:token", newToken, 50, TimeUnit.MINUTES); + log.info("PushTagValue结果:{},{}", response.getStatusCodeValue(), JSONUtil.toJsonStr(response.getBody())); + } + + // 重新从Redis获取Token并返回 + srmToken = stringRedisTemplate.opsForValue().get("srm:token"); + return srmToken; } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java index f7899224..0bd8666a 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SAPCommonService.java @@ -1,7 +1,6 @@ package com.nflg.wms.admin.service; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.StrUtil; import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO; import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO; import com.nflg.wms.common.pojo.dto.SAPSyncParamsDTO; @@ -53,7 +52,6 @@ public class SAPCommonService { syncParams.setWarehouseNo(dbWarehouse.getWarehouseNo()); syncParams.setBinNos(dbWarehouse.getBinNos()); } - return syncParams; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMBaseDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMBaseDTO.java new file mode 100644 index 00000000..be20d1e3 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMBaseDTO.java @@ -0,0 +1,14 @@ +package com.nflg.wms.common.pojo.dto; + +import lombok.Data; + +@Data +public class SRMBaseDTO { + private String msg; + private String code; + private T data; + private Integer count; + private Integer page; + private String responseDate; + private String status; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMInspectionContentDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMInspectionContentDTO.java new file mode 100644 index 00000000..16c4b8bd --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMInspectionContentDTO.java @@ -0,0 +1,14 @@ +package com.nflg.wms.common.pojo.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class SRMInspectionContentDTO { + private String supplierName; + private String supplierNum; + private List lineVOList; + private String receiveNum; + private String receiveType; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMInspectionInputDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMInspectionInputDTO.java new file mode 100644 index 00000000..5a13cbb9 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMInspectionInputDTO.java @@ -0,0 +1,9 @@ +package com.nflg.wms.common.pojo.dto; + +import lombok.Data; + +@Data +public class SRMInspectionInputDTO { + private String code; + private SRMInspectionContentDTO content; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMLineVOListItem.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMLineVOListItem.java new file mode 100644 index 00000000..ed6a417b --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMLineVOListItem.java @@ -0,0 +1,22 @@ +package com.nflg.wms.common.pojo.dto; + +import cn.hutool.core.date.DateTime; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SRMLineVOListItem { + private String factory; + private String receiveBatchNum; + private String unit; + private String itemName; + private BigDecimal receivedQty; + private String serialNum; + private String receivedWarehouse; + private String itemCode; + private Integer lineNumber; + private String noteNum; + private DateTime receivedDate; + private String inspectionFlag; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMTokenDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMTokenDTO.java new file mode 100644 index 00000000..bbfb58ab --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMTokenDTO.java @@ -0,0 +1,10 @@ +package com.nflg.wms.common.pojo.dto; + +import lombok.Data; + +@Data +public class SRMTokenDTO { + private String oauthApp; + private String authorizationCode; + private String invalidDate; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMTokenInputDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMTokenInputDTO.java new file mode 100644 index 00000000..8c4b32ba --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/SRMTokenInputDTO.java @@ -0,0 +1,16 @@ +package com.nflg.wms.common.pojo.dto; + +import lombok.Data; + +@Data +public class SRMTokenInputDTO { + + private String oauthApp; + + private String oauthSecret; + + public SRMTokenInputDTO(String oauthApp, String oauthSecret) { + this.oauthApp = oauthApp; + this.oauthSecret = oauthSecret; + } +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SrmMaterialReceiptQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SrmMaterialReceiptQO.java index 3e7ebac3..334dab3c 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SrmMaterialReceiptQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/SrmMaterialReceiptQO.java @@ -19,7 +19,7 @@ public class SrmMaterialReceiptQO { /** * 送货单行号 - * */ + */ public String lineNumber; /** @@ -27,6 +27,10 @@ public class SrmMaterialReceiptQO { */ private String supplierNum; + /** + * 供应商编号 + */ + private String supplierName; /** * 采购订单号 @@ -50,7 +54,7 @@ public class SrmMaterialReceiptQO { private Long orderItemId; /** - * 收货数量,如果是需要质检的,数量为0 + * 收货数量 */ @NotNull private BigDecimal receiptNum; diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInTaskItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInTaskItem.java index 1cdb131a..b9d7d71d 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInTaskItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInTaskItem.java @@ -34,8 +34,14 @@ public class WmsInTaskItem implements Serializable { private String taskNumber; + /** + * 采购订单行号 + */ private String poLineNumber; + /** + * 采购订单号 + */ private String poNum; /** @@ -148,5 +154,10 @@ public class WmsInTaskItem implements Serializable { */ private LocalDateTime periodTime; - private String inspectionOrder; + private String inspectionOrder; + + /** + * 供应商编码 + */ + private String supplierNum; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmMaterialReceipt.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmMaterialReceipt.java index 18885a99..0dc2e6a2 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmMaterialReceipt.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsSrmMaterialReceipt.java @@ -57,7 +57,7 @@ public class WmsSrmMaterialReceipt implements Serializable { /** * 收货人编号 */ - private Integer createUserId; + private Long createUserId; /** * 收货人名称 diff --git a/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java b/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java index a29bb98c..49b09cb4 100644 --- a/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java +++ b/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java @@ -33,7 +33,7 @@ public class CodeGeneratorTest { ) .strategyConfig(builder -> { builder - .addInclude("wms_srm_material_receipt_item") //只生成指定表 + .addInclude("wms_in_task_item") //只生成指定表 .entityBuilder().idType(IdType.ASSIGN_ID) .enableLombok() .enableChainModel()