rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ErpQueryController.java
@@ -102,4 +102,5 @@ } return receiveMsgService.queryTransfer(queryParams); } } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
@@ -2,10 +2,7 @@ import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.controller.erp.params.OrderParams; import com.vincent.rsf.server.api.controller.erp.params.SyncLocReviseParams; import com.vincent.rsf.server.api.controller.erp.params.SyncOrderParams; import com.vincent.rsf.server.api.controller.erp.params.SyncTransferParams; import com.vincent.rsf.server.api.controller.erp.params.*; import com.vincent.rsf.server.api.service.ReceiveMsgService; import com.vincent.rsf.server.common.annotation.OperationLog; import com.vincent.rsf.server.common.utils.ExcelUtil; @@ -189,6 +186,20 @@ } /** * @author Ryan * @date 2025/8/22 * @description: 盘点差异单同步 * @version 1.0 */ @PostMapping("/sync/check/result") @ApiOperation("盘点差异单同步") @OperationLog("盘点差异单") public R checkResult(@RequestBody SyncCheckDiffParams syncParams) { if (Objects.isNull(syncParams)) { return R.error("参数不能为空!!"); } return receiveMsgService.syncCheckDiffs(syncParams); } } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncCheckDiffParams.java
New file @@ -0,0 +1,22 @@ package com.vincent.rsf.server.api.controller.erp.params; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "SyncCheckDiffParams", description = "同步盘点差异单参数") public class SyncCheckDiffParams implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("差异编码") private List<String> diffCode; } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
@@ -15,7 +15,7 @@ private static final long serialVersionUID = 1L; @ApiModelProperty("单据类型{in: 收货入库单, out:出库单,check: 盘点单, revise: 库存调整 }") @ApiModelProperty("单据类型{in: 收货入库单, out:出库单,check: 盘点单, revise: 库存调整, }") private String type; @ApiModelProperty("单据明细信息") rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/CheckDiffDto.java
New file @@ -0,0 +1,24 @@ package com.vincent.rsf.server.api.controller.erp.params.dto; import com.vincent.rsf.server.manager.entity.CheckDiff; import com.vincent.rsf.server.manager.entity.CheckDiffItem; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import lombok.experimental.Delegate; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "CheckDiffDto", description = "盘点差异单") public class CheckDiffDto implements Serializable { @Delegate private CheckDiff checkDiff; @ApiModelProperty("差异单明细") List<CheckDiffItem> items; } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/TransferInfoDto.java
File was renamed from rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TransferInfoDto.java @@ -1,4 +1,4 @@ package com.vincent.rsf.server.api.controller.erp.params; package com.vincent.rsf.server.api.controller.erp.params.dto; import com.vincent.rsf.server.manager.entity.Transfer; import com.vincent.rsf.server.manager.entity.TransferItem; rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/dto/WkOrderDto.java
File was renamed from rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/WkOrderDto.java @@ -1,4 +1,4 @@ package com.vincent.rsf.server.api.controller.erp.params; package com.vincent.rsf.server.api.controller.erp.params.dto; import com.vincent.rsf.server.manager.entity.WkOrder; import com.vincent.rsf.server.manager.entity.WkOrderItem; rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -139,4 +139,12 @@ * @version 1.0 */ R queryTransfer(QueryOrderParam transferParams); /** * @author Ryan * @date 2025/8/22 * @description: 上报盘点差异单 * @version 1.0 */ R syncCheckDiffs(SyncCheckDiffParams syncParams); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -9,6 +9,9 @@ import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.controller.erp.params.*; import com.vincent.rsf.server.api.controller.erp.params.dto.CheckDiffDto; import com.vincent.rsf.server.api.controller.erp.params.dto.TransferInfoDto; import com.vincent.rsf.server.api.controller.erp.params.dto.WkOrderDto; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.controller.dto.LocStockDto; @@ -16,7 +19,6 @@ import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl; import com.vincent.rsf.server.manager.service.impl.TransferItemServiceImpl; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.entity.Fields; import com.vincent.rsf.server.system.service.FieldsItemService; @@ -24,7 +26,6 @@ import com.vincent.rsf.server.system.utils.SerialRuleUtils; import com.vincent.rsf.server.api.service.ReceiveMsgService; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -51,8 +52,6 @@ @Autowired private FieldsService fieldsService; @Autowired private FieldsItemService fieldsItemService; @Autowired private MatnrGroupService matnrGroupService; @Autowired private MatnrServiceImpl matnrService; @@ -66,8 +65,6 @@ private DeliveryItemService deliveryItemService; @Autowired private LocService locService; @Autowired private LocItemService locItemService; @Autowired private WarehouseAreasService warehouseAreasService; @Autowired @@ -84,6 +81,10 @@ private ReviseLogService reviseLogService; @Autowired private ReviseLogItemService reviseLogItemService; @Autowired private CheckDiffService checkDiffService; @Autowired private CheckDiffItemService checkDiffItemService; /** @@ -632,4 +633,31 @@ wkorderDto.setTransfer(transfer).setItems(orderItems); return R.ok().add(wkorderDto); } /** * @author Ryan * @date 2025/8/22 * @description: 盘点差异单同步 * @version 1.0 */ @Override @Transactional(timeout = 60, rollbackFor = Exception.class) public R syncCheckDiffs(SyncCheckDiffParams syncParams) { List<CheckDiff> diffs = checkDiffService.list(new LambdaQueryWrapper<CheckDiff>() .eq(CheckDiff::getExceStatus, CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val) .in(CheckDiff::getOrderCode, syncParams.getDiffCode())); if (diffs.isEmpty()) { return R.ok(); } List<CheckDiffDto> dtos = new ArrayList<>(); diffs.forEach(check -> { CheckDiffDto dto = new CheckDiffDto(); BeanUtils.copyProperties(check, dto); List<CheckDiffItem> items = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>().eq(CheckDiffItem::getCheckId, check.getId())); dto.setItems(items); dtos.add(dto); }); return R.ok().add(dtos); } }