Browse Source

完善采购收货增删改查接口

master
刘忱 2 years ago
parent
commit
ba9cd06e38
  1. 5
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 58
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java
  3. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java
  4. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java
  5. 108
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

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

@ -414,8 +414,9 @@ public interface ErrorCodeConstants {
//采购收货任务子ErrorCode
ErrorCode PURCHASERECEIPT_JOB_DETAIL_NOT_EXISTS = new ErrorCode(1_000_073_001, "采购收货任务子不存在");
ErrorCode PURCHASERECEIPT_JOB_MAIN_STATUS_ERROR = new ErrorCode(1_000_073_002, "采购收货任务状态错误");
ErrorCode PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "采购收货不是新增状态,不能修改");
ErrorCode PURCHASERECEIPT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "采购收货存在采购收货任务单,不能删除");
ErrorCode PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW = new ErrorCode(1_000_073_003, "采购收货不是新增状态");
ErrorCode PURCHASERECEIPT_REQUEST_JOB_EXISTS = new ErrorCode(1_000_073_004, "采购收货存在采购收货任务单");
ErrorCode PURCHASERECEIPT_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_073_004, "采购收货状态不支持关闭");
//采购收货任务子ErrorCode
ErrorCode PURCHASERECEIPT_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_074_000, "采购收货记录主不存在");
ErrorCode PURCHASERECEIPT_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_074_001, "采购收货记录子不存在");

58
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java

@ -55,18 +55,19 @@ public class PurchasereceiptRequestMainController {
@Operation(summary = "更新采购收货申请主")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:update')")
public CommonResult<Boolean> updatePurchasereceiptRequestMain(@Valid @RequestBody PurchasereceiptRequestMainUpdateReqVO updateReqVO) {
purchasereceiptRequestMainService.updatePurchasereceiptRequestMain(updateReqVO);
return success(true);
Integer result = purchasereceiptRequestMainService.updatePurchasereceiptRequestMain(updateReqVO);
return success(result > 0);
}
@DeleteMapping("/delete")
@Operation(summary = "删除采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:delete')")
public CommonResult<Boolean> deletePurchasereceiptRequestMain(@RequestParam("id") Long id) {
purchasereceiptRequestMainService.deletePurchasereceiptRequestMain(id);
return success(true);
}
// @DeleteMapping("/delete")
// @Operation(summary = "删除采购收货申请主")
// @Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:delete')")
// public CommonResult<Boolean> deletePurchasereceiptRequestMain(@RequestParam("id") Long id) {
// Integer result = purchasereceiptRequestMainService.deletePurchasereceiptRequestMain(id);
// return success(result > 0);
// }
@PostMapping("/senior")
@Operation(summary = "高级搜索获得物品基本信息分页")
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:query')")
@ -80,6 +81,7 @@ public class PurchasereceiptRequestMainController {
}
return success(result);
}
@GetMapping("/get")
@Operation(summary = "获得采购收货申请主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@ -162,4 +164,40 @@ public class PurchasereceiptRequestMainController {
return success(returnMap);
}
@PutMapping("/close")
@Operation(summary = "关闭采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:close')")
public CommonResult<Boolean> closePurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.closePurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/submit")
@Operation(summary = "提交采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:submit')")
public CommonResult<Boolean> submitPurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.submitPurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/agree")
@Operation(summary = "审批通过采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:agree')")
public CommonResult<Boolean> agreePurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.agreePurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/abort")
@Operation(summary = "审批拒绝采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:abort')")
public CommonResult<Boolean> abortPurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.abortPurchasereceiptRequestMain(id);
return success(count > 0);
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java

