Browse Source

采购订单关闭按钮接口

master
叶佳兴 2 years ago
parent
commit
6931912ff0
  1. 2
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java
  3. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasePlan/PurchasePlanMainMapper.java
  4. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java
  5. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainService.java
  6. 40
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

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

@ -373,6 +373,8 @@ public interface ErrorCodeConstants {
//采购订单主ErrorCode //采购订单主ErrorCode
ErrorCode PURCHASE_MAIN_NOT_EXISTS = new ErrorCode(1_000_063_000, "采购订单主不存在"); ErrorCode PURCHASE_MAIN_NOT_EXISTS = new ErrorCode(1_000_063_000, "采购订单主不存在");
ErrorCode PURCHASE_CLOSED_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单已关闭"); ErrorCode PURCHASE_CLOSED_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单已关闭");
ErrorCode PURCHASE_MAIN_CANNOT_CLOSE = new ErrorCode(1_000_073_004, "采购订单状态不支持关闭");
ErrorCode PURCHASE_MAIN_EXISTS = new ErrorCode(1_000_073_004, "采购订单存在要货计划任务单");
//采购订单子ErrorCode //采购订单子ErrorCode
ErrorCode PURCHASE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单子不存在"); ErrorCode PURCHASE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_063_001, "采购订单子不存在");
ErrorCode PURCHASE_DETAIL_ARGUMENT_NOT_EXISTS = new ErrorCode(1_000_063_002, "采购订单明细:订单号ppo_number、订单行pline_number、零件号pitem_code无效"); ErrorCode PURCHASE_DETAIL_ARGUMENT_NOT_EXISTS = new ErrorCode(1_000_063_002, "采购订单明细:订单号ppo_number、订单行pline_number、零件号pitem_code无效");

11
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java

@ -144,7 +144,7 @@ public class PurchaseMainController {
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"), @Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true") @Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
}) })
@PreAuthorize("@ss.hasPermission('wms:purchaseclaim-request-main:import')") @PreAuthorize("@ss.hasPermission('wms:purchase-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response, public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode, @RequestParam(value = "mode") Integer mode,
@ -162,4 +162,13 @@ public class PurchaseMainController {
return success(returnMap); return success(returnMap);
} }
@PutMapping("/close")
@Operation(summary = "关闭采购订单申请主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('wms:purchase-main:close')")
public CommonResult<Boolean> closePurchaseMain(@RequestParam("id") Long id) {
Integer count = purchaseMainService.closePurchaseMain(id);
return success(count > 0);
}
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasePlan/PurchasePlanMainMapper.java

