Browse Source

补料任务

master
陈薪名 2 years ago
parent
commit
cdb7c3dce7
  1. 100
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/RepleinshJobMainController.java
  2. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobDetailPageReqVO.java
  3. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobDetailUpdateReqVO.java
  4. 90
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobMainExcelVO.java
  5. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobMainUpdateReqVO.java
  6. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshJob/RepleinshJobMainConvert.java
  7. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/repleinshRecord/RepleinshRecordDetailDO.java
  8. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/repleinshJob/RepleinshJobDetailMapper.java
  9. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/repleinshJob/RepleinshJobMainMapper.java
  10. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java
  11. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobDetailService.java
  12. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobDetailServiceImpl.java
  13. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobMainService.java
  14. 236
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobMainServiceImpl.java

100
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/RepleinshJobMainController.java

@ -1,10 +1,12 @@
package com.win.module.wms.controller.repleinshJob; package com.win.module.wms.controller.repleinshJob;
import com.win.framework.common.pojo.CustomConditions; 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.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.convert.repleinshJob.RepleinshJobDetailConvert; import com.win.module.wms.convert.repleinshJob.RepleinshJobDetailConvert;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO; import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.repleinshJob.RepleinshJobDetailService; import com.win.module.wms.service.repleinshJob.RepleinshJobDetailService;
import jodd.util.StringUtil; import jodd.util.StringUtil;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -110,23 +112,105 @@ public class RepleinshJobMainController {
return success(RepleinshJobMainConvert.INSTANCE.convertPage(pageResult)); return success(RepleinshJobMainConvert.INSTANCE.convertPage(pageResult));
} }
private List<RepleinshJobMainExcelVO> getExcelVo(List<RepleinshJobMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] locationType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.LOCATION_TYPE);
mapDropDown.put(14, locationType);
mapDropDown.put(15, locationType);
String[] areaType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.AREA_TYPE);
mapDropDown.put(23, areaType);
mapDropDown.put(24, areaType);
String[] trueFalse = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE);
mapDropDown.put(25, trueFalse);
mapDropDown.put(26, trueFalse);
mapDropDown.put(27, trueFalse);
mapDropDown.put(28, trueFalse);
mapDropDown.put(29, trueFalse);
mapDropDown.put(30, trueFalse);
mapDropDown.put(31, trueFalse);
mapDropDown.put(32, trueFalse);
mapDropDown.put(33, trueFalse);
mapDropDown.put(34, trueFalse);
mapDropDown.put(35, trueFalse);
mapDropDown.put(36, trueFalse);
String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS);
mapDropDown.put(40, inventoryStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(49, uom);
List<RepleinshJobMainExcelVO> resultList = new ArrayList<>();
// 导出
for(RepleinshJobMainDO mainDO : list) {
List<RepleinshJobDetailDO> subList = repleinshJobDetailService.selectList(mainDO.getId());
for(RepleinshJobDetailDO detailDO : subList) {
RepleinshJobMainExcelVO vo = RepleinshJobMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(mainDO.getCreator()));
vo.setCreator(user.getNickname());
vo.setUpdater(user.getNickname());
resultList.add(vo);
}
}
return resultList;
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出补料任务主 Excel") @Operation(summary = "导出补料任务 Excel")
@PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:export')") @PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:export')")
@OperateLog(type = EXPORT) @OperateLog(type = EXPORT)
public void exportRepleinshJobMainExcel(@Valid RepleinshJobMainExportReqVO exportReqVO, public void exportRepleinshJobMainExcel(@Valid RepleinshJobMainExportReqVO exportReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
List<RepleinshJobMainDO> list = repleinshJobMainService.getRepleinshJobMainList(exportReqVO); List<RepleinshJobMainDO> list = repleinshJobMainService.getRepleinshJobMainList(exportReqVO);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<RepleinshJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel // 导出 Excel
List<RepleinshJobMainExcelVO> datas = RepleinshJobMainConvert.INSTANCE.convertList02(list); ExcelUtils.write(response, "补料任务.xlsx", "补料任务", RepleinshJobMainExcelVO.class, resultList, mapDropDown);
for(RepleinshJobMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "补料任务主.xls", "数据", RepleinshJobMainExcelVO.class, datas);
} }
@PostMapping("/export-excel-senior")
@Operation(summary = "导出补料任务 Excel")
@PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:export')")
@OperateLog(type = EXPORT)
public void exportRepleinshJobMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<RepleinshJobMainDO> list = repleinshJobMainService.getRepleinshJobMainList(conditions);
//组装vo
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<RepleinshJobMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
// 导出 Excel
ExcelUtils.write(response, "发料任务.xlsx", "发料任务", RepleinshJobMainExcelVO.class, resultList, mapDropDown);
}
@PutMapping(value = "/accept")
@Operation(summary = "承接任务")
@PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:accept')")
public CommonResult<Boolean> acceptRepleinshJobMain(@RequestParam("id") Long id) {
int result = repleinshJobMainService.acceptRepleinshJobMain(id);
return success(result > 0);
}
@PutMapping(value = "/abandon")
@Operation(summary = "放弃任务")
@PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:abandon')")
public CommonResult<Boolean> abandonRepleinshJobMain(@RequestParam("id") Long id) {
int result = repleinshJobMainService.abandonRepleinshJobMain(id);
return success(result > 0);
}
@PutMapping(value = "/close")
@Operation(summary = "关闭任务")
@PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:close')")
public CommonResult<Boolean> closeRepleinshJobMain(@RequestParam("id") Long id) {
int result = repleinshJobMainService.closeRepleinshJobMain(id);
return success(result > 0);
}
@PutMapping("/execute")
@Operation(summary = "执行任务")
@PreAuthorize("@ss.hasPermission('wms:repleinsh-job-main:execute')")
public CommonResult<Boolean> executeRepleinshJobMain(@Valid @RequestBody RepleinshJobMainUpdateReqVO updateReqVO) {
Integer count = repleinshJobMainService.executeRepleinshJobMain(updateReqVO);
return success(count > 0);
}
@GetMapping("/getRepleinshJobById") @GetMapping("/getRepleinshJobById")
@Operation(summary = "APP获得补料任务主子表明细列表") @Operation(summary = "APP获得补料任务主子表明细列表")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobDetailPageReqVO.java

