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 PURCHASE_MAIN_NOT_EXISTS = new ErrorCode(1_000_063_000, "采购订单主不存在");
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 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无效");

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 = "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,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@ -162,4 +162,13 @@ public class PurchaseMainController {
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.PurchasePlanMainPageReqVO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO;
import com.win.module.wms.enums.order.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@ -47,6 +48,13 @@ public interface PurchasePlanMainMapper extends BaseMapperX<PurchasePlanMainDO>
default PageResult<PurchasePlanMainDO> selectSenior(CustomConditions 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) {
return selectList(new LambdaQueryWrapperX<PurchasePlanMainDO>()
.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));
}
default Long selectByRequestNumber(String requestNumbere) {
default Long selectByRequestNumber(String requestNumber) {
return selectCount(new LambdaQueryWrapperX<PurchasereceiptJobMainDO>()
.eq(PurchasereceiptJobMainDO::getRequestNumber, requestNumbere)
.eq(PurchasereceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
.eq(PurchasereceiptJobMainDO::getRequestNumber, requestNumber)
.ne(PurchasereceiptJobMainDO::getStatus, OrderStatusEnum.CLOSED.getCode()));
}
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 采购订单主列表
*/
List<PurchaseMainDO> getPurchaseMainList(PurchaseMainExportReqVO exportReqVO);
/**
* Order----VPur
* 校验采购订单明细
* @author chenfang
* @param pnumber 单据号
*
* @param pnumber 单据号
* @param psupplierCode 供应商代码
* @param pitemCode 物品代码
* @param pitemCode 物品代码
* @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);
/**
* 关闭采购订单申请主
*
* @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.PageResult;
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.convert.purchase.PurchaseDetailConvert;
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.mysql.purchase.PurchaseDetailMapper;
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.request.RequestStatusState;
import com.win.module.wms.service.currencyexchange.CurrencyexchangeService;
import com.win.module.wms.service.itembasic.ItembasicService;
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 org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
@ -45,8 +50,7 @@ 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.PURCHASECLAIM_REQUEST_IMPORT_LIST_IS_EMPTY;
import static com.win.module.wms.enums.ErrorCodeConstants.PURCHASE_MAIN_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
/**
* 采购订单主 Service 实现类
@ -79,6 +83,11 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
private PurchaseDetailMapper purchaseDetailMapper;
@Resource
private RequestsettingService requestsettingService;
@Resource
private TrendsApi trendsApi;
@Resource
private PurchasePlanMainMapper purchasePlanMainMapper;
@Override
public Long createPurchaseMain(PurchaseMainCreateReqVO createReqVO) {
@ -111,10 +120,12 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchaseMainMapper.deleteById(id);
}
private void validatePurchaseMainExists(Long id) {
if (purchaseMainMapper.selectById(id) == null) {
throw exception(PURCHASE_MAIN_NOT_EXISTS);
private PurchaseMainDO validatePurchaseMainExists(Long id) {
PurchaseMainDO purchaseMainDO = purchaseMainMapper.selectById(id);
if (purchaseMainDO == null) {
throw exception(PURCHASERECEIPT_REQUEST_MAIN_NOT_EXISTS);
}
return purchaseMainDO;
}
@Override
@ -296,4 +307,23 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
}
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