@ -8,6 +8,7 @@ import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanMainExportReqVO; import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanMainExportReqVO;
import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanMainPageReqVO; import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO; import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO;
import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -47,6 +48,13 @@ public interface PurchasePlanMainMapper extends BaseMapperX<PurchasePlanMainDO>
default PageResult<PurchasePlanMainDO> selectSenior(CustomConditions conditions) { default PageResult<PurchasePlanMainDO> selectSenior(CustomConditions conditions) {
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default Long selectBySonNumber(String number) {
return selectCount(new LambdaQueryWrapperX<PurchasePlanMainDO>()
.eq(PurchasePlanMainDO::getNumber, number)
.ne(PurchasePlanMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
default List<PurchasePlanMainDO> selectList(PurchasePlanMainExportReqVO reqVO) { default List<PurchasePlanMainDO> selectList(PurchasePlanMainExportReqVO reqVO) {
return selectList(new LambdaQueryWrapperX<PurchasePlanMainDO>() return selectList(new LambdaQueryWrapperX<PurchasePlanMainDO>()
.eqIfPresent(PurchasePlanMainDO::getSupplierCode, reqVO.getSupplierCode()) .eqIfPresent(PurchasePlanMainDO::getSupplierCode, reqVO.getSupplierCode())

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasereceiptJob/PurchasereceiptJobMainMapper.java

@ -74,10 +74,10 @@ public interface PurchasereceiptJobMainMapper extends BaseMapperX<Purchasereceip
return selectPage(conditions, QueryWrapperUtils.structure(conditions)); return selectPage(conditions, QueryWrapperUtils.structure(conditions));
} }
default Long selectByRequestNumber(String requestNumbere) { default Long selectByRequestNumber(String requestNumber) {
return selectCount(new LambdaQueryWrapperX<PurchasereceiptJobMainDO>() return selectCount(new LambdaQueryWrapperX<PurchasereceiptJobMainDO>()
.eq(PurchasereceiptJobMainDO::getRequestNumber, requestNumbere) .eq(PurchasereceiptJobMainDO::getRequestNumber, requestNumber)
.eq(PurchasereceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode())); .ne(PurchasereceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
} }
default List<PurchasereceiptJobMainDO> selectList(PurchasereceiptJobMainExportReqVO reqVO) { default List<PurchasereceiptJobMainDO> selectList(PurchasereceiptJobMainExportReqVO reqVO) {

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainService.java

@ -78,17 +78,27 @@ public interface PurchaseMainService {
* @return 采购订单主列表 * @return 采购订单主列表
*/ */
List<PurchaseMainDO> getPurchaseMainList(PurchaseMainExportReqVO exportReqVO); List<PurchaseMainDO> getPurchaseMainList(PurchaseMainExportReqVO exportReqVO);
/** /**
* Order----VPur * Order----VPur
* 校验采购订单明细 * 校验采购订单明细
* @author chenfang *
* @param pnumber 单据号 * @param pnumber 单据号
* @param psupplierCode 供应商代码 * @param psupplierCode 供应商代码
* @param pitemCode 物品代码 * @param pitemCode 物品代码
* @return 采购订单子列表 * @return 采购订单子列表
* @author chenfang
*/ */
public PurchaseDetailDO selectPurchaseDetailDoExist(String pnumber, String psupplierCode, String pitemCode,String poLine); public PurchaseDetailDO selectPurchaseDetailDoExist(String pnumber, String psupplierCode, String pitemCode, String poLine);
public List<PurchaseMainImportErrorVO> importPurchaseMaintList(List<PurchaseMainCreateReqVO> datas, Integer mode, boolean updatePart); public List<PurchaseMainImportErrorVO> importPurchaseMaintList(List<PurchaseMainCreateReqVO> datas, Integer mode, boolean updatePart);
/**
* 关闭采购订单申请主
*
* @param id 采采购订单申请主ID
* @return 更新数量
*/
Integer closePurchaseMain(Long id);
} }

40
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.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.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.purchase.vo.*; import com.win.module.wms.controller.purchase.vo.*;
import com.win.module.wms.convert.purchase.PurchaseDetailConvert; import com.win.module.wms.convert.purchase.PurchaseDetailConvert;
import com.win.module.wms.convert.purchase.PurchaseMainConvert; import com.win.module.wms.convert.purchase.PurchaseMainConvert;
@ -22,7 +24,9 @@ import com.win.module.wms.dal.dataobject.stdcostprice.StdcostpriceDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO; import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.purchase.PurchaseDetailMapper; import com.win.module.wms.dal.mysql.purchase.PurchaseDetailMapper;
import com.win.module.wms.dal.mysql.purchase.PurchaseMainMapper; import com.win.module.wms.dal.mysql.purchase.PurchaseMainMapper;
import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanMainMapper;
import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.currencyexchange.CurrencyexchangeService; import com.win.module.wms.service.currencyexchange.CurrencyexchangeService;
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;
@ -34,6 +38,7 @@ 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.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -45,8 +50,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY; import static com.win.module.wms.enums.ErrorCodeConstants.*;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASE_MAIN_NOT_EXISTS;
/** /**
* 采购订单主 Service 实现类 * 采购订单主 Service 实现类
@ -79,6 +83,11 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
private PurchaseDetailMapper purchaseDetailMapper; private PurchaseDetailMapper purchaseDetailMapper;
@Resource @Resource
private RequestsettingService requestsettingService; private RequestsettingService requestsettingService;
@Resource
private TrendsApi trendsApi;
@Resource
private PurchasePlanMainMapper purchasePlanMainMapper;
@Override @Override
public Long createPurchaseMain(PurchaseMainCreateReqVO createReqVO) { public Long createPurchaseMain(PurchaseMainCreateReqVO createReqVO) {
@ -111,10 +120,12 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchaseMainMapper.deleteById(id); purchaseMainMapper.deleteById(id);
} }
private void validatePurchaseMainExists(Long id) { private PurchaseMainDO validatePurchaseMainExists(Long id) {
if (purchaseMainMapper.selectById(id) == null) { PurchaseMainDO purchaseMainDO = purchaseMainMapper.selectById(id);
throw exception(PURCHASE_MAIN_NOT_EXISTS); if (purchaseMainDO == null) {
throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS);
} }
return purchaseMainDO;
} }
@Override @Override
@ -296,4 +307,23 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
} }
return errorList; return errorList;
} }
@Override
@Transactional
public Integer closePurchaseMain(Long id) {
// 校验存在存在下级单据
PurchaseMainDO mainDO = validatePurchaseMainExists(id);
Long count = purchasePlanMainMapper.selectBySonNumber(mainDO.getNumber());
if(count > 0) {
throw new ServiceException(PURCHASERECEIPT_REQUEST_JOB_EXISTS);
}
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(PURCHASE_MAIN_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "plan_purchase_main", "关闭了采购订单申请", TrendsTypeEnum.UPDATE);
return purchaseMainMapper.updateById(mainDO);
}
} }

Loading…
Cancel
Save