package cn.stylefeng.guns.modular.om.productionOrdeInfo.controller; import cn.afterturn.easypoi.entity.vo.MapExcelConstants; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.afterturn.easypoi.view.PoiBaseView; import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; import cn.stylefeng.guns.modular.bs.locationInfo.entity.LocationInfo; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; import cn.stylefeng.guns.modular.bs.materialInfo.entity.MaterialInfo; import cn.stylefeng.guns.modular.bs.materialInfo.service.MaterialInfoService; import cn.stylefeng.guns.modular.cm.passingStationCollection.entity.PassingStationCollection; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult; import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; import cn.stylefeng.guns.modular.om.productionOrdeInfo.entity.ProductionOrdeInfo; import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; import cn.stylefeng.guns.sys.modular.system.entity.Dict; import cn.stylefeng.guns.sys.modular.system.service.DictService; import cn.stylefeng.roses.core.base.controller.BaseController; import cn.stylefeng.roses.core.util.ToolUtil; import cn.stylefeng.roses.kernel.model.response.ResponseData; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.api.R; import io.swagger.models.auth.In; import lombok.SneakyThrows; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; /** * 生产工单控制器 * * @author cl * @Date 2022-10-25 14:04:47 */ @Controller @RequestMapping("/productionOrdeInfo") public class ProductionOrdeInfoController extends BaseController { private String PREFIX = "modular/om/productionOrdeInfo"; @Autowired private ProductionOrdeInfoService productionOrdeInfoService; @Autowired private DictService dictService; /** * 跳转到主页面 * * @author cl * @Date 2022-10-25 */ @RequestMapping("") public String index() { return PREFIX + "/productionOrdeInfo.html"; } /** * 新增页面 * * @author cl * @Date 2022-10-25 */ @RequestMapping("/add") public String add() { return PREFIX + "/productionOrdeInfo_add.html"; } /** * 编辑页面 * * @author cl * @Date 2022-10-25 */ @RequestMapping("/edit") public String edit() { return PREFIX + "/productionOrdeInfo_edit.html"; } @RequestMapping("/materialList") public String materialList() { return PREFIX + "/materialList.html"; } @RequestMapping("/materialLists") public String materialLists() { return PREFIX + "/materialLists.html"; } @RequestMapping("/customInfo") public String customInfo() { return PREFIX + "/customInfo.html"; } /** * 新增接口 * * @author cl * @Date 2022-10-25 */ @RequestMapping("/addItem") @ResponseBody public ResponseData addItem(ProductionOrdeInfoParam productionOrdeInfoParam) { this.productionOrdeInfoService.add(productionOrdeInfoParam); return ResponseData.success(); } /** * 编辑接口 * * @author cl * @Date 2022-10-25 */ @RequestMapping("/editItem") @ResponseBody public ResponseData editItem(ProductionOrdeInfoParam productionOrdeInfoParam) { if(productionOrdeInfoParam.getFlag()!=null){ productionOrdeInfoParam.setActualStartTime(new Date()); } this.productionOrdeInfoService.update(productionOrdeInfoParam); this.productionOrdeInfoService.saveOrderBatchInfo(productionOrdeInfoParam); return ResponseData.success(); } /** * 编辑接口 * * @author cl * @Date 2022-10-25 */ @RequestMapping("/editItemAll") @ResponseBody public ResponseData editItemAll(@RequestBody List list) { for(int i=0;i().eq("order_status", productionOrdeInfoParam.getOrderStatus())); return ResponseData.success(orderStatus); } /** * 测功机新增接口 * @return */ @ResponseBody @CrossOrigin @RequestMapping("/addStationInfo") public ResponseData addStationInfo(PassingStationCollectionParam passingStationCollectionParam) { this.passingStationCollectionService.add(passingStationCollectionParam); return ResponseData.success(); } /** * 大屏列表接口 * @param productionOrdeInfoParam * @return */ @ResponseBody @CrossOrigin @RequestMapping("/largeScreenList") public List largeScreenList(ProductionOrdeInfoParam productionOrdeInfoParam) { ArrayList arrayList = new ArrayList(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); // productionOrdeInfoParam.setOrderStatus("3"); LayuiPageInfo pageBySpec = this.productionOrdeInfoService.findPageBySpec(productionOrdeInfoParam); List result = pageBySpec.getData(); for (ProductionOrdeInfoResult productionOrdeInfoResult : result) { ArrayList resultList = new ArrayList(); resultList.add(productionOrdeInfoResult.getWorkOrderNo()); resultList.add(productionOrdeInfoResult.getMaterialCode()); resultList.add(productionOrdeInfoResult.getProductionLine()); resultList.add(productionOrdeInfoResult.getPlanQty()); resultList.add(productionOrdeInfoResult.getActualQty()); resultList.add(format.format(productionOrdeInfoResult.getCreateTime())); arrayList.add(resultList); } return arrayList; } @ResponseBody @CrossOrigin @RequestMapping("/largeScreenList1") public List largeScreenList1(ProductionOrdeInfoParam productionOrdeInfoParam) { ArrayList arrayList = new ArrayList(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); List list = this.productionOrdeInfoService.getListMonth(); for (ProductionOrdeInfoResult productionOrdeInfoResult : list) { ArrayList resultList = new ArrayList(); resultList.add(productionOrdeInfoResult.getWorkOrderNo()); resultList.add(productionOrdeInfoResult.getMaterialCode()); resultList.add(productionOrdeInfoResult.getPlanQty()); resultList.add(productionOrdeInfoResult.getActualQty()); resultList.add(format.format(productionOrdeInfoResult.getCreateTime())); arrayList.add(resultList); } return arrayList; } /** * 大屏产线接口 * @return */ @ResponseBody @CrossOrigin @RequestMapping("/lineFinishQty") public ResponseData lineFinishQty() { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); List resultList = new ArrayList(); List list = this.productionOrdeInfoService.lineFinishQty(); for (ProductionOrdeInfoResult productionOrdeInfo : list) { Map map = new HashMap(); map.put("name",format.format(productionOrdeInfo.getActualStartTime())); map.put("value",productionOrdeInfo.getActualQty()); resultList.add(map); } return ResponseData.success(resultList); } /** * 大屏车间工单信息接口 * @return */ @ResponseBody @CrossOrigin @RequestMapping("/workshopOrderDetail") public ResponseData workshopOrderDetail(ProductionOrdeInfoParam productionOrdeInfoParam) { // NumberFormat numberFormat = NumberFormat.getInstance(); // numberFormat.setMaximumFractionDigits(2); // ProductionOrdeInfo one = productionOrdeInfoService.getOne(new QueryWrapper() // .select("SUM\n" + // "\t( plan_qty ) AS planQty,\n" + // "\tSUM ( actual_qty ) AS actualQty,\n" + // "\tSUM ( scrap_qty ) AS scrapQty ") // ); // //计划 // Integer plqnQty = one.getPlanQty(); // //完成 // Integer actualQty = one.getActualQty(); // //报废 // Integer scrapQty = one.getScrapQty(); // //合格数量 // Integer paseQty = actualQty-scrapQty; // // Map map = new HashMap(); // map.put("produceQty",plqnQty); // map.put("finishQty",actualQty); // map.put("paseQty",paseQty); // map.put("noPaseQty",scrapQty); // map.put("CompletionRate",numberFormat.format((float) actualQty / (float) plqnQty * 100)); // map.put("PassRate",numberFormat.format((float) paseQty / (float) actualQty * 100)); // map.put("surplusQty",plqnQty-actualQty); // return ResponseData.success(map); ProductionOrdeInfoParam param = new ProductionOrdeInfoParam(); param.setOrderStatus("3"); ProductionOrdeInfoResult one = new ProductionOrdeInfoResult(); NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setMaximumFractionDigits(2); List listMonth = productionOrdeInfoService.getListMonth(); List listBySpec = productionOrdeInfoService.findListBySpec(param); if(listBySpec.size() == 0){ ToolUtil.copyProperties(listMonth.get(0), one); }else { ToolUtil.copyProperties(listBySpec.get(0), one); } if(one.getActualQty() == null){ one.setActualQty(0); } if(one.getScrapQty() == null){ one.setScrapQty(0); } //计划 Integer plqnQty = one.getPlanQty(); //完成 Integer actualQty = one.getActualQty(); //报废 Integer scrapQty = one.getScrapQty(); //合格数量 Integer paseQty = actualQty-scrapQty; Map map = new HashMap(); map.put("produceQty",one.getPlanQty()); map.put("finishQty",one.getActualQty()); map.put("paseQty",paseQty); map.put("noPaseQty",scrapQty); map.put("CompletionRate",numberFormat.format((float) actualQty / (float) plqnQty * 100)); String format = numberFormat.format((float) paseQty / (float) actualQty * 100); if(format.equals("�")){ map.put("PassRate","0"); }else { map.put("PassRate",format); } map.put("surplusQty",plqnQty-actualQty); return ResponseData.success(map); } /** * 大屏车间工单信息接口 * @return */ @ResponseBody @CrossOrigin @RequestMapping("/reportLineList") public ResponseData reportLineList(ProductionOrdeInfoParam productionOrdeInfoParam) { Map map = new HashMap(); return ResponseData.success(map); } @ResponseBody @CrossOrigin @RequestMapping("/lineChart") public ResponseData lineChart(ProductionOrdeInfoParam productionOrdeInfoParam) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); List list = new ArrayList(); List planQtyList = new ArrayList(); List actualQtyList = new ArrayList(); Map map = new HashMap(); List ColumnarDateList = productionOrdeInfoService.getColumnarDate(); for (ProductionOrdeInfoResult result : ColumnarDateList) { String s = format.format(result.getActualStartTime()); QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.select("SUM(plan_qty) as planQty,SUM(actual_qty) as actualQty"); queryWrapper.apply("CONVERT ( VARCHAR ( 100 ), actual_start_time, 23 ) = {0}",s); ProductionOrdeInfo one = productionOrdeInfoService.getOne(queryWrapper); if(one!=null){ if(one.getPlanQty()!=null){ planQtyList.add(one.getPlanQty()); }else { planQtyList.add(0); } if(one.getActualQty()!=null){ actualQtyList.add(one.getActualQty()); }else { actualQtyList.add(0); } }else { planQtyList.add(0); actualQtyList.add(0); } list.add(s); } map.put("category",list); map.put("lineData",planQtyList); map.put("barData",actualQtyList); return ResponseData.success(map); } @ResponseBody @CrossOrigin @RequestMapping("/findOrdrList") public ResponseData findOrdrList(ProductionOrdeInfoParam productionOrdeInfoParam) { ProductionOrdeInfoParam param = new ProductionOrdeInfoParam(); param.setProductionLine("");//产线 param.setOrderStatus("3");//工单状态 List list = productionOrdeInfoService.findListBySpec(param); return ResponseData.success(list); } /** * 下载excel导入模板 * * @author liwenya * @Date 2021年7月9日 17点01分 */ @RequestMapping("/downloadExcelTemplate") public void downloadExcelTemplate(ModelMap modelMap, HttpServletRequest request, HttpServletResponse response) { //初始化表头 List entity = new ArrayList<>(); entity.add(new ExcelExportEntity("生产工单号", "workOrderNo")); entity.add(new ExcelExportEntity("物料编号", "materialCode")); entity.add(new ExcelExportEntity("物料描述", "materialName")); entity.add(new ExcelExportEntity("软件版本编码", "softwareVersionCode")); entity.add(new ExcelExportEntity("生产基地编码", "productCompanyCode")); entity.add(new ExcelExportEntity("计划数量", "planQty")); entity.add(new ExcelExportEntity("计划开始时间", "planStartTime")); entity.add(new ExcelExportEntity("计划结束时间", "planEndTime")); ExportParams params = new ExportParams("生产工单模板", "生产工单", ExcelType.XSSF); modelMap.put(MapExcelConstants.MAP_LIST, new ArrayList<>()); modelMap.put(MapExcelConstants.ENTITY_LIST, entity); modelMap.put(MapExcelConstants.PARAMS, params); modelMap.put(MapExcelConstants.FILE_NAME, "生产工单"); PoiBaseView.render(modelMap, request, response, MapExcelConstants.EASYPOI_MAP_EXCEL_VIEW); } /** * 导入Excel * * @author cl * @Date 2022-10-25 */ @SneakyThrows @RequestMapping("/uploadExcel") @ResponseBody public ResponseData exportIn(@RequestPart("file") MultipartFile file, HttpServletRequest request){ List list = new ArrayList<>(); //定义工作簿 XSSFWorkbook sheets = null; try{ sheets = new XSSFWorkbook(file.getInputStream()); //获取sheet XSSFSheet sheet = sheets.getSheet(sheets.getSheetName(0)); int rows = sheet.getPhysicalNumberOfRows(); for(int i = 2; i < rows; i++){ //获取列数 XSSFRow row = sheet.getRow(i); ProductionOrdeInfo orderInfo = new ProductionOrdeInfo(); orderInfo.setWorkOrderNo(getCellValue(row.getCell(0)));//工单编码 orderInfo.setMaterialCode(getCellValue(row.getCell(1)));//物料编号 orderInfo.setMaterialName(getCellValue(row.getCell(2)));//物料描述 orderInfo.setSoftwareVersionCode(getCellValue(row.getCell(3)));//软件版本编码 orderInfo.setProductCompanyCode(getCellValue(row.getCell(4)));//生产基地编码 Cell planQty = row.getCell(5);//计划数量 if(!Objects.equals(planQty, null) && !Objects.equals(planQty.toString(),"")){ double d = planQty.getNumericCellValue(); orderInfo.setPlanQty((int) d); } Cell planStartTime = row.getCell(6);//计划开始时间 if(HSSFDateUtil.isCellDateFormatted(planStartTime)){ Date d = planStartTime.getDateCellValue(); orderInfo.setPlanStartTime(d); } Cell planEndTime = row.getCell(7);//计划结束时间 if(HSSFDateUtil.isCellDateFormatted(planEndTime)){ Date d = planEndTime.getDateCellValue(); orderInfo.setPlanEndTime(d); } list.add(orderInfo); } for(ProductionOrdeInfo obj : list){ productionOrdeInfoService.save(obj); } return ResponseData.success("上传成功"); } catch (IOException e) { e.printStackTrace(); return ResponseData.error("上传失败"); } } /** * 获得Hsscell内容 * * @param cell * @return */ public String getCellValue(XSSFCell cell) { String value = ""; if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: break; case HSSFCell.CELL_TYPE_NUMERIC: DecimalFormat df = new DecimalFormat("0"); value = df.format(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: value = cell.getStringCellValue().trim(); break; default: value = ""; break; } } return value.trim(); } @Autowired MaterialInfoService materialInfoService; @Autowired PassingStationCollectionService passingStationCollectionService; @Autowired LocationInfoService locationInfoService; /** * 大屏车间工单信息接口 * @return */ @ResponseBody @CrossOrigin @RequestMapping("/topData") public ResponseData topData(ProductionOrdeInfoParam productionOrdeInfoParam) { Map map = new HashMap(); ProductionOrdeInfo result = null; //但前工单 List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); if(productionOrdeInfoParam.getWorkOrderNo() != null && !productionOrdeInfoParam.getWorkOrderNo().equals("")){ List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", productionOrdeInfoParam.getWorkOrderNo())); result = workOrderNo.get(0); }else if(orderStatus.size()!=0){ result = orderStatus.get(0); }else { List results = productionOrdeInfoService.orderDescListFive(); List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", results.get(0).getWorkOrderNo())); result = workOrderNo.get(0); } //产品 List materialCode = materialInfoService.list(new QueryWrapper().eq("material_code", result.getMaterialCode())); Integer planQty = result.getPlanQty(); Integer actualQty = result.getActualQty(); Date date2 = new Date(); // 第二个日期 long diffInMillis =result.getPlanEndTime().getTime() - date2.getTime(); //计算两个日期的毫秒差 long diffInHours = diffInMillis / (60 * 60 * 1000); // 将毫秒差转换为小时差 List list = passingStationCollectionService.list(new QueryWrapper() .eq("out_rs_sign", "2") .eq("work_order_no", result.getWorkOrderNo()) .eq("location_code", "OP1060") ); Integer NgNumber = list.size(); map.put("workOrderNo",result.getWorkOrderNo()); map.put("planQty",planQty); map.put("actualQty",actualQty); map.put("materialName",materialCode.get(0).getMaterialName()); map.put("completionRate",Math.round((float) actualQty / planQty * 100)); map.put("remainder",diffInHours); map.put("NgNumber",NgNumber); if(list.size() == 0){ map.put("passRate","100"); }else { map.put("passRate",Math.round((float) NgNumber / actualQty * 100)); } return ResponseData.success(map); } @ResponseBody @CrossOrigin @RequestMapping("/centerLeftData") public ResponseData centerLeftData(ProductionOrdeInfoParam productionOrdeInfoParam) { Map map = new HashMap(); List categoryList = new ArrayList(); List lineDataList = new ArrayList(); List barDataList = new ArrayList(); List percentageList = new ArrayList(); percentageList.add(0); ProductionOrdeInfo result = null; //但前工单 List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); if(productionOrdeInfoParam.getWorkOrderNo() != null && !productionOrdeInfoParam.getWorkOrderNo().equals("")){ List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", productionOrdeInfoParam.getWorkOrderNo())); result = workOrderNo.get(0); }else if(orderStatus.size()!=0){ result = orderStatus.get(0); }else { List results = productionOrdeInfoService.orderDescListFive(); List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", results.get(0).getWorkOrderNo())); result = workOrderNo.get(0); } List resultList = passingStationCollectionService.centerLeftData(productionOrdeInfoParam.getWorkOrderNo()); int unQuantity = passingStationCollectionService.getUnqualifiedQuantity(productionOrdeInfoParam.getWorkOrderNo()); int variableInt = 0; if(unQuantity == 0){ map.put("category",getLocationList()); map.put("barData",getZeroList()); map.put("percentage",getPercentageList()); }else { for (int i = 0; i < resultList.size(); i++) { categoryList.add(resultList.get(i).getLocationCode()); barDataList.add(resultList.get(i).getNum()); variableInt+=Integer.valueOf(resultList.get(i).getNum()); percentageList.add(Math.round((float) variableInt / unQuantity * 100)); } map.put("category",categoryList); map.put("barData",barDataList); map.put("lineData",lineDataList); map.put("percentage",percentageList); } return ResponseData.success(map); // Map map = new HashMap(); // List categoryList = new ArrayList(); // List lineDataList = new ArrayList(); // List barDataList = new ArrayList(); // // ProductionOrdeInfo result = null; // //但前工单 // List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); // if(productionOrdeInfoParam.getWorkOrderNo() != null && !productionOrdeInfoParam.getWorkOrderNo().equals("")){ // List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", productionOrdeInfoParam.getWorkOrderNo())); // result = workOrderNo.get(0); // }else if(orderStatus.size()!=0){ // result = orderStatus.get(0); // }else { // List results = productionOrdeInfoService.orderDescListFive(); // List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", results.get(0).getWorkOrderNo())); // result = workOrderNo.get(0); // } // for (String o : getLocationList()) { // List list = passingStationCollectionService.list(new QueryWrapper() // .eq("location_code", o) // .eq("out_rs_sign", "2") // .eq("work_order_no",result.getWorkOrderNo()) // ); // List lineList = passingStationCollectionService.list(new QueryWrapper() // .eq("location_code", o) // .eq("work_order_no",result.getWorkOrderNo()) // ); // categoryList.add(o); // barDataList.add(list.size()); // lineDataList.add(lineList.size()); // } // map.put("category",categoryList); // map.put("barData",barDataList); // map.put("lineData",lineDataList); // // return ResponseData.success(map); } @ResponseBody @CrossOrigin @RequestMapping("/bottomData") public ResponseData bottomData(ProductionOrdeInfoParam productionOrdeInfoParam) { Map map = new HashMap(); List unqualifiedList = new ArrayList(); List qualifiedList = new ArrayList(); List passRate = new ArrayList(); // List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); // ProductionOrdeInfo result = orderStatus.get(0); ProductionOrdeInfo result = null; //但前工单 List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); if(productionOrdeInfoParam.getWorkOrderNo() != null && !productionOrdeInfoParam.getWorkOrderNo().equals("")){ List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", productionOrdeInfoParam.getWorkOrderNo())); result = workOrderNo.get(0); }else if(orderStatus.size()!=0){ result = orderStatus.get(0); }else { List results = productionOrdeInfoService.orderDescListFive(); List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", results.get(0).getWorkOrderNo())); result = workOrderNo.get(0); } for (String o : getLocationList()) { List list = passingStationCollectionService.list(new QueryWrapper() .eq("location_code", o) .eq("out_rs_sign", "2") .eq("work_order_no",result.getWorkOrderNo()) ); List list1 = passingStationCollectionService.list(new QueryWrapper() .eq("location_code", o) .eq("work_order_no",result.getWorkOrderNo()) ); Integer unqualified = list.size(); Integer qualified = list1.size()-list.size(); unqualifiedList.add(unqualified); qualifiedList.add(qualified); if(unqualified == 0){ passRate.add(100); }else { passRate.add(Math.round((float) qualified / result.getActualQty() * 100)); } } map.put("unqualifiedList",unqualifiedList); map.put("qualifiedList",qualifiedList); map.put("passRate",passRate); return ResponseData.success(map); } @ResponseBody @CrossOrigin @RequestMapping("/centerRightData") public ResponseData centerRightData(ProductionOrdeInfoParam productionOrdeInfoParam) { // List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); // ProductionOrdeInfo result = orderStatus.get(0); ProductionOrdeInfo result = null; //但前工单 List orderStatus = productionOrdeInfoService.list(new QueryWrapper().eq("order_status", "3")); if(productionOrdeInfoParam.getWorkOrderNo() != null && !productionOrdeInfoParam.getWorkOrderNo().equals("")){ List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", productionOrdeInfoParam.getWorkOrderNo())); result = workOrderNo.get(0); }else if(orderStatus.size()!=0){ result = orderStatus.get(0); }else { List results = productionOrdeInfoService.orderDescListFive(); List workOrderNo = productionOrdeInfoService.list(new QueryWrapper().eq("work_order_no", results.get(0).getWorkOrderNo())); result = workOrderNo.get(0); } Integer targetNumber = 70; List resultList = new ArrayList(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String format1 = format.format(new Date()); String paramPrefix = format1+" "; for (String s : getCenterRightSpit()) { List itemList = new ArrayList(); int outTotal = passingStationCollectionService.bigCenterRightTable(paramPrefix+s+":00",paramPrefix+s.substring(0,1)+":59:59",null,result.getWorkOrderNo()); int i = passingStationCollectionService.bigCenterRightTable(paramPrefix+s+":00",paramPrefix+s.substring(0,1)+":59:59","1",result.getWorkOrderNo()); if(outTotal results = productionOrdeInfoService.orderDescListFive(); for (ProductionOrdeInfoResult result : results) { Map itemMap = new HashMap(); itemMap.put("value",result.getWorkOrderNo()); itemMap.put("label",result.getWorkOrderNo()); list.add(itemMap); } return ResponseData.success(list); } public static List getLocationList(){ List locationList = new ArrayList<>(); locationList.add("OP070"); locationList.add("OP100"); locationList.add("OP140"); locationList.add("OP150"); locationList.add("EOP080"); locationList.add("EOP090"); return locationList; } public static List getZeroList(){ List locationList = new ArrayList<>(); locationList.add("0"); locationList.add("0"); locationList.add("0"); locationList.add("0"); locationList.add("0"); locationList.add("0"); return locationList; } public static List getPercentageList(){ List locationList = new ArrayList<>(); locationList.add("100"); locationList.add("100"); locationList.add("100"); locationList.add("100"); locationList.add("100"); locationList.add("100"); return locationList; } public static List getCenterRightSpit(){ List locationList = new ArrayList<>(); locationList.add("8:00"); locationList.add("9:00"); locationList.add("10:00"); locationList.add("11:00"); locationList.add("12:00"); locationList.add("13:00"); locationList.add("14:00"); locationList.add("15:00"); locationList.add("16:00"); locationList.add("17:00"); return locationList; } public static String boldText(String param){ return ""+param+""; } }