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/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/controller/container/ContainerMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java index 06e05d42..a3e89868 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java @@ -8,6 +8,8 @@ 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.container.vo.*; +import com.win.module.wms.controller.containerBind.vo.ContainerBindRecordMainRespVO; +import com.win.module.wms.controller.containerUnbind.vo.ContainerUnbindRecordMainRespVO; import com.win.module.wms.convert.container.ContainerMainConvert; import com.win.module.wms.dal.dataobject.container.ContainerMainDO; import com.win.module.wms.service.container.ContainerMainService; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExportReqVO.java index f4a145e2..b04500dc 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExportReqVO.java @@ -32,4 +32,7 @@ public class ContainerDetailExportReqVO { @Schema(description = "数量") private BigDecimal qty; + @Schema(description = "主键ID") + private Long masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailPageReqVO.java index 5c39f15f..16b9e7f1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailPageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailPageReqVO.java @@ -34,4 +34,7 @@ public class ContainerDetailPageReqVO extends PageParam { @Schema(description = "数量") private BigDecimal qty; + @Schema(description = "主键ID") + private Long masterId; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainRespVO.java index 942673f4..e183198b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainRespVO.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 器具绑定记录主 Response VO") @Data @@ -16,4 +17,6 @@ public class ContainerBindRecordMainRespVO extends ContainerBindRecordMainBaseVO @Schema(description = "创建时间") private LocalDateTime createTime; + private List subList; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerUnbind/vo/ContainerUnbindRecordMainRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerUnbind/vo/ContainerUnbindRecordMainRespVO.java index 8caf7017..cec7ee2d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerUnbind/vo/ContainerUnbindRecordMainRespVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerUnbind/vo/ContainerUnbindRecordMainRespVO.java @@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 器具解绑记录主 Response VO") @Data @@ -19,4 +20,7 @@ public class ContainerUnbindRecordMainRespVO extends ContainerUnbindRecordMainBa @Schema(description = "创建时间") private LocalDateTime createTime; + @Schema(description = "子表") + private List subList; + } 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/dal/mysql/container/ContainerDetailMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/container/ContainerDetailMapper.java index d084e3d0..75aa250c 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/container/ContainerDetailMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/container/ContainerDetailMapper.java @@ -1,18 +1,17 @@ package com.win.module.wms.dal.mysql.container; -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.container.vo.ContainerDetailExportReqVO; import com.win.module.wms.controller.container.vo.ContainerDetailPageReqVO; -import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO; import com.win.module.wms.dal.dataobject.container.ContainerDetailDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 器具子 Mapper * @@ -30,6 +29,7 @@ public interface ContainerDetailMapper extends BaseMapperX { .eqIfPresent(ContainerDetailDO::getInventoryStatus, reqVO.getInventoryStatus()) .eqIfPresent(ContainerDetailDO::getUom, reqVO.getUom()) .eqIfPresent(ContainerDetailDO::getQty, reqVO.getQty()) + .eqIfPresent(ContainerDetailDO::getMasterId, reqVO.getMasterId()) .orderByDesc(ContainerDetailDO::getId)); } default PageResult selectSenior(CustomConditions conditions) { @@ -44,6 +44,7 @@ public interface ContainerDetailMapper extends BaseMapperX { .eqIfPresent(ContainerDetailDO::getInventoryStatus, reqVO.getInventoryStatus()) .eqIfPresent(ContainerDetailDO::getUom, reqVO.getUom()) .eqIfPresent(ContainerDetailDO::getQty, reqVO.getQty()) + .eqIfPresent(ContainerDetailDO::getMasterId, reqVO.getMasterId()) .orderByDesc(ContainerDetailDO::getId)); } 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/dal/mysql/scrapRequest/ScrapRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java index adfb7a7b..27e4d70a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java @@ -73,4 +73,7 @@ public interface ScrapRequestMainMapper extends BaseMapperX return selectList(QueryWrapperUtils.structure(conditions)); } + default ScrapRequestMainDO queryByNumber(String requestNumber){ + return selectOne(new LambdaQueryWrapperX().eq(ScrapRequestMainDO::getNumber,requestNumber)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedissueRequest/UnplannedissueRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedissueRequest/UnplannedissueRequestMainMapper.java index b4f2b5b6..47fd60de 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedissueRequest/UnplannedissueRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedissueRequest/UnplannedissueRequestMainMapper.java @@ -78,4 +78,7 @@ public interface UnplannedissueRequestMainMapper extends BaseMapperX().eq(UnplannedissueRequestMainDO::getNumber,requestNumber)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestMainMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestMainMapper.java index 24764151..53474c00 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestMainMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestMainMapper.java @@ -75,4 +75,7 @@ public interface UnplannedreceiptRequestMainMapper extends BaseMapperX().eq(UnplannedreceiptRequestMainDO::getNumber,requestNumber)); + } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java index 57ae328e..e0941546 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java @@ -69,6 +69,7 @@ public class ContainerDetailServiceImpl implements ContainerDetailService { ContainerDetailDO containerDetail = ContainerDetailConvert.INSTANCE.convert(createReqVO); ContainerDetailDO containerDetailDO = containerDetailMapper.queryByMasterIdAndContentNumber(containerDetail.getMasterId(),containerDetail.getContentNumber()); if(containerDetailDO == null){ + containerDetail.setId(null); containerDetailMapper.insert(containerDetail); // 添加器具绑定记录 createContainerBindRecord(containerDetail); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java index 87e04557..c1230835 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java @@ -5,6 +5,8 @@ import javax.validation.*; import com.win.framework.common.pojo.CustomConditions; import com.win.module.wms.controller.container.vo.*; +import com.win.module.wms.controller.containerBind.vo.ContainerBindRecordMainRespVO; +import com.win.module.wms.controller.containerUnbind.vo.ContainerUnbindRecordMainRespVO; import com.win.module.wms.dal.dataobject.container.ContainerMainDO; import com.win.framework.common.pojo.PageResult; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java index bbfba50c..51ac817d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java @@ -7,21 +7,38 @@ import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.container.vo.*; +import com.win.module.wms.controller.containerBind.vo.ContainerBindRecordDetailExportReqVO; +import com.win.module.wms.controller.containerBind.vo.ContainerBindRecordDetailRespVO; +import com.win.module.wms.controller.containerBind.vo.ContainerBindRecordMainRespVO; +import com.win.module.wms.controller.containerUnbind.vo.ContainerUnbindRecordDetailExportReqVO; +import com.win.module.wms.controller.containerUnbind.vo.ContainerUnbindRecordDetailRespVO; +import com.win.module.wms.controller.containerUnbind.vo.ContainerUnbindRecordMainRespVO; import com.win.module.wms.convert.container.ContainerDetailConvert; import com.win.module.wms.convert.container.ContainerMainConvert; +import com.win.module.wms.convert.containerBind.ContainerBindRecordDetailConvert; +import com.win.module.wms.convert.containerUnbind.ContainerUnbindRecordDetailConvert; import com.win.module.wms.dal.dataobject.container.ContainerDetailDO; import com.win.module.wms.dal.dataobject.container.ContainerMainDO; +import com.win.module.wms.dal.dataobject.containerBind.ContainerBindRecordDetailDO; +import com.win.module.wms.dal.dataobject.containerBind.ContainerBindRecordMainDO; import com.win.module.wms.dal.dataobject.containerRepair.ContainerRepairRecordDetailDO; import com.win.module.wms.dal.dataobject.containerRepair.ContainerRepairRecordMainDO; +import com.win.module.wms.dal.dataobject.containerUnbind.ContainerUnbindRecordDetailDO; +import com.win.module.wms.dal.dataobject.containerUnbind.ContainerUnbindRecordMainDO; import com.win.module.wms.dal.dataobject.containerinit.ContainerInitRecordDetailDO; import com.win.module.wms.dal.dataobject.containerinit.ContainerInitRecordMainDO; import com.win.module.wms.dal.mysql.container.ContainerDetailMapper; import com.win.module.wms.dal.mysql.container.ContainerMainMapper; +import com.win.module.wms.dal.mysql.containerBind.ContainerBindRecordDetailMapper; +import com.win.module.wms.dal.mysql.containerBind.ContainerBindRecordMainMapper; import com.win.module.wms.dal.mysql.containerRepair.ContainerRepairRecordDetailMapper; import com.win.module.wms.dal.mysql.containerRepair.ContainerRepairRecordMainMapper; +import com.win.module.wms.dal.mysql.containerUnbind.ContainerUnbindRecordDetailMapper; +import com.win.module.wms.dal.mysql.containerUnbind.ContainerUnbindRecordMainMapper; import com.win.module.wms.dal.mysql.containerinit.ContainerInitRecordDetailMapper; import com.win.module.wms.dal.mysql.containerinit.ContainerInitRecordMainMapper; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -64,6 +81,14 @@ public class ContainerMainServiceImpl implements ContainerMainService { private ContainerRepairRecordMainMapper containerRepairRecordMainMapper; @Resource private ContainerRepairRecordDetailMapper containerRepairRecordDetailMapper; + @Resource + private ContainerBindRecordMainMapper containerBindRecordMainMapper; + @Resource + private ContainerBindRecordDetailMapper containerBindRecordDetailMapper; + @Resource + private ContainerUnbindRecordMainMapper containerUnbindRecordMainMapper; + @Resource + private ContainerUnbindRecordDetailMapper containerUnbindRecordDetailMapper; @Transactional @@ -159,7 +184,7 @@ public class ContainerMainServiceImpl implements ContainerMainService { ContainerMainRespVO containerMainRespVO = ContainerMainConvert.INSTANCE.convert(containerMainDO); // 查询子表 LambdaQueryWrapper lambdaQueryWrapperDetail = new LambdaQueryWrapper<>(); - lambdaQueryWrapperDetail.eq(ContainerDetailDO::getContentNumber,number); + lambdaQueryWrapperDetail.eq(ContainerDetailDO::getMasterId,containerMainDO.getId()); List list = containerDetailMapper.selectList(lambdaQueryWrapperDetail); List subList = new ArrayList<>(); @@ -186,7 +211,20 @@ public class ContainerMainServiceImpl implements ContainerMainService { containerDetailService.createContainerDetail(containerDetailCreateReqVO); } } - return containerMainDO.getNumber(); + // 返回绑定记录 + ContainerBindRecordMainRespVO containerBindRecordMainRespVO = new ContainerBindRecordMainRespVO(); + ContainerBindRecordMainDO containerBindRecordMainDO = containerBindRecordMainMapper.queryByContainerNumber(containerMainDO.getNumber()); + BeanUtils.copyProperties(containerBindRecordMainDO,containerBindRecordMainRespVO); + ContainerBindRecordDetailExportReqVO reqVO = new ContainerBindRecordDetailExportReqVO(); + reqVO.setMasterId(containerBindRecordMainDO.getId()); + List childList = containerBindRecordDetailMapper.selectList(reqVO); + List subList = new ArrayList<>(); + for(ContainerBindRecordDetailDO containerBindRecordDetailDO:childList){ + ContainerBindRecordDetailRespVO containerBindRecordDetailRespVO = ContainerBindRecordDetailConvert.INSTANCE.convert(containerBindRecordDetailDO); + subList.add(containerBindRecordDetailRespVO); + } + containerBindRecordMainRespVO.setSubList(subList); + return containerBindRecordMainDO.getNumber(); } @Transactional @@ -203,7 +241,19 @@ public class ContainerMainServiceImpl implements ContainerMainService { containerDetailService.deleteContainerDetail(containerDetailDO.getId()); } } - return containerMainDO.getNumber(); + ContainerUnbindRecordMainRespVO containerUnbindRecordMainRespVO = new ContainerUnbindRecordMainRespVO(); + ContainerUnbindRecordMainDO containerUnbindRecordMainDO = containerUnbindRecordMainMapper.queryByContainerNumber(containerMainDO.getNumber()); + ContainerUnbindRecordDetailExportReqVO reqVO = new ContainerUnbindRecordDetailExportReqVO(); + reqVO.setMasterId(containerUnbindRecordMainDO.getId()); + List list = containerUnbindRecordDetailMapper.selectList(reqVO); + List subList = new ArrayList<>(); + for(ContainerUnbindRecordDetailDO containerUnbindRecordDetailDO:list){ + ContainerUnbindRecordDetailRespVO containerUnbindRecordDetailRespVO = ContainerUnbindRecordDetailConvert.INSTANCE.convert(containerUnbindRecordDetailDO); + subList.add(containerUnbindRecordDetailRespVO); + } + BeanUtils.copyProperties(containerUnbindRecordMainDO,containerUnbindRecordMainRespVO); + containerUnbindRecordMainRespVO.setSubList(subList); + return containerUnbindRecordMainDO.getNumber(); } @Transactional 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/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/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/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/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/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/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java index 11ec170b..82f92c7a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java @@ -19,12 +19,15 @@ import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobDetailDO; import com.win.module.wms.dal.dataobject.scrapJob.ScrapJobMainDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; +import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobMainMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordMainMapper; +import com.win.module.wms.dal.mysql.scrapRequest.ScrapRequestMainMapper; import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusState; +import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; @@ -78,6 +81,8 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { private TransactionService transactionService; @Resource private ExpectinService expectinService; + @Resource + private ScrapRequestMainMapper scrapRequestMainMapper; @Override @@ -299,6 +304,7 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { transactionCreateReqVO.setBatch(scrapJobDetailDO.getBatch()); transactionCreateReqVO.setWarehouseCode(scrapJobMainDO.getFromWarehouseCode()); transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); transactionCreateReqVO.setId(null); transactionCreateReqVOList.add(transactionCreateReqVO); } @@ -310,6 +316,12 @@ public class ScrapJobMainServiceImpl implements ScrapJobMainService { transactionService.createTransaction(transactionCreateReqVOList); //移除预计入 expectinService.deleteExpectinByJobNumber(scrapJobMainDO.getNumber()); + // 更新申请状态 + String requestNumber = scrapJobMainDO.getRequestNumber(); + ScrapRequestMainDO scrapRequestMainDO = scrapRequestMainMapper.queryByNumber(requestNumber); + scrapRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + scrapRequestMainMapper.updateById(scrapRequestMainDO); + //变更记录 trendsApi.createTrends(scrapJobMainDO.getId(), "ScrapJob", "执行报废出库任务", TrendsTypeEnum.UPDATE); return number; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java index a277f73f..73ae261d 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java @@ -15,6 +15,7 @@ import com.win.module.wms.controller.expectout.vo.ExpectoutCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordDetailCreateReqVO; import com.win.module.wms.controller.scrapRecord.vo.ScrapRecordMainCreateReqVO; import com.win.module.wms.controller.scrapRequest.vo.*; +import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.convert.scrapJob.ScrapJobDetailConvert; import com.win.module.wms.convert.scrapJob.ScrapJobMainConvert; import com.win.module.wms.convert.scrapRecord.ScrapRecordDetailConvert; @@ -33,6 +34,7 @@ import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordDetailDO; import com.win.module.wms.dal.dataobject.scrapRecord.ScrapRecordMainDO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestDetailDO; import com.win.module.wms.dal.dataobject.scrapRequest.ScrapRequestMainDO; +import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobDetailMapper; import com.win.module.wms.dal.mysql.scrapJob.ScrapJobMainMapper; import com.win.module.wms.dal.mysql.scrapRecord.ScrapRecordDetailMapper; @@ -49,6 +51,7 @@ import com.win.module.wms.service.jobsetting.JobsettingService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService; +import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.util.JobUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -56,6 +59,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; @@ -107,6 +111,9 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { private ScrapJobDetailMapper scrapJobDetailMapper; @Resource private ExpectoutService expectoutService; + @Resource + private TransactionService transactionService; + @Transactional @Override @@ -151,6 +158,7 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { ScrapRecordMainDO scrapRecordMainDO = ScrapRecordMainConvert.INSTANCE.convert(scrapRecordMainCreateReqVO); scrapRecordMainMapper.insert(scrapRecordMainDO); + List transactionCreateReqVOList = new ArrayList<>(); for(ScrapRequestDetailDO scrapRequestDetailDO : detailDOList) { ScrapRecordDetailCreateReqVO scrapRecordDetailCreateReqVO = new ScrapRecordDetailCreateReqVO(); BeanUtils.copyProperties(scrapRequestDetailDO, scrapRecordDetailCreateReqVO); @@ -161,7 +169,31 @@ public class ScrapRequestMainServiceImpl implements ScrapRequestMainService { scrapRecordDetailCreateReqVO.setFromAreaCode(scrapRequestDetailDO.getFromLocationCode()); ScrapRecordDetailDO scrapRecordDetailDO = ScrapRecordDetailConvert.INSTANCE.convert(scrapRecordDetailCreateReqVO); scrapRecordDetailMapper.insert(scrapRecordDetailDO); + + //添加库存事务list + TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); + BeanUtils.copyProperties(scrapRecordDetailDO, transactionCreateReqVO); + //增加业务类型 + transactionCreateReqVO.setBusinessType(businesstypeDO.getCode()); + TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getOutTransactionType()); + transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); + transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); + transactionCreateReqVO.setBusinessType(scrapRecordMainDO.getBusinessType()); + transactionCreateReqVO.setLocationCode(scrapRecordDetailDO.getFromLocationCode()); + transactionCreateReqVO.setOwnerCode(scrapRecordDetailDO.getFromOwnerCode()); + transactionCreateReqVO.setPackingNumber(scrapRecordDetailDO.getPackingNumber()); + transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); + transactionCreateReqVO.setBatch(scrapRecordDetailDO.getBatch()); + transactionCreateReqVO.setWarehouseCode(scrapRecordMainDO.getFromWarehouseCode()); + transactionCreateReqVO.setRecordNumber(number); + transactionCreateReqVO.setAmount(BigDecimal.ZERO); + transactionCreateReqVO.setId(null); + transactionCreateReqVOList.add(transactionCreateReqVO); } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + mainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + scrapRequestMainMapper.updateById(mainDO); return; } // 任务 主表数据创建 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); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java index fea177c1..291dcf0b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java @@ -20,11 +20,14 @@ import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobDeta import com.win.module.wms.dal.dataobject.unplannedissueJob.UnplannedissueJobMainDO; import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordDetailDO; import com.win.module.wms.dal.dataobject.unplannedissueRecord.UnplannedissueRecordMainDO; +import com.win.module.wms.dal.dataobject.unplannedissueRequest.UnplannedissueRequestMainDO; import com.win.module.wms.dal.mysql.unplannedissueJob.UnplannedissueJobMainMapper; import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordDetailMapper; import com.win.module.wms.dal.mysql.unplannedissueRecord.UnplannedissueRecordMainMapper; +import com.win.module.wms.dal.mysql.unplannedissueRequest.UnplannedissueRequestMainMapper; import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusState; +import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; @@ -76,6 +79,8 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe private TransactionService transactionService; @Resource private ExpectinService expectinService; + @Resource + private UnplannedissueRequestMainMapper unplannedissueRequestMainMapper; @Override @@ -311,6 +316,11 @@ public class UnplannedissueJobMainServiceImpl implements UnplannedissueJobMainSe transactionService.createTransaction(transactionCreateReqVOList); //移除预计入 expectinService.deleteExpectinByJobNumber(unplannedissueRecordMainDO.getNumber()); + String requestNumber = unplannedissueJobMainDO.getRequestNumber(); + UnplannedissueRequestMainDO unplannedissueRequestMainDO = unplannedissueRequestMainMapper.queryByNumber(requestNumber); + unplannedissueRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + unplannedissueRequestMainMapper.updateById(unplannedissueRequestMainDO); + //变更记录 trendsApi.createTrends(unplannedissueJobMainDO.getId(), "UnplannedDeliverJob", "执行计划外出库任务", TrendsTypeEnum.UPDATE); return number; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java index 0ca445bb..e9af8361 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java @@ -20,11 +20,14 @@ import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJob import com.win.module.wms.dal.dataobject.unplannedreceiptJob.UnplannedreceiptJobMainDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordDetailDO; import com.win.module.wms.dal.dataobject.unplannedreceiptRecord.UnplannedreceiptRecordMainDO; +import com.win.module.wms.dal.dataobject.unplannedreceiptRequest.UnplannedreceiptRequestMainDO; import com.win.module.wms.dal.mysql.unplannedreceiptJob.UnplannedreceiptJobMainMapper; import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordDetailMapper; import com.win.module.wms.dal.mysql.unplannedreceiptRecord.UnplannedreceiptRecordMainMapper; +import com.win.module.wms.dal.mysql.unplannedreceiptRequest.UnplannedreceiptRequestMainMapper; import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusState; +import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.recordsetting.RecordsettingService; @@ -78,6 +81,8 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa private RecordsettingService recordsettingService; @Resource private UnplannedreceiptRecordDetailMapper unplannedreceiptRecordDetailMapper; + @Resource + private UnplannedreceiptRequestMainMapper unplannedreceiptRequestMainMapper; @Override @@ -313,6 +318,11 @@ public class UnplannedreceiptJobMainServiceImpl implements UnplannedreceiptJobMa transactionService.createTransaction(transactionCreateReqVOList); //移除预计入 expectinService.deleteExpectinByJobNumber(unplannedreceiptJobMainDO.getNumber()); + //更新请求数据状态 + String requestNumber = unplannedreceiptJobMainDO.getRequestNumber(); + UnplannedreceiptRequestMainDO unplannedreceiptRequestMainDO = unplannedreceiptRequestMainMapper.queryByNumber(requestNumber); + unplannedreceiptRequestMainDO.setStatus(RequestStatusEnum.COMPLETED.getCode()); + unplannedreceiptRequestMainMapper.updateById(unplannedreceiptRequestMainDO); //变更记录 trendsApi.createTrends(unplannedreceiptJobMainDO.getId(), "UnplannedReceiptJob", "执行计划外入库任务", TrendsTypeEnum.UPDATE); return number; 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); } /** 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 @@ - + +