From f00e9e5848711cbf735bf8d56be2a93cb7e850bf Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期一, 23 九月 2024 13:45:46 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 150 ++++++++++++++++++++++++++++++------------------- 1 files changed, 91 insertions(+), 59 deletions(-) diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java index 22b38e1..29124e4 100644 --- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java +++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java @@ -13,6 +13,7 @@ import com.mes.damage.service.DamageService; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.mapper.GlassInfoMapper; +import com.mes.pp.entity.DamageDetails; import com.mes.pp.entity.ReportingWork; import com.mes.pp.entity.ReportingWorkDetail; import com.mes.work_assignment.entity.WorkAssignment; @@ -86,51 +87,59 @@ List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>(); String key = entry.getKey(); List<Damage> damages = entry.getValue(); - for (Damage damage:damages - ) { - reportingWork.setOrderId(damage.getProcessId().substring(0, 10)); - reportingWork.setProductionId(damage.getProcessId().substring(0,11)); - reportingWork.setProcessId(damage.getProcessId()+"/"+damage.getTechnologyNumber()); - reportingWork.setDeviceName(damage.getDeviceName()); - reportingWork.setThisProcess(damage.getWorkingProcedure()); - reportingWork.setThisCompletedQuantity(1); - reportingWork.setThisWornQuantity(0); - reportingWork.setClasses("鏃╃彮"); - reportingWork.setReportingWorkTime(LocalDateTime.now()); - reportingWork.setTeamsGroupsName(damage.getTeamsGroupsName()); - reportingWork.setCreator("auto"); - System.out.println("Key: " + key); - } + reportingWork.setOrderId(damages.get(0).getProcessId().substring(0, 10)); + reportingWork.setProductionId(damages.get(0).getProcessId().substring(0, 11)); + reportingWork.setProcessId(damages.get(0).getProcessId() + "/" + damages.get(0).getTechnologyNumber()); + reportingWork.setDeviceName(damages.get(0).getDeviceName()); + reportingWork.setThisProcess(damages.get(0).getWorkingProcedure()); + reportingWork.setThisCompletedQuantity(0); + reportingWork.setThisWornQuantity(0); + reportingWork.setClasses("鏃╃彮"); + reportingWork.setReportingWorkTime(LocalDateTime.now()); + reportingWork.setTeamsGroupsName(damages.get(0).getTeamsGroupsName()); + reportingWork.setCreator("auto"); + ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail(); + reportingWorkDetail.setTechnologyNumber(damages.get(0).getTechnologyNumber()); + reportingWorkDetail.setOrderNumber(damages.get(0).getOrderNumber()); + reportingWorkDetail.setCompletedQuantity(0); + reportingWorkDetail.setBreakageQuantity(0); + reportingWorkDetails.add(reportingWorkDetail); - Map<String, List<Damage>> secondMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":" + Map<String, List<Damage>> secondMap = damages.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":" + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName())); + List<DamageDetails> damageDetailses = new ArrayList<>(); for (Map.Entry<String, List<Damage>> entrys : secondMap.entrySet()) { - List<Damage> damagesdetail = entrys.getValue(); + List<Damage> damagesdetails = entrys.getValue(); - - for (Damage damage:damagesdetail - ) { - ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail(); - reportingWorkDetail.setTechnologyNumber(damage.getTechnologyNumber()); - reportingWorkDetail.setOrderNumber(damage.getOrderNumber()); - reportingWorkDetail.setCompletedQuantity(1); - reportingWorkDetail.setBreakageQuantity(0); - reportingWorkDetails.add(reportingWorkDetail); - + if (damagesdetails.get(0).getType() != 8 && damagesdetails.get(0).getType() != 9) { + reportingWorkDetail.setCompletedQuantity(damagesdetails.size()); + reportingWork.setThisCompletedQuantity(damagesdetails.size() + reportingWork.getThisCompletedQuantity()); + } else { + reportingWork.setThisWornQuantity(damagesdetails.size() + reportingWork.getThisWornQuantity()); + DamageDetails damageDetails = new DamageDetails(); + damageDetails.setBreakageQuantity(damagesdetails.size()); + damageDetails.setBreakageType(damagesdetails.get(0).getBreakageType()); + damageDetails.setBreakageReason(damagesdetails.get(0).getBreakageReason()); + damageDetails.setResponsibleProcess(damagesdetails.get(0).getResponsibleProcess()); + damageDetails.setResponsibleEquipment(damagesdetails.get(0).getResponsibleEquipment()); + damageDetails.setResponsibleTeam(damagesdetails.get(0).getResponsibleTeam()); + damageDetails.setResponsiblePersonnel(null); + damageDetailses.add(damageDetails); } } - sendToERP(reportingWork,reportingWorkDetails); + reportingWorkDetail.setDamageDetailsList(damageDetailses); + sendToERP(reportingWork, reportingWorkDetails); } } @Override - public void submitReport(Damage damage) { + public Boolean submitReport(Damage damage) { ReportingWork reportingWork = new ReportingWork(); reportingWork.setOrderId(damage.getProcessId().substring(0, 10)); - reportingWork.setProductionId(damage.getProcessId().substring(0,11)); - reportingWork.setProcessId(damage.getProcessId()+"/"+damage.getTechnologyNumber()); + reportingWork.setProductionId(damage.getProcessId().substring(0, 11)); + reportingWork.setProcessId(damage.getProcessId() + "/" + damage.getTechnologyNumber()); reportingWork.setDeviceName(damage.getDeviceName()); reportingWork.setThisProcess(damage.getWorkingProcedure()); // reportingWork.setNextProcess("纾ㄨ竟"); @@ -148,7 +157,7 @@ reportingWorkDetail.setCompletedQuantity(1); reportingWorkDetail.setBreakageQuantity(0); reportingWorkDetails.add(reportingWorkDetail); - sendToERP(reportingWork,reportingWorkDetails); + return sendToERP(reportingWork, reportingWorkDetails); } /** @@ -156,32 +165,42 @@ */ @Override public void insertDamage(Damage damage) { - LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper = new LambdaQueryWrapper<>(); - glassInfoSelectWrapper.eq(GlassInfo::getGlassId, damage.getGlassId()); - GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoSelectWrapper); - BeanUtils.copyProperties(glassInfo, damage); + List<Damage> damage1 = baseMapper.selectList( + new LambdaQueryWrapper<Damage>() + .ne(Damage::getType, Const.GLASS_STATE_DAMAGE) + .ne(Damage::getType, Const.GLASS_STATE_TAKE) + .eq(Damage::getLine, damage.getLine()) + .eq(Damage::getWorkingProcedure, damage.getWorkingProcedure()) + ); + if (damage1 == null || damage1.size() == 0) { + LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper = new LambdaQueryWrapper<>(); + glassInfoSelectWrapper.eq(GlassInfo::getGlassId, damage.getGlassId()); + GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoSelectWrapper); + BeanUtils.copyProperties(glassInfo, damage); - LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper = new LambdaQueryWrapper<>(); - workAssignmentSelectWrapper - .eq(WorkAssignment::getLine, damage.getLine()) - .eq(WorkAssignment::getWorkProcesses, damage.getWorkingProcedure()); - WorkAssignment workAssignment = workAssignmentMapper.selectOne(workAssignmentSelectWrapper); - if (workAssignment != null) { - damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); - damage.setDeviceName(workAssignment.getDeviceName()); + LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper = new LambdaQueryWrapper<>(); + workAssignmentSelectWrapper + .eq(WorkAssignment::getLine, damage.getLine()) + .eq(WorkAssignment::getWorkProcesses, damage.getWorkingProcedure()); + WorkAssignment workAssignment = workAssignmentMapper.selectOne(workAssignmentSelectWrapper); + if (workAssignment != null) { + damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); + damage.setDeviceName(workAssignment.getDeviceName()); + } + damage.setProcessId(glassInfo.getFlowCardId()); + damage.setOrderNumber(glassInfo.getGlassType()); + damage.setTechnologyNumber(glassInfo.getLayer()); + damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); + if (damage.getType() == null) { + damage.setType(1); + } + if (damage.getType() == 1) { + if (submitReport(damage)) { + damage.setStatus(2); + } + } + baseMapper.insert(damage); } - damage.setProcessId(glassInfo.getFlowCardId()); - damage.setOrderNumber(glassInfo.getGlassType()); - damage.setTechnologyNumber(glassInfo.getLayer()); - damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); - if (damage.getType() == null) { - damage.setType(1); - } - if (damage.getType() == 1) { - damage.setStatus(2); - submitReport(damage); - } - baseMapper.insert(damage); } /** @@ -253,10 +272,10 @@ } @Override - public void sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails){ + public Boolean sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails) { try { // 鐩爣绯荤粺鐨凙PI URL - String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn"; + String url = "http://192.168.1.199:8086/reportingWork/mesSaveReportingWorkWorn"; URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); @@ -305,11 +324,24 @@ while ((inputLine = in.readLine()) != null) { response.append(inputLine); } - System.out.println("Response Body: " + response.toString()); + // 瑙f瀽鍝嶅簲鍐呭 + JSONObject jsonResponse = new JSONObject(response.toString()); + + // 鎻愬彇 code 鍜� message + int code = jsonResponse.getInt("code"); + String message = jsonResponse.getStr("data"); + + if (code == 200 && message.equals("true")) { + return true; + } else { + + return false; + } } } catch (Exception e) { e.printStackTrace(); + return false; } } } -- Gitblit v1.8.0