| | |
| | | import com.example.erp.service.sd.OrderProcessDetailService; |
| | | 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; |
| | |
| | | JSONObject reportingWorkJson = new JSONObject(reportingWorkMap); |
| | | ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class); |
| | | ReportingWorkDetail reportingWorkDetail =JSON.parseObject(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class); |
| | | |
| | | //获取可报数量 |
| | | int processNum = reportingWorkMapper.selectGlassProcessNum( |
| | | reportingWorkDetail.getOrderNumber(), |
| | | reportingWorkDetail.getTechnologyNumber(), |
| | |
| | | if (processNum < (reportingWorkDetail.getBreakageQuantity() + reportingWorkDetail.getCompletedQuantity())) { |
| | | return false; |
| | | } |
| | | //查询报工数据 |
| | | List<ReportingWork> ReportingWorks = reportingWorkMapper.selectJoinList(ReportingWork.class, |
| | | new MPJLambdaWrapper<ReportingWork>() |
| | | .select(ReportingWork::getReportingWorkId) |
| | | .leftJoin(ReportingWorkDetail.class, ReportingWorkDetail::getReportingWorkId, ReportingWork::getReportingWorkId) |
| | | .eq(ReportingWork::getProcessId,reportingWork.getProcessId()) |
| | | .eq(ReportingWork::getThisProcess,reportingWork.getThisProcess()) |
| | | .eq(ReportingWork::getDeviceName,reportingWork.getDeviceName()) |
| | | .eq(ReportingWorkDetail::getOrderNumber,reportingWorkDetail.getOrderNumber()) |
| | | .eq(ReportingWorkDetail::getTechnologyNumber,reportingWorkDetail.getTechnologyNumber()) |
| | | .orderByDesc(ReportingWork::getId) |
| | | |
| | | |
| | | ); |
| | | //判断报工表是否存在,不存在则新增报工主副表数据,存在则修改副表数据 |
| | | if(ReportingWorks.isEmpty()){ |
| | | //获取当前最大报工单号生成报工单号 |
| | | String formattedNumber = String.format("%04d", reportingWorkMapper.selectMaxReportingWorkId() + 1); |
| | | //格式化当前日期 |
| | |
| | | |
| | | 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); |
| | | |
| | | } |
| | | |
| | | |
| | | |