Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
3dc059bf63
  1. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/balance/BalanceController.java
  2. 62
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/board/BoardController.java
  3. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java
  4. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailExportReqVO.java
  5. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/vo/ContainerDetailPageReqVO.java
  6. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerBind/vo/ContainerBindRecordMainRespVO.java
  7. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/containerUnbind/vo/ContainerUnbindRecordMainRespVO.java
  8. 32
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java
  9. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/container/ContainerDetailMapper.java
  10. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueJob/IssueJobDetailMapper.java
  11. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/production/ProductionDetailMapper.java
  12. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/scrapRequest/ScrapRequestMainMapper.java
  13. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedissueRequest/UnplannedissueRequestMainMapper.java
  14. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/unplannedreceiptRequest/UnplannedreceiptRequestMainMapper.java
  15. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerDetailServiceImpl.java
  16. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java
  17. 56
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java
  18. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countRequest/CountRequestMainServiceImpl.java
  19. 11
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainService.java
  20. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverJob/DeliverJobMainServiceImpl.java
  21. 23
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java
  22. 20
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java
  23. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockService.java
  24. 60
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/dock/DockServiceImpl.java
  25. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailService.java
  26. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueJob/IssueJobDetailServiceImpl.java
  27. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/location/LocationServiceImpl.java
  28. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailService.java
  29. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionDetailServiceImpl.java
  30. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/production/ProductionMainServiceImpl.java
  31. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  32. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainService.java
  33. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java
  34. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapJob/ScrapJobMainServiceImpl.java
  35. 32
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/scrapRequest/ScrapRequestMainServiceImpl.java
  36. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java
  37. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedissueJob/UnplannedissueJobMainServiceImpl.java
  38. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/unplannedreceiptJob/UnplannedreceiptJobMainServiceImpl.java
  39. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java
  40. 13
      win-module-wms/win-module-wms-biz/src/main/resources/mapper/issueJob/IssueJobDetailMapper.xml
  41. 12
      win-module-wms/win-module-wms-biz/src/main/resources/mapper/production/ProductionDetailMapper.xml

11
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<PageResult<BalanceRespVO>> selectLocationTypeToBalance() {
PageResult<BalanceDO> okToHold = jobUtils.selectLocationTypeToBalance("OkToHoldRequest");
PageResult<BalanceRespVO> balanceRespVOPageResult = BalanceConvert.INSTANCE.convertPage(okToHold);
return success(balanceRespVOPageResult);
}
}

62
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<List<PurchasereceiptJobMainRespVO>> purchasereceipt() {
return success(purchasereceiptJobMainService.getPurchasereceiptJobListBoard());
}
@GetMapping("/issue")
@Operation(summary = "生产叫料看板")
public CommonResult<List<Map<String, Object>>> issue() {
return success(issueJobDetailService.getIssueJobListBoard());
}
@GetMapping("/production")
@Operation(summary = "生产计划看板")
public CommonResult<List<Map<String, Object>>> production() {
return success(productionDetailService.getProductionPlanListBoard());
}
@GetMapping("/deliver")
@Operation(summary = "成品发运看板")
public CommonResult<List<DeliverJobMainRespVO>> deliver() {
return success(deliverJobMainService.getDeliverJobListBoard());
}
}

2
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;

3
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;
}

3
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;
}

3
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<ContainerBindRecordDetailRespVO> subList;
}

4
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<ContainerUnbindRecordDetailRespVO> subList;
}

