From 0fe4f3aa7b706a8eaf3861a1d1c208667b9538b2 Mon Sep 17 00:00:00 2001 From: z Date: Thu, 13 Nov 2025 21:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=94=B6=E8=B4=A7=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrderNoController.java | 7 +- .../vo/PurchaseOrderNoRespVO.java | 5 + .../vo/PurchaseOrderNoSaveReqVO.java | 4 + .../PurchaseOrderNoDetailController.java | 16 +++ .../vo/OutsourcingExcelVo.java | 2 +- .../vo/PurchaseOrderNoDetailPageReqVO.java | 2 + .../purchaseorderno/PurchaseOrderNoDO.java | 13 ++ .../PurchaseOrderNoDetailDO.java | 8 ++ .../PurchaseOrderNoDetailMapper.java | 28 ++++ .../TaskDispatchDetailMapper.java | 7 +- .../PurchaseOrderNoService.java | 2 + .../PurchaseOrderNoServiceImpl.java | 18 +++ .../PurchaseOrderNoDetailService.java | 2 + .../PurchaseOrderNoDetailServiceImpl.java | 6 + .../src/api/heli/partpurchaseorder/index.ts | 4 + .../api/heli/purchaseordernodetail/index.ts | 4 + .../views/heli/outsourcingexpenses/index.vue | 130 +++++++++++++----- .../src/views/heli/plan/printDialog.vue | 2 +- .../src/views/heli/plan/printFinalDialog.vue | 2 +- .../src/views/heli/processdesign/detail.vue | 8 +- .../src/views/heli/purchaseorderno/Form.vue | 112 +++++++++++++++ .../src/views/heli/purchaseorderno/index.vue | 14 +- .../heli/purchaseorderno/partReceived.vue | 53 +++++-- 23 files changed, 396 insertions(+), 53 deletions(-) create mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/Form.vue 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 10de2047..9e7f0a48 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 @@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorder.vo.Purcha import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorder.vo.PurchaseOrderRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorder.vo.PurchaseOrderSaveReqVO; 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.purchaseorderno.vo.PurchaseOrderNoPageReqVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoSaveReqVO; @@ -178,5 +179,9 @@ public class PurchaseOrderNoController { public CommonResult updateIsPrint(@RequestParam("id") Long id) { return purchaseOrderNoService.updateIsPrint(id); } - + @PutMapping("/updatePurchaseOrderSupplier") + @Operation(summary ="更新采购单供应商" ) + public CommonResult updatePurchaseOrderSupplier( PurchaseOrderNoSaveReqVO updateReqVO) { + return success(purchaseOrderNoService.updatePurchaseOrderSupplier(updateReqVO)); + } } 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 a5a6b04d..dc1f266b 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 @@ -114,4 +114,9 @@ public class PurchaseOrderNoRespVO { private String submitUserName; @Schema(description = "工序名称") private String procedureName; + + private Long modUserId; + + private LocalDateTime modTime; + private String modRemark; } \ 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/purchaseorderno/vo/PurchaseOrderNoSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoSaveReqVO.java index 71908c28..a1fd2c0b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseorderno/vo/PurchaseOrderNoSaveReqVO.java @@ -77,4 +77,8 @@ public class PurchaseOrderNoSaveReqVO { @Schema(description = "税率") private Integer taxRatio; + private Long modUserId; + + private LocalDateTime modTime; + private String modRemark; } 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 1e6de223..3297fd12 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,6 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail; +import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordermake.vo.PurchaseOrderMakeRespVO; import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseorderno.vo.PurchaseOrderNoPageReqVO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -192,4 +193,19 @@ public class PurchaseOrderNoDetailController { public CommonResult updateFrom(@Valid @RequestBody PurchaseOrderNoDetailDO detailDO) { return purchaseOrderNoDetailService.updateFrom(detailDO); } + @GetMapping("/exportExcel") + @Operation(summary = "导出采购收货") + @OperateLog(type = EXPORT) + public void exportExcel(@Valid PurchaseOrderNoDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + String[] split = pageReqVO.getIds().split(","); + List ids = new ArrayList<>(); + for (String s : split) { + ids.add(Long.valueOf(s)); + } + List list = purchaseOrderNoDetailService.exportExcel(ids); + // 导出 Excel + ExcelUtils.write(response, "零件采购收货.xlsx", "数据", PurchaseOrderMakeRespVO.class, + BeanUtils.toBean(list, PurchaseOrderMakeRespVO.class)); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/OutsourcingExcelVo.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/OutsourcingExcelVo.java index 3ca49f0f..e6e02c27 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/OutsourcingExcelVo.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/purchaseordernodetail/vo/OutsourcingExcelVo.java @@ -28,7 +28,7 @@ public class OutsourcingExcelVo { @ExcelProperty("BOM编号") private String boomCode; - @ExcelProperty("件号") + @ExcelProperty("图号") private String blueprintNo; @ExcelProperty("零件名称") private String boomName; 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 2a3c44c2..675bd380 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 @@ -132,4 +132,6 @@ public class PurchaseOrderNoDetailPageReqVO extends PageParam { private String procedureName; @Schema(description = "工序") private String subOrDetailName; + @Schema(description = "id集合") + private String ids; } \ 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/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 a27d39d0..a756e831 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 @@ -92,10 +92,23 @@ public class PurchaseOrderNoDO extends BaseDO { * 送审人 */ private Long submitUserId; + /** + * 供应商修改人 + */ + private Long modUserId; + /** + * 供应商修改时间 + */ + private LocalDateTime modTime; + /** + * 修改供应商原因 + */ + private String modRemark; /** * 送审时间 */ private LocalDateTime submitTime; + /** * 审核人 */ 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 0192eec2..eb9a8b78 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 @@ -229,4 +229,12 @@ public class PurchaseOrderNoDetailDO extends BaseDO { private String acarrDates; @TableField(exist = false) private Integer goodsType; + @TableField(exist = false) + private String duEmpName; + @TableField(exist = false) + private String effectiveReceivingStatus; + @TableField(exist = false) + private String time; + @TableField(exist = false) + private String requir; } 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 526d49fa..ddb86ba4 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 @@ -24,6 +24,8 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrder 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; +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.purchaseordermaterial.PurchaseOrderMaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; @@ -295,4 +297,30 @@ public interface PurchaseOrderNoDetailMapper extends BaseMapperX exportExcel(List ids){ + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(PurchaseOrderNoDetailDO.class) + .select("c.nickname as duEmpName") + .select("t.brief as briefs") + .select("d.brief as supplierName") + .select("bom.blueprint_no as blueprintNo") + .select("CASE \n" + + " WHEN t.purchase_amount = 0 THEN 0 \n" + + " ELSE ROUND(t.estimated_price / t.purchase_amount, 2)\n" + + "END AS unitPrice") + .select("e.name as procedureName") + .select("COALESCE(t.receiving_status, 1) AS effectiveReceivingStatus") + .select("DATE_FORMAT(t.create_time, '%Y-%m-%d') AS time") + .select("DATE_FORMAT(t.require_time, '%Y-%m-%d') AS requir") + .leftJoin(PurchaseOrderNoDO.class,"a",PurchaseOrderNoDO::getId,PurchaseOrderNoDetailDO::getPurchaseOrderId) + .leftJoin(AdminUserDO.class,"c", AdminUserDO::getId,PurchaseOrderNoDetailDO::getDuEmpId) + .leftJoin(SupplierDO.class, "d", SupplierDO::getId,PurchaseOrderNoDO::getSupplierId) + .leftJoin(ProcedureDO.class, "e", ProcedureDO::getId, PurchaseOrderNoDetailDO::getProcedureId) + .leftJoin(ProcessBomDetailDO.class, "bom", ProcessBomDetailDO::getId, PurchaseOrderNoDetailDO::getBoomDetailId) + .leftJoin(ProjectOrderSubDO.class,"sub", ProjectOrderSubDO::getId, PurchaseOrderNoDetailDO::getProjectPlanSubId) + .disableSubLogicDel(); + query.in(ids != null && ids.size() > 0, PurchaseOrderNoDetailDO::getId, ids); + return selectList(query); + } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java index eb6c29d5..d7d8f806 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/taskdispatch/TaskDispatchDetailMapper.java @@ -20,6 +20,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipMan import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pgmaster.PgMasterLineDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO; 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; @@ -32,6 +33,7 @@ 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.materialplanboom.MaterialPlanBoomMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.plansub.PlanSubMapper; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Delete; @@ -322,6 +324,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperXe.eq(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().eq( ProjectOrderSubDO::getName, reqVO.getSubOrDetailName() - ).or().eq(ProcessBomDetailDO::getMaterialName, reqVO.getSubOrDetailName()).or().eq(ProcessBomDetailDO::getBomBlueprintNo, reqVO.getSubOrDetailName())); + ).or().eq(ProcessBomDetailDO::getMaterialName, reqVO.getSubOrDetailName()).or().eq(ProcessBomDetailDO::getBomBlueprintNo, reqVO.getSubOrDetailName()) + .or().eq(PlanSubDO::getProjectSubCode, reqVO.getSubOrDetailName())); + // query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')"); } query.and(wrapper -> { diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java index 5b1ef2c3..a78f0dd3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/purchaseorderno/PurchaseOrderNoService.java @@ -65,4 +65,6 @@ public interface PurchaseOrderNoService { void updatePORSById(Long id); CommonResult updateIsPrint(Long id); + + Boolean updatePurchaseOrderSupplier(PurchaseOrderNoSaveReqVO updateReqVO); } 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 61eb2ca1..873ea73c 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 @@ -13,6 +13,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthing 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.purchaseorder.PurchaseOrderDO; +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.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; @@ -413,4 +414,21 @@ public class PurchaseOrderNoServiceImpl implements PurchaseOrderNoService { return CommonResult.success(true); } + @Override + public Boolean updatePurchaseOrderSupplier(PurchaseOrderNoSaveReqVO updateReqVO) { + PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(updateReqVO.getId()); + if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){ + purchaseOrderNoDO.setSupplierId(updateReqVO.getSupplierId()); + purchaseOrderNoDO.setModTime(LocalDateTime.now()); + purchaseOrderNoDO.setModUserId(getLoginUser().getId()); + purchaseOrderNoDO.setModRemark(updateReqVO.getModRemark()); + purchaseOrderNoMapper.updateById(purchaseOrderNoDO); + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.eq(PurchaseOrderMakeDetailDO::getPurchaseOrderNoId,purchaseOrderNoDO.getId()); + lambdaUpdateWrapper.set(PurchaseOrderMakeDetailDO::getSupplierId,updateReqVO.getSupplierId()); + purchaseOrderMakeDetailMapper.update(lambdaUpdateWrapper); + } + return true; + } + } 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 d3704144..003d36a2 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 @@ -75,4 +75,6 @@ public interface PurchaseOrderNoDetailService { CommonResult updateFrom(PurchaseOrderNoDetailDO detailDO); PageResult getReceiveGoodDetail(PurchaseOrderNoPageReqVO pageReqVO); + + List exportExcel(List ids); } 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 e7784038..62aa4460 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 @@ -279,6 +279,7 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe byId.setReceivingStatus(2); } byId.setPurchaseRemAmount(byId.getPurchaseRemAmount().subtract(detailDO.getPurchaseRemAmounts())); + byId.setArriveTime(LocalDateTime.now()); purchaseOrderNoDetailMapper.updateById(byId); // StorageMatDO storageMatDO = new StorageMatDO(); // StorageMatDO outMat = new StorageMatDO(); @@ -594,4 +595,9 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe return purchaseOrderNoDetailMapper.getReceiveGoodDetail(pageReqVO); } + + @Override + public List exportExcel(List ids) { + return purchaseOrderNoDetailMapper.exportExcel(ids); + } } 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 2c656216..9d665265 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 @@ -82,3 +82,7 @@ export const exportOut = async (params) => { export const updateDuEmp = async (data) => { return await request.post({ url: `/heli/purchase-order-make/updateDuEmp`, data }) } +// 更新采购单主驳回 +export const updatePurchaseOrderSupplier = async (params) => { + return await request.put({ url: `/heli/purchase-order-no/updatePurchaseOrderSupplier`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseordernodetail/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseordernodetail/index.ts index ef9863c1..5905deb8 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseordernodetail/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/purchaseordernodetail/index.ts @@ -94,3 +94,7 @@ export const updateFrom= async (data) => { export const getReceiveGoodDetail = async (params) => { return await request.get({ url: `/heli/purchase-order-no-detail/getReceiveGoodDetail`, params }) } +// 导出外协费用 Excel +export const exportExcel = async (params) => { + return await request.download({ url: `/heli/purchase-order-no-detail/exportExcel`, params }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcingexpenses/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcingexpenses/index.vue index 7bc4b0ff..8a0f9ba4 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcingexpenses/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/outsourcingexpenses/index.vue @@ -79,34 +79,34 @@ 搜索 重置 - - - - - - - - - + + 导出EXCEL + - + - - - + + + - + - - - - + + + + @@ -133,6 +133,7 @@ import {useCommonStateWithOut} from "@/store/modules/common"; import {useUserStore} from "@/store/modules/user"; import dayjs from "dayjs"; import * as PurchaseOrderNoDetailApi from '@/api/heli/purchaseordernodetail' +import {ElTable} from "element-plus"; defineOptions({ name: 'outsourcingExpenses' }) const message = useMessage() // 消息弹窗 @@ -170,7 +171,72 @@ const getList = async () => { loading.value = false } } - +const getSummaries = (param: SummaryMethodProps) => { + const summaryField = ["purchaseAmount","estimatedPrice"]; + const { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '合计'; + return; + } + if (!summaryField.includes(column.property)) { + sums[index] = ''; + return; + } + const values = data.map(item => Number(item[column.property])); + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr); + if (!isNaN(value)) { + return floatAdd(prev, curr); + } else { + return prev; + } + }, 0); + const thousandsField = []; + if (thousandsField.includes(column.property)) { + sums[index] = thousandsFormat(sums[index]); + } + } else { + sums[index] = ''; + } + }); + // const sumValue = computed(() => { + // return list.value.reduce((sum, item) => sum + item.quantityLent, 0); + // }); + // const sums = ['合计','','','','','','','',sumValue]; + return sums; +} +const floatAdd = (a, b) => { + var c, d, e; + if (undefined === a || null === a || "" === a || isNaN(a)) { a = 0; } + if (undefined === b || null === b || "" === b || isNaN(b)) { b = 0; } + try { + c = a.toString().split(".")[1].length; + } catch (f) { + c = 0; + } + try { + d = b.toString().split(".")[1].length; + } catch (f) { + d = 0; + } + e = Math.pow(10, Math.max(c, d)); + return (floatMul(a, e) + floatMul(b, e)) / e; +}; +const floatMul = (a, b) => { + var c = 0, + d = a.toString(), + e = b.toString(); + try { + c += d.split(".")[1].length; + } catch (f) {} + try { + c += e.split(".")[1].length; + } catch (f) {} + return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c); +} /** 搜索按钮操作 */ const handleQuery = () => { queryParams.pageNo = 1 @@ -191,19 +257,19 @@ const setDefaultDate = () => { ] } /** 导出按钮操作 */ -// const handleExport = async () => { -// try { -// // 导出的二次确认 -// await message.exportConfirm() -// // 发起导出 -// exportLoading.value = true -// const data = await PurchaseOrderNoDetailApi.exportOutsourcing(queryParams) -// download.excel(data, '外协费用查询.xlsx') -// } catch { -// } finally { -// exportLoading.value = false -// } -// } +const handleExport = async () => { + try { + // 导出的二次确认 + await message.exportConfirm() + // 发起导出 + exportLoading.value = true + const data = await PurchaseOrderNoDetailApi.exportOutsourcing(queryParams) + download.excel(data, '外协费用查询.xlsx') + } catch { + } finally { + exportLoading.value = false + } +} /** 初始化 **/ onMounted(() => { diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printDialog.vue index 80fb043c..733e70a5 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printDialog.vue @@ -85,7 +85,7 @@ const open = async ( vals) => { await Promise.all( printCodeName.value.map(async (item) => { - const qrCodeData = await QRCode.toDataURL(item.name,{ + const qrCodeData = await QRCode.toDataURL(item.code,{ errorCorrectionLevel: 'H' }) const qrCodeElement = document.getElementById('qrCodeContainer') diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printFinalDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printFinalDialog.vue index 2ab9dc08..88980cbe 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printFinalDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/plan/printFinalDialog.vue @@ -200,7 +200,7 @@ const open = async ( vals) => { await Promise.all( printCodeName.value.map(async (item) => { - const qrCodeData = await QRCode.toDataURL(item.name,{ + const qrCodeData = await QRCode.toDataURL(item.code,{ errorCorrectionLevel: 'H' }) const qrCodeElement = document.getElementById('qrCodeContainer1') diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue index a8c31e11..99eb9c63 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue @@ -301,7 +301,7 @@ v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PLAN_STATUS)" :key="dict @@ -310,7 +310,7 @@ v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PLAN_STATUS)" :key="dict @@ -318,7 +318,7 @@ v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PLAN_STATUS)" :key="dict @@ -763,7 +763,6 @@ const updateFlag = async(row:any) =>{ var maxTime = null; if(formData.value.processDesignProgressList.length == 1){ formData.value.processDesignProgressList[0].hasNext = false; - console.log(ststus.value) if(formData.value.processDesignProgressList[0].endTime != null && formData.value.processDesignProgressList[0].endTime != ''){ if (ststus.value){ formData.value.processDesignProgressList[0].flag=0 @@ -779,7 +778,6 @@ const updateFlag = async(row:any) =>{ } } else{ - console.log(ststus.value) var maxIndex = 0; for (let index = 0; index < formData.value.processDesignProgressList.length; index++) { diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/Form.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/Form.vue new file mode 100644 index 00000000..e2160d19 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorderno/Form.vue @@ -0,0 +1,112 @@ + + 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 5dbcce4c..feca4276 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 @@ -125,6 +125,9 @@ v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" cl 查看详情 + + 修改供应商 + @@ -135,6 +138,8 @@ v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" cl +
+