廖井涛
2024-09-25 b5a9dccccaf5bed064891a05ec8ff3f21de9cff0
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -25,7 +25,6 @@
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -178,9 +177,21 @@
    }
    //查询工序
    public Map<String, Object> SelectProcessSv() {
    public Map<String, Object> SelectProcessSv(String userId) {
        Map<String, Object> map = new HashMap<>();
        map.put("process", reportingWorkMapper.SelectProcessMp());
        String process = reportingWorkMapper.selectUserProcess(userId);
        if (process==null) {
            map.put("process", reportingWorkMapper.SelectProcessMp());
        }
        else {
            if (process.equals("夹胶")){
                map.put("process",reportingWorkMapper.getSelectProcessJiajiao() );
            }
            if (process.equals("技术部多曲")){
                map.put("process",reportingWorkMapper.getSelectProcessDuoqu() );
            }
        }
        return map;
    }
@@ -199,7 +210,8 @@
        String formattedDate = dateFormat.format(currentDate);
        String reportingWorkId = "BG" + formattedDate + formattedNumber;
        reportingWork.setReportingWorkId(reportingWorkId);
        reportingWork.setProcessId(reportingWork.getProcessId().substring(0, 14));
        String[] processIdStr = reportingWork.getProcessId().split("/");
        reportingWork.setProcessId(processIdStr[0]);
        int reviewState = (int) reportingWorkJson.get("type");
        if (reviewState == 1) {
@@ -208,6 +220,8 @@
        } else {
            reportingWork.setReviewedState(0);
        }
        reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(processIdStr[0],processIdStr[1],reportingWork.getThisProcess()));
        //主表插入
        reportingWorkMapper.insert(reportingWork);
        //副表循环插入,并且插入次破信息表。再根据次破信息修改订单玻璃流程表的完工数量与刺破数量
@@ -273,6 +287,7 @@
            //判断是否大于当前数量并且抛出异常
            if (processNum < (reportingWorkDetail.getBreakageQuantity() + reportingWorkDetail.getCompletedQuantity())) {
                System.out.println(processNum+"--"+reportingWorkDetail.getBreakageQuantity()+"--"+reportingWorkDetail.getCompletedQuantity());
                Map<String, Object> map = new HashMap<>();
                map.put("orderNumber", reportingWorkDetail.getOrderNumber());
                map.put("technologyNumber", reportingWorkDetail.getOrderNumber());
@@ -334,6 +349,7 @@
        String processId = reportingWork.get("processId");
        String thisProcess = reportingWork.get("thisProcess");
        String userName=reportingWork.get("userName");
        int index = processId.lastIndexOf("/") + 1;
        String result = processId.substring(index);
        String technologyStr = reportingWork.get("technologyStr");
@@ -345,10 +361,11 @@
                .eq(ReportingWork::getProcessId, processId.substring(0, 14))
                .eq(ReportingWork::getThisProcess, reportingWork.get("process"))
                .eq(ReportingWork::getReviewedState, 0)
                .setSql("reviewed_state =1");
                .setSql("reviewed_state =1")
                .set(ReportingWork::getReviewed, userName);
        reportingWorkMapper.update(null, updateWrapper);
}else {
    reportingWorkMapper.ReviewReportingWorkMp(processId.substring(0, 14),reportingWork.get("process"),technologyStr);
    reportingWorkMapper.ReviewReportingWorkMp(processId.substring(0, 14),reportingWork.get("process"),technologyStr,userName);
}
        return true;
@@ -386,7 +403,7 @@
        //根据报工编号获取层
        map.put("layer", reportingWorkMapper.selectLayerByReportingWorkId(reportingWorkId));
        map.put("numberList", flowCardMapper.getGlassNumber(reportingWorkMapper.selectLayerByReportingWorkId(reportingWorkId),reportingWork.getProcessId()));
        map.put("title", "补片状态");
        return map;
    }
@@ -651,11 +668,14 @@
                            .eq(ReportingWork::getProcessId,reportingWork.getProcessId())
                            .eq(ReportingWork::getThisProcess,reportingWork.getThisProcess())
                            .eq(ReportingWork::getDeviceName,reportingWork.getDeviceName())
                            .eq(ReportingWorkDetail::getOrderNumber,reportingWorkDetail.getOrderNumber())
                            .eq(ReportingWork::getReviewedState,0)//审核状态等于0,未删除
                            .eq(ReportingWork::getThisWornQuantity,0)
                            .eq(ReportingWorkDetail::getTechnologyNumber,reportingWorkDetail.getTechnologyNumber())
                            .orderByDesc(ReportingWork::getId)
            );
            //判断报工表是否存在,不存在则新增报工主副表数据,存在则修改副表数据
            if(ReportingWorks.isEmpty()){
                //获取当前最大报工单号生成报工单号
@@ -672,12 +692,34 @@
                reportingWorkMapper.insert(reportingWork);
                reportingWorkDetailMapper.insert(reportingWorkDetail);
            }else{
                LambdaUpdateWrapper<ReportingWorkDetail> detailLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
                detailLambdaUpdateWrapper.eq(ReportingWorkDetail::getReportingWorkId, ReportingWorks.get(0).getReportingWorkId() )
                        .eq(ReportingWorkDetail::getOrderNumber,reportingWorkDetail.getOrderNumber())
                        .eq(ReportingWorkDetail::getTechnologyNumber,reportingWorkDetail.getTechnologyNumber())
                        .setSql("completed_quantity = completed_quantity+" + reportingWorkDetail.getCompletedQuantity());
                reportingWorkDetailMapper.update(null, detailLambdaUpdateWrapper);
                ReportingWorkDetail reportingWorkDetail1 = reportingWorkDetailMapper.selectOne(
                        new LambdaQueryWrapper<ReportingWorkDetail>()
                                .eq(ReportingWorkDetail::getReportingWorkId,ReportingWorks.get(0).getReportingWorkId())
                                .eq(ReportingWorkDetail::getOrderNumber,reportingWorkDetail.getOrderNumber())
                                .eq(ReportingWorkDetail::getTechnologyNumber,reportingWorkDetail.getTechnologyNumber())
                );
                if(reportingWorkDetail1 == null){
                    reportingWorkDetail.setReportingWorkId(ReportingWorks.get(0).getReportingWorkId());
                    reportingWorkDetailMapper.insert(reportingWorkDetail);
                }else{
                    LambdaUpdateWrapper<ReportingWorkDetail> detailLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
                    detailLambdaUpdateWrapper.eq(ReportingWorkDetail::getReportingWorkId, ReportingWorks.get(0).getReportingWorkId() )
                            .eq(ReportingWorkDetail::getOrderNumber,reportingWorkDetail.getOrderNumber())
                            .eq(ReportingWorkDetail::getTechnologyNumber,reportingWorkDetail.getTechnologyNumber())
                            .setSql("completed_quantity = completed_quantity+" + reportingWorkDetail.getCompletedQuantity());
                    reportingWorkDetailMapper.update(null, detailLambdaUpdateWrapper);
                }
                LambdaUpdateWrapper<ReportingWork> reportingWorkLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
                reportingWorkLambdaUpdateWrapper
                        .eq(ReportingWork::getReportingWorkId, ReportingWorks.get(0).getReportingWorkId() )
                        .setSql("this_completed_quantity = this_completed_quantity+" + reportingWorkDetail.getCompletedQuantity());
                reportingWorkMapper.update(null, reportingWorkLambdaUpdateWrapper);
            }