From 5c068d684c0886b01d63b6f90595359468bbab3e Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Fri, 17 Oct 2025 14:41:19 +0800 Subject: [PATCH] =?UTF-8?q?2025-10-17=20=E8=BF=87=E7=AB=99=E9=87=87?= =?UTF-8?q?=E9=9B=86=E6=8A=A5=E5=B7=A5=E5=A2=9E=E5=8A=A0=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E5=B2=97=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/mapper/ScheduleMapper.java | 6 +++ .../service/impl/ScheduleServiceImpl.java | 38 +++++++++++++++---- .../mapper/schedule/ScheduleMapper.xml | 26 +++++++++++++ 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java b/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java index c443b97..b638af1 100644 --- a/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java +++ b/src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java @@ -120,6 +120,12 @@ public interface ScheduleMapper { **/ void updateOperatorTime(Map inData); + /** + * 只更新操作员上岗时间 + * @param inData + **/ + void updateOnDutyTime(Map inData); + /** * TODO 按照派工单号查询派工单的数据 * @author LR diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java index b1cc657..0e26366 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java @@ -187,15 +187,37 @@ public class ScheduleServiceImpl implements ScheduleService { @Override @Transactional(rollbackFor = Exception.class) public void batchUpdateOperatorTime(Map inData) { + String site = (String) inData.get("site"); + String orderNo = (String) inData.get("orderNo"); + Integer itemNo = (Integer) inData.get("itemNo"); + // seqNo 可能是 String 或 Integer,需要安全转换 + Object seqNoObj = inData.get("seqNo"); + String seqNo = seqNoObj != null ? String.valueOf(seqNoObj) : null; + + // 处理需要下岗的人员(设置 is_on_duty = 'N') @SuppressWarnings("unchecked") - List> operatorList = (List>) inData.get("operatorList"); - if (operatorList != null && !operatorList.isEmpty()) { - for (Map operator : operatorList) { - operator.put("site", inData.get("site")); - operator.put("orderNo", inData.get("orderNo")); - operator.put("itemNo", inData.get("itemNo")); - operator.put("seqNo", inData.get("seqNo")); - scheduleMapper.updateOperatorTime(operator); + List> offDutyList = (List>) inData.get("offDutyList"); + if (offDutyList != null && !offDutyList.isEmpty()) { + for (Map operator : offDutyList) { + operator.put("site", site); + operator.put("orderNo", orderNo); + operator.put("itemNo", itemNo); + operator.put("seqNo", seqNo); + operator.put("isOnDuty", "N"); + scheduleMapper.removeOperatorOnDuty(operator); + } + } + + // 处理只需要更新上岗时间的人员 + @SuppressWarnings("unchecked") + List> updateOnDutyList = (List>) inData.get("updateOnDutyList"); + if (updateOnDutyList != null && !updateOnDutyList.isEmpty()) { + for (Map operator : updateOnDutyList) { + operator.put("site", site); + operator.put("orderNo", orderNo); + operator.put("itemNo", itemNo); + operator.put("seqNo", seqNo); + scheduleMapper.updateOnDutyTime(operator); } } } diff --git a/src/main/resources/mapper/schedule/ScheduleMapper.xml b/src/main/resources/mapper/schedule/ScheduleMapper.xml index d2bc337..ea9da92 100644 --- a/src/main/resources/mapper/schedule/ScheduleMapper.xml +++ b/src/main/resources/mapper/schedule/ScheduleMapper.xml @@ -514,6 +514,32 @@ + + + UPDATE sfdc_operator_list + SET on_duty_time = #{onDutyTime} + + + AND id = #{id} + + + AND site = #{site} + + + AND order_no = #{orderNo} + + + AND item_no = #{itemNo} + + + AND seq_no = #{seqNo} + + + AND operator = #{operator} + + + +