From da0208e426b443268d64ba37fe6a61842a24bf9b Mon Sep 17 00:00:00 2001 From: siontion Date: Wed, 29 May 2024 15:39:48 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90app=E6=8A=A5=E5=B7=A5=E3=80=91?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E6=8A=A5=E5=B7=A5=E6=97=B6=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E8=B6=85=E9=87=8F=E6=8A=A5=E5=B7=A5=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taskdispatch/TaskDispatchServiceImpl.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/taskdispatch/TaskDispatchServiceImpl.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/taskdispatch/TaskDispatchServiceImpl.java index 0665968e..b0941fd6 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/taskdispatch/TaskDispatchServiceImpl.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/service/taskdispatch/TaskDispatchServiceImpl.java @@ -28,6 +28,7 @@ import com.chanko.yunxi.mes.module.biz.manager.CrossOrderManager; import com.chanko.yunxi.mes.module.biz.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; +import com.sun.org.apache.xpath.internal.operations.Bool; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -310,13 +311,24 @@ public class TaskDispatchServiceImpl implements TaskDispatchService { // 不能超额报工 if(operate == TaskReportOperateEnum.SUBMIT){ + + SystemParametersDO systemParametersDO = systemParametersMapper.selectOne("code", SystemParmetersEnum.OVERTASK_CENTER_LIST.getDescription()); + boolean allowOver = false; + + if(systemParametersDO != null && !StringUtils.isEmpty(systemParametersDO.getCurrentValue()) + && Arrays.stream(systemParametersDO.getCurrentValue().split(",")).filter(map -> map.equals(taskDispatchDetailDO.getWorkshopCode())).count()>0){ + allowOver = true; + } + List historyReportList = taskReportMapper.selectList(new LambdaQueryWrapper() {{ eq(TaskReportDO::getDispatchDetailId, taskDispatchDetailDO.getId()) .ne(TaskReportDO::getAmount, 0); }}); - int historyReportAmount = historyReportList.stream().mapToInt(TaskReportDO::getAmount).sum(); - if(taskDispatchDetailDO.getAmount() < (historyReportAmount + operateReqVO.getAmount())){ - throw exception(TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS); + if(!allowOver) { + int historyReportAmount = historyReportList.stream().mapToInt(TaskReportDO::getAmount).sum(); + if (taskDispatchDetailDO.getAmount() < (historyReportAmount + operateReqVO.getAmount())) { + throw exception(TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS); + } } } }