diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanDetailController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanDetailController.java index 2101a865..bcaef4f8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanDetailController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanDetailController.java @@ -1,35 +1,32 @@ package com.win.module.wms.controller.purchasePlan; +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.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.purchasePlan.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.module.wms.convert.purchasePlan.PurchasePlanDetailConvert; +import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO; +import com.win.module.wms.service.purchasePlan.PurchasePlanDetailService; 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 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 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.dal.dataobject.purchasePlan.PurchasePlanDetailDO; -import com.win.module.wms.convert.purchasePlan.PurchasePlanDetailConvert; -import com.win.module.wms.service.purchasePlan.PurchasePlanDetailService; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 要货计划子") @RestController @@ -121,4 +118,13 @@ public class PurchasePlanDetailController { ExcelUtils.write(response, "要货计划子.xls", "数据", PurchasePlanDetailExcelVO.class, datas); } + @GetMapping("/allList") + @Operation(summary = "高级搜索获得要货计划子信息") + @PreAuthorize("@ss.hasPermission('wms:purchase-plan-detail:allList')") + public CommonResult> selectAllList(@RequestParam String poNumber) { + List list = purchasePlanDetailService.selectAllList(poNumber); + List result = PurchasePlanDetailConvert.INSTANCE.convertList(list); + return success(result); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java index 5b32a7eb..b6fcc78c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java @@ -12,8 +12,11 @@ import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.wms.controller.purchase.vo.PurchaseMainCreateReqVO; import com.win.module.wms.controller.purchase.vo.PurchaseMainImportVO; import com.win.module.wms.controller.purchasePlan.vo.*; +import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailRespVO; import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert; +import com.win.module.wms.convert.purchasereceiptRecord.PurchasereceiptRecordDetailConvert; import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.service.purchasePlan.PurchasePlanMainService; import io.swagger.v3.oas.annotations.Operation; @@ -92,7 +95,7 @@ public class PurchasePlanMainController { @GetMapping("/page") @Operation(summary = "获得要货计划主分页") - @PreAuthorize("@ss.hasPermission('wms:purchase-plan-main:query')") + @PreAuthorize("@ss.hasPermission('wms:purchase-plan-main:page')") public CommonResult> getPurchasePlanMainPage(@Valid PurchasePlanMainPageReqVO pageVO) { PageResult pageResult = purchasePlanMainService.getPurchasePlanMainPage(pageVO); return success(PurchasePlanMainConvert.INSTANCE.convertPage(pageResult)); @@ -221,5 +224,4 @@ public class PurchasePlanMainController { return success(count > 0); } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasePlan/PurchasePlanDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasePlan/PurchasePlanDetailMapper.java index 31c5171f..499c07db 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasePlan/PurchasePlanDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/purchasePlan/PurchasePlanDetailMapper.java @@ -11,6 +11,7 @@ import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailExportReq import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailPageReqVO; import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import org.apache.ibatis.annotations.Mapper; /** @@ -60,4 +61,9 @@ public interface PurchasePlanDetailMapper extends BaseMapperX selectAllList(String poNumber) { + return selectList(new LambdaQueryWrapperX() + .eq(PurchasePlanDetailDO::getPoNumber, poNumber)); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailService.java index 7afb54ff..bc129e2f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailService.java @@ -10,6 +10,7 @@ import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailPageReqVO import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO; import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; /** * 要货计划子 Service 接口 @@ -80,4 +81,11 @@ public interface PurchasePlanDetailService { */ List getPurchasePlanDetailList(PurchasePlanDetailExportReqVO exportReqVO); + /** + * 根据主表number查询 + * @param poNumber + * @return + */ + List selectAllList(String poNumber); + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailServiceImpl.java index 189bcfdf..a7365453 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanDetailServiceImpl.java @@ -5,10 +5,12 @@ import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailCreateReq import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailExportReqVO; import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailPageReqVO; import com.win.module.wms.controller.purchasePlan.vo.PurchasePlanDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; @@ -89,5 +91,17 @@ public class PurchasePlanDetailServiceImpl implements PurchasePlanDetailService public List getPurchasePlanDetailList(PurchasePlanDetailExportReqVO exportReqVO) { return purchasePlanDetailMapper.selectList(exportReqVO); } + @Override + public List selectAllList(String poNumber) { + List newList = new ArrayList<>(); + List purchasePlanDetailDOList = purchasePlanDetailMapper.selectAllList(poNumber); + for (PurchasePlanDetailDO purchasePlanDetailDO : purchasePlanDetailDOList) { + if(purchasePlanDetailDO.getPlanQty().compareTo(purchasePlanDetailDO.getShippedQty())> 0){ + newList.add(purchasePlanDetailDO); + } + } + return newList; + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java index 41b124e0..c2481123 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java @@ -126,8 +126,6 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq @Resource private LocationService locationService; - - @Override public Long createSupplierdeliverRequestMain(SupplierdeliverRequestMainCreateReqVO createReqVO) { // 插入主表 @@ -135,6 +133,8 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq createReqVO.setBusinessType(businesstypeDO.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.SUPPLIER_DELIVER_REQUEST.getCode()); createReqVO.setNumber(number); + String asnNumber = serialNumberApi.generateCode(RuleCodeEnum.ASN_NUMBER.getCode()); + createReqVO.setAsnNumber(asnNumber); createReqVO.setCreateTime(LocalDateTime.now()); SupplierdeliverRequestMainDO supplierdeliverRequestMainDO = validatorToCreate(createReqVO); //调用自动执行方法 @@ -208,6 +208,16 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq List errorList = new ArrayList<>(); for (SupplierdeliverRequestMainCreateReqVO createReqVO : datas) { SupplierdeliverRequestMainDO mainDo = SupplierdeliverRequestMainConvert.INSTANCE.convert(createReqVO); + // 插入主表 + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("SupplierDeliverRequest"); + mainDo.setBusinessType(businesstypeDO.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.SUPPLIER_DELIVER_REQUEST.getCode()); + mainDo.setNumber(number); + if(mainDo.getAsnNumber().isEmpty()){ + String asnNumber = serialNumberApi.generateCode(RuleCodeEnum.ASN_NUMBER.getCode()); + mainDo.setAsnNumber(asnNumber); + } + mainDo.setCreateTime(LocalDateTime.now()); String messageMain = validatorSupplierdeliverRequestMainImport(mainDo); List subList = createReqVO.getSubList(); List subDOList = SupplierdeliverRequestDetailConvert.INSTANCE.convertList03(subList); @@ -227,8 +237,6 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq //写入数据 if (flag) { mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseOrder"); - mainDo.setBusinessType(businesstypeDO.getCode()); supplierdeliverRequestMainMapper.insert(mainDo); for (SupplierdeliverRequestDetailDO detailDO : subDOList) { detailDO.setMasterId(mainDo.getId());