| | |
| | | } |
| | | //主表插入 |
| | | reportingWorkMapper.insert(reportingWork); |
| | | |
| | | //副表循环插入,并且插入次破信息表。再根据次破信息修改订单玻璃流程表的完工数量与刺破数量 |
| | | reportingWorkDetails.forEach(reportingWorkDetail -> { |
| | | // reportingWork.setThisProcessQuantity( |
| | | // reportingWork.getThisProcessQuantity() |
| | | // +reportingWorkDetail.getCompletedQuantity() |
| | | // +reportingWorkDetail.getBreakageQuantity()); |
| | | // reportingWork.setThisCompletedQuantity( |
| | | // reportingWork.getThisCompletedQuantity()+reportingWorkDetail.getCompletedQuantity()); |
| | | // reportingWork.setThisWornQuantity( |
| | | // reportingWork.getThisWornQuantity()+reportingWorkDetail.getBreakageQuantity()); |
| | | |
| | | |
| | | reportingWorkDetail.setReportingWorkId(reportingWorkId); |
| | | List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails(); |
| | | //次破明细表插入数据 |
| | | if(damageDetails!=null && !damageDetails.isEmpty()){ |
| | | damageDetails.forEach(damageDetail ->{ |
| | | damageDetail.setReportingWorkId(reportingWorkId); |
| | |
| | | |
| | | |
| | | }); |
| | | |
| | | return true; |
| | | } |
| | | |
| | |
| | | return true; |
| | | } |
| | | |
| | | //报工修改查询 |
| | | public Map<String,Object> selectUpdateReportingWorkSv(String reportingWorkId) { |
| | | //查询报工主表信息 |
| | | ReportingWork reportingWork =reportingWorkMapper.selectOne(new LambdaQueryWrapper<ReportingWork>() |
| | | .eq(ReportingWork::getReportingWorkId,reportingWorkId)); |
| | | //根据报工信息查询订单主表信息 |
| | | reportingWork.setOrder( |
| | | orderMapper.selectOne(new LambdaQueryWrapper<Order>() |
| | | .eq(Order::getOrderId,reportingWork.getOrderId()))); |
| | | reportingWork.setFlowCard(new FlowCard()); |
| | | |
| | | List<ReportingWorkDetail> reportingWorkDetails = reportingWorkDetailMapper.selectByreportingWorkId(reportingWorkId); |
| | | List<Map<String,Object>> reportingWorkDetails = reportingWorkMapper.selectByReportingWorkId(reportingWorkId,reportingWork.getNextProcess()); |
| | | reportingWorkDetails.forEach(reportingWorkDetail ->{ |
| | | List<DamageDetails> damageDetailsList = new ArrayList<>(); |
| | | damageDetailsList = damageDetailsMapper.selectList(new LambdaQueryWrapper<DamageDetails>() |
| | | .eq(DamageDetails::getReportingWorkId,reportingWorkId) |
| | | .eq(DamageDetails::getOrderNumber,reportingWorkDetail.get("order_number")) |
| | | .eq(DamageDetails::getTechnologyNumber,reportingWorkDetail.get("technology_number")) |
| | | ); |
| | | reportingWorkDetail.put("damageDetails",damageDetailsList); |
| | | }); |
| | | |
| | | |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("reportingWork",reportingWork); |
| | | map.put("reportingWorkDetails",reportingWorkDetails); |
| | | map.put("basic",getReportingWorkBase(reportingWork.getProcessId(),reportingWork.getThisProcess())); |
| | | |
| | | |
| | | |
| | | return map; |
| | | |
| | | } |
| | | |
| | | private Map<String,Object> getReportingWorkBase(String processId, String thisProcess) { |
| | | Map<String,Object> map = new HashMap<>(); |
| | | //设备下拉框 |
| | | map.put("deviceType", reportingWorkMapper.SelectWorkBasicDeviceMp(thisProcess)); |
| | | //班组下拉框 |
| | | map.put("teamsType", reportingWorkMapper.SelectWorkBasicTeamsMp(thisProcess)); |
| | | |
| | | map.put("breakageType",reportingWorkMapper.selectBasicNameByType("breakagetype")); |
| | | map.put("breakageReason",reportingWorkMapper.selectBasicNameByType("breakagereason")); |
| | | |
| | | //获取该流程卡号历史报工工序 |
| | | String historyProcess =reportingWorkMapper.historyProcessMp(processId); |
| | | //历史报工工序设备 |
| | | map.put("historyDevice",reportingWorkMapper.historyDeviceMp(historyProcess,thisProcess)); |
| | | //历史报工工序班组 |
| | | map.put("historyTeams",reportingWorkMapper.historyTeamsMp(processId,thisProcess)); |
| | | //历史工序 |
| | | map.put("historyProcess",reportingWorkMapper.SelectHistoryProcessMp(historyProcess,thisProcess)); |
| | | |
| | | return map; |
| | | } |
| | | |
| | | |
| | | @Transactional |
| | | //报工修改 |
| | | public Boolean updateReportingWork(Map<String, Object> reportingWorkMap) { |
| | | //接收解析主附表信息 |
| | | JSONObject reportingWorkJson = new JSONObject(reportingWorkMap); |
| | | ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class); |
| | | List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class); |
| | | //删除刺破明细表刺破数据 |
| | | damageDetailsMapper.delete( |
| | | new LambdaQueryWrapper<DamageDetails>() |
| | | .eq(DamageDetails::getReportingWorkId,reportingWork.getReportingWorkId()) |
| | | ); |
| | | //修改小片流程表数量 |
| | | orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(),reportingWork.getThisProcess(),"delete"); |
| | | //删除报工明细表数据 |
| | | reportingWorkDetailMapper |
| | | .delete(new LambdaQueryWrapper<ReportingWorkDetail>() |
| | | .eq(ReportingWorkDetail::getReportingWorkId,reportingWork.getReportingWorkId())); |
| | | |
| | | //更细报工主表 |
| | | reportingWorkMapper.updateById(reportingWork); |
| | | reportingWorkDetails.forEach(reportingWorkDetail->{ |
| | | List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails(); |
| | | //每一条报工数据循环插入次破明细表 |
| | | if(damageDetails!=null && !damageDetails.isEmpty()){ |
| | | damageDetails.forEach(damageDetailsMapper::insert); |
| | | } |
| | | //插入报工数据 |
| | | reportingWorkDetailMapper.insert(reportingWorkDetail); |
| | | }); |
| | | //修改小片流程表数量为报工明细表数量 |
| | | orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(),reportingWork.getThisProcess(),"add"); |
| | | return true; |
| | | } |
| | | } |