Browse Source

盘点计划接口。

master
刘忱 2 years ago
parent
commit
85faa2b982
  1. 9
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 75
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanDetailController.java
  3. 111
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanMainController.java
  4. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanDetailPageReqVO.java
  5. 62
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanMainExcelVO.java
  6. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanMainImportErrorVO.java
  7. 101
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanMainImportVO.java
  8. 36
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanMainController.java
  9. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countPlan/CountPlanMainConvert.java
  10. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countPlan/CountPlanDetailMapper.java
  11. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countPlan/CountPlanMainMapper.java
  12. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java
  13. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanDetailService.java
  14. 27
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanDetailServiceImpl.java
  15. 72
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java
  16. 196
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java
  17. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainService.java
  18. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java
  19. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

9
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -885,6 +885,15 @@ public interface ErrorCodeConstants {
//盘点计划ErrorCode
ErrorCode COUNT_PLAN_MAIN_NOT_EXISTS = new ErrorCode(1_000_152_000, "盘点计划主不存在");
ErrorCode COUNT_PLAN_DETAIL_NOT_EXISTS = new ErrorCode(1_000_152_001, "盘点计划子不存在");
ErrorCode COUNT_PLAN_STATUS_NOT_NEW = new ErrorCode(1_000_152_002, "盘点计划不是新增状态");
ErrorCode COUNT_PLAN_REQUEST_EXISTS = new ErrorCode(1_000_152_003, "盘点计划存在成品发货申请");
ErrorCode COUNT_PLAN_CANNOT_CLOSE = new ErrorCode(1_000_152_004, "盘点计划状态不支持关闭");
ErrorCode COUNT_PLAN_CANNOT_SUBMIT = new ErrorCode(1_000_152_005, "盘点计划状态不支持提交");
ErrorCode COUNT_PLAN_CANNOT_AGREE = new ErrorCode(1_000_152_006, "盘点计划状态不支持审批同意");
ErrorCode COUNT_PLAN_CANNOT_REFUSE = new ErrorCode(1_000_152_007, "盘点计划状态不支持审批驳回");
ErrorCode COUNT_PLAN_CANNOT_PUBLISH = new ErrorCode(1_000_152_008, "盘点计划状态不支持发布");
ErrorCode COUNT_PLAN_CANNOT_OPEN = new ErrorCode(1_000_152_009, "盘点计划状态不支持打开");
ErrorCode COUNT_PLAN_CANNOT_RESETTING = new ErrorCode(1_000_152_010, "盘点计划状态不支持重置");
//盘点申请ErrorCode
ErrorCode COUNT_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_153_000, "盘点申请主不存在");
ErrorCode COUNT_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_153_001, "盘点申请子不存在");

75
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanDetailController.java

