diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java index 8b1f10f36..e4bfee2ad 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java @@ -115,5 +115,11 @@ public class MesBoardController extends BaseController { return success(iMesBoradService.getProductionLineData()); } + /**获取包装产线看板数据(免登录)*/ + @GetMapping("/getProductionLineDataPublic") + public AjaxResult getProductionLineDataPublic() { + return success(iMesBoradService.getProductionLineDataPublic()); + } + } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java index ac7a5b65d..72e0eaac6 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java @@ -186,4 +186,10 @@ public class WCSInterfaceController extends BaseController { public AjaxResult changeTransferResultTask() { return wCInterfaceService.changeTransferResultTask(); } + + /**获取工厂下拉列表(免登录)*/ + @PostMapping("/getBoardFactoryPublic") + public AjaxResult getBoardFactoryPublic() { + return success(wCInterfaceService.getBoardFactoryPublic()); + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java index 3c10ecadf..0ee07601a 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesBoradService.java @@ -26,4 +26,6 @@ public interface IMesBoradService { public Map getProductionNumberPLC(BoardDTO mesBoard); List> getProductionLineData(); + + List> getProductionLineDataPublic(); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java index 2453036a6..36756467c 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java @@ -48,4 +48,6 @@ public interface IWCSInterfaceService { Map getWhiteBoardEquPro7Days(BoardDTO boardDTO); Map getWhiteBoardProdDetails(Map paramMap); + + List getBoardFactoryPublic(); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index fc3731cfa..876fd76b1 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -1336,6 +1336,15 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { } + @Override + public List getBoardFactoryPublic() { + DynamicDataSourceContextHolder.push("master"); + try { + return mesMapper.getBoardFactory(new BoardDTO()); + }finally { + DynamicDataSourceContextHolder.poll(); + } + } // public static void main(String args[]){ // List days = new ArrayList<>(); // // 获取当前日期 diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java index 262df024d..181066104 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesBoradServiceImpl.java @@ -290,4 +290,14 @@ public class MesBoradServiceImpl implements IMesBoradService { return mesMapper.getProductionLineData(); } + @Override + public List> getProductionLineDataPublic() { + DynamicDataSourceContextHolder.push("ds_1000"); + try { + return mesMapper.getProductionLineData(); + } finally { + DynamicDataSourceContextHolder.poll(); + } + } + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java index 32967a7af..8fb5fe955 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java @@ -166,4 +166,39 @@ public class QcInterfaceController { return qcInterfaceService.getBpMonthNoOk(queryDate); } + /**检验统计(今日/本月产量、今日/本月不良数、合格率)(免登录)*/ + @PostMapping("/getProduceStaticInfoPublic") + public Map getProduceStaticInfoPublic(@RequestBody QcInterface qcInterface) { + return qcInterfaceService.getProduceStaticInfoPublic(qcInterface); + } + + /**质量异常信息(滚动列表)(免登录)*/ + @PostMapping("/getProduceNoOkListPublic") + public List getProduceNoOkListPublic(@RequestBody QcInterface qcInterface) { + return qcInterfaceService.getProduceNoOkListPublic(qcInterface); + } + + /**不良类型占比(饼图)(免登录)*/ + @PostMapping("/getCheckProjectsPiePublic") + public List getCheckProjectsPiePublic(@RequestBody QcInterface qcInterface) { + return qcInterfaceService.getCheckProjectsPiePublic(qcInterface); + } + + /**本月每日线体异常趋势(柱状图)(免登录)*/ + @PostMapping("/getLineDayNoOkPublic") + public QcInterface getLineDayNoOkPublic(@RequestBody QcInterface qcInterface) { + return qcInterfaceService.getLineDayNoOkPublic(qcInterface); + } + + /**产品不合格率同期对比(双轴折线图)(免登录)*/ + @PostMapping("/getMonthOfYearContrastPublic") + public Map getMonthOfYearContrastPublic(@RequestBody QcInterface qcInterface) { + return qcInterfaceService.getMonthOfYearContrastPublic(qcInterface); + } + + /**白坯每月不合格数量对比(象形柱图)(免登录)*/ + @GetMapping("/getBpMonthNoOkPublic") + public Map> getBpMonthNoOkPublic(String queryDate) { + return qcInterfaceService.getBpMonthNoOkPublic(queryDate); + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java index e8b3206c5..9824fd189 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java @@ -41,4 +41,16 @@ public interface IQcInterfaceService { List getCheckProjectsPieLL(QcInterface qcInterface); Map> getBpMonthNoOk(String queryDate); + + Map getProduceStaticInfoPublic(QcInterface qcInterface); + + List getProduceNoOkListPublic(QcInterface qcInterface); + + List getCheckProjectsPiePublic(QcInterface qcInterface); + + QcInterface getLineDayNoOkPublic(QcInterface qcInterface); + + Map getMonthOfYearContrastPublic(QcInterface qcInterface); + + Map> getBpMonthNoOkPublic(String queryDate); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java index e50f9441f..b58a4f8a4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java @@ -476,5 +476,192 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { return dtoMap; } + @Override + public Map getProduceStaticInfoPublic(QcInterface qcInterface) { + DynamicDataSourceContextHolder.push("ds_1000"); + try { + String nowYMD = DateUtils.getDate(); + qcInterface.setYmd(nowYMD); + Map dtoMap = new HashMap<>(); + qcInterface.setYmdType("dd"); + QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); + if (hz0 != null) { + dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); + }else{ + dtoMap.put("todayPro", "0"); + } + QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); + if (hz1 != null) { + dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); + dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); + if(!hz1.getSampleQuality().equals("0.00")){ + BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) + .subtract(new BigDecimal(hz1.getNoOkQuality())) + ) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); + dtoMap.put("todayOkRate", tOkRate + "%"); + }else{ + dtoMap.put("todayOkRate", "0%"); + } + + } + + qcInterface.setYmdType("mm"); + QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); + if (hz20 != null) { + dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); + }else{ + dtoMap.put("monthPro", "0"); + } + QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); + if (hz2 != null) { + dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); + if(!hz2.getSampleQuality().equals("0.00")){ + BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) + .subtract(new BigDecimal(hz2.getNoOkQuality())) + ) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); + dtoMap.put("monthOkRate", tOkRate2 + "%"); + }else{ + dtoMap.put("monthOkRate", "0%"); + } + } + return dtoMap; + }finally { + DynamicDataSourceContextHolder.poll(); + } + } + + @Override + public List getProduceNoOkListPublic(QcInterface qcInterface) { + DynamicDataSourceContextHolder.push("ds_1000"); + try { + List dtos = qcInterfaceMapper.getProduceNoOkList1(qcInterface); + return dtos; + }finally { + DynamicDataSourceContextHolder.poll(); + } + } + + @Override + public List getCheckProjectsPiePublic(QcInterface qcInterface) { + DynamicDataSourceContextHolder.push("ds_1000"); + try { + String nowYMD = DateUtils.getDate(); + qcInterface.setYmd(nowYMD); + List dtos = qcInterfaceMapper.getCheckProjectsPie1(qcInterface); + return dtos; + }finally { + DynamicDataSourceContextHolder.poll(); + } + } + + @Override + public QcInterface getLineDayNoOkPublic(QcInterface qcInterface) { + DynamicDataSourceContextHolder.push("ds_1000"); + try { + QcInterface dto = new QcInterface(); + + Calendar calendar = Calendar.getInstance(); + Date now = calendar.getTime(); + calendar.set(Calendar.DAY_OF_MONTH, 1); + Date firstDayOfMonth = calendar.getTime(); + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String startTime = dateFormat.format(firstDayOfMonth); + String endTime = dateFormat.format(now); + + //日期名称数组 + List xAxisDatas = getDays(startTime, endTime); + dto.setDayStr(xAxisDatas);// + //通过报工获取到真实参与生产的线体 + List lines = qcInterfaceMapper.getLineNames(startTime.substring(0,7)); + if (CollectionUtils.isEmpty(lines)) { + return null; + } + String nowYMD = DateUtils.getDate(); + qcInterface.setYmd(nowYMD); + qcInterface.setYmdType("yyyy"); + Map noOkHzs = qcInterfaceMapper.getDayNoOkHz(qcInterface); + if (CollectionUtils.isEmpty(noOkHzs)) { + return null; + } + List series = new ArrayList<>(); + QcInterface serie = null; + for (QcProCheck line : lines) { + serie = new QcInterface(); + List data = new ArrayList<>(); + serie.setMachineName(line.getMachineName()); + for (String dayStr : xAxisDatas) { + QcInterface dayInfo = noOkHzs.get(line.getMachineCode() + dayStr); + if (dayInfo != null) { + data.add(dayInfo.getNoOkQuality()); + } else { + data.add("0"); + } + } + serie.setData(data); + series.add(serie); + } + dto.setSeries(series);// + return dto; + }finally { + DynamicDataSourceContextHolder.poll(); + } + } + + @Override + public Map getMonthOfYearContrastPublic(QcInterface qcInterface) { + Map map= new HashMap(); + DynamicDataSourceContextHolder.push("ds_1000"); + try { + int currentYear = Year.now().getValue(); + int previousYear = currentYear - 1; + //今年数据 + List mapListCurrentYear = qcInterfaceMapper.NoncompliantProduct(currentYear); + //去年数据 + List mapListPreviousYear= qcInterfaceMapper.NoncompliantProduct(previousYear); + map.put("mapListCurrentYear",mapListCurrentYear); + map.put("mapListPreviousYear",mapListPreviousYear); + }catch (Exception e){ + e.printStackTrace(); + }finally { + DynamicDataSourceContextHolder.poll(); + } + return map; + } + + @Override + public Map> getBpMonthNoOkPublic(String queryDate) { + DynamicDataSourceContextHolder.push("ds_1000"); + try { + Map> dtoMap = new HashMap<>(); + + String nowYMD = DateUtils.getDate(); + String[] nowYMDs = nowYMD.split("-"); + int nowMonth = Integer.parseInt(nowYMDs[1]); + List monthNames = new ArrayList<>(); + + Map noOkHzs = qcInterfaceMapper.getBpMonthNoOk(queryDate); + List monthData = new ArrayList<>(); + + for (int mh = 1; mh <= nowMonth; mh++) { + String yyyymm = nowYMDs[0] + "-" + String.format("%02d", mh); + monthNames.add(yyyymm); + if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) { + monthData.add(noOkHzs.get(yyyymm).getNoOkQuality()); + } else { + monthData.add("0"); + } + } + + dtoMap.put("month", monthNames); + dtoMap.put("monthData", monthData); + return dtoMap; + }finally { + DynamicDataSourceContextHolder.poll(); + } + } }