From 4df29ced3a6dc08ab99e49b6a0e3b345c0f07950 Mon Sep 17 00:00:00 2001 From: chenfang Date: Wed, 6 Dec 2023 16:59:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=BB=93=E7=AE=97=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomerreceiptRecordMainController.java | 61 ++++++++- .../vo/CustomerreceiptRecordMainExcelVO.java | 120 +++++++++++++++++- .../CustomerreturnJobMainController.java | 8 +- .../vo/CustomerreturnJobDetailBaseVO.java | 15 --- .../vo/CustomerreturnJobDetailRespVO.java | 17 +++ .../CustomerreceiptRecordMainConvert.java | 18 ++- .../CustomerreceiptRecordDetailMapper.java | 5 + .../CustomerreturnJobDetailMapper.java | 2 +- .../CustomerreceiptRecordDetailService.java | 1 + ...ustomerreceiptRecordDetailServiceImpl.java | 5 + .../CustomerreturnJobMainServiceImpl.java | 102 ++++++++------- 11 files changed, 269 insertions(+), 85 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordMainController.java index 054c7bd2..2324ecaf 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/CustomerreceiptRecordMainController.java @@ -1,9 +1,18 @@ package com.win.module.wms.controller.customerreceiptRecord; import com.win.framework.common.pojo.CustomConditions; +import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.customerreceiptRecord.vo.*; +import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainExcelVO; +import com.win.module.wms.controller.customerreturnJob.vo.CustomerreturnJobMainExportReqVO; +import com.win.module.wms.convert.customerreturnJob.CustomerreturnJobMainConvert; +import com.win.module.wms.dal.dataobject.customerreceiptRecord.CustomerreceiptRecordDetailDO; +import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO; +import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobMainDO; +import com.win.module.wms.enums.DictTypeConstants; +import com.win.module.wms.service.customerreceiptRecord.CustomerreceiptRecordDetailService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -39,6 +48,8 @@ public class CustomerreceiptRecordMainController { @Resource private CustomerreceiptRecordMainService customerreceiptRecordMainService; + @Resource + private CustomerreceiptRecordDetailService customerreceiptRecordDetailService; @Resource private AdminUserApi userApi; @@ -112,13 +123,51 @@ public class CustomerreceiptRecordMainController { HttpServletResponse response) throws IOException { List list = customerreceiptRecordMainService.getCustomerreceiptRecordMainList(exportReqVO); // 导出 Excel - List datas = CustomerreceiptRecordMainConvert.INSTANCE.convertList02(list); - for(CustomerreceiptRecordMainExcelVO vo : datas) { - AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); - //后端创建个字段作为前端展示的虚拟字段 - vo.setCreator(user.getNickname()); + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "发货任务.xls", "数据", CustomerreceiptRecordMainExcelVO.class, resultList,mapDropDown); + } + + @GetMapping("/export-excel-senior") + @Operation(summary = "导出客户退货任务 Excel") + @PreAuthorize("@ss.hasPermission('wms:customerreturn-record-main:export')") + @OperateLog(type = EXPORT) + public void exportCustomerreceiptRecordMainSeniorExcel(@Valid CustomerreceiptRecordMainExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = customerreceiptRecordMainService.getCustomerreceiptRecordMainList(exportReqVO); + // 导出 Excel + Map mapDropDown = new HashMap<>(); + List resultList = this.getExcelVo(list, mapDropDown); + ExcelUtils.write(response, "发货任务.xls", "数据", CustomerreceiptRecordMainExcelVO.class, resultList,mapDropDown); + } + + private List getExcelVo(List list, Map mapDropDown) { + String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); + mapDropDown.put(7, transferMode); + String[] interfaceType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INTERFACE_TYPE); + mapDropDown.put(18, interfaceType); + mapDropDown.put(54, interfaceType); + String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE); + mapDropDown.put(24, locationType); + mapDropDown.put(25, locationType); + String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); + mapDropDown.put(28, trueFalse); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(30, inventoryStatus); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(52, uom); + List resultList = new ArrayList<>(); + // 导出 + for(CustomerreceiptRecordMainDO mainDO : list) { + List subList = customerreceiptRecordDetailService.selectList(mainDO.getId()); + for(CustomerreceiptRecordDetailDO detailDO : subList) { + CustomerreceiptRecordMainExcelVO vo = CustomerreceiptRecordMainConvert.INSTANCE.convert(mainDO, detailDO); + vo.setCreator(userApi.getUser(Long.valueOf(vo.getCreator())).getNickname()); + vo.setCreatorDetail(userApi.getUser(Long.valueOf(vo.getCreatorDetail())).getNickname()); + resultList.add(vo); + } } - ExcelUtils.write(response, "客户收货记录主.xls", "数据", CustomerreceiptRecordMainExcelVO.class, datas); + return resultList; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/vo/CustomerreceiptRecordMainExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/vo/CustomerreceiptRecordMainExcelVO.java index 261dbede..5df89086 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/vo/CustomerreceiptRecordMainExcelVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreceiptRecord/vo/CustomerreceiptRecordMainExcelVO.java @@ -1,7 +1,10 @@ package com.win.module.wms.controller.customerreceiptRecord.vo; +import com.alibaba.excel.annotation.write.style.ColumnWidth; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; @@ -22,6 +25,9 @@ import com.win.framework.excel.core.convert.DictConvert; @Data public class CustomerreceiptRecordMainExcelVO { + @ExcelProperty("单据号") + private String number; + @ExcelProperty("申请单号") private String requestNumber; @@ -44,8 +50,7 @@ public class CustomerreceiptRecordMainExcelVO { @DictFormat("transfer_mode") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 private String transferMode; - @ExcelProperty(value = "车牌号", converter = DictConvert.class) - @DictFormat("vehicle_plate_number") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + @ExcelProperty("车牌号") private String vehiclePlateNumber; @ExcelProperty("从仓库代码") @@ -61,15 +66,19 @@ public class CustomerreceiptRecordMainExcelVO { private String inTransactionType; @ExcelProperty("执行时间") + @ColumnWidth(value = 22) private LocalDateTime executeTime; @ExcelProperty("生效日期") + @ColumnWidth(value = 22) private LocalDateTime activeDate; @ExcelProperty("申请时间") + @ColumnWidth(value = 22) private LocalDateTime requestTime; @ExcelProperty("截止时间") + @ColumnWidth(value = 22) private LocalDateTime dueTime; @ExcelProperty("部门") @@ -79,9 +88,6 @@ public class CustomerreceiptRecordMainExcelVO { @DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 private String interfaceType; - @ExcelProperty("单据号") - private String number; - @ExcelProperty("业务类型") private String businessType; @@ -89,6 +95,7 @@ public class CustomerreceiptRecordMainExcelVO { private String remark; @ExcelProperty("创建时间") + @ColumnWidth(value = 22) private LocalDateTime createTime; @ExcelProperty("创建者Id") @@ -111,7 +118,108 @@ public class CustomerreceiptRecordMainExcelVO { @ExcelProperty("到库区代码范围") private String toAreaCodes; - @ExcelProperty("是否可用") + @ExcelProperty(value = "是否可用", converter = DictConvert.class) + @DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 private String available; + //子表数据 +// @ExcelProperty("销售订单号") +// private String soNumber; +// +// @ExcelProperty("销售订单行") +// private String soLine; + + @ExcelProperty("从批次") + private String fromBatch; + + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat("inventory_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String inventoryStatus; + + @ExcelProperty("从货主代码") + private String fromOwnerCode; + + @ExcelProperty("从器具号") + private String fromContainerNumber; + + @ExcelProperty("从库位代码") + private String fromLocationCode; + + @ExcelProperty("从库位组代码") + private String fromLocationGroupCode; + + @ExcelProperty("从库区代码") + private String fromAreaCode; + + @ExcelProperty("到货主代码") + private String toOwnerCode; + + @ExcelProperty("到器具号") + private String toContainerNumber; + + @ExcelProperty("到库位代码") + private String toLocationCode; + + @ExcelProperty("到库位组代码") + private String toLocationGroupCode; + + @ExcelProperty("到库区代码") + private String toAreaCode; + + @ExcelProperty("单价") + private BigDecimal singlePrice; + + @ExcelProperty("金额") + private BigDecimal amount; + + @ExcelProperty("物品代码") + private String itemCode; + + @ExcelProperty("备注") + private String remarkDetail; + + @ExcelProperty("创建时间") + @ColumnWidth(value = 22) + private LocalDateTime createTimeDetail; + + @ExcelProperty("创建者Id") + private String creatorDetail; + + @ExcelProperty("物品名称") + private String itemName; + + @ExcelProperty("物品描述1") + private String itemDesc1; + + @ExcelProperty("物品描述2") + private String itemDesc2; + + @ExcelProperty("项目代码") + private String projectCode; + + @ExcelProperty("数量") + private BigDecimal qty; + + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat("uom") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String uom; + + @ExcelProperty("代码") + private String codeDetail; + + @ExcelProperty(value = "接口类型", converter = DictConvert.class) + @DictFormat("interface_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 + private String interfaceTypeDetail; + + @ExcelProperty("任务明细ID") + private String jobDetailId; + + @ExcelProperty("从包装号") + private String fromPackingNumber; + + @ExcelProperty("到包装号") + private String toPackingNumber; + + @ExcelProperty("到批次") + private String toBatch; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java index b8fc44cb..cdf14e7e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/CustomerreturnJobMainController.java @@ -215,7 +215,7 @@ public class CustomerreturnJobMainController { @PutMapping("/accept") @Operation(summary = "承接客户退货任务") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:accept')") + @PreAuthorize("@ss.hasPermission('wms:customerreturn-job-main:accept')") public CommonResult acceptCustomerreturnJobMain(@RequestParam("id") Long id) { Integer count = customerreturnJobMainService.acceptCustomerreturnJobMain(id); return success(count > 0); @@ -224,7 +224,7 @@ public class CustomerreturnJobMainController { @PutMapping("/abandon") @Operation(summary = "取消承接客户退货任务") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:abandon')") + @PreAuthorize("@ss.hasPermission('wms:customerreturn-job-main:abandon')") public CommonResult abandonCustomerreturnRequestMain(@RequestParam("id") Long id) { Integer count = customerreturnJobMainService.abandonCustomerreturnJobMain(id); return success(count > 0); @@ -233,7 +233,7 @@ public class CustomerreturnJobMainController { @PutMapping("/close") @Operation(summary = "关闭客户退货任务主") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:close')") + @PreAuthorize("@ss.hasPermission('wms:customerreturn-job-main:close')") public CommonResult closeCustomerreturnRequestMain(@RequestParam("id") Long id) { Integer count = customerreturnJobMainService.closeCustomerreturnJobMain(id); return success(count > 0); @@ -242,7 +242,7 @@ public class CustomerreturnJobMainController { @PutMapping("/execute") @Operation(summary = "执行客户退货任务主") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('wms:customerreturn-request-main:execute')") + @PreAuthorize("@ss.hasPermission('wms:customerreturn-job-main:execute')") public CommonResult closeCustomerreturnRequestMain(@Valid @RequestBody CustomerreturnJobMainUpdateReqVO updateReqVO) { String number = customerreturnJobMainService.executeCustomerreturnJobMain(updateReqVO); return success(number); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailBaseVO.java index bc6f6712..bd1cf816 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailBaseVO.java @@ -81,19 +81,4 @@ public class CustomerreturnJobDetailBaseVO { @Schema(description = "创建者Id") private String creator; - @Schema(description = "实际数量") - private BigDecimal handleQty; - - @Schema(description = "到包装号") - private String toPackingNumber; - - @Schema(description = "到器具号") - private String toContainerNumber; - - @Schema(description = "到批次") - private String toBatch; - - @Schema(description = "到库存状态") - private String toInventoryStatus; - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailRespVO.java index 0ad0aa36..918f82a1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnJob/vo/CustomerreturnJobDetailRespVO.java @@ -3,10 +3,27 @@ package com.win.module.wms.controller.customerreturnJob.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.math.BigDecimal; + @Schema(description = "管理后台 - 客户退货任务子 Response VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class CustomerreturnJobDetailRespVO extends CustomerreturnJobDetailBaseVO { + @Schema(description = "实际数量") + private BigDecimal handleQty; + + @Schema(description = "到包装号") + private String toPackingNumber; + + @Schema(description = "到器具号") + private String toContainerNumber; + + @Schema(description = "到批次") + private String toBatch; + + @Schema(description = "到库存状态") + private String toInventoryStatus; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreceiptRecord/CustomerreceiptRecordMainConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreceiptRecord/CustomerreceiptRecordMainConvert.java index 4305254d..7ed7dd2e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreceiptRecord/CustomerreceiptRecordMainConvert.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/customerreceiptRecord/CustomerreceiptRecordMainConvert.java @@ -8,7 +8,10 @@ import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRec import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordMainExcelVO; import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordMainRespVO; import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordMainUpdateReqVO; +import com.win.module.wms.dal.dataobject.customerreceiptRecord.CustomerreceiptRecordDetailDO; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Mappings; import org.mapstruct.factory.Mappers; import com.win.module.wms.dal.dataobject.customerreceiptRecord.CustomerreceiptRecordMainDO; @@ -33,5 +36,18 @@ public interface CustomerreceiptRecordMainConvert { PageResult convertPage(PageResult page); List convertList02(List list); - + @Mappings({ + @Mapping(source = "mainDO.number", target = "number"), + @Mapping(source = "mainDO.remark", target = "remark"), + @Mapping(source = "mainDO.createTime", target = "createTime"), + @Mapping(source = "mainDO.creator", target = "creator"), + @Mapping(source = "mainDO.updateTime", target = "updateTime"), + @Mapping(source = "mainDO.updater", target = "updater"), + @Mapping(source = "detailDO.remark", target = "remarkDetail"), + @Mapping(source = "detailDO.createTime", target = "createtimeDetail"), + @Mapping(source = "detailDO.creator", target = "creatorDetail"), + @Mapping(source = "detailDO.code", target = "codeDetail"), + @Mapping(source = "detailDO.interfaceType", target = "interfaceTypeDetail"), + }) + CustomerreceiptRecordMainExcelVO convert(CustomerreceiptRecordMainDO mainDO, CustomerreceiptRecordDetailDO detailDO); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRecord/CustomerreceiptRecordDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRecord/CustomerreceiptRecordDetailMapper.java index 019281be..db8475c2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRecord/CustomerreceiptRecordDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreceiptRecord/CustomerreceiptRecordDetailMapper.java @@ -10,6 +10,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailExportReqVO; import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailPageReqVO; import com.win.module.wms.dal.dataobject.customerreceiptRecord.CustomerreceiptRecordDetailDO; +import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO; import org.apache.ibatis.annotations.Mapper; /** @@ -98,4 +99,8 @@ public interface CustomerreceiptRecordDetailMapper extends BaseMapperX selectList(Long masterId){ + return selectList(new LambdaQueryWrapperX() + .eq(CustomerreceiptRecordDetailDO::getMasterId, masterId)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobDetailMapper.java index 5b541b25..cbdb4993 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/customerreturnJob/CustomerreturnJobDetailMapper.java @@ -22,7 +22,7 @@ public interface CustomerreturnJobDetailMapper extends BaseMapperX selectPage(CustomerreturnJobDetailPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eq(CustomerreturnJobDetailDO::getMasterId,reqVO.getMasterId()) + .eqIfPresent(CustomerreturnJobDetailDO::getMasterId,reqVO.getMasterId()) .eqIfPresent(CustomerreturnJobDetailDO::getSoNumber, reqVO.getSoNumber()) .eqIfPresent(CustomerreturnJobDetailDO::getSoLine, reqVO.getSoLine()) .eqIfPresent(CustomerreturnJobDetailDO::getPackingNumber, reqVO.getPackingNumber()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailService.java index 068ee5d4..31263d98 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailService.java @@ -79,4 +79,5 @@ public interface CustomerreceiptRecordDetailService { */ List getCustomerreceiptRecordDetailList(CustomerreceiptRecordDetailExportReqVO exportReqVO); + List selectList(Long masterId); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailServiceImpl.java index efa2ebcc..78b93367 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRecord/CustomerreceiptRecordDetailServiceImpl.java @@ -5,6 +5,7 @@ import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRec import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailExportReqVO; import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailPageReqVO; import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.customerreturnJob.CustomerreturnJobDetailDO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -87,4 +88,8 @@ public class CustomerreceiptRecordDetailServiceImpl implements CustomerreceiptRe return customerreceiptRecordDetailMapper.selectList(exportReqVO); } + @Override + public List selectList(Long masterId) { + return customerreceiptRecordDetailMapper.selectList(masterId); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java index a6d89139..ba4b3b36 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java @@ -276,57 +276,55 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe // } customerreturnJobDetailUpdateReqVOList.forEach(DetailUpdateItem -> { if (DetailUpdateItem.getId().equals(customerreturnJobDetailDO.getId())) { - List> recordList = DetailUpdateItem.getRecordList(); - recordList.forEach(recordListItem -> { - CustomerreturnRecordDetailDO customerreturnRecordDetailDO = new CustomerreturnRecordDetailDO(); - BeanUtils.copyProperties(customerreturnJobDetailDO, customerreturnRecordDetailDO); - customerreturnRecordDetailDO.setMasterId(customerreturnRecordMainDO.getId().toString()); - customerreturnRecordDetailDO.setNumber(number); - customerreturnRecordDetailDO.setJobDetailId(String.valueOf(customerreturnJobDetailDO.getId())); - customerreturnRecordDetailDO.setFromBatch(customerreturnJobDetailDO.getBatch()); - customerreturnRecordDetailDO.setQty(new BigDecimal(recordListItem.get("handleQty").toString())); - customerreturnRecordDetailDO.setToBatch(recordListItem.get("toBatch")==null?"":recordListItem.get("toBatch")); - customerreturnRecordDetailDO.setToPackingNumber(recordListItem.get("toPackingNumber")==null?"":recordListItem.get("toPackingNumber")); - customerreturnRecordDetailDO.setToContainerNumber(recordListItem.get("toContainerNumber")==null?"":recordListItem.get("toContainerNumber")); - customerreturnRecordDetailDO.setInventoryStatus(recordListItem.get("toInventoryStatus").toString()); - customerreturnRecordDetailDO.setFromPackingNumber(customerreturnJobDetailDO.getPackingNumber()); - customerreturnRecordDetailDO.setFromContainerNumber(customerreturnJobDetailDO.getContainerNumber()); - customerreturnRecordDetailDO.setFromLocationCode(customerreturnJobDetailDO.getFromLocationCode()); - LocationDO locationDOFrom = locationService.selectLocation(customerreturnJobDetailDO.getFromLocationCode()); - if(locationDOFrom != null){ - customerreturnRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode()); - customerreturnRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode()); - } - customerreturnRecordDetailDO.setToLocationCode(recordListItem.get("toLocationCode").toString()); - LocationDO locationDO = locationService.selectLocation(recordListItem.get("toLocationCode").toString()); - if(locationDO != null){ - customerreturnRecordDetailDO.setToAreaCode(locationDO.getAreaCode()); - customerreturnRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode()); - } - customerreturnRecordDetailDO.setId(null); - customerreturnRecordDetailDO.setCreator(null); - customerreturnRecordDetailDO.setCreateTime(null); - customerreturnRecordDetailDO.setUpdater(null); - customerreturnRecordDetailDO.setUpdateTime(null); - customerreturnRecordDetailDOList.add(customerreturnRecordDetailDO); - //添加库存事务list - TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); - BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO); - //增加业务类型 - transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); - TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); - transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); - transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); - transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType()); - transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode()); - transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode()); - transactionCreateReqVO.setRecordNumber(number); - transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch()); - transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber()); - transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); - transactionCreateReqVO.setId(null); - transactionCreateReqVOList.add(transactionCreateReqVO); - }); + List> recordList = DetailUpdateItem.getRecordList(); + CustomerreturnRecordDetailDO customerreturnRecordDetailDO = new CustomerreturnRecordDetailDO(); + BeanUtils.copyProperties(customerreturnJobDetailDO, customerreturnRecordDetailDO); + customerreturnRecordDetailDO.setMasterId(customerreturnRecordMainDO.getId().toString()); + customerreturnRecordDetailDO.setNumber(number); + customerreturnRecordDetailDO.setJobDetailId(String.valueOf(customerreturnJobDetailDO.getId())); + customerreturnRecordDetailDO.setFromBatch(customerreturnJobDetailDO.getBatch()); + customerreturnRecordDetailDO.setQty(customerreturnJobDetailDO.getQty()); + customerreturnRecordDetailDO.setToBatch(customerreturnJobDetailDO.getBatch()); + customerreturnRecordDetailDO.setToPackingNumber(customerreturnJobDetailDO.getPackingNumber()); + customerreturnRecordDetailDO.setToContainerNumber(customerreturnJobDetailDO.getContainerNumber()); + customerreturnRecordDetailDO.setInventoryStatus(customerreturnJobDetailDO.getInventoryStatus()); + customerreturnRecordDetailDO.setFromPackingNumber(customerreturnJobDetailDO.getPackingNumber()); + customerreturnRecordDetailDO.setFromContainerNumber(customerreturnJobDetailDO.getContainerNumber()); + customerreturnRecordDetailDO.setFromLocationCode(customerreturnJobDetailDO.getFromLocationCode()); + LocationDO locationDOFrom = locationService.selectLocation(customerreturnJobDetailDO.getFromLocationCode()); + if (locationDOFrom != null) { + customerreturnRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode()); + customerreturnRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode()); + } + customerreturnRecordDetailDO.setToLocationCode(customerreturnJobDetailDO.getToLocationCode()); + LocationDO locationDO = locationService.selectLocation(customerreturnJobDetailDO.getToLocationCode()); + if (locationDO != null) { + customerreturnRecordDetailDO.setToAreaCode(locationDO.getAreaCode()); + customerreturnRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode()); + } + customerreturnRecordDetailDO.setId(null); + customerreturnRecordDetailDO.setCreator(null); + customerreturnRecordDetailDO.setCreateTime(null); + customerreturnRecordDetailDO.setUpdater(null); + customerreturnRecordDetailDO.setUpdateTime(null); + customerreturnRecordDetailDOList.add(customerreturnRecordDetailDO); + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(customerreturnRecordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(customerreturnRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(customerreturnJobDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(customerreturnRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setBatch(customerreturnRecordDetailDO.getFromBatch()); + transactionCreateReqVO.setPackingNumber(customerreturnRecordDetailDO.getFromPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); } }); } @@ -337,7 +335,7 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe Long count = customerreturnJobMainMapper.selectListCount(typeList, customerreturnJobMainDO.getRequestNumber()); CustomerreturnRequestMainDO customerreturnRequestMainDO = customerreturnRequestMainMapper.selectByNumber(customerreturnJobMainDO.getRequestNumber()); //申请单下所有任务全部完成 - if(count == 0) { + if (count == 0) { customerreturnRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); customerreturnRequestMainMapper.updateById(customerreturnRequestMainDO); } else if(customerreturnRequestMainDO.getStatus().equals(RequestStatusEnum.HANDLING.getCode())) {//部分完成