diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java index b1c7fe15..b618e082 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplan/vo/MaterialPlanPageReqVO.java @@ -83,4 +83,10 @@ public class MaterialPlanPageReqVO extends PageParam { private String supplierName; @Schema(description = "客户简称") private String customerName; + @Schema(description = "采购单号") + private String purchaseNo; + @Schema(description = "零件明细id集合") + List boomDetailIds; + @Schema(description = "子项目id集合") + List projectPlanSubIds; } \ 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/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 3c7be211..20052311 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 @@ -158,6 +158,12 @@ public class PurchaseOrderMakeController { public CommonResult createPurchaseOrderMakeAndDetail(@Valid @RequestBody List saveReqVOs) { return success(partPurchaseOrderService.createPurchaseOrderMakeAndDetailBatch(saveReqVOs)); } + @PostMapping("/updateDuEmp") + @Operation(summary = "零件采购单送审生成") + @PreAuthorize("@ss.hasPermission('heli:material-plan:query')") + public CommonResult updateDuEmp(@Valid @RequestBody List saveReqVOs) { + return partPurchaseOrderService.updateDuEmp(saveReqVOs); + } @GetMapping("/review") @Operation(summary = "小程序采购单审核分页") @PreAuthorize("@ss.hasPermission('heli:purchase-order-make:query')") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java index 90302875..20b06abb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordermakedetail/vo/PurchaseOrderMakeDetailSaveReqVO.java @@ -18,7 +18,6 @@ public class PurchaseOrderMakeDetailSaveReqVO { private Long id; @Schema(description = "采购单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13340") - @NotNull(message = "采购单id不能为空") private Long purchaseOrderId; private Integer buyType; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java index d4231c60..a5a6b04d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoRespVO.java @@ -112,4 +112,6 @@ public class PurchaseOrderNoRespVO { private Integer receivingStatus1; @Schema(description = "创建人") private String submitUserName; + @Schema(description = "工序名称") + private String procedureName; } \ 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/taskdispatch/vo/BubbleFeeResult.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/BubbleFeeResult.java new file mode 100644 index 00000000..96f56996 --- /dev/null +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/BubbleFeeResult.java @@ -0,0 +1,12 @@ +package com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class BubbleFeeResult { + private Long bomDetailId; + private Long procedureId; + private BigDecimal cost; +} \ 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/taskdispatch/vo/TaskDispatchPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java index c1ab17a0..e4f36e22 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/taskdispatch/vo/TaskDispatchPageReqVO.java @@ -83,4 +83,6 @@ public class TaskDispatchPageReqVO extends PageParam { private String blueprintNo; @Schema(description = "零件名称") private String boomName; + @Schema(description = "已发货零件显示") + private String flag; } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java index e57110e9..ac6c639a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseordermakedetail/PurchaseOrderMakeDetailDO.java @@ -182,12 +182,35 @@ public class PurchaseOrderMakeDetailDO extends BaseDO { * 泡沫 */ private String isFoam; - @TableField(exist = false) + /** + * 订单id + */ + private Long projectId; + /** + * 生产计划id + */ + private Long projectPlanId; + /** + * 客户id + */ + private Long customerId; + /** + * 客户简称 + */ + private String brief; + /** + * 项目名称 + */ private String projectName; + /** + * 项目名称简码 + */ + private String projectNameSim; + @TableField(exist = false) private String matName; @TableField(exist = false) - private String brief; + private String briefs; @TableField(exist = false) private String blueprintNo; @TableField(exist = false) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java index ab782b87..a27d39d0 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/purchaseorderno/PurchaseOrderNoDO.java @@ -140,6 +140,8 @@ public class PurchaseOrderNoDO extends BaseDO { @TableField(exist = false) private String userMobile; @TableField(exist = false) + private String procedureName; + @TableField(exist = false) private String contactName; @TableField(exist = false) private String contactMobile; 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 f49e80ee..89d782d4 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 @@ -96,6 +96,8 @@ public class TaskDispatchDetailDO extends BaseDO { private LocalDateTime endTime; private Long dispatchType; private String postId; + private String purchaseNo; + private String projectPurchaseOrderMakeDetailId; private String isOutsourcing; private String projectMaterialPlanNo; private Long projectMaterialPlanDetailId; 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 39fd02e6..646c605a 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 @@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom; import java.util.*; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -22,6 +23,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.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermake.PurchaseOrderMakeDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO; @@ -34,6 +36,7 @@ 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.Delete; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.*; import org.apache.ibatis.annotations.Param; @@ -238,6 +241,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .select("COALESCE(m.the_weight, t.mat_weight) as theWeight","COALESCE(m.the_weight, t.mat_weight) as theWeight") .select("COALESCE(m.purchase_amount, t.boom_amount) AS purchaseAmounts,m.supplier_id as supplierIds,m.estimated_price as estimatedPrices,m.unit_price as unitPrice") .select("COALESCE(m.arrive_time, t.boom_arrive_date) as arriveTimes,COALESCE(m.description, t.description) as descriptions") + .select("COALESCE(m.du_emp_id, t.du_emp_id) as duEmpId") .select("m.is_foam as isFoams","m.foam_price as foamPrice") .select("CASE \n" + " WHEN t.is_foam = 'Y' THEN 1 \n" + @@ -250,6 +254,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .leftJoin(ProjectOrderDO.class,"pro",ProjectOrderDO::getId,MaterialPlanDO::getProjectId) .leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,MaterialPlanBoomDO::getProjectPlanSubId) .leftJoin(AdminUserDO.class, "a", AdminUserDO::getId, MaterialPlanBoomDO::getDuEmpId) + .leftJoin(AdminUserDO.class,"admin", AdminUserDO::getId, PurchaseOrderMakeDetailDO::getDuEmpId) .leftJoin(ProcedureDO.class, "c", ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId) .leftJoin(CompositionDO.class, "e", CompositionDO::getId, ProcessBomDetailDO::getCompositionId) .leftJoin(SupplierDO.class, "f", SupplierDO::getId, PurchaseOrderMakeDetailDO::getSupplierId) @@ -263,21 +268,33 @@ public interface MaterialPlanBoomMapper extends BaseMapperX .like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName()) .like(!StringUtils.isEmpty(pageReqVO.getMatName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMatName()) .like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode()) - .like(!StringUtils.isEmpty(pageReqVO.getDuEmpName()), AdminUserDO::getNickname, pageReqVO.getDuEmpName()) +// .like(!StringUtils.isEmpty(pageReqVO.getDuEmpName()), AdminUserDO::getNickname, pageReqVO.getDuEmpName()) .like(!StringUtils.isEmpty(pageReqVO.getProcedureName()), ProcedureDO::getName, pageReqVO.getProcedureName()) .eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType()) .eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus()) .like(ObjectUtil.isNotEmpty(pageReqVO.getSupplierName()), SupplierDO::getBrief, pageReqVO.getSupplierName()) .like(ObjectUtil.isNotEmpty(pageReqVO.getCustomerName()), MaterialPlanDO::getBrief, pageReqVO.getCustomerName()) + .in(Objects.nonNull(pageReqVO.getBoomDetailIds()), ProcessBomDetailDO::getId, pageReqVO.getBoomDetailIds()) + .in(Objects.nonNull(pageReqVO.getProjectPlanSubIds()), ProjectOrderSubDO::getId, pageReqVO.getProjectPlanSubIds()) .in(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus() != null && pageReqVO.getMplanStatus() != 0 ? Arrays.asList(pageReqVO.getMplanStatus()) : Arrays.asList(0, 3)) .eq(Objects.nonNull(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo()); + if (Objects.nonNull(pageReqVO.getMplanStatus())) { + if (pageReqVO.getMplanStatus() == 0 || pageReqVO.getMplanStatus() == 3){ + if (ObjectUtil.isNotEmpty(pageReqVO.getDuEmpName())){ + query.like("a.nickname", pageReqVO.getDuEmpName()); + } + }else { + if (ObjectUtil.isNotEmpty(pageReqVO.getDuEmpName())){ + query.like("admin.nickname", pageReqVO.getDuEmpName()); + } + } + } if (Objects.nonNull(pageReqVO.getMplanStatus())) { // 根据 mplanStatus 的值动态设置排序字段 if (pageReqVO.getMplanStatus() == 0){ query.orderByAsc(MaterialPlanDO::getProjectName); query.orderByAsc(ProcessBomDetailDO::getBlueprintNo); - }else if (pageReqVO.getMplanStatus() == 1 || pageReqVO.getMplanStatus() == 2) { query.orderByDesc(MaterialPlanBoomDO::getPurchaseNo); query.orderByAsc(ProcessBomDetailDO::getBlueprintNo); @@ -292,6 +309,8 @@ public interface MaterialPlanBoomMapper extends BaseMapperX PageResult pageResult = selectPage(pageReqVO, query); return pageResult; } +@Delete("DELETE FROM project_material_plan_boom WHERE id= #{id}") + void deletePlanBoom(@Param("id") Long id); // default PageResult selectPage(MaterialPlanBoomPageReqVO reqVO) { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java index 89a0c2f4..f4383cc9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/purchaseordermakedetail/PurchaseOrderMakeDetailMapper.java @@ -189,7 +189,10 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX query = new MPJLambdaWrapper<>(); query.selectAll(PurchaseOrderMakeDetailDO.class) .select("c.nickname as duEmpName") - .select("a.brief as brief") + .select(" CASE \n" + + " WHEN a.goods_type = 1 THEN a.brief \n" + + " ELSE t.brief \n" + + " END as briefs") .select("d.brief as supplierName") .select("bom.blueprint_no as blueprintNo") .select("CASE \n" + @@ -202,6 +205,7 @@ public interface PurchaseOrderMakeDetailMapper extends BaseMapperX { " WHEN SUM(CASE d.receiving_status WHEN 1 THEN 1 ELSE 0 END) = COUNT(d.id) THEN 1 " + // 全部为1 " ELSE 2 " + // 其他情况 "END AS receivingStatus1") + .select("pro.name as procedureName") .leftJoin(SupplierDO.class, "s", SupplierDO::getId, PurchaseOrderNoDO::getSupplierId) .leftJoin(PurchaseOrderNoDetailDO.class,"d", PurchaseOrderNoDetailDO::getPurchaseOrderId, PurchaseOrderNoDO::getId) // .leftJoin(ProcedureDO.class,"pro", ProcedureDO::getId, PurchaseOrderNoDetailDO::getProcedureId) 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 f9fe9098..b42ed39d 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 @@ -198,7 +198,6 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX getReceivingGoods(PurchaseOrderNoDetailPageReqVO pageReqVO){ MPJLambdaWrapper query = new MPJLambdaWrapper<>(); @@ -276,7 +275,7 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX" + "") void deleteOrderId(@Param("idList") List idList); + + List batchBubbleFees(@Param("bomDetailIds") List bomDetailIds, + @Param("procedureIds") List procedureIds); + + List batchMaterialCosts(@Param("bomDetailIds")List bomDetailIds,@Param("procedureIds") List procedureIds); + + Map batchInternalLaborCost(@Param("bomDetailIds")List bomDetailIds); + + Map batchProcessInspection(@Param("bomDetailIds")List bomDetailIds); } 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 451cd871..4e4ebc4f 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 @@ -4,10 +4,12 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.BubbleFeeResult; 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.deliverorder.DeliverOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO; @@ -16,10 +18,12 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDeta import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO; 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.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; 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.enums.TaskDispatchTypeEnum; +import com.chanko.yunxi.mes.module.heli.service.taskdispatch.TaskDispatchServiceImpl; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.PostDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.UserPostDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; @@ -30,6 +34,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.util.StringUtils; import java.util.List; +import java.util.Set; /** * 派工单 Mapper @@ -57,6 +62,7 @@ public interface TaskDispatchMapper extends BaseMapperX { .select("h.task_no as taskCode") .select("i.require_end_date as requiredCompletedDate") .select("u1.nickname as ownerName,u1.id as ownerId") + .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessDesignDO::getPlanId) .leftJoin("project_plan_sub b on b.project_plan_id = t.plan_id and b.project_sub_id = t.project_sub_id") .leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, ProcessDesignDO::getProjectSubId) @@ -69,6 +75,7 @@ public interface TaskDispatchMapper extends BaseMapperX { .leftJoin(AdminUserDO.class, "u1", AdminUserDO::getId, PlanTaskBomDO::getOwner) .orderByDesc(TaskDispatchDO::getId) .eq(ProjectOrderSubDO::getDeleted,0) + .groupBy(TaskDispatchDO::getId) .disableSubLogicDel(); query.like(!StringUtils.isEmpty(reqVO.getCode()), TaskDispatchDO::getCode, reqVO.getCode()) @@ -84,7 +91,9 @@ public interface TaskDispatchMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(ObjectUtil.isNotEmpty(reqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, reqVO.getBlueprintNo()) .like(ObjectUtil.isNotEmpty(reqVO.getBoomName()),ProcessBomDetailDO::getMaterialName, reqVO.getBoomName()); - ; + if (ObjectUtil.isNotEmpty(reqVO.getFlag())&&"false".equals(reqVO.getFlag())){ + query.ne(ProjectOrderDO::getDeliveryStatus,3); + } return selectPage(reqVO, query); } default List selectPageNew(TaskDispatchPageReqVO reqVO) { @@ -105,11 +114,14 @@ public interface TaskDispatchMapper extends BaseMapperX { .leftJoin(ProjectOrderDO.class, "d", ProjectOrderDO::getId, ProcessDesignDO::getProjectId) .leftJoin(CustomerDO.class, "e", CustomerDO::getId, ProjectOrderDO::getCustomerId) .leftJoin(ProcessBomDetailDO.class, "f", ProcessBomDetailDO::getId, TaskDispatchDO::getBomDetailId) + .leftJoin(PurchaseOrderNoDetailDO.class,"no", PurchaseOrderNoDetailDO::getBoomDetailId, ProcessBomDetailDO::getId) .leftJoin(CompositionDO.class,"g", CompositionDO::getId, ProcessBomDetailDO::getCompositionId) .leftJoin(PlanTaskDO.class, "h", PlanTaskDO::getId, TaskDispatchDO::getTaskId) .leftJoin(PlanTaskBomDO.class, "i", wrapper -> wrapper.eq(PlanTaskBomDO::getTaskId, PlanTaskDO::getId).eq(PlanTaskBomDO::getBomDetailId, TaskDispatchDO::getBomDetailId)) .leftJoin(AdminUserDO.class, "u1", AdminUserDO::getId, PlanTaskBomDO::getOwner) + .groupBy(TaskDispatchDetailDO::getId) .disableSubLogicDel(); + if(reqVO.getPageType() == 2){ //下一条 query.lt(TaskDispatchDO::getId, reqVO.getId()) @@ -134,7 +146,9 @@ public interface TaskDispatchMapper extends BaseMapperX { .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) .like(ObjectUtil.isNotEmpty(reqVO.getBlueprintNo()),ProcessBomDetailDO::getBlueprintNo, reqVO.getBlueprintNo()); - ; + if (ObjectUtil.isNotEmpty(reqVO.getFlag())&&"false".equals(reqVO.getFlag())){ + query.ne(ProjectOrderDO::getDeliveryStatus,3); + } return selectList(query); } default TaskDispatchDO selectById(Long id) { @@ -209,4 +223,5 @@ public interface TaskDispatchMapper extends BaseMapperX { } @Delete("delete from pro_task_dispatch where project_id=#{id}") void deleteOrderId(@Param("id") Long id); + } 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 e4ed4d45..85da35fb 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 @@ -12,7 +12,10 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; 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.purchaseordermake.PurchaseOrderMakeDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordermakedetail.PurchaseOrderMakeDetailDO; 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.storagelogNow.StorageLogNowDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; @@ -23,7 +26,10 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper; 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.purchaseordermake.PurchaseOrderMakeMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.PurchaseOrderMakeDetailMapper; 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.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatchdetaillog.TaskDispatchDetailLogMapper; @@ -92,6 +98,8 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { @Resource private PurchaseOrderNoMapper purchaseOrderNoMapper; @Resource + private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper; + @Resource private TaskDispatchDetailMapper taskDispatchDetailMapper; @Resource private TaskDispatchMapper taskDispatchMapper; @@ -101,6 +109,10 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { private ProcessBomMapper processBomMapper; @Resource private TaskDispatchDetailLogMapper taskDispatchDetailLogMapper; + @Resource + private PurchaseOrderMakeMapper purchaseOrderMakeMapper; + @Resource + private PurchaseOrderMakeDetailMapper purchaseOrderMakeDetailMapper; @Override public Long createMaterialPlan(MaterialPlanSaveReqVO createReqVO) { // 插入 @@ -544,6 +556,27 @@ public class MaterialPlanServiceImpl implements MaterialPlanService { @Override public PageResult getPartPurchasePages(MaterialPlanPageReqVO pageReqVO) { + if (ObjectUtil.isNotEmpty(pageReqVO.getPurchaseNo())){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PurchaseOrderNoDO::getPurchaseNo, pageReqVO.getPurchaseNo()); + List purchaseOrderMakeDOS = purchaseOrderNoMapper.selectList(queryWrapper); + if (ObjectUtil.isNotEmpty(purchaseOrderMakeDOS)){ + List purchaseOrderMakeIds = purchaseOrderMakeDOS.stream().map(PurchaseOrderNoDO::getId).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(purchaseOrderMakeIds)){ + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.in(PurchaseOrderNoDetailDO::getPurchaseOrderId, purchaseOrderMakeIds); + List purchaseOrderMakeDetailDOS = purchaseOrderNoDetailMapper.selectList(queryWrapper1); + if (ObjectUtil.isNotEmpty(purchaseOrderMakeDetailDOS)){ + List boomDetailIds = purchaseOrderMakeDetailDOS.stream().map(PurchaseOrderNoDetailDO::getBoomDetailId).collect(Collectors.toList()); + List projectPlanSubIds = purchaseOrderMakeDetailDOS.stream().map(PurchaseOrderNoDetailDO::getProjectPlanSubId).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(boomDetailIds)) pageReqVO.setBoomDetailIds(boomDetailIds); + if (ObjectUtil.isNotEmpty(projectPlanSubIds)) pageReqVO.setProjectPlanSubIds(projectPlanSubIds); + } + } + }else { + return new PageResult<>(null, 0L); + } + } return materialPlanBoomMapper.getPartsPages(pageReqVO); } 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 cb1a1c7a..01858fce 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 @@ -205,6 +205,7 @@ public class MaterialPlanBoomServiceImpl implements MaterialPlanBoomService { for (PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO : makeDetailDOList) { purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeDO.getId()); + } purchaseOrderMakeDetailMapper.insertBatch(makeDetailDOList); for (MaterialPlanBoomDO dp : materialPlanBoomDOList) { 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 ba51c77a..d408f0d9 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 @@ -72,4 +72,6 @@ public interface PartPurchaseOrderService { Boolean approvals(List list); Boolean rejects(Long id); + + CommonResult updateDuEmp(List saveReqVOs); } 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 1e14d602..1e35592b 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 @@ -17,6 +17,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.Pa import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PartPurchaseOrderPageRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeSaveReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailRespVO; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermakedetail.vo.PurchaseOrderMakeDetailSaveReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO; @@ -27,6 +28,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseO 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.supplier.SupplierDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDetailDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plansub.PlanSubMapper; @@ -36,7 +38,9 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordermakedetail.Purcha 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.supplier.SupplierMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.service.orderyf.OrderYfService; +import com.chanko.yunxi.mes.module.heli.service.purchaseordermakedetail.PurchaseOrderMakeDetailService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.heli.service.supplier.SupplierService; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; @@ -86,7 +90,8 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ private SupplierMapper supplierMapper; @Autowired private ProcessBomDetailMapper processBomDetailMapper; - + @Autowired + private TaskDispatchDetailMapper taskDispatchDetailMapper; @Override public PageResult getPartPurchaseOrderPage(PartPurchaseOrderPageReqVO pageReqVO) { @@ -163,7 +168,75 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ return true; } + public boolean submitNo(List list) { + PurchaseOrderNoDO purchaseOrderNoDO = new PurchaseOrderNoDO(); + // 返回 + // 月度流水号 + SerialNumberDO serialNumberDO = new SerialNumberDO(); + serialNumberDO = serialNumberService.getSerialNumber(PURCHASE_ORDER.name(), new SimpleDateFormat("yyyyMMdd").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); + purchaseOrderNoDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString())); + purchaseOrderNoDO.setPurchaseType(1); + purchaseOrderNoDO.setGoodsType(2); + purchaseOrderNoDO.setSupplierId(list.get(0).getSupplierId()); + purchaseOrderNoDO.setOrdDate(new Date()); + purchaseOrderNoMapper.insert(purchaseOrderNoDO); + long purchaseOrderId = purchaseOrderNoDO.getId(); + OrderYfSaveReqVO orderYfVO = new OrderYfSaveReqVO(); + orderYfVO.setCgOrderNum(purchaseOrderNoDO.getPurchaseNo()); + SupplierDO supplierDO = supplierMapper.selectById(list.get(0).getSupplierId()); + if (ObjectUtil.isNotEmpty(supplierDO)){ + orderYfVO.setCgGysname(supplierDO.getName()); + } + BigDecimal sum = list.stream() + .filter(Objects::nonNull) // 过滤掉空对象 + .map(PurchaseOrderMakeDetailDO::getEstimatedPrice) + .filter(Objects::nonNull) // 过滤掉空值 + .reduce(BigDecimal.ZERO, BigDecimal::add); // 累加求和 + orderYfVO.setCgYf(sum); + orderYfService.createCg(orderYfVO); + list.forEach(detailDO -> { +// PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = new PurchaseOrderNoDetailDO(); +// purchaseOrderNoDetailDO.setPurchaseOrderId(purchaseOrderId); +// purchaseOrderNoDetailDO.setBoomDetailId(detailDO.getBoomDetailId()); +// purchaseOrderNoDetailDO.setBoomName(detailDO.getBoomName()); +// purchaseOrderNoDetailDO.setBoomUnit(detailDO.getBoomUnit()); +// purchaseOrderNoDetailDO.setBoomSpec(detailDO.getBoomSpec()); + PurchaseOrderNoDetailDO purchaseOrderNoDetailDO = BeanUtils.toBean(detailDO, PurchaseOrderNoDetailDO.class); + purchaseOrderNoDetailDO.setDuEmpId(detailDO.getDuEmpId()); + purchaseOrderNoDetailDO.setId(null); + purchaseOrderNoDetailDO.setCreateTime(null); + purchaseOrderNoDetailDO.setUpdateTime(null); + purchaseOrderNoDetailDO.setPurchaseOrderId(purchaseOrderId); + purchaseOrderNoDetailDO.setPurchaseRemAmount(detailDO.getPurchaseAmount()); +// PurchaseOrderMakeDetailDO orderMakeDetailDO = purchaseOrderMakeDetailMapper.selectById(detailDO.getId()); +// if (ObjectUtil.isNotEmpty(orderMakeDetailDO)){ +// PurchaseOrderMakeDO orderMakeDO = purchaseOrderMakeMapper.selectById(orderMakeDetailDO.getPurchaseOrderId()); +// if (ObjectUtil.isNotEmpty(orderMakeDO)){ + purchaseOrderNoDetailDO.setProjectId(detailDO.getProjectId()); + purchaseOrderNoDetailDO.setProjectPlanId(detailDO.getProjectPlanId()); + purchaseOrderNoDetailDO.setCustomerId(detailDO.getCustomerId()); +// } +// } + purchaseOrderNoDetailMapper.insert(purchaseOrderNoDetailDO); + long purchaseOrderDetailId = purchaseOrderNoDetailDO.getId(); + + + PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO(); + purchaseOrderMakeDetailDO.setId(detailDO.getId()); + purchaseOrderMakeDetailDO.setOrderStatus(2); + purchaseOrderMakeDetailDO.setPurchaseOrderNoId(purchaseOrderId); + purchaseOrderMakeDetailDO.setPurchaseOrderNoDetailId(purchaseOrderDetailId); + purchaseOrderMakeDetailDO.setPurchaseNo(purchaseOrderNoDO.getPurchaseNo()); + purchaseOrderMakeDetailMapper.updateById(purchaseOrderMakeDetailDO); + + }); + + return true; + } @Override public PageResult getPartPurchaseOrderCheckPage(PartPurchaseOrderPageReqVO pageReqVO) { return null; @@ -187,6 +260,14 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ materialPlanBoomMapper.update(updateWrapper); }); + List taskDispatchDetailDOs= taskDispatchDetailMapper.selectList("project_purchase_order_make_detail_id", id); + taskDispatchDetailDOs.forEach(TaskDispatchDetailDO -> { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", TaskDispatchDetailDO.getId()) + .set("project_purchase_order_make_detail_id", null) + .set("purchase_no", null); + taskDispatchDetailMapper.update(updateWrapper); + }); return true; } @@ -240,6 +321,15 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ .set("mat_rest",null); materialPlanBoomMapper.update(updateWrapper); }); + + List taskDispatchDetailDOs= taskDispatchDetailMapper.selectList("project_purchase_order_make_detail_id", updateReqVO.getId()); + taskDispatchDetailDOs.forEach(TaskDispatchDetailDO -> { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", TaskDispatchDetailDO.getId()) + .set("project_purchase_order_make_detail_id", null) + .set("purchase_no", null); + taskDispatchDetailMapper.update(updateWrapper); + }); return true; } @@ -272,13 +362,21 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ .set("mat_rest",null); materialPlanBoomMapper.update(updateWrapper); }); + List taskDispatchDetailDOs= taskDispatchDetailMapper.selectList("project_purchase_order_make_detail_id",id); + taskDispatchDetailDOs.forEach(TaskDispatchDetailDO -> { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", TaskDispatchDetailDO.getId()) + .set("project_purchase_order_make_detail_id", null) + .set("purchase_no", null); + taskDispatchDetailMapper.update(updateWrapper); + }); return true; } @Override public Boolean approval(Long id) { PurchaseOrderMakeDO orderMakeDO = purchaseOrderMakeMapper.selectById(id); - if (orderMakeDO.getStatus() != 1) throw exception(new ErrorCode(400,"该单据状态非待审核,请刷新界面!")); + if (orderMakeDO.getStatus() != 1) throw exception(new ErrorCode(400, "该单据状态非待审核,请刷新界面!")); PurchaseOrderMakeDO purchaseOrderMakeDO = new PurchaseOrderMakeDO(); purchaseOrderMakeDO.setId(id); purchaseOrderMakeDO.setStatus(2); @@ -286,20 +384,33 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ purchaseOrderMakeDO.setAuditor(getLoginUser().getId()); purchaseOrderMakeMapper.updateById(purchaseOrderMakeDO); - List materialPlanBoomDOs= materialPlanBoomMapper.selectList("project_purchase_order_make_id", id); + 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); }); + List list = purchaseOrderMakeDetailMapper.selectList("project_purchase_order_make_id", id); + List ids = list.stream().map(PurchaseOrderMakeDetailDO::getId).collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(ids)){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(PurchaseOrderMakeDetailDO::getId, ids); + updateWrapper.set(PurchaseOrderMakeDetailDO::getStatus,2); + updateWrapper.set(PurchaseOrderMakeDetailDO::getAuditTime, LocalDateTime.now()); + updateWrapper.set(PurchaseOrderMakeDetailDO::getAuditor, getLoginUser().getId()); + purchaseOrderMakeDetailMapper.update(updateWrapper); + } + if (ObjectUtil.isNotEmpty(orderMakeDO)) { + if (orderMakeDO.getGoodsType() == 2) { + submitNo(list); + } + } return true; } - @Override public PageResult getDetail(PartPurchaseOrderPageReqVO partPurchaseOrderPageReqVO) { return purchaseOrderMakeDetailMapper.getDetail(partPurchaseOrderPageReqVO); - } @Override @@ -352,7 +463,7 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ processBomDetailMapper.update(lambdaUpdateWrapper); }); updateReqVOs.forEach(updateReq -> { - createPurchaseOrderMakeAndDetail(updateReq,purchaseOrderMakeId, purchaseOrderMakeDOPurchaseNo,planDO.getId()); + createPurchaseOrderMakeAndDetail(updateReq,purchaseOrderMakeId, purchaseOrderMakeDOPurchaseNo); }); return true; @@ -424,6 +535,15 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ // materialPlanBoom.setMplanStatus(2); // materialPlanBoomMapper.updateById(materialPlanBoom); // }); + PurchaseOrderMakeDO purchaseOrderMakeDO = purchaseOrderMakeMapper.selectById(list.get(0).getPurchaseOrderId()); + if (ObjectUtil.isNotEmpty(purchaseOrderMakeDO)){ + if (purchaseOrderMakeDO.getGoodsType() == 2){ + submitNo(list); + } + } + + + } return true; } @@ -457,10 +577,32 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ .set("mat_rest",null); materialPlanBoomMapper.update(updateWrapper); }); + List taskDispatchDetailDOs= taskDispatchDetailMapper.selectList("project_purchase_order_make_detail_id", id); + taskDispatchDetailDOs.forEach(TaskDispatchDetailDO -> { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", TaskDispatchDetailDO.getId()) + .set("project_purchase_order_make_detail_id", null) + .set("purchase_no", null); + taskDispatchDetailMapper.update(updateWrapper); + }); return true; } - public Boolean createPurchaseOrderMakeAndDetail(MaterialPlanBoomDO updateReqVO, long purchaseOrderMakeId, String purchaseOrderMakeDOPurchaseNo,Long planId) { + @Override + public CommonResult updateDuEmp(List saveReqVOs) { + boolean b = saveReqVOs.stream() + .anyMatch(vo -> vo.getMplanStatus() == 1 || vo.getMplanStatus() == 2); + if (b) return CommonResult.error(400,"采购单已送审或已批准,不允许修改责任人"); + saveReqVOs.forEach(MaterialPlanBoomDO -> { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", MaterialPlanBoomDO.getId()) + .set("du_emp_id",MaterialPlanBoomDO.getDuEmpId() ); + materialPlanBoomMapper.update(updateWrapper); + }); + return CommonResult.success(true); + } + + public Boolean createPurchaseOrderMakeAndDetail(MaterialPlanBoomDO updateReqVO, long purchaseOrderMakeId, String purchaseOrderMakeDOPurchaseNo) { PurchaseOrderMakeDetailDO purchaseOrderMakeDetailDO = new PurchaseOrderMakeDetailDO(); purchaseOrderMakeDetailDO.setPurchaseOrderId(purchaseOrderMakeId); purchaseOrderMakeDetailDO.setBoomDetailId(updateReqVO.getBoomDetailId()); @@ -489,6 +631,16 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ purchaseOrderMakeDetailDO.setTheWeight(updateReqVO.getTheWeight()); purchaseOrderMakeDetailDO.setDuEmpId(updateReqVO.getDuEmpId()); purchaseOrderMakeDetailDO.setIsFoam(updateReqVO.getIsFoam()); + purchaseOrderMakeDetailDO.setProjectId(updateReqVO.getProjectId()); + PlanDO planDO = planMapper.selectOne("project_id", updateReqVO.getProjectId()); + + if (ObjectUtil.isNotEmpty(planDO)) { + purchaseOrderMakeDetailDO.setProjectPlanId(planDO.getId()); + } + purchaseOrderMakeDetailDO.setCustomerId(updateReqVO.getCustomerId()); + purchaseOrderMakeDetailDO.setBrief(updateReqVO.getBrief()); + purchaseOrderMakeDetailDO.setProjectName(updateReqVO.getProjectName()); + purchaseOrderMakeDetailDO.setProjectNameSim(updateReqVO.getProjectNameSim()); purchaseOrderMakeDetailMapper.insert(purchaseOrderMakeDetailDO); long purchaseOrderMakeDetailId = purchaseOrderMakeDetailDO.getId(); @@ -500,6 +652,11 @@ public class PartPurchaseOrderServiceImpl implements PartPurchaseOrderService{ materialPlanBoomDO.setPurchaseNo(purchaseOrderMakeDOPurchaseNo); materialPlanBoomDO.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailId); materialPlanBoomMapper.updateById(materialPlanBoomDO); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(TaskDispatchDetailDO::getProjectMaterialPlanDetailId, updateReqVO.getId()); + wrapper.set(TaskDispatchDetailDO::getPurchaseNo, purchaseOrderMakeDOPurchaseNo); + wrapper.set(TaskDispatchDetailDO::getProjectPurchaseOrderMakeDetailId, purchaseOrderMakeDetailId); + taskDispatchDetailMapper.update(wrapper); return true; } 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 a6c46ec2..2df5237b 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 @@ -30,6 +30,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO; 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.purchaseordermakedetail.PurchaseOrderMakeDetailDO; 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.shenhe.ShenheDO; @@ -558,9 +559,9 @@ public class ProcessBomServiceImpl implements ProcessBomService { for (ProcessBomDetailDO po : processBomDetailDOS) { if (vo.getId().equals(po.getId())) { if (!vo.getMaterialName().equals(po.getMaterialName())) { - LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); - queryWrapper1.in(MaterialPlanBoomDO::getBoomDetailId,vo.getId()); - if (materialPlanBoomMapper.selectCount(queryWrapper1)>0) throw exception(new ErrorCode(1_007_9888,"物料"+po.getMaterialName()+"已做需求计划,不允许修改零件名称")); + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.in(PurchaseOrderMakeDetailDO::getBoomDetailId,vo.getId()); + if (purchaseOrderMakeDetailMapper.selectCount(queryWrapper1)>0) throw exception(new ErrorCode(1_007_9888,"物料"+po.getMaterialName()+"已做采购,不允许修改零件名称")); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(TaskDispatchDO::getBomDetailId, vo.getId()); queryWrapper.eq(TaskDispatchDO::getDispatchType,"PRODUCTION" ); @@ -585,9 +586,9 @@ public class ProcessBomServiceImpl implements ProcessBomService { } } if (!vo.getBlueprintNo().equals(po.getBlueprintNo())) { - LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); - queryWrapper1.in(MaterialPlanBoomDO::getBoomDetailId,vo.getId()); - if (materialPlanBoomMapper.selectCount(queryWrapper1)>0) throw exception(new ErrorCode(1_007_9888,"物料"+po.getMaterialName()+"已做需求计划,不允许修改图号")); + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.in(PurchaseOrderMakeDetailDO::getBoomDetailId,vo.getId()); + if (purchaseOrderMakeDetailMapper.selectCount(queryWrapper1)>0) throw exception(new ErrorCode(1_007_9888,"物料"+po.getMaterialName()+"已做采购,不允许修改图号")); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(TaskDispatchDO::getBomDetailId, vo.getId()); queryWrapper.eq(TaskDispatchDO::getDispatchType,"PRODUCTION" ); @@ -749,7 +750,6 @@ public class ProcessBomServiceImpl implements ProcessBomService { } } } - } }else { for (ProcessBomDetailDO processBomDetail : processBomDetails) { @@ -782,12 +782,8 @@ public class ProcessBomServiceImpl implements ProcessBomService { ShenheDO shenheDO = shenheDOS.get(0); updateObj.setShenheUser(shenheDO.getShenheUser()); }else{ - } - - } - if(operateTypeEnum == OperateTypeEnum.AUDIT){ ShenheDO shenheDO = shenheMapper.serchShenHeRusers("2",updateObj.getShenheUser()); List shenheDOS = new ArrayList<>(); @@ -815,7 +811,6 @@ public class ProcessBomServiceImpl implements ProcessBomService { List attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(13); if (attentiontodook1.size()<1){ { - AttentiontodoDO attentiontodoDO = new AttentiontodoDO(); attentiontodoDO.setEvent("BOM变更审核通过后"); attentiontodoDO.setAttr5("1"); @@ -824,7 +819,6 @@ public class ProcessBomServiceImpl implements ProcessBomService { attentiontodook.add(attentiontodoDO); } - } @@ -868,8 +862,6 @@ public class ProcessBomServiceImpl implements ProcessBomService { BdgzsomthingDO.setAttr4("0");//是否已处理 // BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改 bdgzsomthingMapper.insert(BdgzsomthingDO); - - // } } } @@ -1209,9 +1201,9 @@ public class ProcessBomServiceImpl implements ProcessBomService { @Override @Transactional(rollbackFor = Exception.class) public CommonResult deleteProcessBomDetailNew(Long id){ - LambdaQueryWrapper boomDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); - boomDOLambdaQueryWrapper.eq(MaterialPlanBoomDO::getBoomDetailId, id); - if (materialPlanBoomMapper.selectCount(boomDOLambdaQueryWrapper) > 0) return CommonResult.error(400,"该零件已做物料需求计划,不允许删除"); + LambdaQueryWrapper boomDOLambdaQueryWrapper = new LambdaQueryWrapper<>(); + boomDOLambdaQueryWrapper.eq(PurchaseOrderMakeDetailDO::getBoomDetailId, id); + if (purchaseOrderMakeDetailMapper.selectCount(boomDOLambdaQueryWrapper) > 0) return CommonResult.error(400,"该零件已做采购,不允许删除"); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(TaskDispatchDO::getBomDetailId, id); List list = taskDispatchMapper.selectList(queryWrapper); @@ -1551,7 +1543,6 @@ public class ProcessBomServiceImpl implements ProcessBomService { processBomDetailMapper.update(lambdaUpdateWrapper); return CommonResult.success( true); } - return CommonResult.error(400,"boom明细不存在,请刷新页面"); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java index 3ae3e86c..2b1e35bb 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoServiceImpl.java @@ -390,6 +390,7 @@ public class PurchaseOrderNoServiceImpl implements PurchaseOrderNoService { lambdaUpdateWrapper.set(PurchaseOrderMakeDetailDO::getPurchaseOrderNoId, null); lambdaUpdateWrapper.set(PurchaseOrderMakeDetailDO::getPurchaseOrderNoDetailId,null); lambdaUpdateWrapper.set(PurchaseOrderMakeDetailDO::getOrderStatus,1); + lambdaUpdateWrapper.set(PurchaseOrderMakeDetailDO::getStatus,1); lambdaUpdateWrapper.set(PurchaseOrderMakeDetailDO::getPurchaseNo,null); purchaseOrderMakeDetailMapper.update(lambdaUpdateWrapper); 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 661983eb..af993cb4 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 @@ -14,8 +14,11 @@ import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum; import com.chanko.yunxi.mes.module.heli.controller.admin.taskdispatch.vo.*; import com.chanko.yunxi.mes.module.heli.controller.admin.ygjx.vo.YgjxPageReqVO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO; +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.fpuserdetail.FpUserDetailDO; +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.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO; @@ -23,6 +26,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO 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; +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.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO; @@ -30,8 +34,11 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatch import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatchdetailowner.TaskDispatchDetailOwnerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskreport.TaskReportDO; import com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.customer.CustomerMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.equipmanufacture.EquipManufactureMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.fpuserdetail.FpUserDetailMapper; +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; import com.chanko.yunxi.mes.module.heli.dal.mysql.plansub.PlanSubMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plantask.PlanTaskMapper; @@ -39,6 +46,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.plantaskbom.PlanTaskBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.procedure.ProcedureMapper; 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.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.taskdispatch.TaskDispatchMapper; @@ -53,6 +61,10 @@ import com.chanko.yunxi.mes.module.heli.service.zjpgmaster.ZjPgMasterService; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.mysql.user.AdminUserMapper; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.expression.spel.ast.OpOr; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -70,6 +82,7 @@ import java.util.function.Function; import java.util.stream.Collectors; 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.MATERIAL_PLAN; import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; /** @@ -90,6 +103,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { @Resource private ProjectOrderSubMapper projectOrderSubMapper; @Resource + private ProjectOrderMapper projectOrderMapper; + @Resource private CrossOrderManager crossOrderManager; @Resource private SerialNumberService serialNumberService; @@ -123,6 +138,12 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { private PlanTaskBomMapper planTaskBomMapper; @Resource private PlanTaskMapper planTaskMapper; + @Resource + private MaterialPlanBoomMapper materialPlanBoomMapper; + @Resource + private MaterialPlanMapper materialPlanMapper; + @Resource + private CustomerMapper customerMapper; @Override @Transactional(rollbackFor = Exception.class) public Long createTaskDispatch(TaskDispatchSaveReqVO createReqVO) { @@ -224,10 +245,10 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(dispatchDetailDO.getId()); if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){ if ("false".equals(dispatchDetailDO.getIsOutsourcing())){ - if ("Y".equals(taskDispatchDetailDO.getMatPlanProcess())){ + if (ObjectUtil.isNotEmpty(taskDispatchDetailDO.getPurchaseNo())){ ProcedureDO procedureDO = procedureMapper.selectById(dispatchDetailDO.getProcedureId()); if (ObjectUtil.isNotEmpty(procedureDO)){ - throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做物料需求计划,不允许去掉外协,请确认!")); + throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做零件采购,不允许去掉外协,请确认!")); } } } @@ -244,6 +265,84 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { } } } + if (operateTypeEnum == OperateTypeEnum.SUBMIT) { + ArrayList taskDispatchDetailDOS = new ArrayList<>(); + for (TaskDispatchDetailDO taskDispatchDetail : updateReqVO.getTaskDispatchDetails()) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper().eq(MaterialPlanBoomDO::getBoomDetailId, taskDispatchDetail.getBomDetailId()).eq(MaterialPlanBoomDO::getProcedureId, taskDispatchDetail.getProcedureId()); + MaterialPlanBoomDO materialPlanBoomDO = materialPlanBoomMapper.selectOne(wrapper); + if ("false".equals(taskDispatchDetail.getIsOutsourcing())) { + if (ObjectUtil.isNotEmpty(materialPlanBoomDO)) { + materialPlanBoomMapper.deletePlanBoom(materialPlanBoomDO.getId()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(MaterialPlanBoomDO::getProjectMaterialPlanId, materialPlanBoomDO.getProjectMaterialPlanId()); + if (materialPlanBoomMapper.selectCount(lambdaQueryWrapper) <= 0) + materialPlanMapper.delMaterialPlan(materialPlanBoomDO.getProjectMaterialPlanId()); + } + } else { + if (ObjectUtil.isEmpty(materialPlanBoomDO)) { + taskDispatchDetailDOS.add(taskDispatchDetail); + }else { + materialPlanBoomDO.setBoomArriveDate(taskDispatchDetail.getEndTime()); + materialPlanBoomDO.setDuEmpId(taskDispatchDetail.getOwner()); + materialPlanBoomMapper.updateById(materialPlanBoomDO); + } + } + } + if (ObjectUtil.isNotEmpty(taskDispatchDetailDOS)) { + MaterialPlanDO planDO = new MaterialPlanDO(); + SerialNumberDO serialNumberDO = new SerialNumberDO(); + serialNumberDO = serialNumberService.getSerialNumber(MATERIAL_PLAN.name(), new SimpleDateFormat("yyyyMMdd").format(new Date())); + serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber() + 1); + planDO.setProjectMaterialPlanNo(MATERIAL_PLAN.getCode(serialNumberDO.getSerialNumber().toString())); + ProjectOrderDO projectOrderDO = projectOrderMapper.selectById(updateObj.getProjectId()); + if (ObjectUtil.isNotEmpty(projectOrderDO)){ + planDO.setProjectId(projectOrderDO.getId()); + planDO.setProjectName(projectOrderDO.getProjectName()); + planDO.setProjectNameSim(projectOrderDO.getProjectNameSim()); + CustomerDO customerDO = customerMapper.selectById(projectOrderDO.getCustomerId()); + if (ObjectUtil.isNotEmpty(customerDO)){ + planDO.setCustomerId(customerDO.getId()); + planDO.setBrief(customerDO.getBrief()); + } + } + ProjectOrderSubDO projectOrderSubDO = projectOrderSubMapper.selectById(updateObj.getProjectSubId()); + if (ObjectUtil.isNotEmpty(projectOrderSubDO)){ + planDO.setProjectPlanSubId(projectOrderSubDO.getId()); + planDO.setName(projectOrderSubDO.getName()); + planDO.setNameSim(projectOrderSubDO.getNameSim()); + } + planDO.setProjectPlanId(updateObj.getPlanId()); + planDO.setMatType(1); + planDO.setMatPlanDate(new Date()); + materialPlanMapper.insert(planDO); + // 回写序列记录 + serialNumberService.updateSerialNumber(serialNumberDO); + List materialPlanBoomDOList = new ArrayList<>(); + for (TaskDispatchDetailDO taskDispatchDetailDO : taskDispatchDetailDOS) { + MaterialPlanBoomDO boomDO = new MaterialPlanBoomDO(); + boomDO.setProjectMaterialPlanId(planDO.getId()); + boomDO.setBoomDetailId(updateObj.getBomDetailId()); + boomDO.setBoomAmount(new BigDecimal(taskDispatchDetailDO.getAmount())); + boomDO.setBoomArriveDate(taskDispatchDetailDO.getEndTime()); + ProcessBomDetailDO bomDetailDO = processBomDetailMapper.selectById(updateObj.getBomDetailId()); + if (ObjectUtil.isNotEmpty(bomDetailDO)){ + boomDO.setMatName(bomDetailDO.getMaterialName()); + } + boomDO.setDuEmpId(taskDispatchDetailDO.getOwner()); + if (ObjectUtil.isNotEmpty(projectOrderSubDO)){ + boomDO.setProjectPlanSubId(projectOrderSubDO.getId()); + boomDO.setName(projectOrderSubDO.getName()); + } + boomDO.setProcedureId(taskDispatchDetailDO.getProcedureId()); + boomDO.setMplanStatus(0); + materialPlanBoomMapper.insert(boomDO); + taskDispatchDetailDO.setProjectMaterialPlanDetailId(boomDO.getId()); + taskDispatchDetailDO.setPlanStatus(1); + taskDispatchDetailDO.setMatPlanProcess("Y"); + taskDispatchDetailDO.setProjectMaterialPlanNo(planDO.getProjectMaterialPlanNo()); + } + } + } } if (operateTypeEnum == OperateTypeEnum.SAVE){ updateObj.setDispatchStatus(1); @@ -557,16 +656,30 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { @Override public void deleteTaskDispatchDetail(Long id) { TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(id); - if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)&&("Y".equals(taskDispatchDetailDO.getMatPlanProcess())||taskDispatchDetailDO.getReportProcess()!=0)){ + if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)&&(ObjectUtil.isNotEmpty(taskDispatchDetailDO.getPurchaseNo())||taskDispatchDetailDO.getReportProcess()!=0)){ ProcedureDO procedureDO = procedureMapper.selectById(taskDispatchDetailDO.getProcedureId()); if (ObjectUtil.isNotEmpty(procedureDO)){ - if ("Y".equals(taskDispatchDetailDO.getMatPlanProcess())){ - throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做需求计划,不允许删除")); + if (ObjectUtil.isNotEmpty(taskDispatchDetailDO.getPurchaseNo())){ + throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做零件采购,不允许删除")); }else { throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做报工,不允许删除")); } } } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TaskDispatchDO::getId, taskDispatchDetailDO.getDispatchId()); + TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectOne(queryWrapper); + if (ObjectUtil.isNotEmpty(taskDispatchDO)){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper().eq(MaterialPlanBoomDO::getBoomDetailId, taskDispatchDO.getBomDetailId()).eq(MaterialPlanBoomDO::getProcedureId, taskDispatchDetailDO.getProcedureId()); + MaterialPlanBoomDO materialPlanBoomDO = materialPlanBoomMapper.selectOne(wrapper); + if (ObjectUtil.isNotEmpty(materialPlanBoomDO)){ + materialPlanBoomMapper.deletePlanBoom(materialPlanBoomDO.getId()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(MaterialPlanBoomDO::getProjectMaterialPlanId, materialPlanBoomDO.getProjectMaterialPlanId()); + if (materialPlanBoomMapper.selectCount(lambdaQueryWrapper) <= 0) + materialPlanMapper.delMaterialPlan(materialPlanBoomDO.getProjectMaterialPlanId()); + } + } taskDispatchDetailMapper.deleteByDispatchId(id); } @Override @@ -1159,41 +1272,240 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { @Override public List getListCl(Long id, Long projectSubId) { +// List taskDispatchDOS = taskDispatchMapper.getListCl(id, projectSubId); +// for (TaskDispatchDO taskDispatchDO : taskDispatchDOS) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDO.getId()); +// List detailDOS = taskDispatchDetailMapper.selectList(wrapper); +// Map map = new HashMap<>(); +// +// BigDecimal assemblyLaborCost = BigDecimal.ZERO; +// for (TaskDispatchDetailDO detailDO : detailDOS) { +// ProcedureDO procedureDO = procedureMapper.selectById(detailDO.getProcedureId()); +// BigDecimal procedureCost=taskDispatchDetailMapper.bubbleFees(taskDispatchDO.getBomDetailId(),detailDO.getProcedureId()); +//// BigDecimal materialCost = taskDispatchDetailMapper.materialCost(detailDO.getId()); +// BigDecimal materialCost = taskDispatchDetailMapper.materialCosts(taskDispatchDO.getBomDetailId(),detailDO.getProcedureId()); +// BigDecimal internalLaborCost = taskDispatchDetailMapper.internalLaborCost(detailDO.getId()); +// BigDecimal processInspection=taskDispatchDetailMapper.processInspection(detailDO.getId()); +// +// if (ObjectUtil.isEmpty(procedureCost)) procedureCost=BigDecimal.ZERO; +// if (ObjectUtil.isEmpty(materialCost)) materialCost=BigDecimal.ZERO; +// if (ObjectUtil.isEmpty(internalLaborCost)) internalLaborCost=BigDecimal.ZERO; +// if (ObjectUtil.isEmpty(processInspection)) processInspection=BigDecimal.ZERO; +// BigDecimal sum = procedureCost.add(materialCost).add(internalLaborCost).add(processInspection); +// if (ObjectUtil.isNotEmpty(procedureDO)){ +// map.put(procedureDO.getName(),sum); +// } +// assemblyLaborCost=assemblyLaborCost.add(sum); +// } +// taskDispatchDO.setAssemblyLaborSum(assemblyLaborCost); +// taskDispatchDO.setMap( map); +// taskDispatchDO.setAssemblyLaborCost(assemblyLaborCost.divide(taskDispatchDO.getAmount(),1, RoundingMode.HALF_UP)); +// +// } +// +// return taskDispatchDOS; List taskDispatchDOS = taskDispatchMapper.getListCl(id, projectSubId); + + if (taskDispatchDOS.isEmpty()) { + return taskDispatchDOS; + } + + // 1. 批量获取所有dispatchId + List dispatchIds = taskDispatchDOS.stream() + .map(TaskDispatchDO::getId) + .collect(Collectors.toList()); + + // 2. 批量查询所有TaskDispatchDetailDO + List allDetailDOS = getTaskDispatchDetailsBatch(dispatchIds); + Map> detailsByDispatchId = allDetailDOS.stream() + .collect(Collectors.groupingBy(TaskDispatchDetailDO::getDispatchId)); + + // 3. 批量获取所有procedureId + Set procedureIds = allDetailDOS.stream() + .map(TaskDispatchDetailDO::getProcedureId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + + // 4. 批量查询ProcedureDO + Map procedureMap = getProceduresBatch(procedureIds); + + // 5. 批量查询各种成本数据 + Map bubbleFeesMap = getBubbleFeesBatch(allDetailDOS, taskDispatchDOS); + Map materialCostsMap = getMaterialCostsBatch(allDetailDOS, taskDispatchDOS); + Map internalLaborCostMap = getInternalLaborCostBatch(allDetailDOS); + Map processInspectionMap = getProcessInspectionBatch(allDetailDOS); + + // 6. 处理计算结果 for (TaskDispatchDO taskDispatchDO : taskDispatchDOS) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TaskDispatchDetailDO::getDispatchId, taskDispatchDO.getId()); - List detailDOS = taskDispatchDetailMapper.selectList(wrapper); - Map map = new HashMap<>(); - + List detailDOS = detailsByDispatchId.getOrDefault(taskDispatchDO.getId(), Collections.emptyList()); + Map costMap = new HashMap<>(); BigDecimal assemblyLaborCost = BigDecimal.ZERO; + for (TaskDispatchDetailDO detailDO : detailDOS) { - ProcedureDO procedureDO = procedureMapper.selectById(detailDO.getProcedureId()); - BigDecimal procedureCost=taskDispatchDetailMapper.bubbleFees(taskDispatchDO.getBomDetailId(),detailDO.getProcedureId()); -// BigDecimal materialCost = taskDispatchDetailMapper.materialCost(detailDO.getId()); - BigDecimal materialCost = taskDispatchDetailMapper.materialCosts(taskDispatchDO.getBomDetailId(),detailDO.getProcedureId()); - BigDecimal internalLaborCost = taskDispatchDetailMapper.internalLaborCost(detailDO.getId()); - BigDecimal processInspection=taskDispatchDetailMapper.processInspection(detailDO.getId()); + ProcedureDO procedureDO = procedureMap.get(detailDO.getProcedureId()); + if (procedureDO == null) continue; + + // 从批量查询的结果中获取数据 + BigDecimal procedureCost = getCostValue(bubbleFeesMap, + new CostQueryKey(taskDispatchDO.getBomDetailId(), detailDO.getProcedureId())); + BigDecimal materialCost = getCostValue(materialCostsMap, + new CostQueryKey(taskDispatchDO.getBomDetailId(), detailDO.getProcedureId())); + BigDecimal internalLaborCost = getCostValue(internalLaborCostMap, detailDO.getId()); + BigDecimal processInspection = getCostValue(processInspectionMap, detailDO.getId()); - if (ObjectUtil.isEmpty(procedureCost)) procedureCost=BigDecimal.ZERO; - if (ObjectUtil.isEmpty(materialCost)) materialCost=BigDecimal.ZERO; - if (ObjectUtil.isEmpty(internalLaborCost)) internalLaborCost=BigDecimal.ZERO; - if (ObjectUtil.isEmpty(processInspection)) processInspection=BigDecimal.ZERO; BigDecimal sum = procedureCost.add(materialCost).add(internalLaborCost).add(processInspection); - if (ObjectUtil.isNotEmpty(procedureDO)){ - map.put(procedureDO.getName(),sum); - } - assemblyLaborCost=assemblyLaborCost.add(sum); + costMap.put(procedureDO.getName(), sum); + assemblyLaborCost = assemblyLaborCost.add(sum); } - taskDispatchDO.setAssemblyLaborSum(assemblyLaborCost); - taskDispatchDO.setMap( map); - taskDispatchDO.setAssemblyLaborCost(assemblyLaborCost.divide(taskDispatchDO.getAmount(),1, RoundingMode.HALF_UP)); + taskDispatchDO.setAssemblyLaborSum(assemblyLaborCost); + taskDispatchDO.setMap(costMap); + if (taskDispatchDO.getAmount() != null && taskDispatchDO.getAmount().compareTo(BigDecimal.ZERO) != 0) { + taskDispatchDO.setAssemblyLaborCost(assemblyLaborCost.divide(taskDispatchDO.getAmount(), 1, RoundingMode.HALF_UP)); + } else { + taskDispatchDO.setAssemblyLaborCost(BigDecimal.ZERO); + } } return taskDispatchDOS; } + private Map getProceduresBatch(Set procedureIds){ + LambdaQueryWrapper lambdaWrapper = new LambdaQueryWrapper<>(); + lambdaWrapper.in(ProcedureDO::getId, procedureIds); + List procedures = procedureMapper.selectList(lambdaWrapper); + return procedures.stream() + .collect(Collectors.toMap(ProcedureDO::getId, Function.identity())); + } + + private List getTaskDispatchDetailsBatch(List dispatchIds) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(TaskDispatchDetailDO::getDispatchId, dispatchIds); + return taskDispatchDetailMapper.selectList(wrapper); + } + + // 批量成本查询方法 + private Map getBubbleFeesBatch(List details, List dispatches) { + // 1. 收集所有需要查询的键 + Set queryKeys = collectBubbleFeeQueryKeys(details, dispatches); + + if (queryKeys.isEmpty()) { + return Collections.emptyMap(); + } + // 提取bomDetailIds和procedureIds + List bomDetailIds = queryKeys.stream() + .map(CostQueryKey::getBomDetailId) + .distinct() + .collect(Collectors.toList()); + + List procedureIds = queryKeys.stream() + .map(CostQueryKey::getProcedureId) + .distinct() + .collect(Collectors.toList()); + // 2. 批量查询 + List batchResults = taskDispatchDetailMapper.batchBubbleFees(bomDetailIds, procedureIds); + + // 3. 转换为Map返回 + return convertToBubbleFeeMap(batchResults); + } + /** + * 转换查询结果为Map + */ + private Map convertToBubbleFeeMap(List results) { + Map resultMap = new HashMap<>(); + if (ObjectUtil.isNotEmpty(results)){ + for (BubbleFeeResult result : results) { + CostQueryKey key = new CostQueryKey(result.getBomDetailId(), result.getProcedureId()); + resultMap.put(key, ObjectUtil.isEmpty(result.getCost()) ? BigDecimal.ZERO : result.getCost()); + } + } + return resultMap; + } + /** + * 收集所有需要查询的键 + */ + private Set collectBubbleFeeQueryKeys(List details, List dispatches) { + Set queryKeys = new HashSet<>(); + + // 建立dispatchId到bomDetailId的映射 + Map dispatchToBomDetailMap = dispatches.stream() + .collect(Collectors.toMap(TaskDispatchDO::getId, TaskDispatchDO::getBomDetailId)); + + for (TaskDispatchDetailDO detail : details) { + Long bomDetailId = dispatchToBomDetailMap.get(detail.getDispatchId()); + if (bomDetailId != null && detail.getProcedureId() != null) { + queryKeys.add(new CostQueryKey(bomDetailId, detail.getProcedureId())); + } + } + + return queryKeys; + } + // 其他批量查询方法的类似实现... + private Map getMaterialCostsBatch(List details, List dispatches) { + // 1. 收集所有需要查询的键 + Set queryKeys = collectBubbleFeeQueryKeys(details, dispatches); + + if (queryKeys.isEmpty()) { + return Collections.emptyMap(); + } + // 提取bomDetailIds和procedureIds + List bomDetailIds = queryKeys.stream() + .map(CostQueryKey::getBomDetailId) + .distinct() + .collect(Collectors.toList()); + + List procedureIds = queryKeys.stream() + .map(CostQueryKey::getProcedureId) + .distinct() + .collect(Collectors.toList()); + // 2. 批量查询 + List batchResults = taskDispatchDetailMapper.batchMaterialCosts(bomDetailIds, procedureIds); + + // 3. 转换为Map返回 + return convertToBubbleFeeMap(batchResults); + } + + private Map getInternalLaborCostBatch(List details) { + if (details.isEmpty()) { + return Collections.emptyMap(); + } + // 提取bomDetailIds和procedureIds + List bomDetailIds = details.stream() + .map(TaskDispatchDetailDO::getId) + .distinct() + .collect(Collectors.toList()); + + return taskDispatchDetailMapper.batchInternalLaborCost(bomDetailIds); + } + + private Map getProcessInspectionBatch(List details) { + if (details.isEmpty()) { + return Collections.emptyMap(); + } + // 提取bomDetailIds和procedureIds + List bomDetailIds = details.stream() + .map(TaskDispatchDetailDO::getId) + .distinct() + .collect(Collectors.toList()); + + return taskDispatchDetailMapper.batchProcessInspection(bomDetailIds); + } + + // 辅助方法 + private BigDecimal getCostValue(Map costMap, Object key) { + if (costMap == null || costMap.isEmpty()) { + return BigDecimal.ZERO; + } + return costMap.getOrDefault(key, BigDecimal.ZERO); + } + @Data + @AllArgsConstructor + @EqualsAndHashCode + private static class CostQueryKey { + private final Long bomDetailId; + private final Long procedureId; + } @Override public List> getOwners(Long id) { List fpUserDetailDOS = fpUserDetailMapper.selectOwnerLists(id); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/taskdispatch/TaskDispatchDetailMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/taskdispatch/TaskDispatchDetailMapper.xml index 31b764b1..3bc9a325 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/taskdispatch/TaskDispatchDetailMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/taskdispatch/TaskDispatchDetailMapper.xml @@ -179,4 +179,80 @@ GROUP BY s.id ) AS subquery; + + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts index 46f5b3ae..2c656216 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/partpurchaseorder/index.ts @@ -79,3 +79,6 @@ export const approvals = async (data) => { export const exportOut = async (params) => { return await request.download({ url: `/heli/purchase-order-make/exportOut`, params }) } +export const updateDuEmp = async (data) => { + return await request.post({ url: `/heli/purchase-order-make/updateDuEmp`, data }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/components/Dialog/src/Dialog.vue b/mes-ui/mes-ui-admin-vue3/src/components/Dialog/src/Dialog.vue index 45257547..4963a067 100644 --- a/mes-ui/mes-ui-admin-vue3/src/components/Dialog/src/Dialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/components/Dialog/src/Dialog.vue @@ -11,7 +11,8 @@ const props = defineProps({ fullscreen: propTypes.bool.def(true), width: propTypes.oneOfType([String, Number]).def('40%'), scroll: propTypes.bool.def(false), // 是否开启滚动条。如果是的话,按照 maxHeight 设置最大高度 - maxHeight: propTypes.oneOfType([String, Number]).def('400px') + maxHeight: propTypes.oneOfType([String, Number]).def('400px'), + isFullscreens: propTypes.bool.def(false) }) const getBindValue = computed(() => { @@ -26,8 +27,7 @@ const getBindValue = computed(() => { return obj }) -const isFullscreen = ref(false) - +const isFullscreen = ref(props.isFullscreens) const toggleFull = () => { isFullscreen.value = !unref(isFullscreen) } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/interrupt/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/interrupt/index.vue index 8e8bde28..ae56c21f 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/interrupt/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/interrupt/index.vue @@ -270,7 +270,7 @@ border max-height="400" > - + @@ -465,7 +465,6 @@ const handlerSelect = (selection, row) => { } // 当选择项发生变化时会触发该事件 const handleSelectionChange = (val) => { - console.log('表格的选中 可以获得当前选中的数据', val) selectedAddRow.value = val } // 新增按钮方法 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/part.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/part.vue index d30c30cb..0dfc47df 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/part.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/part.vue @@ -1,7 +1,7 @@ @@ -143,7 +144,7 @@ clearable filterable @change="change(scope.row)" - style="width: 165 px" + style="width: 165px" > @@ -174,7 +175,7 @@ @@ -205,7 +206,20 @@ - + + + + + - + - + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue index 8c220c82..5dbcce4c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/index.vue @@ -92,19 +92,21 @@ v-model="queryParams.supplierName" placeholder="供应商" clearable @keyup.ente v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" class="hl-table" @selection-change="handleSelectionChange" @row-click="clickRow" selection> - - - + + + + + + + + + - - + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue index b61e6bc9..5ae580c9 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/saleordercost/edit.vue @@ -139,11 +139,20 @@ - + - + - + - + - +