diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java index 864fa23..93ad04a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/bdgzsomthing/bdgzsomthingController.java @@ -151,7 +151,7 @@ public class bdgzsomthingController { BeanUtils.toBean(list, bdgzsomthingRespVO.class)); } - @Scheduled(fixedRate = 10800000) +// @Scheduled(fixedRate = 10800000) public void scheduledTask() { bdgzsomthingService.selectds(); } @@ -159,8 +159,8 @@ public class bdgzsomthingController { //@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次 @PostConstruct public void init() { - selectHasPrice(); - selectSafeStorageAndDeliverOneYear(); +// selectHasPrice(); +// selectSafeStorageAndDeliverOneYear(); // bdgzsomthingService.selectds(); } @Scheduled(cron = "0 0 2 * * ?") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java index 4893d7a..477bf0d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/ProcessBomController.java @@ -15,11 +15,13 @@ import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFramewor import com.chanko.yunxi.mes.module.heli.controller.admin.plantask.vo.PlanTaskPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plantask.vo.PlanTaskRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; import com.chanko.yunxi.mes.module.heli.service.composition.CompositionService; @@ -271,4 +273,16 @@ public class ProcessBomController { ExcelUtils.write(response, "标准件物料需求计划.xlsx", "数据", ProcessBomExcelVO.class, BeanUtils.toBean(list, ProcessBomExcelVO.class)); } + @GetMapping("/planBbPage") + @Operation(summary = "获得加工件生产进度分页") + @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") + public CommonResult> planBbPage(@Valid TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return success(processBomService.planBbPage(pageReqVO)); + } + @GetMapping("/planBZJPage") + @Operation(summary = "获得生产进度分页") + @PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')") + public CommonResult> planBZJPage(@Valid TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return success(processBomService.planBZJPage(pageReqVO)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java index f84013e..f64b38a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storageinventory/StorageInventoryController.java @@ -1,7 +1,9 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storageinventory; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo.StorageNowAllReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -40,6 +42,8 @@ public class StorageInventoryController { @Resource private StorageInventoryService storageInventoryService; + @Resource + private StorageInventoryMapper storageInventoryMapper; @PostMapping("/create") @Operation(summary = "创建库存") @@ -130,4 +134,16 @@ public class StorageInventoryController { PageResult pageResult = storageInventoryService.realTimeInventory(pageReqVO); return success(pageResult); } + @GetMapping("/getById") + @Operation(summary = "获得根据物料跟仓库获取库存分页") + @PreAuthorize("@ss.hasPermission('heli:storage-inventory:query')") + public CommonResult getById(@Valid StorageInventoryPageReqVO pageReqVO) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StorageInventoryDO::getMaterialId,pageReqVO.getMaterialId()); + wrapper.eq(StorageInventoryDO::getWhId,pageReqVO.getWhId()); + wrapper.orderByDesc(StorageInventoryDO::getYardAmount); + wrapper.last("limit 1"); + StorageInventoryDO storageInventoryDO = storageInventoryMapper.selectOne(wrapper); + return success(storageInventoryDO); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java index 2b3cfac..9dd7fda 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/TaskDispatchController.java @@ -238,4 +238,6 @@ public class TaskDispatchController { List list= taskDispatchService.getListJg(id,projectSubId); return success( list); } + + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java index d4e987d..583e1e0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDetailDO.java @@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.chanko.yunxi.mes.framework.mybatis.core.dataobject.BaseDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import lombok.*; import org.apache.poi.hpsf.Date; import org.apache.poi.hpsf.Decimal; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; /** * 工艺bom明细 DO @@ -189,6 +191,17 @@ public class ProcessBomDetailDO extends BaseDO { private String projectNameSim; @TableField(exist = false) private String nickname; - + @TableField(exist = false) + private Integer planBoomExists; + @TableField(exist = false) + private Integer purYard; + @TableField(exist = false) + private Integer makeStatus; + @TableField(exist = false) + private Integer receivingStatus; + @TableField(exist = false) + private Integer orderNoExists; + @TableField(exist = false) + private List taskDispatchDetailDOList; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java index 7c1d452..da6c345 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/taskdispatch/TaskDispatchDetailDO.java @@ -232,9 +232,13 @@ public class TaskDispatchDetailDO extends BaseDO { private BigDecimal matWeight; @TableField(exist = false) private String nickname; - + @TableField(exist = false) + private BigDecimal workingHours; + @TableField(exist = false) + private LocalDateTime reportTime; private Integer reportStatus; - + @TableField(exist = false) + private Integer flag; //是否泡沫, 是-Y 否 -N private String isFoam; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java index 553c427..eb3116c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/bgmasterline/BgMasterLineMapper.java @@ -91,4 +91,17 @@ public interface BgMasterLineMapper extends BaseMapperX { return selectOne(query); } + + default BgMasterLineDO getByDispatchDetail(Long id){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(BgMasterLineDO.class) + .leftJoin(PgMasterLineDO.class, "a", PgMasterLineDO::getId, BgMasterLineDO::getZjMxId); + + query.eq( PgMasterLineDO::getDispatchDetailId, id) + .orderByDesc(BgMasterLineDO::getId) + .last("limit 1"); + ; + + return selectOne(query); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java index 79ea996..857221d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomDetailMapper.java @@ -11,6 +11,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.Pro import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.ProcessBoomRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom.vo.PlanTaskBomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; @@ -236,4 +237,62 @@ public interface ProcessBomDetailMapper extends BaseMapperX return selectPage(pageReqVO, query); } + + default PageResult planBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProcessBomDetailDO.class) + .select("f.name as compositionName") + .leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId) + .leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId) + .leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, ProcessBomDO::getProjectId) + .leftJoin(CustomerDO.class, "c", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .leftJoin(ProjectOrderSubDO.class, "d", ProjectOrderSubDO::getId, ProcessBomDO::getProjectSubId) + .leftJoin(AdminUserDO.class,"u",AdminUserDO::getId,PlanTaskBomDO::getOwner) + .leftJoin(CompositionDO.class,"f",CompositionDO::getId,ProcessBomDetailDO::getCompositionId) + .groupBy(ProcessBomDetailDO::getId) + .disableSubLogicDel(); + query.like(!ObjectUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode,pageReqVO.getProjectCode()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectName,pageReqVO.getProjectName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getTaskNo()),PlanTaskDO::getTaskNo,pageReqVO.getTaskNo()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectSubName()),ProjectOrderSubDO::getName,pageReqVO.getProjectSubName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getMaterialName()),ProcessBomDetailDO::getMaterialName,pageReqVO.getMaterialName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getOwner()),AdminUserDO::getNickname,pageReqVO.getOwner()) + .eq(ProcessBomDetailDO::getType,2); + return selectPage(pageReqVO, query); + + } + + default PageResult planBZJPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProcessBomDetailDO.class) + .select("f.name as compositionName") + .select("CASE WHEN w.id IS NOT NULL THEN 1 ELSE 0 END AS planBoomExists") + .select("w.is_pur_yard as purYard") + .select("m.status as makeStatus") + .select("r.receiving_status as receivingStatus") + .select("CASE WHEN r.id IS NOT NULL THEN 1 ELSE 0 END AS orderNoExists") + .leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId) + .leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId) + .leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, ProcessBomDO::getProjectId) + .leftJoin(CustomerDO.class, "c", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .leftJoin(ProjectOrderSubDO.class, "d", ProjectOrderSubDO::getId, ProcessBomDO::getProjectSubId) + .leftJoin(AdminUserDO.class,"u",AdminUserDO::getId,PlanTaskBomDO::getOwner) + .leftJoin(CompositionDO.class,"f",CompositionDO::getId,ProcessBomDetailDO::getCompositionId) + .leftJoin("project_material_plan_boom w on t.id=w.boom_detail_id and w.deleted=0 and w.tenant_id=2") + .leftJoin("project_purchase_order_make_detail e on w.project_purchase_order_make_detail_id = e.id and e.deleted=0 and e.tenant_id=2") + .leftJoin("project_purchase_order_make m on e.purchase_order_id=m.id and m.deleted=0 and e.tenant_id=2") + .leftJoin("project_purchase_order_no_detail r on e.purchase_order_no_detail_id = r.id and r.deleted=0 and r.tenant_id=2") + .groupBy(ProcessBomDetailDO::getId) + .disableSubLogicDel(); + query.like(!ObjectUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode,pageReqVO.getProjectCode()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectName()),ProjectOrderDO::getProjectName,pageReqVO.getProjectName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getTaskNo()),PlanTaskDO::getTaskNo,pageReqVO.getTaskNo()) + .like(!ObjectUtils.isEmpty(pageReqVO.getProjectSubName()),ProjectOrderSubDO::getName,pageReqVO.getProjectSubName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getMaterialName()),ProcessBomDetailDO::getMaterialName,pageReqVO.getMaterialName()) + .like(!ObjectUtils.isEmpty(pageReqVO.getOwner()),AdminUserDO::getNickname,pageReqVO.getOwner()) + .eq(ProcessBomDetailDO::getType,1); + return selectPage(pageReqVO, query); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java index 686aea3..ea7643a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordernodetail/PurchaseOrderNoDetailMapper.java @@ -63,9 +63,9 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX getPurchaseOrderNoDetailById(Long id){ MPJLambdaWrapper query = new MPJLambdaWrapper<>(); - query.selectAll(PurchaseOrderNoDetailDO.class) .select("t.composition as compositionName","t.purchase_rem_amount as purchaseRemAmounts","mat.code as matCode","pro.name as procedureName","bom.blueprint_no as blueprintNo","psub.id as projectSubId") + .select("ROUND(t.estimated_price / t.purchase_amount, 1) as unitPrice") .leftJoin(PurchaseOrderNoDO.class, "pb", PurchaseOrderNoDO::getId, PurchaseOrderBoomDO::getPurchaseOrderId) .leftJoin(ProcessBomDetailDO.class,"bom", ProcessBomDetailDO::getId, PurchaseOrderNoDetailDO::getBoomDetailId) .leftJoin(MaterialPlanBoomDO.class,"plan", MaterialPlanBoomDO::getId, PurchaseOrderNoDetailDO::getProjectMaterialPlanBoomId) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index c468b11..e01a79a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -11,11 +11,13 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDis import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchDetailTotalVO; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; @@ -379,8 +381,18 @@ public interface TaskDispatchDetailMapper extends BaseMapperX getByBoomId(Long id){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(TaskDispatchDetailDO.class) + .select("b.name as procedureName") + .leftJoin(TaskDispatchDO.class, "a", TaskDispatchDO::getId, TaskDispatchDetailDO::getDispatchId) + .leftJoin(ProcedureDO.class, "b", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId) + .groupBy(TaskDispatchDetailDO::getId); + wrapper.eq(TaskDispatchDO::getBomDetailId, id); + return selectList(wrapper); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java index 71aeb67..934012a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchMapper.java @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskDispatchPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java index 4d3b750..3d9337b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomService.java @@ -4,6 +4,7 @@ import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomSaveReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import org.apache.poi.ss.formula.functions.T; @@ -97,4 +98,8 @@ public interface ProcessBomService { Boolean submit(List list); CommonResult withdraw(String code); + + PageResult planBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO); + + PageResult planBZJPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java index a776250..b75b7b4 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processbom/ProcessBomServiceImpl.java @@ -20,8 +20,10 @@ import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomImportExcelVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomSaveReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.TaskPlanJDBaoBiaoPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.bgmasterline.BgMasterLineDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.composition.CompositionDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; @@ -34,8 +36,11 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDeta import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.shenhe.ShenheDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.bgmasterline.BgMasterLineMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; @@ -44,7 +49,10 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMap import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.shenhe.ShenheMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagelog.StorageLogNowMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.taskreport.TaskReportMapper; import com.chanko.yunxi.mes.module.heli.enums.ProcessBomStatusEnum; +import com.chanko.yunxi.mes.module.heli.enums.YesOrNoEnum; import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService; import com.chanko.yunxi.mes.module.heli.service.composition.CompositionService; import com.chanko.yunxi.mes.module.heli.service.material.MaterialService; @@ -127,6 +135,12 @@ public class ProcessBomServiceImpl implements ProcessBomService { private MaterialPlanBoomMapper materialPlanBoomMapper; @Resource private StorageLogNowMapper storageLogNowMapper; + @Resource + private TaskDispatchDetailMapper taskDispatchDetailMapper; + @Resource + private TaskReportMapper taskReportMapper; + @Resource + private BgMasterLineMapper bgMasterLineMapper; @Override @Transactional(rollbackFor = Exception.class) public Long createProcessBom(ProcessBomSaveReqVO createReqVO) { @@ -1205,6 +1219,60 @@ public class ProcessBomServiceImpl implements ProcessBomService { return CommonResult.success(true); } + @Override + public PageResult planBbPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + PageResult processBomDetailDOPageResult = processBomDetailMapper.planBbPage(pageReqVO); + List list = processBomDetailDOPageResult.getList(); + list.forEach(item->{ + List detailDOS= taskDispatchDetailMapper.getByBoomId(item.getId()); + detailDOS.forEach(detailDO -> { + LambdaQueryWrapper taskReportDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); + taskReportDOLambdaQueryWrapper.eq(TaskReportDO::getDispatchDetailId, detailDO.getId()); + taskReportDOLambdaQueryWrapper.eq(TaskReportDO::getHasReport, YesOrNoEnum.Y.getCode()); + taskReportDOLambdaQueryWrapper.orderByDesc(TaskReportDO::getCreateTime); + taskReportDOLambdaQueryWrapper.last("limit 1"); + TaskReportDO taskReportDO = taskReportMapper.selectOne(taskReportDOLambdaQueryWrapper); + if (ObjectUtil.isNotEmpty(taskReportDO)){ + detailDO.setReportTime(taskReportDO.getReportTime()); + } + Integer Postponement=0; + Integer flag=0; + if (detailDO.getCheckYn()==1){ + if (ObjectUtil.isNotEmpty(taskReportDO)){ + boolean after = taskReportDO.getReportTime().isAfter(detailDO.getEndTime()); + if (after){ + Postponement=1; + } + }else { + boolean after = LocalDateTime.now().isAfter(detailDO.getEndTime()); + if (after){ + Postponement=1; + } + } + BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.getByDispatchDetail(detailDO.getId()); + if (ObjectUtil.isNotEmpty(bgMasterLineDO)){ + if (bgMasterLineDO.getIsQua()==1&&("1".equals(bgMasterLineDO.getAuditOpinion())||"3".equals(bgMasterLineDO.getAuditOpinion()))){ + flag=3; + }else if (Postponement==0){ + flag=1; + }else if (Postponement==1){ + flag=2; + } + } + detailDO.setFlag(flag); + } + }); + item.setTaskDispatchDetailDOList(detailDOS); + }); + processBomDetailDOPageResult.setList(list); + return processBomDetailDOPageResult; + } + + @Override + public PageResult planBZJPage(TaskPlanJDBaoBiaoPageReqVO pageReqVO) { + return processBomDetailMapper.planBZJPage(pageReqVO); + } + private void createProcessBomDetailList(String bomCode,Long bomId, List list,Integer num) { LocalDateTime now = LocalDateTime.now(); /*list.forEach(o -> {o.setBomId(bomId);o.setUpdateTimes(now);} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts index 5c7aa65..f4c05a3 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/processbom/index.ts @@ -91,3 +91,12 @@ export const exportStandard = async (params) => { return await request.download({ url: `/heli/process-bom/exportStandard`, params }) } +// 查询加工件生产进度统计 +export const getPlanBb = async (params) => { + return await request.get({ url: `/heli/process-bom/planBbPage`, params }) +} + +// 查询标准件生产进度统计 +export const planBZJPage = async (params) => { + return await request.get({ url: `/heli/process-bom/planBZJPage`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts index 270d13c..87eb9bb 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/storageinventory/index.ts @@ -62,3 +62,7 @@ export const getSupplementPage = async (params) => { export const realTimeInventory = async (params) => { return await request.get({ url: `/heli/storage-inventory/realTimeInventory`, params }) } +// 查询库存 +export const getById = async (params) => { + return await request.get({ url: `/heli/storage-inventory/getById`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/planSchedule.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/planSchedule.vue index 62c9440..f43799d 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/planSchedule.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/planSchedule.vue @@ -144,6 +144,7 @@