@ -1,36 +1,27 @@
package com.win.module.wms.controller.countPlan;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countPlan.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailRespVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailUpdateReqVO;
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.service.countPlan.CountPlanDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import javax.annotation.Resource;
import javax.validation.Valid;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.pojo.CommonResult;
import static com.win.framework.common.pojo.CommonResult.success;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.win.module.wms.controller.countPlan.vo.*;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert;
import com.win.module.wms.service.countPlan.CountPlanDetailService;
@Tag(name = "管理后台 - 盘点计划子")
@RestController
@RequestMapping("/wms/count-plan-detail")
@ -40,9 +31,6 @@ public class CountPlanDetailController {
@Resource
private CountPlanDetailService countPlanDetailService;
@Resource
private AdminUserApi userApi;
@PostMapping("/create")
@Operation(summary = "创建盘点计划子")
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:create')")
@ -76,15 +64,6 @@ public class CountPlanDetailController {
return success(CountPlanDetailConvert.INSTANCE.convert(countPlanDetail));
}
@GetMapping("/list")
@Operation(summary = "获得盘点计划子列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:query')")
public CommonResult<List<CountPlanDetailRespVO>> getCountPlanDetailList(@RequestParam("ids") Collection<Long> ids) {
List<CountPlanDetailDO> list = countPlanDetailService.getCountPlanDetailList(ids);
return success(CountPlanDetailConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@Operation(summary = "获得盘点计划子分页")
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:query')")
@ -92,34 +71,14 @@ public class CountPlanDetailController {
PageResult<CountPlanDetailDO> pageResult = countPlanDetailService.getCountPlanDetailPage(pageVO);
return success(CountPlanDetailConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点计划子分页")
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:query')")
public CommonResult<PageResult<CountPlanDetailRespVO>> getCountPlanDetailSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<CountPlanDetailDO> pageResult = countPlanDetailService.getCountPlanDetailSenior(conditions);
PageResult<CountPlanDetailRespVO> result = CountPlanDetailConvert.INSTANCE.convertPage(pageResult);
for(CountPlanDetailRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
return success(result);
}
@GetMapping("/export-excel")
@Operation(summary = "导出盘点计划子 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-plan-detail:export')")
@OperateLog(type = EXPORT)
public void exportCountPlanDetailExcel(@Valid CountPlanDetailExportReqVO exportReqVO,
HttpServletResponse response) throws IOException {
List<CountPlanDetailDO> list = countPlanDetailService.getCountPlanDetailList(exportReqVO);
// 导出 Excel
List<CountPlanDetailExcelVO> datas = CountPlanDetailConvert.INSTANCE.convertList02(list);
for(CountPlanDetailExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "盘点计划子.xls", "数据", CountPlanDetailExcelVO.class, datas);
}
}

111
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/CountPlanMainController.java

@ -3,13 +3,18 @@ package com.win.module.wms.controller.countPlan;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.countPlan.vo.*;
import com.win.module.wms.convert.countPlan.CountPlanMainConvert;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.plan.PlanStatusEnum;
import com.win.module.wms.service.countPlan.CountPlanDetailService;
import com.win.module.wms.service.countPlan.CountPlanMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -22,8 +27,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.*;
import static com.win.framework.common.pojo.CommonResult.success;
import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@ -36,7 +40,8 @@ public class CountPlanMainController {
@Resource
private CountPlanMainService countPlanMainService;
@Resource
private CountPlanDetailService countPlanDetailService;
@Resource
private AdminUserApi userApi;
@ -89,6 +94,7 @@ public class CountPlanMainController {
PageResult<CountPlanMainDO> pageResult = countPlanMainService.getCountPlanMainPage(pageVO);
return success(CountPlanMainConvert.INSTANCE.convertPage(pageResult));
}
@PostMapping("/senior")
@Operation(summary = "高级搜索获得盘点计划主分页")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:query')")
@ -101,19 +107,106 @@ public class CountPlanMainController {
}
return success(result);
}
@GetMapping("/export-excel")
@Operation(summary = "导出盘点计划主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:export')")
@OperateLog(type = EXPORT)
public void exportCountPlanMainExcel(@Valid CountPlanMainExportReqVO exportReqVO, HttpServletResponse response) throws IOException {
List<CountPlanMainDO> list = countPlanMainService.getCountPlanMainList(exportReqVO);
// 导出 Excel
List<CountPlanMainExcelVO> datas = CountPlanMainConvert.INSTANCE.convertList02(list);
for(CountPlanMainExcelVO vo : datas) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
vo.setCreator(user.getNickname());
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountPlanMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "盘点计划主.xlsx", "盘点计划信息", CountPlanMainExcelVO.class, resultList, mapDropDown);
}
@PostMapping("/export-excel-senior")
@Operation(summary = "导出盘点计划主 Excel")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:export')")
@OperateLog(type = EXPORT)
public void exportCountPlanMainSeniorExcel(@Valid @RequestBody CustomConditions conditions, HttpServletResponse response) throws IOException {
List<CountPlanMainDO> list = countPlanMainService.getCountPlanMainList(conditions);
Map<Integer, String[]> mapDropDown = new HashMap<>();
List<CountPlanMainExcelVO> resultList = this.getExcelVo(list, mapDropDown);
ExcelUtils.write(response, "盘点计划主.xlsx", "盘点计划信息", CountPlanMainExcelVO.class, resultList, mapDropDown);
}
private List<CountPlanMainExcelVO> getExcelVo(List<CountPlanMainDO> list, Map<Integer, String[]> mapDropDown) {
String[] countType = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_TYPE);
mapDropDown.put(0, countType);
String[] countDimension = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.COUNT_DIMENSION);
mapDropDown.put(2, countDimension);
String[] planStatus = PlanStatusEnum.getStatusNameArray();
mapDropDown.put(12, planStatus);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(22, uom);
List<CountPlanMainExcelVO> resultList = new ArrayList<>();
for(CountPlanMainDO mainDO : list) {
List<CountPlanDetailDO> subList = countPlanDetailService.selectList(mainDO.getId());
for(CountPlanDetailDO detailDO : subList) {
CountPlanMainExcelVO vo = CountPlanMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
resultList.add(vo);
}
}
ExcelUtils.write(response, "盘点计划主.xlsx", "数据", CountPlanMainExcelVO.class, datas);
return resultList;
}
@PutMapping("/close")
@Operation(summary = "关闭盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:close')")
public CommonResult<Boolean> closeCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.closeCountPlanMain(id);
return success(result > 0);
}
@PutMapping("/open")
@Operation(summary = "打开盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:open')")
public CommonResult<Boolean> openCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.openCountPlanMain(id);
return success(result > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:submit')")
public CommonResult<Boolean> submitCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.submitCountPlanMain(id);
return success(result > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:agree')")
public CommonResult<Boolean> agreeCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.agreeCountPlanMain(id);
return success(result > 0);
}
@PutMapping("/reject")
@Operation(summary = "审批驳回盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:refies')")
public CommonResult<Boolean> rejectCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.rejectCountPlanMain(id);
return success(result > 0);
}
@PutMapping("/publish")
@Operation(summary = "发布盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:publish')")
public CommonResult<Boolean> publishCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.publishCountPlanMain(id);
return success(result > 0);
}
@PutMapping("/resetting")
@Operation(summary = "重置盘点计划主")
@PreAuthorize("@ss.hasPermission('wms:count-plan-main:resetting')")
public CommonResult<Boolean> resettingCountPlanMain(@RequestParam("id") Long id) {
int result = countPlanMainService.resettingCountPlanMain(id);
return success(result > 0);
}
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanDetailPageReqVO.java

