From 89114bd848fc0476aab070d1df3023e15660383e Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Tue, 23 Jul 2024 13:29:23 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E7=94=9F=E4=BA=A7=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E9=97=A8=E4=B8=BB=E7=AE=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=89=8D=E7=AB=AF=E4=BF=9D=E5=AD=98=E6=96=B9=E6=B3=95?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E9=83=A8=E9=97=A8=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E4=BB=8E=E5=89=8D=E7=AB=AF=E4=BC=A0=E8=BE=93?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=BA=E7=A9=BA=EF=BC=8C=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=EF=BC=9A=E9=83=A8=E9=97=A8=E8=AF=84=E5=AE=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E4=B8=BA=E7=A9=BA=EF=BC=81=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=83=A8=E9=97=A8=E4=B8=BB=E7=AE=A1=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=96=B9=E6=B3=95=EF=BC=8C=E6=96=B0=E5=8A=A0?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=88=A4=E6=96=AD=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E6=98=AF=E5=90=8C=E4=B8=80=E9=83=A8=E9=97=A8=EF=BC=8C=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E4=B8=BB=E7=AE=A1=E7=A1=AE=E8=AE=A4=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E5=BF=85=E9=A1=BB=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=EF=BC=8C=E5=90=A6=E5=88=99=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=EF=BC=9A=E6=9C=89=E6=95=B0=E6=8D=AE=E6=9C=AA=E8=A2=AB=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=EF=BC=8C=E8=AF=B7=E8=BF=9B=E8=A1=8C=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E4=B8=BB=E7=AE=A1=E7=A1=AE=E8=AE=A4=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysMakeOrderController.java | 11 +++--- .../service/ISysMakeorderDeptService.java | 2 +- .../impl/SysMakeorderDeptServiceImpl.java | 39 ++++++++++++++----- .../templates/system/makeorder/bmzgqr.html | 28 ++++++------- 4 files changed, 50 insertions(+), 30 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java index 444e367f..66286b20 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysMakeOrderController.java @@ -10,6 +10,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -273,10 +274,10 @@ public class SysMakeOrderController extends BaseController public AjaxResult deptReview(SysMakeorderDeptDto makeorderDeptDto){ List makeorderDeptList = makeorderDeptDto.getOrderDepts(); if(CollectionUtil.isEmpty(makeorderDeptList)){ - AjaxResult.error("部门评审数据不能为空!"); + throw new BusinessException("部门评审数据不能为空!"); } - makeorderDeptService.deptReview(makeorderDeptDto); - return AjaxResult.success("部门评审成功!"); + + return toAjax(makeorderDeptService.deptReview(makeorderDeptDto)); } /** @@ -289,10 +290,10 @@ public class SysMakeOrderController extends BaseController public AjaxResult deptLeaderConfirm(SysMakeorderDeptDto makeorderDeptDto){ List makeorderDeptList = makeorderDeptDto.getOrderDepts(); if(CollectionUtil.isEmpty(makeorderDeptList)){ - AjaxResult.error("部门主管确认数据不能为空!"); + return AjaxResult.error("部门主管确认数据不能为空!"); } makeorderDeptService.deptLeaderConfirm(makeorderDeptDto); - return AjaxResult.success("部门评审成功!"); + return AjaxResult.success("部门评审成功!"); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java index e7129ebe..dba02ca5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysMakeorderDeptService.java @@ -83,7 +83,7 @@ public interface ISysMakeorderDeptService * 部门评审 * @param makeorderDeptDto */ - void deptReview(SysMakeorderDeptDto makeorderDeptDto); + public int deptReview(SysMakeorderDeptDto makeorderDeptDto); /** * 部门主管确认 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java index 0ace05b7..131e90d9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderDeptServiceImpl.java @@ -3,6 +3,7 @@ package com.ruoyi.system.service.impl; import java.util.List; import cn.hutool.core.collection.CollectionUtil; +import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; @@ -136,7 +137,7 @@ public class SysMakeorderDeptServiceImpl implements ISysMakeorderDeptService @Override @Transactional(rollbackFor = Exception.class) - public void deptReview(SysMakeorderDeptDto makeorderDeptDto) { + public int deptReview(SysMakeorderDeptDto makeorderDeptDto) { String makeNo = makeorderDeptDto.getMakeNo(); List makeorderDeptList = makeorderDeptDto.getOrderDepts(); // 部门预审数据是一起录入 @@ -158,7 +159,8 @@ public class SysMakeorderDeptServiceImpl implements ISysMakeorderDeptService makeOrder.setMakeNo(makeNo); // 待部门主管确认 makeOrder.setMakeStatus("1"); - makeOrderService.updateByMakeNo(makeOrder); + + makeorderDeptList.forEach(dept->{ // 业务部门 无需部门领导确认 if("GMD".equals(dept.getDeptNumber())){ @@ -170,28 +172,45 @@ public class SysMakeorderDeptServiceImpl implements ISysMakeorderDeptService } sysMakeorderDeptMapper.updateSysMakeorderDept(dept); }); + return makeOrderService.updateByMakeNo(makeOrder); } @Override @Transactional(rollbackFor = Exception.class) - public void deptLeaderConfirm(SysMakeorderDeptDto makeorderDeptDto) { + public void deptLeaderConfirm(SysMakeorderDeptDto makeorderDeptDto){ String makeNo = makeorderDeptDto.getMakeNo(); List makeorderDeptList = makeorderDeptDto.getOrderDepts(); String deptNumber = ShiroUtils.getSysUser().getDept().getDeptNumber(); + + boolean hasUnconfirmedData = false; // 标记是否有未确认的数据 + + // 遍历所有部门数据 + for (SysMakeorderDept dept : makeorderDeptList) { + // 检查当前部门数据的deptNumber是否与给定的deptNumber匹配 + if (deptNumber.equals(dept.getDeptNumber())) { + // 检查deptLeaderConfirmStatus是否为空 + if (dept.getDeptLeaderConfirmStatus().equals("0")) { + hasUnconfirmedData = true; + break; // 如果发现未确认的数据,可以直接退出循环 + } else { + sysMakeorderDeptMapper.updateSysMakeorderDept(dept); + } + } + } + + // 如果有未确认的数据,抛出异常或给出提示 + if (hasUnconfirmedData) { + throw new BusinessException("有数据未被确认,请进行部门主管确认!"); + } + // 工程部门领导确认完,生产状态更新为待工程审核 - if("END".equals(deptNumber)){ + if ("END".equals(deptNumber)) { SysMakeOrder makeOrder = new SysMakeOrder(); makeOrder.setMakeNo(makeNo); // 待工程审核 makeOrder.setMakeStatus("2"); makeOrderService.updateByMakeNo(makeOrder); } - makeorderDeptList.forEach(dept->{ - String deptLeaderConfirmStatus = dept.getDeptLeaderConfirmStatus(); - if(StringUtils.isNotBlank(deptLeaderConfirmStatus)){ - sysMakeorderDeptMapper.updateSysMakeorderDept(dept); - } - }); } @Override diff --git a/ruoyi-admin/src/main/resources/templates/system/makeorder/bmzgqr.html b/ruoyi-admin/src/main/resources/templates/system/makeorder/bmzgqr.html index 01e8106d..4c723846 100644 --- a/ruoyi-admin/src/main/resources/templates/system/makeorder/bmzgqr.html +++ b/ruoyi-admin/src/main/resources/templates/system/makeorder/bmzgqr.html @@ -494,20 +494,20 @@ // alert(JSON.stringify(data)); // saveModal 保存不关闭 $.operate.save(prefix + "/deptLeaderConfirm", data); - var data = $('#bootstrap-sub-table-1').bootstrapTable('getData'); - var count = data.length; - var allFormData; - for (let i = 0; i < count; i++) { - var childTableFormId = 'child_table_form_'+i; - if($("#"+childTableFormId).length>0){ - if(i==0){ - allFormData = $("#"+childTableFormId).serialize(); - }else{ - allFormData = allFormData +'&'+ $("#"+childTableFormId).serialize(); - } - } - } - $.operate.save(prefix + "/deptReview", allFormData); + // var data = $('#bootstrap-sub-table-1').bootstrapTable('getData'); + // var count = data.length; + // var allFormData; + // for (let i = 0; i < count; i++) { + // var childTableFormId = 'child_table_form_'+i; + // if($("#"+childTableFormId).length>0){ + // if(i==0){ + // allFormData = $("#"+childTableFormId).serialize(); + // }else{ + // allFormData = allFormData +'&'+ $("#"+childTableFormId).serialize(); + // } + // } + // } + // $.operate.save(prefix + "/deptReview", allFormData); }