From 27b60dd9253163517869ee2b22a96807e6bd2fef Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Thu, 28 Dec 2023 14:03:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/controller/board/BoardController.java | 62 +++++++++++++++++++ .../mysql/issueJob/IssueJobDetailMapper.java | 16 +++-- .../production/ProductionDetailMapper.java | 11 +++- .../CountRequestMainServiceImpl.java | 1 - .../deliverJob/DeliverJobMainService.java | 11 ++-- .../deliverJob/DeliverJobMainServiceImpl.java | 12 ++++ .../issueJob/IssueJobDetailService.java | 17 +++-- .../issueJob/IssueJobDetailServiceImpl.java | 28 +++++---- .../service/location/LocationServiceImpl.java | 1 - .../production/ProductionDetailService.java | 8 ++- .../ProductionDetailServiceImpl.java | 13 +++- .../production/ProductionMainServiceImpl.java | 1 - .../PurchasereceiptJobMainService.java | 7 +++ .../PurchasereceiptJobMainServiceImpl.java | 18 ++++-- .../mapper/issueJob/IssueJobDetailMapper.xml | 13 ++-- .../production/ProductionDetailMapper.xml | 12 ++-- 16 files changed, 179 insertions(+), 52 deletions(-) create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/board/BoardController.java diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/board/BoardController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/board/BoardController.java new file mode 100644 index 00000000..cc471253 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/board/BoardController.java @@ -0,0 +1,62 @@ +package com.win.module.wms.controller.board; + +import com.win.framework.common.pojo.CommonResult; +import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainRespVO; +import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainRespVO; +import com.win.module.wms.service.deliverJob.DeliverJobMainService; +import com.win.module.wms.service.issueJob.IssueJobDetailService; +import com.win.module.wms.service.production.ProductionDetailService; +import com.win.module.wms.service.purchasereceiptJob.PurchasereceiptJobMainService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +import static com.win.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 看板") +@RestController +@RequestMapping("/wms/board") +@Validated +public class BoardController { + + @Resource + private PurchasereceiptJobMainService purchasereceiptJobMainService; + @Resource + private IssueJobDetailService issueJobDetailService; + @Resource + private DeliverJobMainService deliverJobMainService; + @Resource + private ProductionDetailService productionDetailService; + + @GetMapping("/purchasereceipt") + @Operation(summary = "采购到货看板") + public CommonResult> purchasereceipt() { + return success(purchasereceiptJobMainService.getPurchasereceiptJobListBoard()); + } + + @GetMapping("/issue") + @Operation(summary = "生产叫料看板") + public CommonResult>> issue() { + return success(issueJobDetailService.getIssueJobListBoard()); + } + + @GetMapping("/production") + @Operation(summary = "生产计划看板") + public CommonResult>> production() { + return success(productionDetailService.getProductionPlanListBoard()); + } + + @GetMapping("/deliver") + @Operation(summary = "成品发运看板") + public CommonResult> deliver() { + return success(deliverJobMainService.getDeliverJobListBoard()); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueJob/IssueJobDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueJob/IssueJobDetailMapper.java index a377b335..1124b44e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueJob/IssueJobDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueJob/IssueJobDetailMapper.java @@ -1,18 +1,19 @@ package com.win.module.wms.dal.mysql.issueJob; -import java.util.*; - import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailExportReqVO; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailPageReqVO; import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO; -import com.win.module.wms.dal.dataobject.productionreceiptJob.ProductionreceiptJobDetailDO; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; /** * 发料任务子 Mapper @@ -94,4 +95,9 @@ public interface IssueJobDetailMapper extends BaseMapperX { .eq(IssueJobDetailDO::getMasterId, masterId)); } + /** + * 看板列表 + * @return 看板列表 + */ + List> getIssueJobListBoard(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/production/ProductionDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/production/ProductionDetailMapper.java index 63feca32..068bc8a5 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/production/ProductionDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/production/ProductionDetailMapper.java @@ -5,14 +5,14 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; import com.win.framework.mybatis.core.util.QueryWrapperUtils; -import com.win.module.wms.controller.production.vo.ProductionDetailExportReqVO; import com.win.module.wms.controller.production.vo.ProductionDetailPageReqVO; import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; -import com.win.module.wms.dal.dataobject.work.WorkDetailDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import java.time.LocalDateTime; import java.util.List; +import java.util.Map; /** * 生产计划子 Mapper @@ -67,4 +67,9 @@ public interface ProductionDetailMapper extends BaseMapperX // .orderByDesc(ProductionDetailDO::getId)); // } + /** + * 看板列表 + * @return 看板列表 + */ + List> getProductionPlanListBoard(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java index 93faa3e5..1e0b6033 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java @@ -425,7 +425,6 @@ public class CountRequestMainServiceImpl implements CountRequestMainService { countJobMainDO.setWarehouseCode(locationDO.getWarehouseCode()); countJobMainDO.setRequestDueTime(mainDO.getDueTime()); countJobMainDO.setRequestNumber(mainDO.getNumber()); - countJobMainDO.setRequestDueTime(mainDO.getDueTime()); countJobMainDO.setAutoComplete(jobsettingDO.getAutoComplete()); countJobMainDO.setAllowModifyLocation(jobsettingDO.getAllowModifyLocation()); countJobMainDO.setAllowModifyQty(jobsettingDO.getAllowModifyQty()); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java index bb47f879..277c6d56 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java @@ -2,10 +2,7 @@ package com.win.module.wms.service.deliverJob; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; -import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainCreateReqVO; -import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainExportReqVO; -import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainPageReqVO; -import com.win.module.wms.controller.deliverJob.vo.DeliverJobMainUpdateReqVO; +import com.win.module.wms.controller.deliverJob.vo.*; import com.win.module.wms.dal.dataobject.deliverJob.DeliverJobMainDO; import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO; import com.win.module.wms.dal.dataobject.sale.SaleDetailDO; @@ -152,4 +149,10 @@ public interface DeliverJobMainService { * @return pda未处理的任务数 */ Long getDeliverJobCountPda(); + + /** + * 看板列表 + * @return 看板列表 + */ + List getDeliverJobListBoard(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java index 4eafdefb..75ab31c8 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java @@ -447,4 +447,16 @@ public class DeliverJobMainServiceImpl implements DeliverJobMainService { queryWrapper.eq("`status`", JobStatusEnum.PENDING.getCode()); return deliverJobMainMapper.selectCount(queryWrapper); } + + @Override + public List getDeliverJobListBoard() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime beginTime = now.minusHours(4).withMinute(0).withSecond(0).withNano(0); + LocalDateTime endTime = now.plusHours(19).withMinute(59).withSecond(59).withNano(999999999); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.between("request_due_time", beginTime, endTime); + queryWrapper.ne("`status`", JobStatusEnum.CLOSED.getCode()); + List list = deliverJobMainMapper.selectList(queryWrapper); + return DeliverJobMainConvert.INSTANCE.convertList(list); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailService.java index 4d0cc593..d6970cce 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailService.java @@ -1,15 +1,14 @@ package com.win.module.wms.service.issueJob; -import java.util.*; -import javax.validation.*; - import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.issueJob.vo.IssueJobDetailCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailExportReqVO; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailPageReqVO; -import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO; -import com.win.framework.common.pojo.PageResult; + +import java.util.Collection; +import java.util.List; +import java.util.Map; /** * 发料任务子 Service 接口 @@ -59,4 +58,10 @@ public interface IssueJobDetailService { List getIssueJobDetailList(IssueJobDetailExportReqVO exportReqVO); List selectList(Long id); + + /** + * 看板列表 + * @return 看板列表 + */ + List> getIssueJobListBoard(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailServiceImpl.java index f1f8b5b7..ee6ed2b0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailServiceImpl.java @@ -1,24 +1,22 @@ package com.win.module.wms.service.issueJob; import com.win.framework.common.pojo.CustomConditions; -import com.win.module.wms.controller.issueJob.vo.IssueJobDetailCreateReqVO; +import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailExportReqVO; import com.win.module.wms.controller.issueJob.vo.IssueJobDetailPageReqVO; -import com.win.module.wms.controller.issueJob.vo.IssueJobDetailUpdateReqVO; +import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO; +import com.win.module.wms.dal.mysql.issueJob.IssueJobDetailMapper; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; -import java.util.*; - -import com.win.module.wms.dal.dataobject.issueJob.IssueJobDetailDO; -import com.win.framework.common.pojo.PageResult; - -import com.win.module.wms.convert.issueJob.IssueJobDetailConvert; -import com.win.module.wms.dal.mysql.issueJob.IssueJobDetailMapper; +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.List; +import java.util.Map; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.win.module.wms.enums.ErrorCodeConstants.*; +import static com.win.module.wms.enums.ErrorCodeConstants.ISSUE_JOB_DETAIL_NOT_EXISTS; /** * 发料任务子 Service 实现类 @@ -67,4 +65,12 @@ public class IssueJobDetailServiceImpl implements IssueJobDetailService { return issueJobDetailMapper.selectList(masterId); } + @Override + public List> getIssueJobListBoard() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime beginTime = now.minusHours(4).withMinute(0).withSecond(0).withNano(0); + LocalDateTime endTime = now.plusHours(19).withMinute(59).withSecond(59).withNano(999999999); + return issueJobDetailMapper.getIssueJobListBoard(beginTime, endTime); + } + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java index fec191a3..4b117f03 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java @@ -405,7 +405,6 @@ public class LocationServiceImpl implements LocationService { queryWrapper.eq("available", "TRUE"); queryWrapper.eq("`type`", "WIP");//线边库 queryWrapper.inSql("`code`", "SELECT DISTINCT location_code FROM transaction_balance"); - queryWrapper.last("LIMIT 10"); List locationDOList = locationMapper.selectList(queryWrapper); return LocationConvert.INSTANCE.convertList(locationDOList); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailService.java index 59be627d..71a9b0c9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailService.java @@ -3,7 +3,6 @@ package com.win.module.wms.service.production; import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.production.vo.ProductionDetailCreateReqVO; -import com.win.module.wms.controller.production.vo.ProductionDetailExportReqVO; import com.win.module.wms.controller.production.vo.ProductionDetailPageReqVO; import com.win.module.wms.controller.production.vo.ProductionDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; @@ -11,6 +10,7 @@ import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; import javax.validation.Valid; import java.util.Collection; import java.util.List; +import java.util.Map; /** * 生产计划子 Service 接口 @@ -82,4 +82,10 @@ public interface ProductionDetailService { PageResult getProductionDetailSenior(CustomConditions conditions); List selectList(Long masterId); + + /** + * 看板列表 + * @return 看板列表 + */ + List> getProductionPlanListBoard(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailServiceImpl.java index 82db2998..2bb8a262 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailServiceImpl.java @@ -6,14 +6,11 @@ import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.dict.DictDataApi; import com.win.module.wms.controller.production.vo.ProductionDetailCreateReqVO; -import com.win.module.wms.controller.production.vo.ProductionDetailExportReqVO; import com.win.module.wms.controller.production.vo.ProductionDetailPageReqVO; import com.win.module.wms.controller.production.vo.ProductionDetailUpdateReqVO; import com.win.module.wms.convert.production.ProductionDetailConvert; -import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.production.ProductionDetailDO; -import com.win.module.wms.dal.dataobject.production.ProductionMainDO; import com.win.module.wms.dal.mysql.production.ProductionDetailMapper; import com.win.module.wms.service.bom.BomService; import com.win.module.wms.service.itembasic.ItembasicService; @@ -23,8 +20,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Collection; import java.util.List; +import java.util.Map; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.wms.enums.ErrorCodeConstants.ITEMBASIC_UOM_EXCEPTION; @@ -124,6 +123,14 @@ public class ProductionDetailServiceImpl implements ProductionDetailService { return productionDetailMapper.selectList(masterId); } + @Override + public List> getProductionPlanListBoard() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime beginTime = now.minusHours(4).withMinute(0).withSecond(0).withNano(0); + LocalDateTime endTime = now.plusHours(19).withMinute(59).withSecond(59).withNano(999999999); + return productionDetailMapper.getProductionPlanListBoard(beginTime, endTime); + } + /** * 新增校验 * @param detailDo diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionMainServiceImpl.java index a617c8a0..cffa06aa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionMainServiceImpl.java @@ -511,7 +511,6 @@ public class ProductionMainServiceImpl implements ProductionMainService { LocalDateTime beginTime = endTime.withHour(0).withMinute(0).withSecond(0).withNano(0); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.between("plan_date", beginTime, endTime); - queryWrapper.last("LIMIT 10"); List productionMainDOList = productionMainMapper.selectList(queryWrapper); return ProductionMainConvert.INSTANCE.convertList(productionMainDOList); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java index 334d6ff4..63de7d04 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java @@ -4,6 +4,7 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO; +import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainRespVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO; import com.win.module.wms.dal.dataobject.purchasereceiptJob.PurchasereceiptJobMainDO; import com.win.module.wms.dal.dataobject.supplierdeliverRecord.SupplierdeliverRecordDetailDO; @@ -126,4 +127,10 @@ public interface PurchasereceiptJobMainService { * @return pda未处理的任务数 */ Long getPurchasereceiptJobCountPda(); + + /** + * 看板列表 + * @return 看板列表 + */ + List getPurchasereceiptJobListBoard(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index 50fb3d13..cc982978 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -14,14 +14,12 @@ import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestDetailCreateReqVO; import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainCreateReqVO; -import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDetailUpdateReqVO; -import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO; -import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO; -import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO; +import com.win.module.wms.controller.purchasereceiptJob.vo.*; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO; import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainCreateReqVO; import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.convert.purchasereceiptJob.PurchasereceiptJobMainConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.documentSwitch.SwitchDO; import com.win.module.wms.dal.dataobject.location.LocationDO; @@ -504,6 +502,18 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain return purchasereceiptJobMainMapper.selectCount(queryWrapper); } + @Override + public List getPurchasereceiptJobListBoard() { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime beginTime = now.minusHours(4).withMinute(0).withSecond(0).withNano(0); + LocalDateTime endTime = now.plusHours(19).withMinute(59).withSecond(59).withNano(999999999); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.between("request_due_time", beginTime, endTime); + queryWrapper.ne("`status`", JobStatusEnum.CLOSED.getCode()); + List list = purchasereceiptJobMainMapper.selectList(queryWrapper); + return PurchasereceiptJobMainConvert.INSTANCE.convertList(list); + } + private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) { PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id); if (purchasereceiptJobMainDO == null) { diff --git a/win-module-wms/win-module-wms-biz/src/main/resources/mapper/issueJob/IssueJobDetailMapper.xml b/win-module-wms/win-module-wms-biz/src/main/resources/mapper/issueJob/IssueJobDetailMapper.xml index 5f3ef655..379c3b54 100644 --- a/win-module-wms/win-module-wms-biz/src/main/resources/mapper/issueJob/IssueJobDetailMapper.xml +++ b/win-module-wms/win-module-wms-biz/src/main/resources/mapper/issueJob/IssueJobDetailMapper.xml @@ -2,11 +2,12 @@ - + + diff --git a/win-module-wms/win-module-wms-biz/src/main/resources/mapper/production/ProductionDetailMapper.xml b/win-module-wms/win-module-wms-biz/src/main/resources/mapper/production/ProductionDetailMapper.xml index 78b8dc41..489fc1a1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/resources/mapper/production/ProductionDetailMapper.xml +++ b/win-module-wms/win-module-wms-biz/src/main/resources/mapper/production/ProductionDetailMapper.xml @@ -2,11 +2,11 @@ - + + From 43ff12e03ada5dfe05481ef4d3de0e79a83bf8aa Mon Sep 17 00:00:00 2001 From: yejiaxing <591141169@qq.com> Date: Thu, 28 Dec 2023 14:05:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DemandforecastingMainServiceImpl.java | 20 ++++--- .../module/wms/service/dock/DockService.java | 14 ++++- .../wms/service/dock/DockServiceImpl.java | 60 ++++++++++++------- .../purchase/PurchaseMainServiceImpl.java | 8 +-- ...SupplierdeliverRequestMainServiceImpl.java | 14 ++++- 5 files changed, 76 insertions(+), 40 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java index a9a86ebb..7ef3f82f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java @@ -70,18 +70,17 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe private SupplieritemService supplieritemService; @Resource private SerialNumberApi serialNumberApi; + @Resource private TrendsApi trendsApi; @Override public Long createDemandforecastingMain(DemandforecastingMainCreateReqVO createReqVO) { - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePrediction"); - createReqVO.setBusinessType(businesstypeDO.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_PREDICTION.getCode()); createReqVO.setNumber(number); createReqVO.setCreateTime(LocalDateTime.now()); DemandforecastingMainDO demandforecastingMainDO = validatorToCreate(createReqVO); //调用自动执行方法 - if(RequestStatusEnum.HANDLING.getCode().equals(demandforecastingMainDO.getStatus())) { + if (RequestStatusEnum.HANDLING.getCode().equals(demandforecastingMainDO.getStatus())) { } trendsApi.createTrends(demandforecastingMainDO.getId(), "Demandforecasting", "增加了要货预测", TrendsTypeEnum.CREATE); return demandforecastingMainDO.getId(); @@ -92,7 +91,7 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe // 校验存在 validateDemandforecastingMainExists(updateReqVO.getId()); DemandforecastingMainDO demandforecastingMainDO = validatorToUpdate(updateReqVO); - if(RequestStatusEnum.HANDLING.getCode().equals(demandforecastingMainDO.getStatus())) { + if (RequestStatusEnum.HANDLING.getCode().equals(demandforecastingMainDO.getStatus())) { } trendsApi.createTrends(demandforecastingMainDO.getId(), "Demandforecasting", "修改了要货预测", TrendsTypeEnum.CREATE); } @@ -188,6 +187,7 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe * @param mainDo * @return */ + private String validateDemandforecastingMainImport(DemandforecastingMainDO mainDo, BusinesstypeDO businesstypeDO) { // 校验,判断是否有不符合的原因,并加入errorList,如果主表则所有子表都加入errorList String messageMain = ""; @@ -249,13 +249,14 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe //新增方法(主和子) + @Transactional private DemandforecastingMainDO validatorToCreate(DemandforecastingMainCreateReqVO createReqVO) { DemandforecastingMainDO demandforecastingMainDO = validateMainMethod(createReqVO); //子表校验 List subList = createReqVO.getSubList(); List subDOList = DemandforecastingDetailConvert.INSTANCE.convertList03(subList); for (DemandforecastingDetailDO demandforecastingDetailDO : subDOList) { - validateDetailMethod(demandforecastingMainDO,demandforecastingDetailDO); + validateDetailMethod(demandforecastingMainDO, demandforecastingDetailDO); } String number = serialNumberApi.generateCode(RuleCodeEnum.SUPPLIER_DELIVER_REQUEST.getCode()); demandforecastingMainDO.setNumber(number); @@ -269,13 +270,14 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe } //修改方法(主和子) + @Transactional private DemandforecastingMainDO validatorToUpdate(DemandforecastingMainUpdateReqVO updateReqVO) { DemandforecastingMainDO demandforecastingMainDO = validateMainMethod(updateReqVO); //子表校验 List subList = updateReqVO.getSubList(); List subDOList = DemandforecastingDetailConvert.INSTANCE.convertList05(subList); for (DemandforecastingDetailDO demandforecastingDetailDO : subDOList) { - validateDetailMethod(demandforecastingMainDO,demandforecastingDetailDO); + validateDetailMethod(demandforecastingMainDO, demandforecastingDetailDO); } demandforecastingMainMapper.updateById(demandforecastingMainDO); demandforecastingDetailMapper.updateBatch(subDOList); @@ -283,16 +285,16 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe } //校验主表公共方法(适用于新增/修改) - private DemandforecastingMainDO validateMainMethod(DemandforecastingMainBaseVO baseVO){ + private DemandforecastingMainDO validateMainMethod(DemandforecastingMainBaseVO baseVO) { DemandforecastingMainDO demandforecastingMainDO = DemandforecastingMainConvert.INSTANCE.convert(baseVO); this.validatorSupplier(demandforecastingMainDO.getSupplierCode()); return demandforecastingMainDO; } //校验子表公共方法(适用于新增/修改) - private void validateDetailMethod(DemandforecastingMainDO demandforecastingMainDO,DemandforecastingDetailDO demandforecastingDetailDO) { + private void validateDetailMethod(DemandforecastingMainDO demandforecastingMainDO, DemandforecastingDetailDO demandforecastingDetailDO) { itembasicService.selectItembasic(demandforecastingDetailDO.getItemCode()); - purchaseMainService.selectPurchaseDetailDoExist(demandforecastingDetailDO.getNumber(), demandforecastingMainDO.getSupplierCode(), demandforecastingDetailDO.getItemCode(), demandforecastingDetailDO.getPoLine()); + purchaseMainService.selectPurchaseDetailDoExist(demandforecastingDetailDO.getPoNumber(), demandforecastingMainDO.getSupplierCode(), demandforecastingDetailDO.getItemCode(), demandforecastingDetailDO.getPoLine()); supplieritemService.selectSupplierItemExist(demandforecastingMainDO.getSupplierCode(), demandforecastingDetailDO.getItemCode()); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java index 0949d066..9a002c44 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java @@ -70,7 +70,7 @@ public interface DockService { */ PageResult getDockSenior(CustomConditions conditions); - + /** * 获得月台列表, 用于 Excel 导出 * @@ -83,9 +83,19 @@ public interface DockService { /** * 校验(客户地点 月台)收货口有效,状态正确 - * @author chenfang + * * @param code 代码 * @return 月台列表 + * @author chenfang */ DockDO DockExist(String code); + + /** + * 查询月台 + * + * @param code toWarehouseCode + * @return 月台列表 + * @author yejiaxing + */ + DockDO selectDockByTwoCode(String code, String toWarehouseCode); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java index 023e289e..7b0f2cad 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java @@ -40,9 +40,9 @@ public class DockServiceImpl implements DockService { @Override public Long createDock(DockCreateReqVO createReqVO) { - validateDockForCreateOrUpdate(createReqVO.getId(),createReqVO.getCode(),createReqVO.getType(),createReqVO.getWarehouseCode(),createReqVO.getDefaultLocationCode(),createReqVO.getAvailable()); + validateDockForCreateOrUpdate(createReqVO.getId(), createReqVO.getCode(), createReqVO.getType(), createReqVO.getWarehouseCode(), createReqVO.getDefaultLocationCode(), createReqVO.getAvailable()); - // 插入 + // 插入 DockDO dock = DockConvert.INSTANCE.convert(createReqVO); dockMapper.insert(dock); // 返回 @@ -52,8 +52,8 @@ public class DockServiceImpl implements DockService { @Override public void updateDock(DockUpdateReqVO updateReqVO) { // 校验存在 - validateDockForCreateOrUpdate(updateReqVO.getId(),updateReqVO.getCode(),updateReqVO.getType(),updateReqVO.getWarehouseCode(),updateReqVO.getDefaultLocationCode(),updateReqVO.getAvailable()); - // 更新 + validateDockForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getCode(), updateReqVO.getType(), updateReqVO.getWarehouseCode(), updateReqVO.getDefaultLocationCode(), updateReqVO.getAvailable()); + // 更新 DockDO updateObj = DockConvert.INSTANCE.convert(updateReqVO); dockMapper.updateById(updateObj); } @@ -85,13 +85,13 @@ public class DockServiceImpl implements DockService { public PageResult getDockSenior(CustomConditions conditions) { return dockMapper.selectSenior(conditions); } - + @Override public List getDockList(DockExportReqVO exportReqVO) { return dockMapper.selectList(exportReqVO); } - public String valitedock(DockDO dock){ + public String valitedock(DockDO dock) { StringBuilder message = new StringBuilder(); try { validateDockExists(null); @@ -99,7 +99,7 @@ public class DockServiceImpl implements DockService { message.append(ex.getMessage()).append(","); } try { - validateCodeExists(null,dock.getCode()); + validateCodeExists(null, dock.getCode()); } catch (ServiceException ex) { message.append(ex.getMessage()).append(","); } @@ -136,20 +136,19 @@ public class DockServiceImpl implements DockService { DockDO dockDO = DockConvert.INSTANCE.convert(dock); String message = this.valitedock(dockDO); boolean flag = true; - if(!message.isEmpty()){ + if (!message.isEmpty()) { DockImportErrorVO importErrorVO = DockConvert.INSTANCE.convert2(dockDO); importErrorVO.setImportStatus("失败"); importErrorVO.setImportRemark(message.substring(0, message.length() - 1)); errorList.add(importErrorVO); flag = false; } - if(flag){ + if (flag) { // 判断如果不存在,在进行插入 - DockDO existAccountcalendar = dockMapper.selectByItemCode(dockDO.getCode()); - if (existAccountcalendar == null&& mode != 3) { + DockDO existAccountcalendar = dockMapper.selectByItemCode(dockDO.getCode()); + if (existAccountcalendar == null && mode != 3) { dockMapper.insert(DockConvert.INSTANCE.convert(dock)); - } - else if (existAccountcalendar != null && mode != 2) { + } else if (existAccountcalendar != null && mode != 2) { // 如果存在,判断是否允许更新 dockDO.setId(existAccountcalendar.getId()); dockMapper.updateById(dockDO); @@ -160,13 +159,12 @@ public class DockServiceImpl implements DockService { } - - private void validateDockForCreateOrUpdate(Long id, String code,String type, String warehouseCode, - String defaultLocationCode,String available) { + private void validateDockForCreateOrUpdate(Long id, String code, String type, String warehouseCode, + String defaultLocationCode, String available) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 DataPermissionUtils.executeIgnore(() -> { validateDockExists(id); - validateCodeExists(id,code); + validateCodeExists(id, code); // 校验code唯一 validateTypeExists(type); validateWareHouseCodeExists(warehouseCode); @@ -174,6 +172,7 @@ public class DockServiceImpl implements DockService { validateAvailableExists(available); }); } + @VisibleForTesting private void validateDockExists(Long id) { if (id == null) { @@ -184,8 +183,9 @@ public class DockServiceImpl implements DockService { throw exception(DOCK_NOT_EXISTS); } } + @VisibleForTesting - private void validateCodeExists(Long id,String code) { + private void validateCodeExists(Long id, String code) { if (code.isEmpty()) { throw exception(DOCK_CODE_NOT_EXISTS); } @@ -204,24 +204,28 @@ public class DockServiceImpl implements DockService { throw exception(DOCK_CODE_EXISTS); } } + @VisibleForTesting private void validateTypeExists(String type) { if (type.isEmpty()) { throw exception(DOCK_TYPE_NOT_EXISTS); } } + @VisibleForTesting private void validateWareHouseCodeExists(String warehouseCode) { if (warehouseCode.isEmpty()) { throw exception(DOCK_WARE_HOUSE_CODE_NOT_EXISTS); } } + @VisibleForTesting private void validateDefaultLocationCodeExists(String defaultLocationCode) { if (defaultLocationCode.isEmpty()) { throw exception(DOCK_DEFAULT_LOCATION_CODE_NOT_EXISTS); } } + @VisibleForTesting private void validateAvailableExists(String available) { if (available.isEmpty()) { @@ -232,11 +236,25 @@ public class DockServiceImpl implements DockService { @Override public DockDO DockExist(String code) { QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("code",code); + queryWrapper.eq("code", code); + DockDO dockDO = dockMapper.selectOne(queryWrapper); + if (dockDO != null && "TRUE".equals(dockDO.getAvailable())) { + return dockDO; + } else { + throw exception(DOCK_NOT_EXISTS); + } + } + + @Override + public DockDO selectDockByTwoCode(String code, String toWarehouseCode) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("code", code); + queryWrapper.eq("warehouse_code", toWarehouseCode); + queryWrapper.eq("available", "TRUE"); DockDO dockDO = dockMapper.selectOne(queryWrapper); - if(dockDO != null&& "TRUE".equals(dockDO.getAvailable())){ + if (dockDO != null && "TRUE".equals(dockDO.getAvailable())) { return dockDO; - }else { + } else { throw exception(DOCK_NOT_EXISTS); } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java index 3b25a5a9..5e1b4821 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java @@ -314,10 +314,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { // 校验物品基础信息 ItembasicDO itembasicDO = this.validatorItembasic(detailDo.getItemCode()); if (itembasicDO != null) { - if (itembasicDO.getUom() != detailDo.getUom()) { - throw exception(UOM_ERRORR, itembasicDO.getUom(), detailDo.getUom()); - } - if (itembasicDO.getUom() != detailDo.getUom()) { + if (!itembasicDO.getUom().equals( detailDo.getUom())) { throw exception(UOM_ERRORR, itembasicDO.getUom(), detailDo.getUom()); } if ("FALSE".equals(itembasicDO.getEnableBuy())) { @@ -325,7 +322,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { } }else { throw exception(SCRAP_REQUEST_ITEMCODE_INVALID); - } this.validatorItemPackagingExist(detailDo.getItemCode()); + } + this.validatorItemPackagingExist(detailDo.getItemCode()); ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(detailDo.getItemCode()); if (itempackagingDO != null) { detailDo.setStdPackUnit(itempackagingDO.getStdPackUnit()); 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 8f435ff4..e14bcf0d 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 @@ -25,6 +25,7 @@ import com.win.module.wms.convert.supplierdeliverRecord.SupplierdeliverRecordMai import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestDetailConvert; import com.win.module.wms.convert.supplierdeliverRequest.SupplierdeliverRequestMainConvert; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; +import com.win.module.wms.dal.dataobject.dock.DockDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO; import com.win.module.wms.dal.dataobject.location.LocationDO; @@ -48,6 +49,7 @@ import com.win.module.wms.dal.mysql.supplierdeliverRequest.SupplierdeliverReques import com.win.module.wms.dal.mysql.supplierdeliverRequest.SupplierdeliverRequestMainMapper; import com.win.module.wms.enums.DictTypeConstants; import com.win.module.wms.enums.request.RequestStatusEnum; +import com.win.module.wms.service.dock.DockService; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itempackaging.ItempackagingService; import com.win.module.wms.service.location.LocationService; @@ -130,7 +132,10 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq @Resource private LocationService locationService; @Resource - PurchasereceiptRequestMainService purchasereceiptRequestMainService; + private PurchasereceiptRequestMainService purchasereceiptRequestMainService; + @Resource + private DockService dockService; + @Override @Transactional @@ -723,6 +728,9 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq } //生成采购收货申请 叶佳兴 PurchasereceiptRequestMainCreateReqVO purchasereceiptRequestMainCreateReqVO = new PurchasereceiptRequestMainCreateReqVO(); + //查询月台 + DockDO dockDO = dockService.selectDockByTwoCode(mainDO.getToDockCode(),mainDO.getToWarehouseCode()); + mainDO.setToWarehouseCode(dockDO.getWarehouseCode()); BeanUtils.copyProperties(mainDO, purchasereceiptRequestMainCreateReqVO); List purchasereceiptRequestDetailCreateReqVOList = new ArrayList<>(); for (SupplierdeliverRequestDetailDO detailDO : detailDOList) { @@ -752,8 +760,8 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq purchasereceiptRequestDetailCreateReqVO.setArriveDate(detailDO.getArriveDate()); purchasereceiptRequestDetailCreateReqVO.setPackingNumber(packageDO.getNumber()); purchasereceiptRequestDetailCreateReqVO.setInventoryStatus("INSP"); - SupplieritemDO supplieritemDO = supplieritemService.selectSupplierItemExist(mainDO.getSupplierCode(), detailDO.getItemCode()); - purchasereceiptRequestDetailCreateReqVO.setDefaultToLocationCode(supplieritemDO.getDefaultLocationCode()); + //查询月台后赋值 + purchasereceiptRequestDetailCreateReqVO.setDefaultToLocationCode(dockDO.getDefaultLocationCode()); purchasereceiptRequestDetailCreateReqVO.setId(null); purchasereceiptRequestDetailCreateReqVOList.add(purchasereceiptRequestDetailCreateReqVO); } From fa6744cdd41d25d9d5058e67c15e1fcba37c78dd Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Dec 2023 14:11:33 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/balance/BalanceController.java | 11 +++++++ .../wms/dal/mysql/balance/BalanceMapper.java | 32 +++++++++++++++++++ .../DeliverRequestMainServiceImpl.java | 23 +++++++++---- .../com/win/module/wms/util/JobUtils.java | 22 ++++++++++--- 4 files changed, 77 insertions(+), 11 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java index 87a1050a..d7e1feec 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java @@ -11,6 +11,7 @@ import com.win.module.wms.controller.balance.vo.*; import com.win.module.wms.convert.balance.BalanceConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.service.balance.BalanceService; +import com.win.module.wms.util.JobUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.security.access.prepost.PreAuthorize; @@ -36,6 +37,8 @@ public class BalanceController { private BalanceService balanceService; @Resource private AdminUserApi userApi; + @Resource + private JobUtils jobUtils; @PutMapping("/update") @Operation(summary = "更新库存余额") @@ -116,4 +119,12 @@ public class BalanceController { return success(result); } + @GetMapping("/pageLocationCodeToBalance") + @Operation(summary = "获得库位代码筛选出的库存余额分页") + @PreAuthorize("@ss.hasPermission('wms:balance:query')") + public CommonResult> selectLocationTypeToBalance() { + PageResult okToHold = jobUtils.selectLocationTypeToBalance("OkToHoldRequest"); + PageResult balanceRespVOPageResult = BalanceConvert.INSTANCE.convertPage(okToHold); + return success(balanceRespVOPageResult); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java index 1f9f24b4..e93bea54 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java @@ -221,6 +221,38 @@ public interface BalanceMapper extends BaseMapperX { .orderByDesc(BalanceDO::getId)); } + + default PageResult getBalanceInLocationTypesPage(BalancePageReqVO reqVO){ + PageResult page = selectPage(reqVO,new LambdaQueryWrapperX() + .eqIfPresent(BalanceDO::getPackingNumber, reqVO.getPackingNumber()) + .eqIfPresent(BalanceDO::getContainerNumber, reqVO.getContainerNumber()) + .eqIfPresent(BalanceDO::getItemCode, reqVO.getItemCode()) + .eqIfPresent(BalanceDO::getBatch, reqVO.getBatch()) + .eqIfPresent(BalanceDO::getAltBatch, reqVO.getAltBatch()) + .betweenIfPresent(BalanceDO::getArriveDate, reqVO.getArriveDate()) + .betweenIfPresent(BalanceDO::getProduceDate, reqVO.getProduceDate()) + .betweenIfPresent(BalanceDO::getExpireDate, reqVO.getExpireDate()) + .eqIfPresent(BalanceDO::getInventoryStatus, reqVO.getInventoryStatus()) + .inIfPresent(BalanceDO::getLocationCode, reqVO.getLocationCode().split(",")) + .eqIfPresent(BalanceDO::getLocationGroupCode, reqVO.getLocationGroupCode()) + .eqIfPresent(BalanceDO::getAreaCode, reqVO.getAreaCode()) + .eqIfPresent(BalanceDO::getWarehouseCode, reqVO.getWarehouseCode()) + .eqIfPresent(BalanceDO::getErpLocationCode, reqVO.getErpLocationCode()) + .eqIfPresent(BalanceDO::getOwnerCode, reqVO.getOwnerCode()) + .eqIfPresent(BalanceDO::getUom, reqVO.getUom()) + .eqIfPresent(BalanceDO::getQty, reqVO.getQty()) + .eqIfPresent(BalanceDO::getSinglePrice, reqVO.getSinglePrice()) + .eqIfPresent(BalanceDO::getAmount, reqVO.getAmount()) + .betweenIfPresent(BalanceDO::getPutInTime, reqVO.getPutInTime()) + .eqIfPresent(BalanceDO::getFrozen, reqVO.getFrozen()) + .eqIfPresent(BalanceDO::getFrozenReason, reqVO.getFrozenReason()) + .eqIfPresent(BalanceDO::getLastTransNumber, reqVO.getLastTransNumber()) + .eqIfPresent(BalanceDO::getWeight, reqVO.getWeight()) + .eqIfPresent(BalanceDO::getArea, reqVO.getArea()) + .eqIfPresent(BalanceDO::getVolume, reqVO.getVolume()) + .orderByDesc(BalanceDO::getId)); + return page; + } default PageResult getBalanceItemsPage(BalancePageReqVO reqVO){ PageResult page = selectPage(reqVO,new LambdaQueryWrapperX() .eqIfPresent(BalanceDO::getPackingNumber, reqVO.getPackingNumber()) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java index 336cfc32..273a0bb7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java @@ -366,9 +366,6 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); mainDo.setAutoExecute(requestsettingDO.getAutoExecute()); mainDo.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); - RequestStatusState requestStatusState = new RequestStatusState(); - requestStatusState.newObject(mainDo.getAutoCommit(), mainDo.getAutoAgree(), mainDo.getAutoExecute()); - mainDo.setStatus(requestStatusState.getState().getCode()); } if(businesstypeDO == null){ message.append("根据单据设置未查找到发料申请的相关业务类型"); @@ -380,7 +377,11 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService mainDo.setToAreaCodes(businesstypeDO.getInAreaCodes()); mainDo.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); mainDo.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); + mainDo.setRequestTime(LocalDateTime.now()); } + RequestStatusState requestStatusState = new RequestStatusState(); + requestStatusState.newObject(mainDo.getAutoCommit(), mainDo.getAutoAgree(), mainDo.getAutoExecute()); + mainDo.setStatus(requestStatusState.getState().getCode()); try { ValidationUtils.validate(validator, mainDo); } catch (Exception ex) { @@ -467,11 +468,10 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService } //写入数据 if (flag) { - String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_REQUEST.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.DELIVER_REQUEST.getCode()); mainDo.setNumber(number); String customerDeliverNumber = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_DELIVER_NUMBER.getCode()); mainDo.setCustomerDeliverNumber(customerDeliverNumber); - mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "1")); deliverRequestMainMapper.insert(mainDo); for (DeliverRequestDetailDO detailDO : subDOList) { detailDO.setMasterId(mainDo.getId()); @@ -656,8 +656,17 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService } //校验发货计划是否存在 - private DeliverPlanMainDO validatorDeliverPlanExist(String number){ - return deliverPlanMainMapper.selectByNumber(number); + private DeliverPlanMainDO validatorDeliverPlanExist(String number) { + if (number != null && !"".equals(number)) { + DeliverPlanMainDO deliverPlanMainDO = deliverPlanMainMapper.selectByNumber(number); + if (deliverPlanMainDO != null) { + return deliverPlanMainDO; + } else { + throw exception(DELIVER_PLAN_MAIN_NOT_EXISTS); + } + }else { + return null; + } } //校验客户是否存在 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java index 2802ea8f..b952f86c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java @@ -4,8 +4,11 @@ import cn.hutool.core.exceptions.UtilException; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.win.framework.common.pojo.PageResult; +import com.win.module.wms.controller.balance.vo.BalancePageReqVO; import com.win.module.wms.controller.bom.vo.BomExportReqVO; import com.win.module.wms.controller.rule.vo.RuleRespVO; +import com.win.module.wms.convert.balance.BalanceConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.bom.BomDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; @@ -190,14 +193,25 @@ public class JobUtils { return result; } - public void demo(String pcode){ + //根据业务类型查出的库位类型进行库存余额数据筛选进行分页查询 + public PageResult selectLocationTypeToBalance(String pcode){ BusinesstypeDO businesstypeDO = selectDocumentSettingFromBusinessType(pcode); String inLocationTypes = businesstypeDO.getInLocationTypes(); String[] split = inLocationTypes.split(","); - ArrayList balanceDOArrayList = new ArrayList<>(); - for (String s : split) { -// balanceService.getBalancePage() + BalancePageReqVO balancePageReqVO = new BalancePageReqVO(); + if(split.length > 1){ + for (String s : split) { + String locationCode = balancePageReqVO.getLocationCode(); + if(locationCode == null){ + balancePageReqVO.setLocationCode(s); + }else { + balancePageReqVO.setLocationCode(locationCode + ","+s); + } + } + }else { + balancePageReqVO.setLocationCode(inLocationTypes); } + return balanceMapper.getBalanceInLocationTypesPage(balancePageReqVO); } /**