| | |
| | | package com.jcdm.main.da.paramCollection.controller; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.jcdm.common.annotation.Log; |
| | | import com.jcdm.common.core.controller.BaseController; |
| | | import com.jcdm.common.core.domain.AjaxResult; |
| | |
| | | import com.jcdm.common.enums.BusinessType; |
| | | import com.jcdm.common.utils.DateUtils; |
| | | import com.jcdm.common.utils.poi.ExcelUtil; |
| | | import com.jcdm.main.bs.formulaChild.domain.PrintOfflineReportInfo; |
| | | import com.jcdm.main.da.paramCollection.domain.DaParamCollection; |
| | | import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; |
| | | import com.jcdm.main.da.testDeviceInterface.domain.DaTestDeviceInterface; |
| | | import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService; |
| | | import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo; |
| | | import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.text.DecimalFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 设备产品过程参数采集Controller |
| | |
| | | @Autowired |
| | | private IDaParamCollectionService daParamCollectionService; |
| | | |
| | | @Autowired |
| | | private IDaTestDeviceInterfaceService daTestDeviceInterfaceService; |
| | | |
| | | @Autowired |
| | | private IOmProductionOrdeInfoService omProductionOrdeInfoService; |
| | | |
| | | /** |
| | | * 查询设备产品过程参数采集列表 |
| | | */ |
| | | @GetMapping("/getPrintOfflineReportInfo") |
| | | public AjaxResult getPrintOfflineReportInfo(DaParamCollection daParamCollection) |
| | | { |
| | | String result = "S"; |
| | | PrintOfflineReportInfo info = new PrintOfflineReportInfo(); |
| | | OmProductionOrdeInfo orderInfo = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, daParamCollection.getProductNum())); |
| | | info.setProductCode(orderInfo.getProductCode()); |
| | | |
| | | DaParamCollection OP130_InsulationResistance1 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_InsulationResistance1").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam18(OP130_InsulationResistance1.getParamValue()); |
| | | |
| | | DaParamCollection OP030_DifferenceProduct2_3 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP030_DifferenceProduct2_3").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP030_DifferenceProduct1_3 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP030_DifferenceProduct1_3").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP030_DifferenceProduct1_2 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP030_DifferenceProduct1_2").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam19(OP030_DifferenceProduct2_3.getParamValue()+","+OP030_DifferenceProduct1_3.getParamValue()+","+OP030_DifferenceProduct1_2.getParamValue()); |
| | | |
| | | DaParamCollection OP130_InsulationResistance2 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_InsulationResistance2").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam20(OP130_InsulationResistance2.getParamValue()); |
| | | |
| | | DaParamCollection OP130_TemperatureControlledWinding = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_TemperatureControlledWinding").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam21(OP130_TemperatureControlledWinding.getParamValue()); |
| | | |
| | | DaParamCollection OP130_WarmTransmission = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_WarmTransmission").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam22(OP130_WarmTransmission.getParamValue()); |
| | | |
| | | DaParamCollection OP130_InsulationResistance3 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_InsulationResistance3").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam23(OP130_InsulationResistance3.getParamValue()); |
| | | |
| | | DaParamCollection OP130_Casing = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_Casing").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam24(OP130_Casing.getParamValue()); |
| | | |
| | | DaParamCollection OP130_GroundWithstandVoltage = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_GroundWithstandVoltage").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam25(OP130_GroundWithstandVoltage.getParamValue()); |
| | | |
| | | DaParamCollection OP130_RotaryResistanceValue3 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_RotaryResistanceValue3").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP130_RotaryResistanceValue2 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_RotaryResistanceValue2").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP130_RotaryResistanceValue1 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_RotaryResistanceValue1").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam26(OP130_RotaryResistanceValue3.getParamValue()+","+OP130_RotaryResistanceValue2.getParamValue()+","+OP130_RotaryResistanceValue1.getParamValue()); |
| | | |
| | | DaParamCollection OP130_ThreePhaseResistance3 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_ThreePhaseResistance3").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP130_BalanceDegree2 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_ThreePhaseResistance2").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP130_BalanceDegree1 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_ThreePhaseResistance1").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam27(getParam27(OP130_ThreePhaseResistance3.getParamValue()+","+OP130_BalanceDegree2.getParamValue()+","+OP130_BalanceDegree1.getParamValue())); |
| | | |
| | | DaParamCollection OP130_28_BalanceDegree1 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_BalanceDegree1").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP130_28_BalanceDegree2 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_BalanceDegree2").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | DaParamCollection OP130_28_BalanceDegree3 = daParamCollectionService.getOne(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP130_BalanceDegree3").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | info.setParam28(getParam28(OP130_28_BalanceDegree1.getParamValue()+","+OP130_28_BalanceDegree2.getParamValue()+","+OP130_28_BalanceDegree3.getParamValue())); |
| | | |
| | | info.setParam29(getParam29(daParamCollection.getProductNum())); |
| | | |
| | | List<DaParamCollection> OP030_RotationDirection = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP030_RotationDirection").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP030_RotationDirection)){ |
| | | //1√ 2× |
| | | String paramValue = OP030_RotationDirection.get(OP030_RotationDirection.size() - 1).getParamValue(); |
| | | if(paramValue.equals("1")){ |
| | | info.setParam30("√"); |
| | | }else if(paramValue.equals("2")){ |
| | | info.setParam30("❌"); |
| | | }else { |
| | | info.setParam30("未知"); |
| | | } |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | List<DaParamCollection> OP230_GroundingMohm = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP230_GroundingMohm").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP230_GroundingMohm)){ |
| | | //取小数点后两位 mΩ |
| | | String paramValue = OP230_GroundingMohm.get(OP230_GroundingMohm.size() - 1).getParamValue(); |
| | | info.setParam31(paramValue.substring(0, 4)+"mΩ"); |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | List<DaParamCollection> OP220_Divulge1 = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP220_Divulge1").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP220_Divulge1)){ |
| | | info.setParam32(OP220_Divulge1.get(OP220_Divulge1.size()-1).getParamValue()); |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | List<DaParamCollection> OP220_Divulge2 = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP220_Divulge2").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP220_Divulge2)){ |
| | | info.setParam33(OP220_Divulge2.get(OP220_Divulge2.size()-1).getParamValue()); |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | List<DaParamCollection> OP230_WithstanduUA = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP230_WithstanduUA").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP230_WithstanduUA)){ |
| | | DaParamCollection daParamCollection1 = OP230_WithstanduUA.get(OP230_WithstanduUA.size() - 1); |
| | | String paramValue = daParamCollection1.getParamValue(); |
| | | info.setParam34(OP230_WithstanduUA.get(OP230_WithstanduUA.size()-1).getParamValue()+"uA"); |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | List<DaParamCollection> OP230_InsulationMohm = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP230_InsulationMohm").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP230_InsulationMohm)){ |
| | | info.setParam35(OP230_InsulationMohm.get(OP230_InsulationMohm.size()-1).getParamValue()); |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | List<DaParamCollection> OP120_2_RotatingAngle = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getParamCode, "OP120-2_RotatingAngle").eq(DaParamCollection::getSfcCode,daParamCollection.getProductNum())); |
| | | if(ObjectUtil.isNotEmpty(OP120_2_RotatingAngle)){ |
| | | info.setParam36(OP120_2_RotatingAngle.get(OP120_2_RotatingAngle.size()-1).getParamValue()); |
| | | }else { |
| | | result = "F"; |
| | | } |
| | | |
| | | info.setParam37(getParam37(daParamCollection.getProductNum())); |
| | | |
| | | // info.setParam18(">500"); |
| | | // info.setParam19("0.3%,0%,0.5%"); |
| | | // info.setParam20(">600"); |
| | | // info.setParam21(">700"); |
| | | // info.setParam22("0.22"); |
| | | // info.setParam23("362"); |
| | | // info.setParam24("8.18"); |
| | | // info.setParam25("0.1"); |
| | | // info.setParam26("21.53,42.33,42.19"); |
| | | // info.setParam27("49.20,49.34,49.15"); |
| | | // info.setParam28("0.061%,0.163%,0.223%"); |
| | | // info.setParam29("35.1,35.0,35.1"); |
| | | // info.setParam30("√"); |
| | | // info.setParam31("0.0041"); |
| | | // info.setParam32("3.06"); |
| | | // info.setParam33("o.48"); |
| | | // info.setParam34("4.7uA"); |
| | | // info.setParam35("562.1"); |
| | | // info.setParam36("-137.1"); |
| | | // info.setParam37("√"); |
| | | info.setInspectionDate(getInspectionDate()); |
| | | info.setReviewerDate(getReviewerDate()); |
| | | info.setProductNum(daParamCollection.getProductNum().substring(13,26)); |
| | | System.out.println(info); |
| | | return AjaxResult.success(info); |
| | | } |
| | | |
| | | public String getParam37(String productNum){ |
| | | productNum = productNum.substring(13,26); |
| | | List<DaTestDeviceInterface> one = daTestDeviceInterfaceService.list(new LambdaQueryWrapper<DaTestDeviceInterface>().like(DaTestDeviceInterface::getProductNum, productNum).eq(DaTestDeviceInterface::getStationCode,"OP240")); |
| | | JSONArray jsonArray = new JSONArray(one.get(one.size()-1).getCheckList()); |
| | | JSONObject item = jsonArray.getJSONObject(1); |
| | | return item.getStr("itemValue"); |
| | | } |
| | | |
| | | public String getParam29(String productNum){ |
| | | List<DaTestDeviceInterface> one = daTestDeviceInterfaceService.list(new LambdaQueryWrapper<DaTestDeviceInterface>().eq(DaTestDeviceInterface::getProductNum, productNum).eq(DaTestDeviceInterface::getStationCode,"OP150")); |
| | | JSONArray jsonArray = new JSONArray(one.get(one.size()-1).getCheckList()); |
| | | JSONObject itemU = jsonArray.getJSONObject(0); |
| | | JSONObject itemV = jsonArray.getJSONObject(1); |
| | | JSONObject itemW = jsonArray.getJSONObject(2); |
| | | return itemU.getStr("itemValue")+","+itemV.getStr("itemValue")+","+itemW.getStr("itemValue"); |
| | | } |
| | | |
| | | public static String getInspectionDate(){ |
| | | // 获取当前日期 |
| | | LocalDate today = LocalDate.now(); |
| | | // 定义日期格式(年.月.日) |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.M.d"); |
| | | // 格式化当前日期 |
| | | return today.format(formatter); |
| | | } |
| | | |
| | | public static String getReviewerDate(){ |
| | | // 获取当前日期 |
| | | LocalDate today = LocalDate.now(); |
| | | // 定义日期格式(年.月.日) |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); |
| | | // 格式化当前日期 |
| | | return today.format(formatter); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String param27 = "49.260002,49.122525,49.06235235"; |
| | | String param28 = "0.163,0.061,0.224"; |
| | | // 按逗号分割字符串 |
| | | String[] parts = param27.split(","); |
| | | |
| | | // 创建一个 DecimalFormat 实例,用于格式化数字 |
| | | DecimalFormat df = new DecimalFormat("#.00"); |
| | | |
| | | // 遍历分割后的数组,并格式化每个元素 |
| | | // for (String part : parts) { |
| | | // double value = Double.parseDouble(part); |
| | | // String formattedValue = df.format(value); |
| | | // System.out.println(formattedValue); |
| | | // } |
| | | |
| | | String result = Arrays.stream(parts) |
| | | .map(part -> df.format(Double.parseDouble(part))) |
| | | .collect(Collectors.joining(",")); |
| | | |
| | | System.out.println(result); |
| | | System.out.println(getParam28(param28)); |
| | | |
| | | } |
| | | |
| | | public static String getParam28(String input) { |
| | | // 分割字符串 |
| | | String[] parts = input.split(","); |
| | | StringBuilder sb = new StringBuilder(); |
| | | |
| | | for (int i = 0; i < parts.length; i++) { |
| | | // 在每个部分后面加上 % |
| | | sb.append(parts[i]).append("%"); |
| | | if (i < parts.length - 1) { |
| | | sb.append(","); |
| | | } |
| | | } |
| | | |
| | | return sb.toString(); |
| | | } |
| | | |
| | | public String getParam27(String param){ |
| | | String[] parts = param.split(","); |
| | | DecimalFormat df = new DecimalFormat("#.00"); |
| | | String result = Arrays.stream(parts) |
| | | .map(part -> df.format(Double.parseDouble(part))) |
| | | .collect(Collectors.joining(",")); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 查询设备产品过程参数采集列表 |
| | | */ |