Browse Source

增加申请执行接口,增加跳过任务生成记录

master
刘忱 2 years ago
parent
commit
ad19309429
  1. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasereceiptRequest/PurchasereceiptRequestMainController.java
  2. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/enums/request/RequestStatusState.java
  3. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainService.java
  4. 51
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRequest/PurchasereceiptRequestMainServiceImpl.java

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

@ -232,6 +232,15 @@ public class PurchasereceiptRequestMainController {
return success(count > 0); return success(count > 0);
} }
@PutMapping("/handle")
@Operation(summary = "执行采购收货申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchasereceipt-request-main:handle')")
public CommonResult<Boolean> handlePurchasereceiptRequestMain(@RequestParam("id") Long id) {
Integer count = purchasereceiptRequestMainService.handlePurchasereceiptRequestMain(id);
return success(count > 0);
}
@PutMapping("/abort") @PutMapping("/abort")
@Operation(summary = "审批拒绝采购收货申请主") @Operation(summary = "审批拒绝采购收货申请主")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)

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

@ -92,6 +92,19 @@ public class RequestStatusState {
} }
} }
/**
* 审批
* @return
*/
public boolean handle() {
if(this.requestStatusEnum.getCode().equals(RequestStatusEnum.AGREED.getCode())) {
this.requestStatusEnum = RequestStatusEnum.HANDLING;
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
/** /**
* 驳回 * 驳回
* @return * @return

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

@ -119,6 +119,12 @@ public interface PurchasereceiptRequestMainService {
*/ */
Integer agreePurchasereceiptRequestMain(Long id); Integer agreePurchasereceiptRequestMain(Long id);
/**
* 处理采购收货申请主
* @param id
* @return
*/
Integer handlePurchasereceiptRequestMain(Long id);
/** /**
* 审批拒绝采购收货申请主 * 审批拒绝采购收货申请主
* *

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

@ -14,6 +14,8 @@ import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDetailCreateReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainCreateReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordMainCreateReqVO;
import com.win.module.wms.controller.purchasereceiptRequest.vo.*; import com.win.module.wms.controller.purchasereceiptRequest.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.purchasereceiptJob.PurchasereceiptJobDetailConvert; import com.win.module.wms.convert.purchasereceiptJob.PurchasereceiptJobDetailConvert;
@ -37,12 +39,15 @@ import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService; import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.purchase.PurchaseMainService; import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.purchasereceiptRecord.PurchasereceiptRecordDetailService;
import com.win.module.wms.service.purchasereceiptRecord.PurchasereceiptRecordMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.shift.ShiftService; import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplier.SupplierService; import com.win.module.wms.service.supplier.SupplierService;
import com.win.module.wms.service.supplieritem.SupplieritemService; import com.win.module.wms.service.supplieritem.SupplieritemService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
@ -96,6 +101,10 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
private ShiftService shiftService; private ShiftService shiftService;
@Resource @Resource
private PurchaseMainService purchaseMainService; private PurchaseMainService purchaseMainService;
@Resource
private PurchasereceiptRecordMainService purchasereceiptRecordMainService;
@Resource
private PurchasereceiptRecordDetailService purchasereceiptRecordDetailService;
@Override @Override
@Transactional @Transactional
@ -290,7 +299,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
if(count > 0) { if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS); throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
} }
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close(); boolean flag = requestStatusState.close();
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
@ -304,7 +313,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
@Transactional @Transactional
public Integer submitPurchasereceiptRequestMain(Long id) { public Integer submitPurchasereceiptRequestMain(Long id) {
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute()); boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
@ -323,7 +332,7 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
public Integer agreePurchasereceiptRequestMain(Long id) { public Integer agreePurchasereceiptRequestMain(Long id) {
// 校验存在 // 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoExecute()); boolean flag = requestStatusState.agree(mainDO.getAutoExecute());
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
@ -337,12 +346,29 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
return purchasereceiptRequestMainMapper.updateById(mainDO); return purchasereceiptRequestMainMapper.updateById(mainDO);
} }
@Override
@Transactional
public Integer handlePurchasereceiptRequestMain(Long id) {
// 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateJob(mainDO, purchasereceiptRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "purchasereceiptRequest", "执行了采购收货", TrendsTypeEnum.UPDATE);
return purchasereceiptRequestMainMapper.updateById(mainDO);
}
@Override @Override
@Transactional @Transactional
public Integer abortPurchasereceiptRequestMain(Long id) { public Integer abortPurchasereceiptRequestMain(Long id) {
// 校验存在 // 校验存在
PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id); PurchasereceiptRequestMainDO mainDO = validatePurchasereceiptRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.reject(); boolean flag = requestStatusState.reject();
if(!flag) { if(!flag) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE); throw new ServiceException(PURCHASERECEIPT_REQUEST_CANNOT_CLOSE);
@ -386,6 +412,23 @@ public class PurchasereceiptRequestMainServiceImpl implements PurchasereceiptReq
*/ */
@Transactional @Transactional
private void generateJob(PurchasereceiptRequestMainDO mainDO, List<PurchasereceiptRequestDetailDO> detailDOList) { private void generateJob(PurchasereceiptRequestMainDO mainDO, List<PurchasereceiptRequestDetailDO> detailDOList) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchaseReceiptRequest");
//跳过任务直接生成记录
if("TRUE".equals(requestsettingDO.getDirectCreateRecord())) {
PurchasereceiptRecordMainCreateReqVO purchasereceiptRecordMainCreateReqVO = new PurchasereceiptRecordMainCreateReqVO();
BeanUtils.copyProperties(mainDO, purchasereceiptRecordMainCreateReqVO);
purchasereceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode());
purchasereceiptRecordMainCreateReqVO.setNumber(number);
purchasereceiptRecordMainService.createPurchasereceiptRecordMain(purchasereceiptRecordMainCreateReqVO);
for(PurchasereceiptRequestDetailDO purchasereceiptRequestDetailDO : detailDOList) {
PurchasereceiptRecordDetailCreateReqVO purchasereceiptRecordDetailCreateReqVO = new PurchasereceiptRecordDetailCreateReqVO();
BeanUtils.copyProperties(purchasereceiptRequestDetailDO, purchasereceiptRecordDetailCreateReqVO);
purchasereceiptRecordDetailCreateReqVO.setNumber(number);
purchasereceiptRecordDetailService.createPurchasereceiptRecordDetail(purchasereceiptRecordDetailCreateReqVO);
}
return;
}
RuleRespVO ruleRespVO = ruleService.deliveryGoods(null, mainDO.getSupplierCode()); RuleRespVO ruleRespVO = ruleService.deliveryGoods(null, mainDO.getSupplierCode());
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration()); JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>(); Map<String, List<PurchasereceiptRequestDetailDO>> listMap = new HashMap<>();

Loading…
Cancel
Save