lxp
2025-03-14 f1841682cff7d289bb777bd2b6441c3ced18ec77
数采修改
已修改1个文件
53 ■■■■ 文件已修改
cnas-require/src/main/java/com/ruoyi/require/service/impl/PkMasterServiceImpl.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-require/src/main/java/com/ruoyi/require/service/impl/PkMasterServiceImpl.java
@@ -1,11 +1,9 @@
package com.ruoyi.requier.service.impl;
package com.ruoyi.require.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -28,13 +26,13 @@
import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
import com.ruoyi.performance.pojo.PerformanceShift;
import com.ruoyi.performance.pojo.ShiftTime;
import com.ruoyi.requier.mapper.PkMasterMapper;
import com.ruoyi.requier.mapper.PkSlaveMapper;
import com.ruoyi.requier.pojo.PkMaster;
import com.ruoyi.requier.pojo.PkSlave;
import com.ruoyi.requier.service.InsOrderPlanService;
import com.ruoyi.requier.service.PkMasterService;
import com.ruoyi.requier.service.impl.InsOrderPlanServiceImpl;
import com.ruoyi.require.mapper.PkMasterMapper;
import com.ruoyi.require.mapper.PkSlaveMapper;
import com.ruoyi.require.pojo.PkMaster;
import com.ruoyi.require.pojo.PkSlave;
import com.ruoyi.require.service.InsOrderPlanService;
import com.ruoyi.require.service.PkMasterService;
import com.ruoyi.require.service.impl.InsOrderPlanServiceImpl;
import com.ruoyi.system.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
@@ -101,11 +99,13 @@
    @Resource
    private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
    //温度循环数采
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int temDataAcquisition(PkMaster pkMaster) {
        Integer userId = SecurityUtils.getUserId().intValue();
        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
        //查询数采关联的子表信息
        PkMaster master = new PkMaster();
        List<PkMaster> pkMasters = pkMasterMapper.selectList(Wrappers.<PkMaster>lambdaQuery()
@@ -537,12 +537,12 @@
        if(isWithinRange) {
            // 正常上班
            auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode()); // 非加班委托单号
            auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,count))); // 工时
            auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,count)); // 工时
            auxiliaryOutputWorkingHours.setAmount(count); // 非加班数量
        }else{
            // 加班
            auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode()); // 非加班委托单号
            auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,count))); // 工时
            auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,count)); // 工时
            auxiliaryOutputWorkingHours.setOvertimeAmount(count); // 非加班数量
        }
        if(isCross) {
@@ -552,15 +552,15 @@
            String date = LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters);// 当天
            auxiliaryOutputWorkingHours.setDateTime(date); // 日期
        }
        auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,count))); // 产出工时
        auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,count)); // 产出工时
        auxiliaryOutputWorkingHours.setWeekDay(insOrderPlanServiceImpl.getWeek(LocalDateTime.now().format(formatters)));//星期
        auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//周次
        auxiliaryOutputWorkingHours.setCheck(userId);//检测人
        auxiliaryOutputWorkingHours.setCheckId(userId);//检测人
        auxiliaryOutputWorkingHours.setSample(insSample.getSampleCode());//样品编号
        auxiliaryOutputWorkingHours.setManHourGroup(workHourMap.getManHourGroup());//工时分组
        // 查询需要操作的日期是否有记录
        List<AuxiliaryOutputWorkingHours> oldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
                .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
                .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
                .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "温度循环")
                .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
                .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
@@ -571,7 +571,7 @@
        );
        // 所有的记录(其他天 + 当前天)
        List<AuxiliaryOutputWorkingHours> addOldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
                .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
                .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
                .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "温度循环")
                .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
                .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
@@ -593,14 +593,14 @@
                if(isWithinRange) {
                    // 正常上班
                    auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 工时
                    auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 工时
                    auxiliaryOutputWorkingHours.setAmount((count - otherDayAmount + allValue)); // 非加班数量
                }else {
                    // 加班
                    auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 工时
                    auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 工时
                    auxiliaryOutputWorkingHours.setOvertimeAmount((count - otherDayAmount + allValue)); // 非加班数量
                }
                auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 产出工时
                auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 产出工时
                auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
            }
        }else {
@@ -621,19 +621,18 @@
                        int num =  Objects.isNull(auxiliaryOutputWorkingHours1.getAmount()) ? 0 :auxiliaryOutputWorkingHours1.getAmount(); // 原本的数量
                        auxiliaryOutputWorkingHours1.setAmount(count - oldAmount + num + allValue); // 非加班数量
                        auxiliaryOutputWorkingHours1.setOrderNo(insOrder.getEntrustCode()); // 非加班委托单号
                        auxiliaryOutputWorkingHours1.setWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 工时
                        BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getAmount())).add((Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getOvertimeWorkTime()));
                        auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime);// 产出工时 采集肯定是会采集完
                        auxiliaryOutputWorkingHours1.setWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 工时
                        auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getAmount()) +
                                (Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getOvertimeWorkTime())); // 产出工时 采集肯定是会采集完
                    }else{
                        // 加班
                        // 拿到原本的数量 与 新的数量相加
                        int num =  Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeAmount()) ? 0 :auxiliaryOutputWorkingHours1.getOvertimeAmount(); // 原本的数量
                        auxiliaryOutputWorkingHours1.setOvertimeAmount(count - oldAmount + num + allValue);// 加班数量
                        auxiliaryOutputWorkingHours1.setOvertimeOrderNo(insOrder.getEntrustCode()); // 加班委托单号
                        auxiliaryOutputWorkingHours1.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 工时
                        BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getOvertimeAmount())).add(
                                (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getWorkTime()));
                        auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime); // 产出工时 采集肯定是会采集完
                        auxiliaryOutputWorkingHours1.setOvertimeWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 工时
                        auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getOvertimeAmount()) +
                                (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getWorkTime())); // 产出工时 采集肯定是会采集完
                    }
                    auxiliaryOutputWorkingHoursMapper.updateById(auxiliaryOutputWorkingHours1);
                }