廖井涛
2025-07-28 59d34cb3d22f4f99805f78997b7229a46bec4fe5
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -17,7 +17,6 @@
import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.SysError;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
import com.example.erp.mapper.mm.FinishedOperateLogMapper;
import com.example.erp.mapper.pp.*;
import com.baomidou.dynamic.datasource.annotation.DS;
@@ -71,7 +70,7 @@
    private final RestTemplate restTemplate;
    private final PatchLogMapper patchLogMapper;
    private final ReworkMapper reworkMapper;
    private final BasicDateMapper basicDataMapper;
    private final BasicDataMapper basicDataMapper;
    private final FinishedGoodsInventoryService finishedGoodsInventoryService;
@@ -275,7 +274,13 @@
        //主表插入
        reportingWorkMapper.insert(reportingWork);
        //副表循环插入,并且插入次破信息表。再根据次破信息修改订单玻璃流程表的完工数量与刺破数量
        final Integer[] maxTechnologyNumber = {0,0};
        reportingWorkDetails.forEach(reportingWorkDetail -> {
            //合片数量汇总减少
            if(Integer.parseInt(reportingWorkDetail.getTechnologyNumber()) > maxTechnologyNumber[0]){
                maxTechnologyNumber[0] = Integer.valueOf(reportingWorkDetail.getTechnologyNumber());
                maxTechnologyNumber[1]+=1;
            }
            reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity() + reportingWorkDetail.getCompletedQuantity());
            reportingWork.setThisWornQuantity(reportingWork.getThisWornQuantity() + reportingWorkDetail.getBreakageQuantity());
            int qualityInsStatus = (int) reportingWorkJson.get("qualityInsStatus");
@@ -384,6 +389,11 @@
        });
        //获取报工工序是否为复合工程
        reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity()/maxTechnologyNumber[1]);
        reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
                .eq(ReportingWork::getId, reportingWork.getId()));
@@ -1171,7 +1181,10 @@
        date.add(endDate);
        Map<String, Object> result = new HashMap<>();
        BasicData basicData = basicDataMapper
                .selectOne(new QueryWrapper<BasicData>().eq("basic_name", reportingWork.get("process")));
                .selectOne(new QueryWrapper<BasicData>()
                        .eq("basic_name", reportingWork.get("process"))
                        .last("limit 1")
                );
        result.put("data",orderProcessDetailMapper.selectShiftQuantitySv(creatorId, startDate, endDate,basicData==null?null:basicData.getNickname()));
        result.put("date",date);
        return result;