diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java index ae2b3c7..e79f76c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/MaterialPlanController.java @@ -200,17 +200,11 @@ public class MaterialPlanController { return materialPlanService.delMaterial(id); } -// @PostMapping("/getPartPurchasePages") -// @Operation(summary = "获得零件采购分页") -// public CommonResult> getPartPurchasePages(@Valid @RequestBody MaterialPlanPageReqVO pageReqVO) { -// PageResult pageResult = materialPlanService.getPartPurchasePages(pageReqVO); -// return success(pageResult); -// } - @GetMapping("/getPartPurchasePages") @Operation(summary = "获得零件采购分页") - public CommonResult> getPartPurchasePages() { - String a ="asdij"; - return null; + public CommonResult> getPartPurchasePages(@Valid MaterialPlanPageReqVO pageReqVO) { + PageResult pageResult = materialPlanService.getPartPurchasePages(pageReqVO); + return success(pageResult); } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java index 864ab65..c69155b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermake/PurchaseOrderMakeController.java @@ -118,5 +118,21 @@ public class PurchaseOrderMakeController { public CommonResult updatePartCheckNo(@Valid PurchaseOrderMakeSaveReqVO updateReqVO) { return success(partPurchaseOrderService.updatePartCheckStatusNo(updateReqVO)); } - + @PutMapping("/reject") + @Operation(summary = "采购审批驳回") + public CommonResult reject(@Valid PurchaseOrderMakeSaveReqVO updateReqVO) { + return success(partPurchaseOrderService.reject(updateReqVO)); + } + @PutMapping("/approval") + @Operation(summary = "采购单批准") + public CommonResult approval(@RequestParam("id") Long id) { + return success(partPurchaseOrderService.approval(id)); + } + @GetMapping("/getDetail") + @Operation(summary = "获得采购单明细") +// @PreAuthorize("@ss.hasPermission('heli:material-plan:query')") + public CommonResult> getDetail(@Valid PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) { + PageResult pageResult = partPurchaseOrderService.getDetail(partPurchaseOrderPageReqVO); + return success(pageResult); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java index 11c574a..df99e83 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/PurchaseOrderNoController.java @@ -158,4 +158,5 @@ public class PurchaseOrderNoController { public CommonResult deleteForm(@RequestParam("id") Long id) { return purchaseOrderNoService.deleteForm(id); } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java index 663b457..1c0bd79 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/PurchaseOrderNoDetailController.java @@ -1,5 +1,8 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoPageReqVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoRespVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -111,5 +114,23 @@ public class PurchaseOrderNoDetailController { public CommonResult receiveGoods(@Valid @RequestBody List list) { return purchaseOrderNoDetailService.receiveGoods(list); } - + @GetMapping("/received") + @Operation(summary = "获得标准件收货分页") + @PreAuthorize("@ss.hasPermission('project:purchase-order-no-detail:query')") + public CommonResult> received(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO) { + PageResult pageResult = purchaseOrderNoDetailService.received(pageReqVO); + return success(pageResult); + } + @GetMapping("/exportReceived") + @Operation(summary = "导出采购订单主 Excel") + @PreAuthorize("@ss.hasPermission('project:purchase-order-no:export')") + @OperateLog(type = EXPORT) + public void exportPurchaseOrderNoExcel(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = purchaseOrderNoDetailService.received(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "标准件收货.xlsx", "数据", ReceivedExcelVo.class, + BeanUtils.toBean(list, ReceivedExcelVo.class)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/PurchaseOrderNoDetailPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/PurchaseOrderNoDetailPageReqVO.java index ea8ad79..f71074b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/PurchaseOrderNoDetailPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/PurchaseOrderNoDetailPageReqVO.java @@ -114,5 +114,10 @@ public class PurchaseOrderNoDetailPageReqVO extends PageParam { @Schema(description = "责任人id", example = "30495") private Long duEmpId; - + @Schema(description = "子项目名称") + private String projectSubName; + @Schema(description = "项目编码") + private String projectCode; + @Schema(description = "项目编码") + private Integer goodsType; } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/ReceivedExcelVo.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/ReceivedExcelVo.java new file mode 100644 index 0000000..3c45726 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/ReceivedExcelVo.java @@ -0,0 +1,50 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +/** + * Excel 导入 VO + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = false) // 设置 chain = false,避免BOM导入有问题 +public class ReceivedExcelVo { + @ExcelProperty("子项目编码") + private String projectSubCode; + + @ExcelProperty("物料编码") + private String matCode; + @ExcelProperty("标准件名称") + private String boomName; + @ExcelProperty("规格型号") + private String boomSpec; + @ExcelProperty("需求数量") + private String boomAmount; + @ExcelProperty("采购数量") + private String purchaseAmount; + + @ExcelProperty("剩余数量") + private String purchaseRemAmount; + @ExcelProperty("需求完成时间") + private String requireTimes; + @ExcelProperty("计划到货日期") + private String arriveTimes; + @ExcelProperty("供应商") + private String supplierName; + @ExcelProperty("价格") + private String estimatedPrice; + @ExcelProperty(value = "订单状态", converter = DictConvert.class) + @DictFormat("heli_purchase_receiving_status") + private String receivingStatus; + + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java index c4dadaa..b207ac8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/StorageInController.java @@ -1,5 +1,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storagein; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -96,9 +97,20 @@ public class StorageInController { @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('heli:storage-in:query')") public CommonResult isPrint(@RequestParam("id") Long id) { - return success(storageInService.isPrint(id)); } - + @PostMapping("/standardPartsReceived") + @Operation(summary = "标准件收货") + @PreAuthorize("@ss.hasPermission('heli:storage-in:query')") + public CommonResult standardPartsReceived(@Valid @RequestBody List list) { + return storageInService.standardPartsReceived(list); + } + @GetMapping("/warehousing") + @Operation(summary = "采购入库") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('heli:storage-in:query')") + public CommonResult warehousing(@RequestParam("id") Long id) { + return storageInService.warehousing(id); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/vo/StorageInRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/vo/StorageInRespVO.java index f579e58..28e595e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/vo/StorageInRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagein/vo/StorageInRespVO.java @@ -1,14 +1,10 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.storagein.vo; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.time.LocalDate; -import java.util.*; import java.util.*; import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplanboom/MaterialPlanBoomDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplanboom/MaterialPlanBoomDO.java index dc79f14..2d25961 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplanboom/MaterialPlanBoomDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplanboom/MaterialPlanBoomDO.java @@ -172,4 +172,9 @@ public class MaterialPlanBoomDO extends BaseDO { */ @TableField(exist = false) private String duEmpName; + /** + * 客户简称 + */ + @TableField(exist = false) + private String brief; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordernodetail/PurchaseOrderNoDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordernodetail/PurchaseOrderNoDetailDO.java index b1bdfbd..503176e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordernodetail/PurchaseOrderNoDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordernodetail/PurchaseOrderNoDetailDO.java @@ -184,6 +184,10 @@ public class PurchaseOrderNoDetailDO extends BaseDO { @TableField(exist = false) private String matType; @TableField(exist = false) + private String supplierName; + @TableField(exist = false) + private String purchaseNo; + @TableField(exist = false) private BigDecimal matRest; @TableField(exist = false) private BigDecimal unitPrice; @@ -200,4 +204,13 @@ public class PurchaseOrderNoDetailDO extends BaseDO { private String compositionName; @TableField(exist = false) private String procedureName; + /** + * 入库数量 + */ + @TableField(exist = false) + private Date boomArriveDates; + @TableField(exist = false) + private String arriveTimes; + @TableField(exist = false) + private String requireTimes; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageindetail/StorageInDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageindetail/StorageInDetailDO.java index 3ff66e2..009a54b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageindetail/StorageInDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storageindetail/StorageInDetailDO.java @@ -142,6 +142,18 @@ public class StorageInDetailDO extends BaseDO { * 供应商id */ private Long supplierId; + /** + * 采购单明细id + */ + private Long purchaseOrderNoDetailId; + /** + * 采购单明细id + */ + private Long purchaseOrderNoId; + /** + * 到货日期 + */ + private Date acarrDate; /** * 入库数量 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java index ae708b8..cb73879 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplanboom/MaterialPlanBoomMapper.java @@ -21,11 +21,13 @@ 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.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.enums.BoomDetailTypeEnum; import com.chanko.yunxi.mes.module.heli.enums.ProcessBomStatusEnum; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.google.common.collect.Lists; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.*; import org.apache.ibatis.annotations.Param; @@ -42,6 +44,14 @@ public interface MaterialPlanBoomMapper extends BaseMapperX Long hasPurchase(Map map); Long hasPurYard(Map map); + default int updateSetNull(List ids){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("supplier_id",null).set("estimated_price",null) + .set("purchase_amount",null).set("arrive_time",null).set("mat_rest",null) + .in("id",ids); + return update(updateWrapper); + } + default PageResult selectPage(MaterialPlanBoomPageReqVO reqVO) { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(MaterialPlanBoomDO.class) @@ -197,7 +207,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(MaterialPlanBoomDO.class) .select("p.project_name as projectName","p.name as projectSubName") - .select("d.blueprint_no as blueprintNo","d.unit as unit") + .select("d.blueprint_no as blueprintNo","d.unit as unit","f.name as supplierName") .select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName") .select(MaterialPlanDO::getBrief) .leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId) @@ -205,6 +215,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .leftJoin(AdminUserDO.class, "a", AdminUserDO::getId, MaterialPlanBoomDO::getDuEmpId) .leftJoin(ProcedureDO.class, "c", ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId) .leftJoin(CompositionDO.class, "e", CompositionDO::getId, ProcessBomDetailDO::getCompositionId) + .leftJoin(SupplierDO.class, "f", SupplierDO::getId, MaterialPlanBoomDO::getSupplierId) .disableSubLogicDel(); query .like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName()) @@ -215,9 +226,11 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .like(!StringUtils.isEmpty(pageReqVO.getDuEmpName()), AdminUserDO::getNickname, pageReqVO.getDuEmpName()) .eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType()) .eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus()) - .eq(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus()) + .in(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus() != 0 ? Arrays.asList(pageReqVO.getMplanStatus()) : Arrays.asList(0, 3)) .eq(Objects.nonNull(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo()); - return selectPage(pageReqVO, query); + + PageResult pageResult = selectPage(pageReqVO, query); + return pageResult; } 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 b10232f..dcfc88f 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 @@ -67,11 +67,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX List selectStandardListByBomId(@Param("bomId") Long bomId); - @Select("SELECT p.*, IFNULL(SUM(s.storage_ok_qty), 0) AS storage_ok_qty " + - "FROM pro_process_bom_detail p " + - "LEFT JOIN v_storage_material_now s ON p.material_name = s.mat_name " + - "WHERE p.bom_id = #{bomId} and p.type = 1 AND p.deleted IN (0, 1) " + - "GROUP BY p.material_name") + @Select("SELECT p.* FROM pro_process_bom_detail p WHERE p.bom_id = #{bomId} and p.type = 1 AND p.deleted IN (0, 1) ") //2025 0601 因为bom明细页查询到结果 由 group by materialcode转换为 group by id List selectStandardListByBomId20250609(@Param("bomId") Long bomId); default Long getBomDetailByBluePrintNoAndBomId(String bomCode,String bluePrintNo){ @@ -231,7 +227,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX // .eq(MaterialPlanBoomDO::getDeleted,0) // .eq(MaterialPlanDO::getDeleted,0); if (ObjectUtils.isEmpty(pageReqVO.getProjectMaterialPlanNo())) { - query.eq(ProcessBomDO::getBomStatus,"2") + query.eq(ProcessBomDO::getBomStatus,"7") .ne(ProjectOrderDO::getOrderStatus,"64") .eq(ProcessBomDetailDO::getType,"1"); ; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java index c51fc36..c87a2a5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermake/PurchaseOrderMakeMapper.java @@ -86,6 +86,7 @@ public interface PurchaseOrderMakeMapper extends BaseMapperX getDetail(PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(PurchaseOrderMakeDetailDO.class) + .select(PurchaseOrderMakeDO::getContractNo, + PurchaseOrderMakeDO::getGoodsType, + PurchaseOrderMakeDO::getBrief, + PurchaseOrderMakeDO::getProjectName, + PurchaseOrderMakeDO::getProjectNameSim, + PurchaseOrderMakeDO::getStatus) + .select("c.nickname as duEmpName") + .select("d.name as supplierName") + .select("e.name as procedureName") + .leftJoin(PurchaseOrderMakeDO.class,"a",PurchaseOrderMakeDO::getId,PurchaseOrderMakeDetailDO::getPurchaseOrderId) + .leftJoin(ProjectOrderDO.class,"b",ProjectOrderDO::getId,PurchaseOrderMakeDO::getProjectId) + .leftJoin(AdminUserDO.class,"c", AdminUserDO::getId,PurchaseOrderMakeDetailDO::getDuEmpId) + .leftJoin(SupplierDO.class, "d", SupplierDO::getId,PurchaseOrderMakeDetailDO::getSupplierId) + .leftJoin(ProcedureDO.class, "e", ProcedureDO::getId, PurchaseOrderMakeDetailDO::getProcedureId) + .disableLogicDel() + .disableSubLogicDel() + .eq(Objects.nonNull(partPurchaseOrderPageReqVO.getPurchaseOrderId()), PurchaseOrderMakeDO::getId, partPurchaseOrderPageReqVO.getPurchaseOrderId()) + .eq(StringUtils.isNotBlank(partPurchaseOrderPageReqVO.getContractNo()), PurchaseOrderMakeDO::getContractNo, partPurchaseOrderPageReqVO.getContractNo()) + .eq(Objects.nonNull(partPurchaseOrderPageReqVO.getDocumentStatus()), PurchaseOrderMakeDO::getStatus, partPurchaseOrderPageReqVO.getDocumentStatus()) + .like(StringUtils.isNotBlank(partPurchaseOrderPageReqVO.getProjectName()), PurchaseOrderMakeDO::getProjectName, partPurchaseOrderPageReqVO.getProjectName()) + .like(StringUtils.isNotBlank(partPurchaseOrderPageReqVO.getProjectSubName()), PurchaseOrderMakeDetailDO::getName, partPurchaseOrderPageReqVO.getProjectSubName()) + .like(StringUtils.isNotBlank(partPurchaseOrderPageReqVO.getMaterialName()), PurchaseOrderMakeDetailDO::getBoomName, partPurchaseOrderPageReqVO.getMaterialName()) + .eq(Objects.nonNull(partPurchaseOrderPageReqVO.getStatus()), PurchaseOrderMakeDetailDO::getOrderStatus, partPurchaseOrderPageReqVO.getStatus()) + .eq(Objects.nonNull(partPurchaseOrderPageReqVO.getProjectCode()), ProjectOrderDO::getCode, partPurchaseOrderPageReqVO.getProjectCode()) + .like(Objects.nonNull(partPurchaseOrderPageReqVO.getOwnerName()), AdminUserDO::getNickname, partPurchaseOrderPageReqVO.getOwnerName()) + .like(Objects.nonNull(partPurchaseOrderPageReqVO.getSupplierName()), SupplierDO::getName, partPurchaseOrderPageReqVO.getSupplierName()); + + String sqlStr= query.getTargetSql(); + + PageResult pageResult = selectJoinPage(partPurchaseOrderPageReqVO, PartPurchaseOrderPageRespVO.class, query); + return pageResult; + } } 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 f550741..853c1c7 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 @@ -9,10 +9,12 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.Pro import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermaterial.vo.PurchaseOrderMaterialPageReqVO; 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; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderboom.PurchaseOrderBoomDO; @@ -20,10 +22,13 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermaterial.Pur import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageMaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail.vo.*; import org.springframework.beans.PropertyValues; +import org.springframework.util.StringUtils; /** * 采购订单明细 Mapper @@ -80,4 +85,28 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX received(PurchaseOrderNoDetailPageReqVO pageReqVO){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + + query.selectAll(PurchaseOrderNoDetailDO.class) + .select("s.name as supplierName","m.code as matCode","p.purchase_no as purchaseNo","t.purchase_rem_amount as purchaseRemAmounts") + .select("DATE_FORMAT(t.require_time,'%Y-%m-%d') as requireTimes","DATE_FORMAT(t.arrive_time,'%Y-%m-%d') as arriveTimes") + .leftJoin(PurchaseOrderNoDO.class,"p", PurchaseOrderNoDO::getId, PurchaseOrderNoDetailDO::getPurchaseOrderId) + .leftJoin(SupplierDO.class, "s", SupplierDO::getId, PurchaseOrderNoDO::getSupplierId) + .leftJoin(MaterialDO.class,"m", MaterialDO::getId, PurchaseOrderNoDetailDO::getMaterialId) + .leftJoin(ProjectOrderDO.class,"pro", ProjectOrderDO::getId, PurchaseOrderNoDetailDO::getProjectId) + .disableSubLogicDel() + .groupBy(PurchaseOrderNoDetailDO::getId) + .orderByDesc(PurchaseOrderNoDetailDO::getCreateTime); + query + .eq(pageReqVO.getReceivingStatus() != null, PurchaseOrderNoDetailDO::getReceivingStatus, pageReqVO.getReceivingStatus()) + .eq(pageReqVO.getGoodsType() != null, PurchaseOrderNoDO::getGoodsType, pageReqVO.getGoodsType()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectName()), PurchaseOrderNoDetailDO::getProjectName, pageReqVO.getProjectName()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), PurchaseOrderNoDetailDO::getName, pageReqVO.getProjectSubName()) + .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode()) + .like(!StringUtils.isEmpty(pageReqVO.getBoomName()), PurchaseOrderNoDetailDO::getBoomName, pageReqVO.getBoomName()); + + return selectPage(pageReqVO, query); + } } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageindetail/StorageInDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageindetail/StorageInDetailMapper.java index d37e4c6..d10a606 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageindetail/StorageInDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storageindetail/StorageInDetailMapper.java @@ -65,6 +65,7 @@ public interface StorageInDetailMapper extends BaseMapperX { .leftJoin(SupplierDO.class,"sup", SupplierDO::getId, StorageInDetailDO::getSupplierId) .leftJoin(MaterialDO.class,"m", MaterialDO::getId, StorageInDetailDO::getMaterialId) .groupBy(StorageInDetailDO::getId) + .disableSubLogicDel() .orderByDesc(StorageInDetailDO::getCreateTime); query.eq(pageReqVO.getStorageNoId() != null, StorageInDetailDO::getStorageNoId, pageReqVO.getStorageNoId()); 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/storagelog/StorageLogNowMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java index 78586c3..5321bb5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java @@ -16,6 +16,7 @@ import org.apache.poi.hpsf.Decimal; import java.math.BigDecimal; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.stream.Collectors; @@ -106,7 +107,7 @@ public interface StorageLogNowMapper extends BaseMapperX { List selectNowList(StorageNowAllReqVO reqVO); - + List selectAllByMatNames(@Param("matNames") List matNames); List selectNowByMatPnId(@Param("matId")Long matId,@Param("pnId")Long pnId); default PageResult getStorageNowPricePage(StorageLogPageReqVO reqVO) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java index 434af8f..1758476 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplan/MaterialPlanServiceImpl.java @@ -372,10 +372,16 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { break; case "caigou": if (boomDO.getIsPurYard()!=1) return CommonResult.error(400,"该物料信息状态非库存状态,请刷新界面!"); - boomDO.setIsPurYard(5); +// boomDO.setIsPurYard(5); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(MaterialPlanBoomDO::getId,pageReqVO.getId()) + .set(MaterialPlanBoomDO::getIsPurYard,5) + .set(MaterialPlanBoomDO::getMaterialId,null) + .set(MaterialPlanBoomDO::getMatRest,0); + materialPlanBoomMapper.update(wrapper); break; } - materialPlanBoomMapper.updateById(boomDO); + if (!"caigou".equals(pageReqVO.getType())) materialPlanBoomMapper.updateById(boomDO); } return CommonResult.success(true); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplanboom/MaterialPlanBoomServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplanboom/MaterialPlanBoomServiceImpl.java index 76165d3..d5dd3e4 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplanboom/MaterialPlanBoomServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/materialplanboom/MaterialPlanBoomServiceImpl.java @@ -224,6 +224,7 @@ public class MaterialPlanBoomServiceImpl implements MaterialPlanBoomService { } }else{ + //去库存,要同时删掉:供应商、采购数量、预估总价、预计到货日期 List materialPlanBoomDOList = updateReqVO.getMaterialPlanBoomDOList(); List ids = new ArrayList<>(); @@ -243,7 +244,7 @@ public class MaterialPlanBoomServiceImpl implements MaterialPlanBoomService { throw exception(PURCHASE_ORDER_MAKE_DETAIL_IS_STORAGE); } materialPlanBoomMapper.updateBatch(materialPlanBoomDOList); - + materialPlanBoomMapper.updateSetNull(ids); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matreq/MatReqServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matreq/MatReqServiceImpl.java index 37882b9..3752174 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matreq/MatReqServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matreq/MatReqServiceImpl.java @@ -139,6 +139,7 @@ public class MatReqServiceImpl implements MatReqService { matReqDO.setProjectName(planDO.getProjectName()); matReqDO.setCustomerId(planDO.getCustomerId()); matReqDO.setReqDate(LocalDate.now()); + matReqDO.setProjectPlanId(planDO.getProjectPlanId()); matReqMapper.insert(matReqDO); List matReqDetailDOS = new ArrayList<>(); for (MaterialPlanBoomDO materialPlanBoomDO : list) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java index 47ee9d9..eab5530 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderService.java @@ -56,4 +56,10 @@ public interface PartPurchaseOrderService { * @return 更新采购单审批状态 */ boolean updatePartCheckStatusNo(PurchaseOrderMakeSaveReqVO updateReqVO); + + Boolean reject(PurchaseOrderMakeSaveReqVO updateReqVO); + + Boolean approval(Long id); + + PageResult getDetail(PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java index 5251bdf..1c45a4b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/partpurchaseorder/PartPurchaseOrderServiceImpl.java @@ -1,9 +1,12 @@ package com.chanko.yunxi.mes.module.heli.service.partpurchaseorder; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.chanko.yunxi.mes.framework.common.exception.ErrorCode; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.mybatis.core.query.QueryWrapperX; +import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeSaveReqVO; @@ -25,11 +28,15 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PURCHASE_ORDER; @Service @@ -111,6 +118,8 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO(); purchaseOrderMakeDO.setId(id); purchaseOrderMakeDO.setStatus(2); + purchaseOrderMakeDO.setAuditor(SecurityFrameworkUtils.getLoginUserId()); + purchaseOrderMakeDO.setAuditTime(LocalDateTime.now()); purchaseOrderMakeMapper.updateById(purchaseOrderMakeDO); List materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", id); @@ -150,4 +159,61 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ return true; } + + @Override + public Boolean reject(PurchaseOrderMakeSaveReqVO updateReqVO) { + PurchaseOrderMakeDO orderMakeDO = purchaseOrderMakeMapper.selectById(updateReqVO.getId()); + if (orderMakeDO.getStatus() != 1) throw exception(new ErrorCode(400,"该单据状态非待审核,请刷新界面!")); + + PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO(); + purchaseOrderMakeDO.setId(updateReqVO.getId()); + purchaseOrderMakeDO.setStatus(3); + purchaseOrderMakeMapper.updateById(purchaseOrderMakeDO); + purchaseOrderMakeMapper.deleteById(purchaseOrderMakeDO); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(PurchaseOrderMakeDetailDO::getPurchaseOrderId, updateReqVO.getId()); + purchaseOrderMakeDetailMapper.delete(wrapper); + List materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", updateReqVO.getId()); + materialPlanBoomDOs.forEach(materialPlanBoom -> { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", materialPlanBoom.getId()) + .set("mplan_status", 3) + .set("project_purchase_order_make_id", null) + .set("purchase_no", null) + .set("project_purchase_order_make_detail_id", null) + .set("purchase_amount", BigDecimal.ZERO) + .set("estimated_price", BigDecimal.ZERO) + .set("arrive_time",null) + .set("supplier_id", null); + materialPlanBoomMapper.update(updateWrapper); + }); + return true; + } + + @Override + public Boolean approval(Long id) { + PurchaseOrderMakeDO orderMakeDO = purchaseOrderMakeMapper.selectById(id); + if (orderMakeDO.getStatus() != 1) throw exception(new ErrorCode(400,"该单据状态非待审核,请刷新界面!")); + PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO(); + purchaseOrderMakeDO.setId(id); + purchaseOrderMakeDO.setStatus(2); + purchaseOrderMakeDO.setAuditTime(LocalDateTime.now()); + purchaseOrderMakeDO.setAuditor(getLoginUser().getId()); + purchaseOrderMakeMapper.updateById(purchaseOrderMakeDO); + + List materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", id); + materialPlanBoomDOs.forEach(materialPlanBoomDO -> { + MaterialPlanBoomDO materialPlanBoom = new MaterialPlanBoomDO(); + materialPlanBoom.setId(materialPlanBoomDO.getId()); + materialPlanBoom.setMplanStatus(2); + materialPlanBoomMapper.updateById(materialPlanBoom); + }); + return true; + } + + @Override + public PageResult getDetail(PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) { + return purchaseOrderMakeDetailMapper.getDetail(partPurchaseOrderPageReqVO); + + } } 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 9fdd3ae..330a51a 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 @@ -33,6 +33,7 @@ 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.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.mysql.attentiontodo.AttentiontodoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper; @@ -42,6 +43,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; 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.enums.ProcessBomStatusEnum; import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService; import com.chanko.yunxi.mes.module.heli.service.composition.CompositionService; @@ -123,6 +125,8 @@ public class ProcessBomServiceImpl implements ProcessBomService { private MaterialPlanMapper materialPlanMapper; @Resource private MaterialPlanBoomMapper materialPlanBoomMapper; + @Resource + private StorageLogNowMapper storageLogNowMapper; @Override @Transactional(rollbackFor = Exception.class) public Long createProcessBom(ProcessBomSaveReqVO createReqVO) { @@ -808,6 +812,29 @@ public class ProcessBomServiceImpl implements ProcessBomService { list.addAll(processBomDetailMapper.selectStandardListByBomId20250609(bomId)); // Map> standardGroupByMatId = processBomDetailDOS.stream().collect(Collectors.groupingBy(vo -> vo.getMaterialId() == null ? -1 : vo.getMaterialId())); //查非标准件的 + if (CollUtil.isNotEmpty(list)){ + HashSet materialNameSet = new HashSet<>(); + for (ProcessBomDetailDO processBomDetailDO : list) { + processBomDetailDO.setStorageOkQty(BigDecimal.ZERO); + if (processBomDetailDO.getMaterialName() != null) { + materialNameSet.add(processBomDetailDO.getMaterialName()); + } + + } + if (CollUtil.isNotEmpty(materialNameSet)){ + List storageLogNowDOS = storageLogNowMapper.selectAllByMatNames(new ArrayList<>(materialNameSet)); + for (ProcessBomDetailDO processBomDetailDO : list) { + for (StorageLogNowDO storageLogNowDO : storageLogNowDOS) { + if (processBomDetailDO.getMaterialName()!= null && storageLogNowDO.getMatName().equals(processBomDetailDO.getMaterialName())) { + processBomDetailDO.setStorageOkQty(storageLogNowDO.getStorageOkQty()); + break; + } + } + } + } + + } + List processBomDetailNoStandardDOS = processBomDetailMapper.selectListNoStandardList(bomId); List noStandardList = processBomDetailNoStandardDOS.stream() diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java index 1c43da7..67daa82 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailService.java @@ -59,4 +59,6 @@ public interface PurchaseOrderNoDetailService { CommonResult verification(List list); CommonResult receiveGoods(List list); + + PageResult received(PurchaseOrderNoDetailPageReqVO pageReqVO); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java index 255e4b1..956801c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseordernodetail/PurchaseOrderNoDetailServiceImpl.java @@ -180,4 +180,9 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe return success(true); } + @Override + public PageResult received(PurchaseOrderNoDetailPageReqVO pageReqVO) { + return purchaseOrderNoDetailMapper.received(pageReqVO); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java index d3e5ee8..cf8c289 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInService.java @@ -1,10 +1,15 @@ package com.chanko.yunxi.mes.module.heli.service.storagein; import javax.validation.*; + +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.module.heli.controller.admin.storagein.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagein.StorageInDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import java.util.List; + /** * 入库单 Service 接口 * @@ -52,4 +57,8 @@ public interface StorageInService { StorageInDO isPrint(Long id); + + CommonResult standardPartsReceived(List list); + + CommonResult warehousing(Long id); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java index 1eefd19..d0f20f5 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/storagein/StorageInServiceImpl.java @@ -3,18 +3,27 @@ package com.chanko.yunxi.mes.module.heli.service.storagein; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.module.heli.controller.admin.storageindetail.vo.StorageInDetailPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storageindetail.StorageInDetailMapper; +import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.sun.corba.se.spi.ior.IdentifiableFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; + import com.chanko.yunxi.mes.module.heli.controller.admin.storagein.vo.*; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagein.StorageInDO; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; @@ -24,6 +33,8 @@ import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagein.StorageInMapper; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.PURCHASE_ORDER; +import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.STOCK_IN; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; /** @@ -41,6 +52,10 @@ public class StorageInServiceImpl implements StorageInService { private StorageInDetailMapper storageInDetailMapper; @Resource private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper; + @Resource + private SerialNumberService serialNumberService; + @Resource + private PurchaseOrderNoMapper purchaseOrderNoMapper; @Override public Long createStorageIn(StorageInSaveReqVO createReqVO) { // 插入 @@ -70,21 +85,20 @@ public class StorageInServiceImpl implements StorageInService { if (ObjectUtil.isNotEmpty(storageInDetailDOS)){ for (StorageInDetailDO storageInDetailDO : storageInDetailDOS) { LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.eq(PurchaseOrderNoDetailDO::getStorageId,storageInDetailDO.getStorageNoId()); - wrapper1.eq(PurchaseOrderNoDetailDO::getStorageMatId,storageInDetailDO.getId()); + wrapper1.eq(PurchaseOrderNoDetailDO::getId,storageInDetailDO.getPurchaseOrderNoDetailId()); PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectOne(wrapper1); if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDO)){ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(PurchaseOrderNoDetailDO::getId,purchaseOrderNoDetailDO.getId()); updateWrapper.set(PurchaseOrderNoDetailDO::getStorageId,null); updateWrapper.set(PurchaseOrderNoDetailDO::getStorageMatId,null); - + purchaseOrderNoDetailDO.setPurchaseRemAmount(purchaseOrderNoDetailDO.getPurchaseRemAmount().add(storageInDetailDO.getStorageAmount())); if (purchaseOrderNoDetailDO.getPurchaseAmount().compareTo(purchaseOrderNoDetailDO.getPurchaseRemAmount())==0){ updateWrapper.set(PurchaseOrderNoDetailDO::getReceivingStatus,1); }else { updateWrapper.set(PurchaseOrderNoDetailDO::getReceivingStatus,2); } - updateWrapper.set(PurchaseOrderNoDetailDO::getPurchaseRemAmount,purchaseOrderNoDetailDO.getPurchaseRemAmount().add(storageInDetailDO.getStorageAmount())); + updateWrapper.set(PurchaseOrderNoDetailDO::getPurchaseRemAmount,purchaseOrderNoDetailDO.getPurchaseRemAmount()); purchaseOrderNoDetailMapper.update(updateWrapper); } } @@ -123,4 +137,132 @@ public class StorageInServiceImpl implements StorageInService { return storageInDO; } + @Override + public CommonResult standardPartsReceived(List list) { + List idList = list.stream() + .filter(Objects::nonNull) // 过滤空对象 + .map(PurchaseOrderNoDetailDO::getId) + .filter(Objects::nonNull) // 过滤空ID + .collect(Collectors.toList()); + Map idToRemAmountMap = list.stream() + .collect(Collectors.toMap( + PurchaseOrderNoDetailDO::getId, // 键:id + PurchaseOrderNoDetailDO::getPurchaseRemAmounts, // 值:purchaseRemAmounts + (existing, replacement) -> existing // 键冲突时处理策略(保留现有值) + )); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(PurchaseOrderNoDetailDO::getId,idList); + List purchaseOrderNoDetailDOS = purchaseOrderNoDetailMapper.selectList(lambdaQueryWrapper); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDetailDOS)) { + for (PurchaseOrderNoDetailDO purchaseOrderNoDetailDO : purchaseOrderNoDetailDOS){ + BigDecimal amount = (purchaseOrderNoDetailDO.getId() != null) + ? idToRemAmountMap.getOrDefault(purchaseOrderNoDetailDO.getId(), BigDecimal.ZERO) + : BigDecimal.ZERO; + if (purchaseOrderNoDetailDO.getPurchaseRemAmount().compareTo(amount)<0){ + return CommonResult.error(400,"标准件名称"+purchaseOrderNoDetailDO.getBoomName()+"剩余数量"+purchaseOrderNoDetailDO.getPurchaseRemAmount()+"小于入库数量"+amount+"请确认!"); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StorageInDetailDO::getPurchaseOrderNoDetailId,purchaseOrderNoDetailDO.getId()); + wrapper.eq(StorageInDetailDO::getDeleted,0); + List storageInDetailDOS = storageInDetailMapper.selectList(wrapper); + if (ObjectUtil.isNotEmpty(storageInDetailDOS)){ + BigDecimal StorageAmount = storageInDetailDOS.stream() + .filter(Objects::nonNull) // 过滤掉空对象 + .map(StorageInDetailDO::getStorageAmount) + .filter(Objects::nonNull) // 过滤掉空值 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和 + BigDecimal sum = StorageAmount.add(amount); + if (sum.compareTo(purchaseOrderNoDetailDO.getBoomAmount())>0){ + return CommonResult.error(400,"标准件名称"+purchaseOrderNoDetailDO.getBoomName()+"入库数量"+sum+"+本次入库数量"+amount+"大于需求数量"+purchaseOrderNoDetailDO.getBoomAmount()+"请确认!"); + } + } + } + } + StorageInDO storageInDO = new StorageInDO(); + + // 月度流水号 + SerialNumberDO serialNumberDO = new SerialNumberDO(); + serialNumberDO = serialNumberService.getSerialNumber(PURCHASE_ORDER.name(), new SimpleDateFormat("yyyyMMdd").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + storageInDO.setStorageNo(STOCK_IN.getCode(serialNumberDO.getSerialNumber().toString())); + storageInDO.setGoodsType(1); + storageInDO.setStatus(1); + storageInDO.setIsPrint("N"); + storageInDO.setOrdDate(new Date()); + storageInMapper.insert(storageInDO); + List storageInDetailDOList = new ArrayList<>(); + for (PurchaseOrderNoDetailDO orderNoDetailDO : list) { + StorageInDetailDO storageInDetailDO = new StorageInDetailDO(); + storageInDetailDO.setStorageNoId(storageInDO.getId()); + storageInDetailDO.setProjectSubCode(orderNoDetailDO.getProjectSubCode()); + storageInDetailDO.setBoomDetailId(orderNoDetailDO.getBoomDetailId()); + storageInDetailDO.setBoomName(orderNoDetailDO.getBoomName()); + storageInDetailDO.setBoomSpec(orderNoDetailDO.getBoomSpec()); + storageInDetailDO.setBoomUnit(orderNoDetailDO.getBoomUnit()); + storageInDetailDO.setComposition(orderNoDetailDO.getComposition()); + storageInDetailDO.setPurchaseAmount(orderNoDetailDO.getPurchaseAmount()); + storageInDetailDO.setEstimatedPrice(orderNoDetailDO.getEstimatedPrice()); + storageInDetailDO.setActualPrice(orderNoDetailDO.getActualPrice()); + storageInDetailDO.setBoomAmount(orderNoDetailDO.getBoomAmount()); + storageInDetailDO.setRequireTime(orderNoDetailDO.getRequireTime()); + storageInDetailDO.setProjectMaterialPlanId(orderNoDetailDO.getProjectMaterialPlanId()); + storageInDetailDO.setProjectMaterialPlanBoomId(orderNoDetailDO.getProjectMaterialPlanBoomId()); + storageInDetailDO.setProjectPlanSubId(orderNoDetailDO.getProjectPlanSubId()); + storageInDetailDO.setName(orderNoDetailDO.getName()); + storageInDetailDO.setNameSim(orderNoDetailDO.getNameSim()); + storageInDetailDO.setProjectId(orderNoDetailDO.getProjectId()); + storageInDetailDO.setProjectPlanId(orderNoDetailDO.getProjectPlanId()); + storageInDetailDO.setCustomerId(orderNoDetailDO.getCustomerId()); + storageInDetailDO.setBrief(orderNoDetailDO.getBrief()); + storageInDetailDO.setProjectName(orderNoDetailDO.getProjectName()); + storageInDetailDO.setProjectNameSim(orderNoDetailDO.getProjectNameSim()); + storageInDetailDO.setMaterialId(orderNoDetailDO.getMaterialId()); + storageInDetailDO.setStorageAmount(orderNoDetailDO.getPurchaseRemAmounts()); + PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(orderNoDetailDO.getPurchaseOrderId()); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){ + storageInDetailDO.setSupplierId(purchaseOrderNoDO.getSupplierId()); + } + storageInDetailDO.setPurchaseOrderNoId(orderNoDetailDO.getPurchaseOrderId()); + storageInDetailDO.setPurchaseOrderNoDetailId(orderNoDetailDO.getId()); + storageInDetailDO.setAcarrDate(new Date()); + if (orderNoDetailDO.getPurchaseRemAmount().compareTo(orderNoDetailDO.getPurchaseRemAmounts())==0){ + orderNoDetailDO.setReceivingStatus(3); + }else { + orderNoDetailDO.setReceivingStatus(2); + } + orderNoDetailDO.setPurchaseRemAmount(orderNoDetailDO.getPurchaseRemAmount().subtract(orderNoDetailDO.getPurchaseRemAmounts())); + purchaseOrderNoDetailMapper.updateById(orderNoDetailDO); + storageInDetailDOList.add(storageInDetailDO); + } + storageInDetailMapper.insertBatch(storageInDetailDOList); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); + + return CommonResult.success(true); + } + + @Override + public CommonResult warehousing(Long id) { + PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = purchaseOrderNoDetailMapper.selectById(id); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StorageInDetailDO::getPurchaseOrderNoDetailId,id); + wrapper.eq(StorageInDetailDO::getDeleted,0); + List storageInDetailDOS = storageInDetailMapper.selectList(wrapper); + BigDecimal sum=BigDecimal.ZERO; + if (ObjectUtil.isNotEmpty(storageInDetailDOS)){ + sum = storageInDetailDOS.stream() + .filter(Objects::nonNull) // 过滤掉空对象 + .map(StorageInDetailDO::getStorageAmount) + .filter(Objects::nonNull) // 过滤掉空值 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和 + } + if (sum.compareTo(purchaseOrderNoDetailDO.getBoomAmount())!=0){ + return CommonResult.error(400,"该入库数量"+sum+"!=需求数量"+purchaseOrderNoDetailDO.getBoomAmount()+"请确认!"); + } + purchaseOrderNoDetailDO.setReceivingStatus(3); + purchaseOrderNoDetailDO.setPurchaseRemAmount(BigDecimal.ZERO); + purchaseOrderNoDetailMapper.updateById(purchaseOrderNoDetailDO); + return CommonResult.success(true); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java index 7b7bb86..7bc5c22 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/taskdispatch/TaskDispatchServiceImpl.java @@ -153,13 +153,14 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { .filter(o -> o.getId() != null) .map(TaskDispatchDetailDO::getId) .collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(idList)){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(TaskDispatchDetailDO::getId, idList); wrapper.eq(TaskDispatchDetailDO::getDeleted, 0); List detailDOS = taskDispatchDetailMapper.selectList(wrapper); - for (TaskDispatchDetailDO dispatchDetailDO : detailDOS) { + TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(updateObj.getId()); + for (TaskDispatchDetailDO dispatchDetailDO : detailDOS) { if (dispatchDetailDO.getPlanStatus()==1){ - TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(dispatchDetailDO.getDispatchId()); ProcessBomDetailDO bomDetailDO = processBomDetailMapper.selectById(taskDispatchDO.getBomDetailId()); ProcedureDO procedureDO = procedureMapper.selectById(dispatchDetailDO.getProcedureId()); if (ObjectUtil.isNotEmpty(bomDetailDO)&&ObjectUtil.isNotEmpty(procedureDO)){ @@ -167,6 +168,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { } } } + } } // 明细工序状态更新 diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogNowMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogNowMapper.xml index 7a94641..653a4cb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogNowMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogNowMapper.xml @@ -71,10 +71,16 @@ order by t.mat_code - +