@ -75,4 +75,8 @@ public class RepleinshJobDetailPageReqVO extends PageParam {
@Schema(description = "到货主代码") @Schema(description = "到货主代码")
private String toOwnerCode; private String toOwnerCode;
@Schema(description = "主表ID")
private String masterId;
} }

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobDetailUpdateReqVO.java

@ -3,10 +3,14 @@ package com.win.module.wms.controller.repleinshJob.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.List;
import java.util.Map;
@Schema(description = "管理后台 - 补料任务子更新 Request VO") @Schema(description = "管理后台 - 补料任务子更新 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class RepleinshJobDetailUpdateReqVO extends RepleinshJobDetailBaseVO { public class RepleinshJobDetailUpdateReqVO extends RepleinshJobDetailBaseVO {
@Schema(description = "子表记录数据")
private List<Map<String,Object>> recordLst;
} }

90
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobMainExcelVO.java

@ -1,5 +1,7 @@
package com.win.module.wms.controller.repleinshJob.vo; package com.win.module.wms.controller.repleinshJob.vo;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusConverter;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -33,8 +35,7 @@ public class RepleinshJobMainExcelVO {
@ExcelProperty("要求截止时间") @ExcelProperty("要求截止时间")
private LocalDateTime requestDueTime; private LocalDateTime requestDueTime;
@ExcelProperty(value = "状态", converter = DictConvert.class) @ExcelProperty(value = "状态", converter = JobStatusConverter.class)
@DictFormat("job_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status; private String status;
@ExcelProperty("过期时间") @ExcelProperty("过期时间")
@ -46,10 +47,6 @@ public class RepleinshJobMainExcelVO {
@ExcelProperty("最后更新者Id") @ExcelProperty("最后更新者Id")
private String updater; private String updater;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("job_stage_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String jobStageStatus;
@ExcelProperty("优先级") @ExcelProperty("优先级")
private Integer priority; private Integer priority;
@ -72,11 +69,11 @@ public class RepleinshJobMainExcelVO {
private LocalDateTime completeTime; private LocalDateTime completeTime;
@ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String fromLocationTypes; private String fromLocationTypes;
@ExcelProperty(value = "到库位类型范围", converter = DictConvert.class) @ExcelProperty(value = "到库位类型范围", converter = DictConvert.class)
@DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.LOCATION_TYPE)
private String toLocationTypes; private String toLocationTypes;
@ExcelProperty("单据号") @ExcelProperty("单据号")
@ -100,50 +97,99 @@ public class RepleinshJobMainExcelVO {
@ExcelProperty("到仓库代码") @ExcelProperty("到仓库代码")
private String toWarehouseCode; private String toWarehouseCode;
@ExcelProperty("从库区代码范围") @ExcelProperty(value = "从库区代码范围", converter = DictConvert.class)
@DictFormat(DictTypeConstants.AREA_TYPE)
private String fromAreaCodes; private String fromAreaCodes;
@ExcelProperty("到库区代码范围") @ExcelProperty(value = "到库区代码范围", converter = DictConvert.class)
@DictFormat(DictTypeConstants.AREA_TYPE)
private String toAreaCodes; private String toAreaCodes;
@ExcelProperty(value = "自动完成", converter = DictConvert.class) @ExcelProperty(value = "自动完成", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String autoComplete; private String autoComplete;
@ExcelProperty(value = "允许修改库位", converter = DictConvert.class) @ExcelProperty(value = "允许修改库位", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyLocation; private String allowModifyLocation;
@ExcelProperty(value = "允许修改数量", converter = DictConvert.class) @ExcelProperty(value = "允许修改数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyQty; private String allowModifyQty;
@ExcelProperty(value = "允许大于推荐数量", converter = DictConvert.class) @ExcelProperty(value = "允许大于推荐数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowBiggerQty; private String allowBiggerQty;
@ExcelProperty(value = "允许小于推荐数量", converter = DictConvert.class) @ExcelProperty(value = "允许小于推荐数量", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowSmallerQty; private String allowSmallerQty;
@ExcelProperty(value = "允许修改库存状态", converter = DictConvert.class) @ExcelProperty(value = "允许修改库存状态", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyInventoryStatus; private String allowModifyInventoryStatus;
@ExcelProperty(value = "允许连续扫描", converter = DictConvert.class) @ExcelProperty(value = "允许连续扫描", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowContinuousScanning; private String allowContinuousScanning;
@ExcelProperty(value = "允许部分完成", converter = DictConvert.class) @ExcelProperty(value = "允许部分完成", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowPartialComplete; private String allowPartialComplete;
@ExcelProperty(value = "允许修改箱码", converter = DictConvert.class)
@DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyPackingNumber;
@ExcelProperty(value = "允许修改批次", converter = DictConvert.class) @ExcelProperty(value = "允许修改批次", converter = DictConvert.class)
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 @DictFormat(DictTypeConstants.TRUE_FALSE)
private String allowModifyBatch; private String allowModifyBatch;
@ExcelProperty(value = "允许修改箱码", converter = DictConvert.class) @ExcelProperty("包装号")
@DictFormat("true_false") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 private String packingNumber;
private String allowModifyPackingNumber;
@ExcelProperty("器具号")
private String containerNumber;
@ExcelProperty("批次")
private String batch;
@ExcelProperty(value = "库存状态", converter = DictConvert.class)
@DictFormat(DictTypeConstants.INVENTORY_STATUS)
private String inventoryStatus;
@ExcelProperty("从库位代码")
private String fromLocationCode;
@ExcelProperty("到库位代码")
private String toLocationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("物品名称")
private String itemName;
@ExcelProperty("物品描述1")
private String itemDesc1;
@ExcelProperty("物品描述2")
private String itemDesc2;
@ExcelProperty("项目代码")
private String projectCode;
@ExcelProperty("数量")
private String qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty("从货主代码")
private String fromOwnerCode;
@ExcelProperty("到货主代码")
private String toOwnerCode;
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/repleinshJob/vo/RepleinshJobMainUpdateReqVO.java

@ -1,12 +1,17 @@
package com.win.module.wms.controller.repleinshJob.vo; package com.win.module.wms.controller.repleinshJob.vo;
import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import javax.validation.Valid;
import java.util.List;
@Schema(description = "管理后台 - 补料任务主更新 Request VO") @Schema(description = "管理后台 - 补料任务主更新 Request VO")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true) @ToString(callSuper = true)
public class RepleinshJobMainUpdateReqVO extends RepleinshJobMainBaseVO { public class RepleinshJobMainUpdateReqVO extends RepleinshJobMainBaseVO {
@Schema(description = "子表数据")
private List<@Valid RepleinshJobDetailUpdateReqVO> subList;
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/repleinshJob/RepleinshJobMainConvert.java

@ -8,7 +8,10 @@ import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainCreateReqVO
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainExcelVO; import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainExcelVO;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainRespVO; import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainRespVO;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainUpdateReqVO; import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobMainDO; import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobMainDO;
@ -34,4 +37,13 @@ public interface RepleinshJobMainConvert {
List<RepleinshJobMainExcelVO> convertList02(List<RepleinshJobMainDO> list); List<RepleinshJobMainExcelVO> convertList02(List<RepleinshJobMainDO> 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"),
})
RepleinshJobMainExcelVO convert(RepleinshJobMainDO mainDO, RepleinshJobDetailDO detailDO);
} }

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/repleinshRecord/RepleinshRecordDetailDO.java

@ -148,5 +148,9 @@ public class RepleinshRecordDetailDO extends BaseDO {
* 到批次 * 到批次
*/ */
private String toBatch; private String toBatch;
/**
* 供应商代码
*/
private String supplierCode;
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/repleinshJob/RepleinshJobDetailMapper.java

@ -9,6 +9,7 @@ import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobDetailExportReqVO; import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobDetailExportReqVO;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobDetailPageReqVO; import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO; import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -22,6 +23,7 @@ public interface RepleinshJobDetailMapper extends BaseMapperX<RepleinshJobDetail
default PageResult<RepleinshJobDetailDO> selectPage(RepleinshJobDetailPageReqVO reqVO) { default PageResult<RepleinshJobDetailDO> selectPage(RepleinshJobDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<RepleinshJobDetailDO>() return selectPage(reqVO, new LambdaQueryWrapperX<RepleinshJobDetailDO>()
.eqIfPresent(RepleinshJobDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(RepleinshJobDetailDO::getPackingNumber, reqVO.getPackingNumber()) .eqIfPresent(RepleinshJobDetailDO::getPackingNumber, reqVO.getPackingNumber())
.eqIfPresent(RepleinshJobDetailDO::getContainerNumber, reqVO.getContainerNumber()) .eqIfPresent(RepleinshJobDetailDO::getContainerNumber, reqVO.getContainerNumber())
.eqIfPresent(RepleinshJobDetailDO::getBatch, reqVO.getBatch()) .eqIfPresent(RepleinshJobDetailDO::getBatch, reqVO.getBatch())
@ -71,4 +73,10 @@ public interface RepleinshJobDetailMapper extends BaseMapperX<RepleinshJobDetail
.orderByDesc(RepleinshJobDetailDO::getId)); .orderByDesc(RepleinshJobDetailDO::getId));
} }
default List<RepleinshJobDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<RepleinshJobDetailDO>()
.eq(RepleinshJobDetailDO::getMasterId, masterId));
}
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/repleinshJob/RepleinshJobMainMapper.java

@ -125,4 +125,7 @@ public interface RepleinshJobMainMapper extends BaseMapperX<RepleinshJobMainDO>
} }
default List<RepleinshJobMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
} }

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobMainServiceImpl.java

@ -42,6 +42,7 @@ import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService; import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.jobsetting.JobsettingService;
import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
@ -75,6 +76,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated @Validated
public class IssueJobMainServiceImpl implements IssueJobMainService { public class IssueJobMainServiceImpl implements IssueJobMainService {
@Resource
private RecordsettingService recordsettingService;
@Resource @Resource
private SupplieritemService supplieritemService; private SupplieritemService supplieritemService;
@Resource @Resource
@ -245,14 +248,22 @@ public class IssueJobMainServiceImpl implements IssueJobMainService {
String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode());
issueRecordMainDO.setNumber(number); issueRecordMainDO.setNumber(number);
issueRecordMainDO.setJobNumber(issueJobMainDO.getNumber()); issueRecordMainDO.setJobNumber(issueJobMainDO.getNumber());
issueRecordMainDO.setId(null);
issueRecordMainDO.setWorkshopCode(issueJobMainDO.getWorkShopCode()); issueRecordMainDO.setWorkshopCode(issueJobMainDO.getWorkShopCode());
issueRecordMainDO.setExecuteTime(LocalDateTime.now());
issueRecordMainDO.setActiveDate(LocalDateTime.now());
issueRecordMainDO.setAvailable("TRUE");
issueRecordMainDO.setDueTime(issueJobMainDO.getRequestDueTime());
issueRecordMainDO.setId(null);
issueRecordMainDO.setCreator(null); issueRecordMainDO.setCreator(null);
issueRecordMainDO.setCreateTime(null); issueRecordMainDO.setCreateTime(null);
issueRecordMainDO.setUpdater(null); issueRecordMainDO.setUpdater(null);
issueRecordMainDO.setUpdateTime(null); issueRecordMainDO.setUpdateTime(null);
// 接口类型
issueRecordMainDO.setInterfaceType(recordsettingService.selectRecordsettingExist("IssueRecord").getInterfaceType());
//增加业务类型 //增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueJob"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRecord");
issueRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
issueRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType());
issueRecordMainDO.setBusinessType(businesstypeDO.getCode()); issueRecordMainDO.setBusinessType(businesstypeDO.getCode());
issueRecordMainMapper.insert(issueRecordMainDO); issueRecordMainMapper.insert(issueRecordMainDO);
// 获取参数中的sublist // 获取参数中的sublist
@ -300,7 +311,7 @@ public class IssueJobMainServiceImpl implements IssueJobMainService {
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(issueRecordDetailDO, transactionCreateReqVO); BeanUtils.copyProperties(issueRecordDetailDO, transactionCreateReqVO);
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setWorker(issueRecordDetailDO.getCreator()); transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(issueRecordMainDO.getBusinessType()); transactionCreateReqVO.setBusinessType(issueRecordMainDO.getBusinessType());

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobDetailService.java

@ -79,4 +79,5 @@ public interface RepleinshJobDetailService {
*/ */
List<RepleinshJobDetailDO> getRepleinshJobDetailList(RepleinshJobDetailExportReqVO exportReqVO); List<RepleinshJobDetailDO> getRepleinshJobDetailList(RepleinshJobDetailExportReqVO exportReqVO);
List<RepleinshJobDetailDO> selectList(Long id);
} }

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobDetailServiceImpl.java

@ -83,4 +83,9 @@ public class RepleinshJobDetailServiceImpl implements RepleinshJobDetailService
return repleinshJobDetailMapper.selectList(exportReqVO); return repleinshJobDetailMapper.selectList(exportReqVO);
} }
@Override
public List<RepleinshJobDetailDO> selectList(Long masterId) {
return repleinshJobDetailMapper.selectList(masterId);
}
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobMainService.java

@ -96,4 +96,14 @@ public interface RepleinshJobMainService {
* @return * @return
*/ */
Map<String,Integer> getCountByStatus(@Nullable Collection<String> types); Map<String,Integer> getCountByStatus(@Nullable Collection<String> types);
List<RepleinshJobMainDO> getRepleinshJobMainList(CustomConditions conditions);
Integer acceptRepleinshJobMain(Long id);
Integer abandonRepleinshJobMain(Long id);
Integer executeRepleinshJobMain(RepleinshJobMainUpdateReqVO updateReqVO);
Integer closeRepleinshJobMain(Long id);
} }

236
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/repleinshJob/RepleinshJobMainServiceImpl.java

@ -1,15 +1,41 @@
package com.win.module.wms.service.repleinshJob; package com.win.module.wms.service.repleinshJob;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainCreateReqVO; import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainExportReqVO; import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainPageReqVO; import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.wms.controller.repleinshJob.vo.RepleinshJobMainUpdateReqVO; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.repleinshJob.vo.*;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobDetailDO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordDetailDO;
import com.win.module.wms.dal.dataobject.repleinshRecord.RepleinshRecordMainDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.repleinshRecord.RepleinshRecordDetailMapper;
import com.win.module.wms.dal.mysql.repleinshRecord.RepleinshRecordMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.expectout.ExpectoutService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobMainDO; import com.win.module.wms.dal.dataobject.repleinshJob.RepleinshJobMainDO;
@ -19,6 +45,7 @@ import com.win.module.wms.convert.repleinshJob.RepleinshJobMainConvert;
import com.win.module.wms.dal.mysql.repleinshJob.RepleinshJobMainMapper; import com.win.module.wms.dal.mysql.repleinshJob.RepleinshJobMainMapper;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
import static com.win.module.wms.enums.ErrorCodeConstants.*; import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
@ -30,6 +57,30 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated @Validated
public class RepleinshJobMainServiceImpl implements RepleinshJobMainService { public class RepleinshJobMainServiceImpl implements RepleinshJobMainService {
@Resource
private ExpectinService expectinService;
@Resource
private ExpectoutService expectoutService;
@Resource
private TransactionService transactionService;
@Resource
private RepleinshRecordDetailMapper repleinshRecordDetailMapper;
@Resource
private LocationService locationService;
@Resource
private RecordsettingService recordsettingService;
@Resource
private RepleinshRecordMainMapper repleinshRecordMainMapper;
@Resource
private JobUtils jobUtils;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private RepleinshJobDetailService repleinshJobDetailService;
@Resource
private TrendsApi trendsApi;
@Resource
private AdminUserApi userApi;
@Resource @Resource
private RepleinshJobMainMapper repleinshJobMainMapper; private RepleinshJobMainMapper repleinshJobMainMapper;
@ -59,10 +110,12 @@ public class RepleinshJobMainServiceImpl implements RepleinshJobMainService {
repleinshJobMainMapper.deleteById(id); repleinshJobMainMapper.deleteById(id);
} }
private void validateRepleinshJobMainExists(Long id) { private RepleinshJobMainDO validateRepleinshJobMainExists(Long id) {
if (repleinshJobMainMapper.selectById(id) == null) { RepleinshJobMainDO repleinshJobMainDO = repleinshJobMainMapper.selectById(id);
if (repleinshJobMainDO == null) {
throw exception(REPLEINSH_JOB_MAIN_NOT_EXISTS); throw exception(REPLEINSH_JOB_MAIN_NOT_EXISTS);
} }
return repleinshJobMainDO;
} }
@Override @Override
public PageResult<RepleinshJobMainDO> getRepleinshJobMainSenior(CustomConditions conditions) { public PageResult<RepleinshJobMainDO> getRepleinshJobMainSenior(CustomConditions conditions) {
@ -109,4 +162,175 @@ public class RepleinshJobMainServiceImpl implements RepleinshJobMainService {
map.put("count", l.intValue()); map.put("count", l.intValue());
return map; return map;
} }
@Override
public List<RepleinshJobMainDO> getRepleinshJobMainList(CustomConditions conditions) {
return repleinshJobMainMapper.selectSeniorList(conditions);
}
@Override
@Transactional
public Integer acceptRepleinshJobMain(Long id) {
RepleinshJobMainDO repleinshJobMainDO = this.validateRepleinshJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(repleinshJobMainDO.getStatus());
if(!jobStatusState.accept()) {
throw exception(REPLEINSH_JOB_MAIN_STATUS_ERROR);
}
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
repleinshJobMainDO.setStatus(jobStatusState.getState().getCode());
repleinshJobMainDO.setAcceptUserId(String.valueOf(userId));
repleinshJobMainDO.setAcceptUserName(userRespDTO.getNickname());
repleinshJobMainDO.setAcceptTime(LocalDateTime.now());
trendsApi.createTrends(id, "repleinshJob", "承接了补料任务", TrendsTypeEnum.UPDATE);
return repleinshJobMainMapper.updateById(repleinshJobMainDO);
}
@Override
@Transactional
public Integer abandonRepleinshJobMain(Long id) {
RepleinshJobMainDO repleinshJobMainDO = this.validateRepleinshJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(repleinshJobMainDO.getStatus());
if(!jobStatusState.cancelAccept()) {
throw exception(REPLEINSH_JOB_MAIN_STATUS_ERROR);
}
repleinshJobMainDO.setStatus(jobStatusState.getState().getCode());
repleinshJobMainDO.setAcceptUserId(null);
repleinshJobMainDO.setAcceptUserName(null);
repleinshJobMainDO.setAcceptTime(null);
trendsApi.createTrends(id, "repleinshJob", "取消了补料任务", TrendsTypeEnum.UPDATE);
return repleinshJobMainMapper.updateById(repleinshJobMainDO);
}
@Override
@Transactional
public Integer closeRepleinshJobMain(Long id) {
RepleinshJobMainDO repleinshJobMainDO = this.validateRepleinshJobMainExists(id);
JobStatusState jobStatusState = new JobStatusState(repleinshJobMainDO.getStatus());
if(!jobStatusState.close()) {
throw exception(REPLEINSH_JOB_MAIN_STATUS_ERROR);
}
repleinshJobMainDO.setStatus(jobStatusState.getState().getCode());
trendsApi.createTrends(id, "repleinshJob", "关闭了补料任务", TrendsTypeEnum.UPDATE);
return repleinshJobMainMapper.updateById(repleinshJobMainDO);
}
@Override
@Transactional
public Integer executeRepleinshJobMain(RepleinshJobMainUpdateReqVO repleinshJobMainUpdateReqVO) {
//查询数据
RepleinshJobMainDO repleinshJobMainDO = this.validateRepleinshJobMainExists(repleinshJobMainUpdateReqVO.getId());
List<RepleinshJobDetailDO> subList = repleinshJobDetailService.selectList(repleinshJobMainDO.getId());
JobStatusState jobStatusState = new JobStatusState(repleinshJobMainDO.getStatus());
boolean flag = jobStatusState.execute();
if(!flag) {
throw new ServiceException(REPLEINSH_JOB_MAIN_STATUS_ERROR);
}
//更新完成信息
Long userId = getLoginUserId();
AdminUserRespDTO userRespDTO = userApi.getUser(userId);
repleinshJobMainDO.setStatus(jobStatusState.getState().getCode());
repleinshJobMainDO.setCompleteTime(LocalDateTime.now());
repleinshJobMainDO.setCompleteUserId(String.valueOf(userRespDTO.getId()));
repleinshJobMainDO.setCompleteUserName(userRespDTO.getNickname());
//更新任务表状态
int result = repleinshJobMainMapper.updateById(repleinshJobMainDO);
//创建 发料记录 主表
RepleinshRecordMainDO repleinshRecordMainDO = new RepleinshRecordMainDO();
BeanUtils.copyProperties(repleinshJobMainDO, repleinshRecordMainDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.REPLEINMENT_RECORD.getCode());
repleinshRecordMainDO.setNumber(number);
repleinshRecordMainDO.setJobNumber(repleinshJobMainDO.getNumber());
repleinshRecordMainDO.setExecuteTime(LocalDateTime.now());
repleinshRecordMainDO.setActiveDate(LocalDateTime.now());
repleinshRecordMainDO.setAvailable("TRUE");
repleinshRecordMainDO.setDueTime(repleinshJobMainDO.getRequestDueTime());
repleinshRecordMainDO.setId(null);
repleinshRecordMainDO.setCreator(null);
repleinshRecordMainDO.setCreateTime(null);
repleinshRecordMainDO.setUpdater(null);
repleinshRecordMainDO.setUpdateTime(null);
// 接口类型
repleinshRecordMainDO.setInterfaceType(recordsettingService.selectRecordsettingExist("RepleinmentRecord").getInterfaceType());
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("RepleinmentRecord");
repleinshRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
repleinshRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType());
repleinshRecordMainDO.setBusinessType(businesstypeDO.getCode());
repleinshRecordMainMapper.insert(repleinshRecordMainDO);
// 获取参数中的sublist
List<RepleinshJobDetailUpdateReqVO> repleinshJobDetailUpdateReqVOList = repleinshJobMainUpdateReqVO.getSubList();
//发料记录子
List<RepleinshRecordDetailDO> repleinshRecordDetailDOList = new ArrayList<>();
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
subList.forEach(subListItem -> {
// 获取参数中recordLst
repleinshJobDetailUpdateReqVOList.forEach(DetailUpdateItem -> {
// 匹配任务子表与参数中子表
if (DetailUpdateItem.getId().equals(subListItem.getId())) {
List<Map<String,Object>> recordLst = DetailUpdateItem.getRecordLst();
recordLst.forEach(recordLstItem -> {
RepleinshRecordDetailDO repleinshRecordDetailDO = new RepleinshRecordDetailDO();
BeanUtils.copyProperties(subListItem, repleinshRecordDetailDO);
repleinshRecordDetailDO.setId(null);
repleinshRecordDetailDO.setNumber(number);
repleinshRecordDetailDO.setMasterId(repleinshRecordMainDO.getId());
repleinshRecordDetailDO.setCreator(null);
repleinshRecordDetailDO.setCreateTime(null);
repleinshRecordDetailDO.setUpdater(null);
repleinshRecordDetailDO.setUpdateTime(null);
// 根据recordLst 进行赋值子表部分数据
repleinshRecordDetailDO.setQty(new BigDecimal(recordLstItem.get("handleQty").toString()));
repleinshRecordDetailDO.setToPackingNumber(recordLstItem.get("toPackingNumber").toString());
repleinshRecordDetailDO.setToContainerNumber(recordLstItem.get("toContainerNumber").toString());
repleinshRecordDetailDO.setToBatch(recordLstItem.get("toBatch").toString());
repleinshRecordDetailDO.setToLocationCode(recordLstItem.get("toLocationCode").toString());
repleinshRecordDetailDO.setInventoryStatus(recordLstItem.get("toInventoryStatus").toString());
repleinshRecordDetailDO.setSupplierCode(recordLstItem.get("supplierCode").toString());
// 根据 to库位 查询 库位组 库区
LocationDO locationDO = locationService.selectLocation(recordLstItem.get("toLocationCode").toString());
repleinshRecordDetailDO.setToLocationGroupCode(locationDO.getLocationGroupCode());
repleinshRecordDetailDO.setToAreaCode(locationDO.getAreaCode());
// 根据 from库位 查询 库位组 库区
LocationDO locationDOFrom = locationService.selectLocation(subListItem.getFromLocationCode());
repleinshRecordDetailDO.setFromLocationGroupCode(locationDOFrom.getLocationGroupCode());
repleinshRecordDetailDO.setFromAreaCode(locationDOFrom.getAreaCode());
repleinshRecordDetailDOList.add(repleinshRecordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(repleinshRecordDetailDO, transactionCreateReqVO);
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(repleinshRecordMainDO.getBusinessType());
transactionCreateReqVO.setOwnerCode(repleinshRecordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVO.setPackingNumber(repleinshRecordDetailDO.getToPackingNumber());
transactionCreateReqVO.setBatch(repleinshRecordDetailDO.getToBatch());
transactionCreateReqVO.setContainerNumber(repleinshRecordDetailDO.getToContainerNumber());
transactionCreateReqVO.setAmount(BigDecimal.ZERO);
transactionCreateReqVO.setLocationCode(recordLstItem.get("toLocationCode").toString());
transactionCreateReqVOList.add(transactionCreateReqVO);
});
}
});
});
if(!repleinshRecordDetailDOList.isEmpty()) {
repleinshRecordDetailMapper.insertBatch(repleinshRecordDetailDOList);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
//移除预计入
expectinService.deleteExpectinByJobNumber(repleinshRecordMainDO.getNumber());
//移除预计出
expectoutService.deleteExpectoutByJobNumber(repleinshRecordMainDO.getNumber());
//变更记录
trendsApi.createTrends(repleinshRecordMainDO.getId(), "repleinshJob", "执行了补料任务", TrendsTypeEnum.UPDATE);
return result;
}
} }

Loading…
Cancel
Save