@ -58,7 +58,7 @@ public class RequestStatusState {
* @return
*/
public boolean submit(RequestsettingDO requestsettingDO) {
if(this.requestStatusEnum.getCode() == RequestStatusEnum.NEW.getCode()) {
if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.NEW.getCode())) {
this.requestStatusEnum = RequestStatusEnum.REVIEWING;
if("TRUE".equals(requestsettingDO.getAutoAgree())) {
this.requestStatusEnum = RequestStatusEnum.AGREED;

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java

@ -86,6 +86,38 @@ public interface PurchasereceiptRequestMainService {
* @param updatePart 是否支持更新
* @return 导入结果
*/
public List<PurchasereceiptRequestMainImportErrorVO> importPurchasereceiptRequestMainList(List<PurchasereceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
List<PurchasereceiptRequestMainImportErrorVO> importPurchasereceiptRequestMainList(List<PurchasereceiptRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer closePurchasereceiptRequestMain(Long id);
/**
* 提交采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer submitPurchasereceiptRequestMain(Long id);
/**
* 审批通过采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer agreePurchasereceiptRequestMain(Long id);
/**
* 审批拒绝采购收货申请主
*
* @param id 采购收货申请主ID
* @return 更新数量
*/
Integer abortPurchasereceiptRequestMain(Long id);
}

108
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

@ -8,6 +8,8 @@ import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
@ -27,7 +29,6 @@ import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.supplier.SupplierService;
import com.win.module.wms.service.supplieritem.SupplieritemService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
@ -63,6 +64,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private TrendsApi trendsApi;
@Resource
private Validator validator;
@Resource
private RequestsettingService requestsettingService;
@ -72,33 +75,35 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
@Override
public Long createPurchasereceiptRequestMain(PurchasereceiptRequestMainCreateReqVO createReqVO) {
// 插入
PurchasereceiptRequestMainDO mainDo = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO);
this.validatePurchasereceiptRequestMainCreate(mainDo);
PurchasereceiptRequestMainDO mainDO = PurchasereceiptRequestMainConvert.INSTANCE.convert(createReqVO);
this.validatePurchasereceiptRequestMainCreate(mainDO);
List<PurchasereceiptRequestDetailDO> subDOList = PurchasereceiptRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList());
for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
this.validatePurchasereceiptRequestDetailCreate(detailDO);
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDo.setNumber(number);
mainDO.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
RequestStatusState requestStatusState = new RequestStatusState();
requestStatusState.newObject(requestsettingDO);
mainDo.setStatus(requestStatusState.getState().getCode());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit());
mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoExecute(requestsettingDO.getAutoExecute());
mainDO.setStatus(requestStatusState.getState().getCode());
mainDO.setAutoCommit(requestsettingDO.getAutoCommit());
mainDO.setAutoAgree(requestsettingDO.getAutoAgree());
mainDO.setAutoExecute(requestsettingDO.getAutoExecute());
//调用自动执行方法
if(requestsettingDO.getAutoCommit().equals("TRUE") && requestsettingDO.getAutoAgree().equals("TRUE") && requestsettingDO.getAutoExecute().equals("TREU")) {
}
purchasereceiptRequestMainMapper.insert(mainDo);
purchasereceiptRequestMainMapper.insert(mainDO);
for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId());
detailDO.setMasterId(mainDO.getId());
detailDO.setNumber(number);
}
purchasereceiptRequestDetailMapper.insertBatch(subDOList);
//增加操作记录
trendsApi.createTrends(requestsettingDO.getId(), "purchasereceiptRequest", "增加了采购收货", TrendsTypeEnum.CREATE);
// 返回
return mainDo.getId();
return mainDO.getId();
}
@Override
@ -108,6 +113,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
if(existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode())) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_STATUS_NOT_NEW);
}
//增加操作记录
trendsApi.createTrends(updateReqVO.getId(), "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.UPDATE);
// 更新
PurchasereceiptRequestMainDO updateObj = PurchasereceiptRequestMainConvert.INSTANCE.convert(updateReqVO);
return purchasereceiptRequestMainMapper.updateById(updateObj);
@ -124,6 +131,8 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
//增加操作记录
trendsApi.createTrends(id, "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.DELETE);
// 删除子表数据
Map<String, Object> map = new HashMap<>();
map.put("master_id", id);
@ -187,9 +196,12 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
}
//写入数据
if(flag) {
PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectBySupplierCode(mainDo.getSupplierCode());
if(existPurchasereceiptRequestMainDO == null && mode != 3) {//新增
//申请单目前只做新增
//PurchasereceiptRequestMainDO existPurchasereceiptRequestMainDO = purchasereceiptRequestMainMapper.selectBySupplierCode(mainDo.getSupplierCode());
//if(existPurchasereceiptRequestMainDO == null && mode != 3) {//新增
purchasereceiptRequestMainMapper.insert(mainDo);
//增加操作记录
trendsApi.createTrends(mainDo.getId(), "purchasereceiptRequest", "导入了采购收货", TrendsTypeEnum.CREATE);
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode());
mainDo.setNumber(number);
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
@ -208,15 +220,22 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
}
purchasereceiptRequestDetailMapper.insertBatch(subDOList);
} else if(existPurchasereceiptRequestMainDO != null && existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode()) && mode != 2) {//修改
BeanUtils.copyProperties(existPurchasereceiptRequestMainDO, mainDo);
purchasereceiptRequestMainMapper.updateById(mainDo);
for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId());
detailDO.setNumber(mainDo.getNumber());
purchasereceiptRequestDetailMapper.insertBatch(subDOList);
}
}
//} else if(existPurchasereceiptRequestMainDO != null && existPurchasereceiptRequestMainDO.getStatus().equals(RequestStatusEnum.NEW.getCode()) && mode != 2) {//修改
//BeanUtils.copyProperties(existPurchasereceiptRequestMainDO, mainDo);
//purchasereceiptRequestMainMapper.updateById(mainDo);
//增加操作记录
//trendsApi.createTrends(mainDo.getId(), "purchasereceiptRequest", existPurchasereceiptRequestMainDO.toString(), TrendsTypeEnum.UPDATE);
// 删除子表数据
//Map<String, Object> map = new HashMap<>();
//map.put("master_id", mainDo.getId());
//删除子表
//purchasereceiptRequestDetailMapper.deleteByMap(map);
//for (PurchasereceiptRequestDetailDO detailDO : subDOList) {
// detailDO.setMasterId(mainDo.getId());
// detailDO.setNumber(mainDo.getNumber());
// purchasereceiptRequestDetailMapper.insertBatch(subDOList);
//}
//}
}
});
//错误不为空并非部分更新,手工回滚
@ -226,6 +245,51 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
return errorList;
}
@Override
public Integer closePurchasereceiptRequestMain(Long id) {
// 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState();
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
@Override
public Integer submitPurchasereceiptRequestMain(Long id) {
// 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
Long count = purchasereceiptJobMainMapper.selectByRequestNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
RequestStatusState requestStatusState = new RequestStatusState();
boolean flag = requestStatusState.submit(requestsettingDO);
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
@Override
public Integer agreePurchasereceiptRequestMain(Long id) {
return null;
}
@Override
public Integer abortPurchasereceiptRequestMain(Long id) {
return null;
}
/**
* 校验导入并赋值一些参数未完全实现
* @param mainDo

Loading…
Cancel
Save