diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/controller/admin/projectorder/ProjectOrderController.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/controller/admin/projectorder/ProjectOrderController.java index c75a1886..3b0f0ab8 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/controller/admin/projectorder/ProjectOrderController.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/controller/admin/projectorder/ProjectOrderController.java @@ -8,9 +8,12 @@ import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService; +import com.chanko.yunxi.mes.module.biz.controller.admin.chanjet.vo.QueryCurrentStockResVO; import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.*; +import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.biz.dal.mysql.material.MaterialMapper; import com.chanko.yunxi.mes.module.biz.enums.BusinessTypeEnum; import com.chanko.yunxi.mes.module.biz.manager.CrossOrderManager; import com.chanko.yunxi.mes.module.biz.service.projectorder.ProjectOrderService; @@ -51,6 +54,8 @@ public class ProjectOrderController { @Resource private CrossOrderManager crossOrderManager; + + @PostMapping("/create") @Operation(summary = "创建项目订单") @PreAuthorize("@ss.hasPermission('biz:project-order:create')") @@ -177,6 +182,14 @@ public class ProjectOrderController { return success(BeanUtils.toBean(pageResult, ProjectOrderSubRespVO.class)); } + @GetMapping("/project-order-sub/material") + @Operation(summary = "获得项目订单子项目物料库存,安全库存列表") + @Parameter(name = "code", description = "物料编码") + @Parameter(name = "whId", description = "仓库id") + @PreAuthorize("@ss.hasPermission('biz:project-order:query')") + public CommonResult getProjectOrderSubListByProjectOrderId(@RequestParam("code") String code, @RequestParam("whId") Long whId) { + return success(projectOrderService.getProjectOrderMaterial(code,whId)); + } } diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderService.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderService.java index b1da29ef..b2eebde8 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderService.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderService.java @@ -4,6 +4,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderPageReqVO; import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSubPageReqVO; +import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO; @@ -64,6 +65,7 @@ public interface ProjectOrderService { * @return 项目订单子项目列表 */ List getProjectOrderSubListByProjectOrderId(Long projectOrderId); + MaterialDO getProjectOrderMaterial(String code,Long whId); /** * 操作 项目订单 diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderServiceImpl.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderServiceImpl.java index 7f815cfc..54d7b6f9 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderServiceImpl.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/projectorder/ProjectOrderServiceImpl.java @@ -11,9 +11,11 @@ import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectO import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSaveReqVO; import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderSubPageReqVO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.customer.CustomerDO; +import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.serialnumber.SerialNumberDO; +import com.chanko.yunxi.mes.module.biz.dal.mysql.material.MaterialMapper; import com.chanko.yunxi.mes.module.biz.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.biz.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.biz.enums.BusinessTypeEnum; @@ -26,6 +28,7 @@ import com.chanko.yunxi.mes.module.infra.controller.admin.file.vo.file.FilePageR import com.chanko.yunxi.mes.module.infra.dal.dataobject.file.FileDO; import com.chanko.yunxi.mes.module.infra.service.file.FileService; import com.github.dadiyang.equator.GetterBaseEquator; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -74,6 +77,9 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { @Resource private ChanjetManager chanjetManager; + @Resource + private MaterialMapper materialMapper; + @Override @Transactional(rollbackFor = Exception.class) public Long createProjectOrder(ProjectOrderSaveReqVO createReqVO) { @@ -251,6 +257,23 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { } return projectOrderSubDOList; } + @SneakyThrows + @Override + public MaterialDO getProjectOrderMaterial(String code, Long whId){ + MaterialDO materialDO = materialMapper.selectOne("code",code); + List codes = new ArrayList<>(); + codes.add(code); + List stockMatDatas = chanjetManager.queryStock(codes,whId); + + if(CollUtil.isNotEmpty(stockMatDatas) && stockMatDatas.get(0).getAvailableQuantity()!=null){ + materialDO.setStockQuantity(new BigDecimal(stockMatDatas.get(0).getAvailableQuantity())); + }else{ + materialDO.setStockQuantity(new BigDecimal(0)); + } + if(materialDO.getInvSafe()==null)materialDO.setInvSafe(new BigDecimal(0)); + + return materialDO; + } @Override @Transactional(rollbackFor = Exception.class)