36cfe130 康伟

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	sk-module-biz/src/main/java/com/skua/modules/statistics/service/impl/EquipmentStatisticsServiceImpl.java
2 个父辈 507acdb6 f76b9f1b
......@@ -10,13 +10,9 @@ import com.skua.modules.common.service.IPgCommonService;
import com.skua.modules.statistics.mapper.EquipmentStatisticsMapper;
import com.skua.modules.statistics.service.IEquipmentStatisticsService;
import com.skua.modules.statistics.vo.EquipmentFailurelVO;
import com.skua.modules.statistics.vo.EquipmentOperationRecordVO;
import com.skua.modules.statistics.vo.EquipmentRepairMaintainTaskCostDetailVO;
import com.skua.modules.statistics.vo.EquipmentRepairMaintainTaskCostVO;
import com.skua.tool.util.JSUtils;
import com.skua.tool.util.UniqIdUtils;
import lombok.SneakyThrows;
import netscape.javascript.JSUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
......@@ -171,6 +167,71 @@ public class EquipmentStatisticsServiceImpl implements IEquipmentStatisticsServ
return dataList;
}
/***
* 设备运行时长填报数据
* @param departId
* @param startTime
* @param endTime
* @return
*/
@Transactional
public boolean fillOutEquipmentInfoDuration(String departId,String startTime,String endTime) throws Exception{
//清理数据
String deleteSql = " delete from equipment_info_duration where depart_id = '"+departId+"' and date_time >= '"+startTime+"' and date_time <='"+endTime+"' ";
commonSqlService.delete(deleteSql);
//2
String countTableName = commonSqlService.queryForString("select device_id from sys_factory_device where depart_id = '" + departId + "'");
// 步骤3
String metric_sql = "select t.equipment_code as 'info_id', ei.equipment_name , t.metric_express1 'gzExpress' , t.metric_express2 'yxExpress' ,t.metric_express3 'tzExpress' from sys_monitor_metric_info t ";
metric_sql += " left join equipment_info ei on ei.id = t.equipment_code where t.metric_type = 1 and t.depart_id = '"+departId+"' and t.equipment_code > 0 ";
List<Map<String, Object>> metricMapList = commonSqlService.queryForList(metric_sql);
if(startTime.length() < 11 ){
startTime = startTime +" 00:00:00";
}
if(endTime.length() < 11 ){
endTime = endTime +" 23:59:59";
}
String tsStartTime = String.valueOf(DateUtils.getMillis(DateUtils.parseDate(startTime, "yyyy-MM-dd HH:mm:ss")) / 1000L);
String tsEndTime = String.valueOf(DateUtils.getMillis(DateUtils.parseDate(endTime, "yyyy-MM-dd HH:mm:ss")) / 1000L);
String pgSql = null;
//步骤4 查询 pg数据库
List<Map<String, Object>> dataList = null;
String insertSql = null;
if(metricMapList != null && !metricMapList.isEmpty()){
for(Map<String, Object> metricMap : metricMapList){ //遍历设备记录以及metric 标签
pgSql = "select aaaaa.depart_id, aaaaa.info_id, aaaaa.time data_time, aaaaa.yx_duration ,bbbbb.gz_duration from (";
pgSql += " select '"+departId+"' depart_id, '"+metricMap.get("info_id")+"' info_id , aaa.time , ROUND(SUM( to_number ( aaa.monitorValue, '9999999999999999.99' ) ) / 60 ,2)as yx_duration from ( ";
pgSql += " select TO_TIMESTAMP(ts ::BIGINT)::DATE AS time,nm as monitorId,v as monitorValue from TCSWSCLC_count where nm ='"+metricMap.get("yxExpress")+"' and ts>='"+tsStartTime+"' and ts <'"+tsEndTime+"' ";
pgSql += " ) aaa group by aaa.time order by aaa.time asc ";
pgSql += " ) aaaaa ";
if(metricMap.get("gzExpress") != null ){
pgSql += " left join ( ";
pgSql += " select aaa.time , ROUND(SUM( to_number ( aaa.monitorValue, '9999999999999999.99' ) ) / 60 ,2)as gz_duration from ( ";
pgSql += " select TO_TIMESTAMP(ts ::BIGINT)::DATE AS time,nm as monitorId,v as monitorValue from TCSWSCLC_count where nm ='"+metricMap.get("yxExpress")+"' and ts>='"+tsStartTime+"' and ts <'"+tsEndTime+"' ";
pgSql += " ) aaa group by aaa.time order by aaa.time asc ";
pgSql += " )bbbbb on aaaaa.time = bbbbb.time ";
}
dataList = pgCommonService.queryForList(pgSql);
//总时间长
}
}
return false;
}
private JdbcTemplate getJdbcTemplate(){
JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
return jdbcTemplate;
......
......@@ -582,6 +582,28 @@
ROUND(SUM(v3.NACLO),2) AS NACLO,
ROUND(SUM(v3.PACGT),2) AS PACGT,
ROUND(SUM(v3.PACYT),2) AS PACYT,
ROUND(SUM(v3.SSALFE),2) AS SSALFE,
ROUND(SUM(v3.PAFS),2) AS PAFS,
ROUND(SUM(v3.YLFW),2) AS YLFW,
ROUND(SUM(v3.FHTY),2) AS FHTY,
ROUND(SUM(v3.LS),2) AS LS,
ROUND(SUM(v3.C6H8O7),2) AS C6H8O7,
ROUND(SUM(v3.NAOH),2) AS NAOH,
ROUND(SUM(v3.FECL2),2) AS FECL2,
ROUND(SUM(v3.NACLO3),2) AS NACLO3,
ROUND(SUM(v3.HXT),2) AS HXT,
ROUND(SUM(v3.HCL),2) AS HCL,
ROUND(SUM(v3.LCL2),2) AS LCL2,
ROUND(SUM(v3.YJ),2) AS YJ,
ROUND(SUM(v3.HCOOH),2) AS HCOOH,
ROUND(SUM(v3.XHJ),2) AS XHJ,
ROUND(SUM(v3.CF),2) AS CF,
ROUND(SUM(v3.DK),2) AS DK,
ROUND(SUM(v3.PAFC),2) AS PAFC,
ROUND(SUM(v3.PACZ),2) AS PACZ,
ROUND(SUM(v3.JJ),2) AS JJ,
ROUND(SUM(v3.C6H12O6),2) AS C6H12O6,
ROUND(SUM(v3.CFJ),2) AS CFJ,
v3.BZ AS BZ,
v3.depart_id AS depart_id,
LEFT(v3.time,7) AS time
......@@ -664,6 +686,28 @@
ROUND(SUM(v3.NACLO),2) AS NACLO,
ROUND(SUM(v3.PACGT),2) AS PACGT,
ROUND(SUM(v3.PACYT),2) AS PACYT,
ROUND(SUM(v3.SSALFE),2) AS SSALFE,
ROUND(SUM(v3.PAFS),2) AS PAFS,
ROUND(SUM(v3.YLFW),2) AS YLFW,
ROUND(SUM(v3.FHTY),2) AS FHTY,
ROUND(SUM(v3.LS),2) AS LS,
ROUND(SUM(v3.C6H8O7),2) AS C6H8O7,
ROUND(SUM(v3.NAOH),2) AS NAOH,
ROUND(SUM(v3.FECL2),2) AS FECL2,
ROUND(SUM(v3.NACLO3),2) AS NACLO3,
ROUND(SUM(v3.HXT),2) AS HXT,
ROUND(SUM(v3.HCL),2) AS HCL,
ROUND(SUM(v3.LCL2),2) AS LCL2,
ROUND(SUM(v3.YJ),2) AS YJ,
ROUND(SUM(v3.HCOOH),2) AS HCOOH,
ROUND(SUM(v3.XHJ),2) AS XHJ,
ROUND(SUM(v3.CF),2) AS CF,
ROUND(SUM(v3.DK),2) AS DK,
ROUND(SUM(v3.PAFC),2) AS PAFC,
ROUND(SUM(v3.PACZ),2) AS PACZ,
ROUND(SUM(v3.JJ),2) AS JJ,
ROUND(SUM(v3.C6H12O6),2) AS C6H12O6,
ROUND(SUM(v3.CFJ),2) AS CFJ,
v3.BZ AS BZ,
v3.depart_id AS depart_id,
v3.time
......
......@@ -716,15 +716,15 @@ public class PowerAnalysisNewServiceImpl implements IPowerAnalysisNewService {
}
@Override
public Map<String, Object> powerCutDownListByFac(String startTime, String endTime, String factoryId) {
public Map<String, Object> powerCutDownListByFac(String startTime, String endTime, String departId) {
String departIds = BaseContextHandler.getDeparts();
String dataViewName3a24 = ReportViewUtil.buildView(ReportConstant.view3a24,"DLHJ", departIds, startTime, endTime);
String dataViewName2119 = ReportViewUtil.buildView(ReportConstant.view2119,"CSL", departIds, startTime, endTime);
DecimalFormat df = new DecimalFormat("#.##");
Map<String, Object> result = Maps.newHashMap();
List<Map<String, Object>> facLists = waterCountAnalysisNewMapper.queryFacLists(factoryId, departIds);
List<Map<String, Object>> facLists = waterCountAnalysisNewMapper.queryFacLists(departId, departIds);
Map<String, List<Map<String, Object>>> tmp = Maps.newHashMap();
List<Map<String, Object>> data = powerAnalysisNewMapper.queryDataByCodeAndtime(startTime, endTime, factoryId, "'CSCOD','JSCOD','CSNH3N','JSNH3N','CSTN','JSTN','JSTP','CSTP'");
List<Map<String, Object>> data = powerAnalysisNewMapper.queryDataByCodeAndtime(startTime, endTime, departId, "'CSCOD','JSCOD','CSNH3N','JSNH3N','CSTN','JSTN','JSTP','CSTP'");
Map<String, Map<String, Double>> tmpMap = Maps.newHashMap();
if (data != null && data.size() > 0) {
for (Map<String, Object> datum : data) {
......@@ -738,7 +738,7 @@ public class PowerAnalysisNewServiceImpl implements IPowerAnalysisNewService {
}
}
//耗电量和水量
List<Map<String, Object>> hdl = powerAnalysisNewMapper.queryHDLAndSL(dataViewName3a24, dataViewName2119, startTime, endTime, factoryId);
List<Map<String, Object>> hdl = powerAnalysisNewMapper.queryHDLAndSL(dataViewName3a24, dataViewName2119, startTime, endTime, departId);
if (hdl != null && hdl.size() > 0) {
for (Map<String, Object> objectMap : hdl) {
String factoryId1 = (String) objectMap.get("factoryId");
......
......@@ -2,6 +2,7 @@ package com.skua.modules.job;
import com.skua.common.constant.ReportConstant;
import com.skua.core.context.SpringContextUtils;
import com.skua.core.util.ConvertUtils;
import com.skua.core.util.DateUtils;
import com.skua.modules.report.service.IReportDataService;
import lombok.extern.slf4j.Slf4j;
......@@ -47,9 +48,10 @@ public class NFDataSyncJob implements Job {
if(StringUtils.isNotEmpty(this.parameter)){
yesterday = this.parameter;
}
Map<String,String> nfData = nfDrugConvert();
log.info("开始同步【"+yesterday+"】恩菲的数据入报表");
JdbcTemplate nfDb = (JdbcTemplate) SpringContextUtils.getBean("nf-db");
String sql = "select * from day_report_data where update_time like '"+yesterday+"%'";
String sql = "select * from day_report_data where update_time like '"+yesterday+"%' and item_type = 'nhrb'";
List<Map<String, Object>> dataList = nfDb.queryForList(sql);
if(dataList.size() > 0){
for (Map<String, Object> map : dataList) {
......@@ -78,6 +80,9 @@ public class NFDataSyncJob implements Job {
data.put(itemCode, itemValue);
}
}else if("nhrb".equals(itemType)){
if(ConvertUtils.isNotEmpty(nfData.get(itemCode))){
itemCode = nfData.get(itemCode);
}
data.put(itemCode, itemValue);
data.put("reportId", ReportConstant.view3a24);
reportDataService.insertOrUpdateReportData(departId, time, data, ReportConstant.view3a24);
......@@ -89,4 +94,18 @@ public class NFDataSyncJob implements Job {
log.info("恩菲的数据入报表完成");
}
/**
* 恩菲的药品转换
* @return
*/
private Map<String, String> nfDrugConvert() {
Map<String,String> map = new HashMap<>();
map.put("PAC", "PACGT");
map.put("CPAM", "PAMZ");
map.put("APAM", "PAMF");
map.put("CPAME", "PAMRJ");
map.put("CAOH2", "SH");
return map;
}
}
......
package com.skua.modules.inspection.controller.web;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.core.api.vo.Result;
import com.skua.core.util.ConvertUtils;
import com.skua.modules.inspection.service.IInspectionFillGroupFillService;
import com.skua.modules.inspection.vo.InspectionFillVO;
import com.skua.modules.inspection.vo.InspectionGroupFillUpdateListVO;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
......@@ -35,12 +39,28 @@ public class InspectionFillGroupFillController {
* @author Xie Chao,2021-08-14 10:26
*/
@GetMapping("/getInspectionFillGroupFill")
public Result<List<Map<String, Object>>> getInspectionFillGroupFill(String groupName,String departId) {
Result<List<Map<String, Object>>> result = new Result<>();
public Result<IPage<Map<String, Object>>> getInspectionFillGroupFill(String groupName,String departId,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Result<IPage<Map<String, Object>>> result = new Result<>();
Page<Map<String, Object>> page = new Page<>(pageNo, pageSize);
try {
List<Map<String, Object>> list = inspectionFillGroupFillService.getInspectionFillGroupFill(groupName,departId);
// 计算总数
long count = list.size();
if (pageNo * pageSize <= list.size()) {
list = list.subList(ConvertUtils.getInt((pageNo - 1) * pageSize), ConvertUtils.getInt(pageNo * pageSize));
} else {
list = list.subList(ConvertUtils.getInt((pageNo - 1) * pageSize), ConvertUtils.getInt(list.size()));
}
// 设置页数
page.setSize(page.getSize());
// 设置总数
page.setTotal(count);
// 设置数据
page.setRecords(list);
result.setSuccess(true);
result.setResult(list);
result.setResult(page);
} catch (Exception e) {
e.printStackTrace();
log.error("获取巡检填报组和填报项失败", e.getMessage());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!