@ -1,12 +1,13 @@
package com.win.module.wms.controller.countPlan.vo;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.win.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ -55,4 +56,7 @@ public class CountPlanDetailPageReqVO extends PageParam {
@Schema(description = "是否可用")
private String available;
@Schema(description = "主表ID")
private Long masterId;
}

62
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanMainExcelVO.java

@ -1,17 +1,14 @@
package com.win.module.wms.controller.countPlan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.plan.PlanStatusConverter;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@ -23,14 +20,14 @@ import com.win.framework.excel.core.convert.DictConvert;
public class CountPlanMainExcelVO {
@ExcelProperty(value = "盘点类型", converter = DictConvert.class)
@DictFormat("count_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.COUNT_TYPE)
private String type;
@ExcelProperty("执行周期")
private String crontab;
@ExcelProperty(value = "维度", converter = DictConvert.class)
@DictFormat("count_dimension") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@DictFormat(DictTypeConstants.COUNT_DIMENSION)
private String dimension;
@ExcelProperty("限值")
@ -54,28 +51,15 @@ public class CountPlanMainExcelVO {
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("开始时间")
private LocalDateTime beginTime;
@ExcelProperty("结束时间")
private LocalDateTime endTime;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("plan_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
@ExcelProperty(value = "状态", converter = PlanStatusConverter.class)
private String status;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty("快照盘点")
private String isSnapshot;
@ -94,7 +78,35 @@ public class CountPlanMainExcelVO {
@ExcelProperty("明盘")
private String isOpenCount;
@ExcelProperty("盘点范围值")
private String value;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("计划数量")
private BigDecimal planQty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
@ExcelProperty("是否可用")
private String available;
@ExcelProperty("子备注")
private String remarkDetail;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
}

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanMainImportErrorVO.java

@ -1,18 +0,0 @@
package com.win.module.wms.controller.countPlan.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 盘点计划主 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CountPlanMainImportErrorVO extends CountPlanMainImportVO {
}

101
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countPlan/vo/CountPlanMainImportVO.java

@ -1,101 +0,0 @@
package com.win.module.wms.controller.countPlan.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 盘点计划主 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class CountPlanMainImportVO {
@ExcelProperty(value = "盘点类型", converter = DictConvert.class)
@DictFormat("count_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String type;
@ExcelProperty("执行周期")
private String crontab;
@ExcelProperty(value = "维度", converter = DictConvert.class)
@DictFormat("count_dimension") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String dimension;
@ExcelProperty("限值")
private BigDecimal limitedValue;
@ExcelProperty("物品忽略名单")
private String ignoreListOfItem;
@ExcelProperty("库位忽略名单")
private String ignoreListOfLocation;
@ExcelProperty("盘点范围列表")
private String scopeList;
@ExcelProperty("单据号")
private String number;
@ExcelProperty("业务类型")
private String businessType;
@ExcelProperty("备注")
private String remark;
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@ExcelProperty("创建者用户名")
private String creator;
@ExcelProperty("开始时间")
private LocalDateTime beginTime;
@ExcelProperty("结束时间")
private LocalDateTime endTime;
@ExcelProperty(value = "状态", converter = DictConvert.class)
@DictFormat("plan_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中
private String status;
@ExcelProperty("最后更新时间")
private LocalDateTime updateTime;
@ExcelProperty("最后更新者用户名")
private String updater;
@ExcelProperty("快照盘点")
private String isSnapshot;
@ExcelProperty("冻结盘点")
private String isFreeze;
@ExcelProperty("盘点空库位")
private String isCountEmptyLocation;
@ExcelProperty("盘点零库存")
private String isCountZeroInventory;
@ExcelProperty("盘点负库存")
private String isCountNegativeInventory;
@ExcelProperty("明盘")
private String isOpenCount;
@ExcelProperty("是否可用")
private String available;
}

36
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/deliverPlan/DeliverPlanMainController.java

@ -10,13 +10,9 @@ import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.deliverPlan.vo.*;
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainExcelVO;
import com.win.module.wms.convert.deliverPlan.DeliverPlanMainConvert;
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanDetailDO;
import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.deliverPlan.DeliverPlanDetailService;
import com.win.module.wms.service.deliverPlan.DeliverPlanMainService;
@ -72,56 +68,56 @@ public class DeliverPlanMainController {
@Operation(summary = "关闭发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:close')")
public CommonResult<Boolean> closeDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.closeDeliverPlanMain(id);
return success(true);
int result = deliverPlanMainService.closeDeliverPlanMain(id);
return success(result > 0);
}
@PutMapping("/open")
@Operation(summary = "打开发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:open')")
public CommonResult<Boolean> openDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.openDeliverPlanMain(id);
return success(true);
int result = deliverPlanMainService.openDeliverPlanMain(id);
return success(result > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:submit')")
public CommonResult<Boolean> submitDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.submitDeliverPlanMain(id);
return success(true);
int result = deliverPlanMainService.submitDeliverPlanMain(id);
return success(result > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:agree')")
public CommonResult<Boolean> agreeDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.agreeDeliverPlanMain(id);
return success(true);
int result = deliverPlanMainService.agreeDeliverPlanMain(id);
return success(result > 0);
}
@PutMapping("/refies")
@PutMapping("/reject")
@Operation(summary = "审批驳回发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:refies')")
public CommonResult<Boolean> refiesDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.refiesDeliverPlanMain(id);
return success(true);
public CommonResult<Boolean> rejectDeliverPlanMain(@RequestParam("id") Long id) {
int result = deliverPlanMainService.rejectDeliverPlanMain(id);
return success(result > 0);
}
@PutMapping("/publish")
@Operation(summary = "发布发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:publish')")
public CommonResult<Boolean> publishDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.publishDeliverPlanMain(id);
return success(true);
int result = deliverPlanMainService.publishDeliverPlanMain(id);
return success(result > 0);
}
@PutMapping("/resetting")
@Operation(summary = "重置发货计划主")
@PreAuthorize("@ss.hasPermission('wms:deliver-plan-main:resetting')")
public CommonResult<Boolean> resettingDeliverPlanMain(@RequestParam("id") Long id) {
deliverPlanMainService.resettingDeliverPlanMain(id);
return success(true);
int result = deliverPlanMainService.resettingDeliverPlanMain(id);
return success(result > 0);
}
@DeleteMapping("/delete")

23
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/countPlan/CountPlanMainConvert.java

@ -1,16 +1,18 @@
package com.win.module.wms.convert.countPlan;
import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExcelVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainRespVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import java.util.List;
/**
* 盘点计划主 Convert
@ -34,4 +36,17 @@ public interface CountPlanMainConvert {
List<CountPlanMainExcelVO> convertList02(List<CountPlanMainDO> list);
@Mappings({
@Mapping(source = "mainDO.type", target = "type"),
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.available", target = "available"),
@Mapping(source = "detailDO.remark", target = "remarkDetail"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
CountPlanMainExcelVO convert(CountPlanMainDO mainDO, CountPlanDetailDO detailDO);
}

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countPlan/CountPlanDetailMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.countPlan;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 盘点计划子 Mapper
*
@ -22,6 +22,7 @@ public interface CountPlanDetailMapper extends BaseMapperX<CountPlanDetailDO> {
default PageResult<CountPlanDetailDO> selectPage(CountPlanDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<CountPlanDetailDO>()
.eqIfPresent(CountPlanDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(CountPlanDetailDO::getType, reqVO.getType())
.eqIfPresent(CountPlanDetailDO::getValue, reqVO.getValue())
.eqIfPresent(CountPlanDetailDO::getNumber, reqVO.getNumber())
@ -56,4 +57,9 @@ public interface CountPlanDetailMapper extends BaseMapperX<CountPlanDetailDO> {
.orderByDesc(CountPlanDetailDO::getId));
}
default List<CountPlanDetailDO> selectList(Long masterId) {
return selectList(new LambdaQueryWrapperX<CountPlanDetailDO>()
.eq(CountPlanDetailDO::getMasterId, masterId));
}
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countPlan/CountPlanMainMapper.java

@ -1,17 +1,17 @@
package com.win.module.wms.dal.mysql.countPlan;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 盘点计划主 Mapper
*
@ -80,4 +80,12 @@ public interface CountPlanMainMapper extends BaseMapperX<CountPlanMainDO> {
.orderByDesc(CountPlanMainDO::getId));
}
default List<CountPlanMainDO> selectSeniorList(CustomConditions conditions) {
return selectList(QueryWrapperUtils.structure(conditions));
}
default CountPlanMainDO selectByNumber(String number) {
return selectOne(CountPlanMainDO::getNumber, number);
}
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/countRequest/CountRequestMainMapper.java

@ -8,6 +8,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainExportReqVO;
import com.win.module.wms.controller.countRequest.vo.CountRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -43,10 +44,17 @@ public interface CountRequestMainMapper extends BaseMapperX<CountRequestMainDO>
.eqIfPresent(CountRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.orderByDesc(CountRequestMainDO::getId));
}
default CountRequestMainDO selectByPlanNumber(String planNumber) {
return selectOne( CountRequestMainDO::getPlanNumber, planNumber);
}
default Long selectByCountPlanNumber(String planNumber) {
return selectCount(new LambdaQueryWrapperX<CountRequestMainDO>()
.eq(CountRequestMainDO::getPlanNumber, planNumber)
.ne(CountRequestMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
default PageResult<CountRequestMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions));
}

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanDetailService.java

@ -1,15 +1,14 @@
package com.win.module.wms.service.countPlan;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.List;
/**
* 盘点计划子 Service 接口
@ -51,10 +50,10 @@ public interface CountPlanDetailService {
/**
* 获得盘点计划子列表
*
* @param ids 编号
* @param masterId 父id
* @return 盘点计划子列表
*/
List<CountPlanDetailDO> getCountPlanDetailList(Collection<Long> ids);
List<CountPlanDetailDO> selectList(Long masterId);
/**
* 获得盘点计划子分页
@ -71,12 +70,4 @@ public interface CountPlanDetailService {
*/
PageResult<CountPlanDetailDO> getCountPlanDetailSenior(CustomConditions conditions);
/**
* 获得盘点计划子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 盘点计划子列表
*/
List<CountPlanDetailDO> getCountPlanDetailList(CountPlanDetailExportReqVO exportReqVO);
}

27
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanDetailServiceImpl.java

@ -1,24 +1,21 @@
package com.win.module.wms.service.countPlan;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanDetailUpdateReqVO;
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.countPlan.CountPlanDetailConvert;
import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper;
import javax.annotation.Resource;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.COUNT_PLAN_DETAIL_NOT_EXISTS;
/**
* 盘点计划子 Service 实现类
@ -70,21 +67,17 @@ public class CountPlanDetailServiceImpl implements CountPlanDetailService {
}
@Override
public List<CountPlanDetailDO> getCountPlanDetailList(Collection<Long> ids) {
return countPlanDetailMapper.selectBatchIds(ids);
public List<CountPlanDetailDO> selectList(Long masterId) {
return countPlanDetailMapper.selectList(masterId);
}
@Override
public PageResult<CountPlanDetailDO> getCountPlanDetailPage(CountPlanDetailPageReqVO pageReqVO) {
return countPlanDetailMapper.selectPage(pageReqVO);
}
@Override
public PageResult<CountPlanDetailDO> getCountPlanDetailSenior(CustomConditions conditions) {
return countPlanDetailMapper.selectSenior(conditions);
}
@Override
public List<CountPlanDetailDO> getCountPlanDetailList(CountPlanDetailExportReqVO exportReqVO) {
return countPlanDetailMapper.selectList(exportReqVO);
}
}

72
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java

@ -1,16 +1,17 @@
package com.win.module.wms.service.countPlan;
import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.framework.common.pojo.PageResult;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
/**
* 盘点计划主 Service 接口
@ -32,14 +33,14 @@ public interface CountPlanMainService {
*
* @param updateReqVO 更新信息
*/
void updateCountPlanMain(@Valid CountPlanMainUpdateReqVO updateReqVO);
int updateCountPlanMain(@Valid CountPlanMainUpdateReqVO updateReqVO);
/**
* 删除盘点计划主
*
* @param id 编号
*/
void deleteCountPlanMain(Long id);
int deleteCountPlanMain(Long id);
/**
* 获得盘点计划主
@ -64,6 +65,7 @@ public interface CountPlanMainService {
* @return 盘点计划主分页
*/
PageResult<CountPlanMainDO> getCountPlanMainPage(CountPlanMainPageReqVO pageReqVO);
/**
* 获得用高级搜索盘点计划主分页列表
*
@ -72,6 +74,14 @@ public interface CountPlanMainService {
*/
PageResult<CountPlanMainDO> getCountPlanMainSenior(CustomConditions conditions);
/**
* 获得盘点计划申请主列表, 用于 Excel 导出
*
* @param conditions 查询条件
* @return 盘点计划申请主列表
*/
List<CountPlanMainDO> getCountPlanMainList(CustomConditions conditions);
/**
* 获得盘点计划主列表, 用于 Excel 导出
*
@ -88,4 +98,54 @@ public interface CountPlanMainService {
* @return
*/
CountPlanDetailDO selectCountPlanExist(String pnumber);
/**
* 关闭
* @param id
* @return
*/
Integer closeCountPlanMain(Long id);
/**
* 打开
* @param id
* @return
*/
Integer openCountPlanMain(Long id);
/**
* 提交审批
* @param id
* @return
*/
Integer submitCountPlanMain(Long id);
/**
* 审批通过
* @param id
* @return
*/
Integer agreeCountPlanMain(Long id);
/**
* 审批驳回
* @param id
* @return
*/
Integer rejectCountPlanMain(Long id);
/**
* 发布
* @param id
* @return
*/
Integer publishCountPlanMain(Long id);
/**
* 重置
* @param id
* @return
*/
Integer resettingCountPlanMain(Long id);
}

196
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java

@ -2,24 +2,29 @@ package com.win.module.wms.service.countPlan;
import cn.hutool.core.exceptions.UtilException;
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.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainCreateReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainExportReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainPageReqVO;
import com.win.module.wms.controller.countPlan.vo.CountPlanMainUpdateReqVO;
import com.win.module.wms.convert.countPlan.CountPlanMainConvert;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanDetailDO;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper;
import com.win.module.wms.dal.mysql.countPlan.CountPlanMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.enums.plan.PlanStatusState;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.convert.countPlan.CountPlanMainConvert;
import com.win.module.wms.dal.mysql.countPlan.CountPlanMainMapper;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
@ -35,40 +40,46 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
@Resource
private CountPlanMainMapper countPlanMainMapper;
@Resource
private CountPlanDetailMapper countPlanDetailMapper;
@Resource
private CountRequestMainMapper countRequestMainMapper;
@Resource
private TrendsApi trendsApi;
@Override
public Long createCountPlanMain(CountPlanMainCreateReqVO createReqVO) {
// 插入
CountPlanMainDO countPlanMain = CountPlanMainConvert.INSTANCE.convert(createReqVO);
countPlanMainMapper.insert(countPlanMain);
// 返回
trendsApi.createTrends(countPlanMain.getId(), "countPlan", "增加了盘点计划", TrendsTypeEnum.CREATE);
return countPlanMain.getId();
}
@Override
public void updateCountPlanMain(CountPlanMainUpdateReqVO updateReqVO) {
public int updateCountPlanMain(CountPlanMainUpdateReqVO updateReqVO) {
// 校验存在
validateCountPlanMainExists(updateReqVO.getId());
// 更新
CountPlanMainDO updateObj = CountPlanMainConvert.INSTANCE.convert(updateReqVO);
countPlanMainMapper.updateById(updateObj);
trendsApi.createTrends(updateObj.getId(), "countPlan", "增加了盘点计划", TrendsTypeEnum.CREATE);
return countPlanMainMapper.updateById(updateObj);
}
@Override
public void deleteCountPlanMain(Long id) {
public int deleteCountPlanMain(Long id) {
// 校验存在
validateCountPlanMainExists(id);
// 删除
countPlanMainMapper.deleteById(id);
trendsApi.createTrends(id, "countPlan", "删除了盘点计划", TrendsTypeEnum.DELETE);
return countPlanMainMapper.deleteById(id);
}
private void validateCountPlanMainExists(Long id) {
if (countPlanMainMapper.selectById(id) == null) {
private CountPlanMainDO validateCountPlanMainExists(Long id) {
CountPlanMainDO countPlanMainDO = countPlanMainMapper.selectById(id);
if (countPlanMainDO == null) {
throw exception(COUNT_PLAN_MAIN_NOT_EXISTS);
}
return countPlanMainDO;
}
@Override
@ -84,6 +95,12 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
public PageResult<CountPlanMainDO> getCountPlanMainSenior(CustomConditions conditions) {
return countPlanMainMapper.selectSenior(conditions);
}
@Override
public List<CountPlanMainDO> getCountPlanMainList(CustomConditions conditions) {
return countPlanMainMapper.selectSeniorList(conditions);
}
@Override
public PageResult<CountPlanMainDO> getCountPlanMainPage(CountPlanMainPageReqVO pageReqVO) {
return countPlanMainMapper.selectPage(pageReqVO);
@ -96,26 +113,139 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
@Override
public CountPlanDetailDO selectCountPlanExist(String pnumber){
QueryWrapper queryWrapperMain = new QueryWrapper();
QueryWrapper<CountPlanMainDO> queryWrapperMain = new QueryWrapper<>();
queryWrapperMain.eq("number",pnumber);
queryWrapperMain.eq("available","TRUE");
CountPlanMainDO countPlanMainDO = countPlanMainMapper.selectOne(queryWrapperMain);
if(countPlanMainDO != null){
if(!"ClOSE".equals(countPlanMainDO.getStatus())){
QueryWrapper queryWrapperDetail = new QueryWrapper();
queryWrapperDetail.eq("number",pnumber);
queryWrapperDetail.eq("available","TRUE");
CountPlanDetailDO countPlanDetailDO = countPlanDetailMapper.selectOne(queryWrapperDetail);
if(countPlanDetailDO != null){
return countPlanDetailDO;
}else {
throw new UtilException("盘点计划" + pnumber + "无效");
}
}else {
throw new UtilException("盘点计划" + pnumber + "已关闭");
}
}else {
if(countPlanMainDO == null) {
throw new UtilException("盘点计划" + pnumber + "无效");
}
if("ClOSE".equals(countPlanMainDO.getStatus())) {
throw new UtilException("盘点计划" + pnumber + "已关闭");
}
QueryWrapper<CountPlanDetailDO> queryWrapperDetail = new QueryWrapper<>();
queryWrapperDetail.eq("number", pnumber);
queryWrapperDetail.eq("available","TRUE");
CountPlanDetailDO countPlanDetailDO = countPlanDetailMapper.selectOne(queryWrapperDetail);
if(countPlanDetailDO != null) {
return countPlanDetailDO;
} else {
throw new UtilException("盘点计划" + pnumber + "无效");
}
}
@Override
@Transactional
public Integer closeCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
Long count = countRequestMainMapper.selectByCountPlanNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(COUNT_PLAN_REQUEST_EXISTS);
}
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.close();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_CLOSE);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "关闭了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer openCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
Long count = countRequestMainMapper.selectByCountPlanNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(COUNT_PLAN_REQUEST_EXISTS);
}
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.open();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_OPEN);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "打开了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer submitCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.submit();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_SUBMIT);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "提交了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer agreeCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.agree();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_AGREE);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "审批通过了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer rejectCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.reject();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_REFUSE);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "审批驳回了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer publishCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.execute();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_PUBLISH);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "发布了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer resettingCountPlanMain(Long id) {
// 校验存在存在下级单据
CountPlanMainDO mainDO = validateCountPlanMainExists(id);
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());
boolean flag = planStatusState.resetting();
if(!flag) {
throw new ServiceException(COUNT_PLAN_CANNOT_RESETTING);
}
mainDO.setStatus(planStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countPlan", "重置了盘点计划", TrendsTypeEnum.UPDATE);
return countPlanMainMapper.updateById(mainDO);
}
}

21
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainService.java

@ -81,7 +81,7 @@ public interface DeliverPlanMainService {
/**
* 获得发货计划主列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @param conditions 查询条件
* @return 发货计划主列表
*/
List<DeliverPlanMainDO> getDeliverPlanMainList(CustomConditions conditions);
@ -93,7 +93,7 @@ public interface DeliverPlanMainService {
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<DeliverPlanMainImportErrorVO> importDeliverPlanMainList(List<DeliverPlanMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<DeliverPlanMainImportErrorVO> importDeliverPlanMainList(List<DeliverPlanMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 更新发货计划的已发货数量
@ -101,54 +101,55 @@ public interface DeliverPlanMainService {
* @param pitemCode
* @param pshippedQty
*/
public void updatePlanDeliveShippedQty(String pnumber, String pitemCode, BigDecimal pshippedQty);
void updatePlanDeliveShippedQty(String pnumber, String pitemCode, BigDecimal pshippedQty);
/**
* 关闭
* @param id
* @return
*/
public Integer closeDeliverPlanMain(Long id);
Integer closeDeliverPlanMain(Long id);
/**
* 打开
* @param id
* @return
*/
public Integer openDeliverPlanMain(Long id);
Integer openDeliverPlanMain(Long id);
/**
* 提交审批
* @param id
* @return
*/
public Integer submitDeliverPlanMain(Long id);
Integer submitDeliverPlanMain(Long id);
/**
* 审批通过
* @param id
* @return
*/
public Integer agreeDeliverPlanMain(Long id);
Integer agreeDeliverPlanMain(Long id);
/**
* 审批驳回
* @param id
* @return
*/
public Integer refiesDeliverPlanMain(Long id);
Integer rejectDeliverPlanMain(Long id);
/**
* 发布
* @param id
* @return
*/
public Integer publishDeliverPlanMain(Long id);
Integer publishDeliverPlanMain(Long id);
/**
* 重置
* @param id
* @return
*/
public Integer resettingDeliverPlanMain(Long id);
Integer resettingDeliverPlanMain(Long id);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java

@ -8,7 +8,6 @@ import com.win.framework.common.pojo.PageResult;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.deliverPlan.vo.*;
@ -237,7 +236,7 @@ public class DeliverPlanMainServiceImpl implements DeliverPlanMainService {
@Override
@Transactional
public Integer refiesDeliverPlanMain(Long id) {
public Integer rejectDeliverPlanMain(Long id) {
// 校验存在存在下级单据
DeliverPlanMainDO mainDO = validateDeliverPlanMainExists(id);
PlanStatusState planStatusState = new PlanStatusState(mainDO.getStatus());

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java

@ -159,7 +159,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService
public Integer deleteInspectRequestMain(Long id) {
// 校验存在
validateInspectRequestMainExists(id);
// 删除
trendsApi.createTrends(id, "InspectRequest", "删除了到货校验申请", TrendsTypeEnum.DELETE);
return inspectRequestMainMapper.deleteById(id);
}

Loading…
Cancel
Save