32
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<BalanceDO> {
.orderByDesc(BalanceDO::getId));
}
default PageResult<BalanceDO> getBalanceInLocationTypesPage(BalancePageReqVO reqVO){
PageResult<BalanceDO> page = selectPage(reqVO,new LambdaQueryWrapperX<BalanceDO>()
.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<BalanceDO> getBalanceItemsPage(BalancePageReqVO reqVO){
PageResult<BalanceDO> page = selectPage(reqVO,new LambdaQueryWrapperX<BalanceDO>()
.eqIfPresent(BalanceDO::getPackingNumber, reqVO.getPackingNumber())

9
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<ContainerDetailDO> {
.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<ContainerDetailDO> selectSenior(CustomConditions conditions) {
@ -44,6 +44,7 @@ public interface ContainerDetailMapper extends BaseMapperX<ContainerDetailDO> {
.eqIfPresent(ContainerDetailDO::getInventoryStatus, reqVO.getInventoryStatus())
.eqIfPresent(ContainerDetailDO::getUom, reqVO.getUom())
.eqIfPresent(ContainerDetailDO::getQty, reqVO.getQty())
.eqIfPresent(ContainerDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ContainerDetailDO::getId));
}

16
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<IssueJobDetailDO> {
.eq(IssueJobDetailDO::getMasterId, masterId));
}
/**
* 看板列表
* @return 看板列表
*/
List<Map<String, Object>> getIssueJobListBoard(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime);
}

11
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<ProductionDetailDO>
// .orderByDesc(ProductionDetailDO::getId));
// }
/**
* 看板列表
* @return 看板列表
*/
List<Map<String, Object>> getProductionPlanListBoard(@Param("beginTime") LocalDateTime beginTime, @Param("endTime") LocalDateTime endTime);
}

3
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<ScrapRequestMainDO>
return selectList(QueryWrapperUtils.structure(conditions));
}
default ScrapRequestMainDO queryByNumber(String requestNumber){
return selectOne(new LambdaQueryWrapperX<ScrapRequestMainDO>().eq(ScrapRequestMainDO::getNumber,requestNumber));
}
}

3
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<Unplannedis
return selectList(QueryWrapperUtils.structure(conditions));
}
default UnplannedissueRequestMainDO queryByNumber(String requestNumber){
return selectOne(new LambdaQueryWrapperX<UnplannedissueRequestMainDO>().eq(UnplannedissueRequestMainDO::getNumber,requestNumber));
}
}

3
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<Unplanned
return selectList(QueryWrapperUtils.structure(conditions));
}
default UnplannedreceiptRequestMainDO queryByNumber(String requestNumber){
return selectOne(new LambdaQueryWrapperX<UnplannedreceiptRequestMainDO>().eq(UnplannedreceiptRequestMainDO::getNumber,requestNumber));
}
}

1
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);

2
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;

56
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<ContainerDetailDO> lambdaQueryWrapperDetail = new LambdaQueryWrapper<>();
lambdaQueryWrapperDetail.eq(ContainerDetailDO::getContentNumber,number);
lambdaQueryWrapperDetail.eq(ContainerDetailDO::getMasterId,containerMainDO.getId());
List<ContainerDetailDO> list = containerDetailMapper.selectList(lambdaQueryWrapperDetail);
List<ContainerDetailRespVO> 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<ContainerBindRecordDetailDO> childList = containerBindRecordDetailMapper.selectList(reqVO);
List<ContainerBindRecordDetailRespVO> 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<ContainerUnbindRecordDetailDO> list = containerUnbindRecordDetailMapper.selectList(reqVO);
List<ContainerUnbindRecordDetailRespVO> 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

1
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());

11
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<DeliverJobMainRespVO> getDeliverJobListBoard();
}

12
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<DeliverJobMainRespVO> 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<DeliverJobMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.between("request_due_time", beginTime, endTime);
queryWrapper.ne("`status`", JobStatusEnum.CLOSED.getCode());
List<DeliverJobMainDO> list = deliverJobMainMapper.selectList(queryWrapper);
return DeliverJobMainConvert.INSTANCE.convertList(list);
}
}

23
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;
}
}
//校验客户是否存在

20
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<DemandforecastingDetailCreateReqVO> subList = createReqVO.getSubList();
List<DemandforecastingDetailDO> 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<DemandforecastingDetailUpdateReqVO> subList = updateReqVO.getSubList();
List<DemandforecastingDetailDO> 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());
}

14
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<DockDO> 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);
}

60
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<DockDO> getDockSenior(CustomConditions conditions) {
return dockMapper.selectSenior(conditions);
}
@Override
public List<DockDO> 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<DockDO> 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);
}
}

17
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<IssueJobDetailDO> getIssueJobDetailList(IssueJobDetailExportReqVO exportReqVO);
List<IssueJobDetailDO> selectList(Long id);
/**
* 看板列表
* @return 看板列表
*/
List<Map<String, Object>> getIssueJobListBoard();
}

28
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<Map<String, Object>> 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);
}
}

1
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<LocationDO> locationDOList = locationMapper.selectList(queryWrapper);
return LocationConvert.INSTANCE.convertList(locationDOList);
}

8
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<ProductionDetailDO> getProductionDetailSenior(CustomConditions conditions);
List<ProductionDetailDO> selectList(Long masterId);
/**
* 看板列表
* @return 看板列表
*/
List<Map<String, Object>> getProductionPlanListBoard();
}

13
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<Map<String, Object>> 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

1
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<ProductionMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.between("plan_date", beginTime, endTime);
queryWrapper.last("LIMIT 10");
List<ProductionMainDO> productionMainDOList = productionMainMapper.selectList(queryWrapper);
return ProductionMainConvert.INSTANCE.convertList(productionMainDOList);
}

8
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());

7
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<PurchasereceiptJobMainRespVO> getPurchasereceiptJobListBoard();
}

18
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<PurchasereceiptJobMainRespVO> 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<PurchasereceiptJobMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.between("request_due_time", beginTime, endTime);
queryWrapper.ne("`status`", JobStatusEnum.CLOSED.getCode());
List<PurchasereceiptJobMainDO> list = purchasereceiptJobMainMapper.selectList(queryWrapper);
return PurchasereceiptJobMainConvert.INSTANCE.convertList(list);
}
private PurchasereceiptJobMainDO validatePurchasereceiptJobMainExists(Long id) {
PurchasereceiptJobMainDO purchasereceiptJobMainDO = purchasereceiptJobMainMapper.selectById(id);
if (purchasereceiptJobMainDO == null) {

12
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;

32
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<TransactionCreateReqVO> 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;
}
// 任务 主表数据创建

14
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<PurchasereceiptRequestDetailCreateReqVO> 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);
}

10
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;

10
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;

22
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<BalanceDO> selectLocationTypeToBalance(String pcode){
BusinesstypeDO businesstypeDO = selectDocumentSettingFromBusinessType(pcode);
String inLocationTypes = businesstypeDO.getInLocationTypes();
String[] split = inLocationTypes.split(",");
ArrayList<BalanceDO> 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);
}
/**

13
win-module-wms/win-module-wms-biz/src/main/resources/mapper/issueJob/IssueJobDetailMapper.xml

@ -2,11 +2,12 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.win.module.wms.dal.mysql.issueJob.IssueJobDetailMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
<!-- 看板列表-->
<select id="getIssueJobListBoard" parameterType="java.time.LocalDateTime" resultType="map">
SELECT main.`status`,main.number,detail.production_line_code productionLineCode,detail.work_station_code workStationCode,main.request_number requestNumber,
detail.item_code itemCode,detail.qty,main.request_time requestTime,main.request_due_time requestDueTime,main.complete_time completeTime
FROM job_issue_main main,job_issue_detail detail
WHERE detail.number=main.number AND main.request_due_time BETWEEN #{beginTime} AND #{endTime}
</select>
</mapper>

12
win-module-wms/win-module-wms-biz/src/main/resources/mapper/production/ProductionDetailMapper.xml

@ -2,11 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.win.module.wms.dal.mysql.production.ProductionDetailMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
-->
<!-- 看板列表-->
<select id="getProductionPlanListBoard" parameterType="java.time.LocalDateTime" resultType="map">
SELECT main.`status`,main.number,main.production_line productionLine,detail.item_code itemCode,detail.good_qty goodQty,
detail.not_good_qty notGoodQty,main.plan_date planDate FROM plan_production_main main,plan_production_detail detail
WHERE detail.number=main.number AND main.plan_date BETWEEN #{beginTime} AND #{endTime}
</select>
</mapper>

Loading…
Cancel
Save