4bd23601 张雷

Merge remote-tracking branch 'origin/master' into master

2 个父辈 6a45629d 4cbfa4e4
package com.skua.tool.dfs;
/**
* <pre>
* cash when 拼接
* </pre>
*
* @author sonin
* @version 1.0 2023/11/23 16:49
*/
public class CaseWhen {
private String SPACE = " ";
private String COMMA = ",";
private String DOUBLE_QUOTES = "\"";
private StringBuilder caseWhenSB = new StringBuilder();
public CaseWhen selectCaseWhen(String caseWhen, String then, String els, String alias) {
caseWhenSB.append(COMMA).append(SPACE).append("ifnull(sum(case when (").append(caseWhen).append(") then ").append(then).append(" else ").append(els).append(" end), 0) as ").append(DOUBLE_QUOTES).append(alias).append(DOUBLE_QUOTES);
return this;
}
public CaseWhen selectCaseWhen(String caseWhen, String alias) {
selectCaseWhen(caseWhen, "1", "0", alias);
return this;
}
public CaseWhen selectPgCaseWhen(String caseWhen, String then, String els, String alias) {
caseWhenSB.append(COMMA).append(SPACE).append("COALESCE(sum(case when (").append(caseWhen).append(") then cast(").append(then).append(" as float) else ").append(els).append(" end), 0) as ").append(DOUBLE_QUOTES).append(alias).append(DOUBLE_QUOTES);
return this;
}
public CaseWhen selectPgCaseWhen(String caseWhen, String alias) {
selectPgCaseWhen(caseWhen, "1", "0", alias);
return this;
}
/**
* <pre>
* mysql返回BigDecimal类型; pg返回Double类型
* </pre>
*
* @param
* @author sonin
* @Description: TODO(这里描述这个方法的需求变更情况)
*/
public String print() {
return caseWhenSB.toString().replaceFirst(COMMA + SPACE, "");
}
}
package com.skua.modules.emergency.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.skua.core.context.BaseContextHandler;
import com.skua.core.context.SpringContextUtils;
import com.skua.core.exception.JeecgBootException;
import com.skua.core.util.ConvertUtils;
import com.skua.core.util.DateUtils;
import com.skua.modules.base.service.IBaseService;
import com.skua.modules.emergency.dto.EmergencyRiskEventAddDTO;
import com.skua.modules.emergency.dto.EmergencyRiskEventHandleDto;
import com.skua.modules.emergency.entity.EmergencyRiskEvent;
......@@ -43,10 +45,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 应急风险事件
......@@ -65,6 +64,8 @@ public class EmergencyRiskEventServiceImpl extends ServiceImpl<EmergencyRiskEven
private DangerLevelManageShareMapper dangerLevelManageShareMapper;
@Autowired
private DangerInspectionRecordMapper dangerInspectionRecordMapper;
@Autowired
private IBaseService baseService;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -185,6 +186,19 @@ public class EmergencyRiskEventServiceImpl extends ServiceImpl<EmergencyRiskEven
sql += getRiskLibraryStatisticsSql(departIds, startDate, endDate);
List<RiskDatabaseResult> dataList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<RiskDatabaseResult>(RiskDatabaseResult.class));
try {
Map<String, Object> entityMap = new HashMap<>();
entityMap.put("id", null);
entityMap.put("log_name", "riskLibraryStatistics");
entityMap.put("log_content1",departIds);
entityMap.put("log_content2",sql);
entityMap.put("log_content3", JSONUtil.toJsonStr(dataList));
entityMap.put("create_time", new Date());
entityMap.put("create_by", BaseContextHandler.getUserName());
baseService.insert("test_log", entityMap);
} catch (Exception e) {
e.printStackTrace();
}
if(dataList != null && !dataList.isEmpty()){
return dataList.get(0);
}
......
......@@ -4,9 +4,12 @@ package com.skua.modules.equipment.controller;
* @auther kangwei
* @create 2025-03-08-14:08
*/
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.skua.common.constant.BusinessConstant;
import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.context.BaseContextHandler;
import com.skua.modules.base.service.IBaseService;
import com.skua.modules.common.service.ICommonSqlService;
import com.skua.modules.equipment.service.IEquipmentMaintainTaskService;
import com.skua.modules.equipment.service.IEquipmentRepairService;
......@@ -15,6 +18,7 @@ import com.skua.modules.equipment.vo.EquipmentMaintainTaskForm;
import com.skua.modules.equipment.vo.EquipmentRepairForm;
import com.skua.modules.system.entity.SysDepart;
import com.skua.modules.system.service.ISysDepartService;
import com.skua.tool.dfs.CaseWhen;
import com.skua.tool.util.JSUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -25,10 +29,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 维修维护报表
......@@ -47,6 +48,8 @@ public class EquipmentInfoMonthReportController {
private IEquipmentMaintainTaskService equipmentMaintainTaskService;
@Autowired
private IEquipmentRepairService equipmentRepairService;
@Autowired
private IBaseService baseService;
@AutoLog(value = "设备月报-设备管理情况")
@ApiOperation(value = "设备月报-设备管理情况", notes = "设备月报-设备管理情况")
......@@ -71,6 +74,37 @@ public class EquipmentInfoMonthReportController {
//5 设备更新情况
List<Map<String,Object>> equipmentUpdateList = equipmentUpdateList(departIds, startDate, endDate);
dataMap.put("equipmentUpdateList",equipmentUpdateList);
// 补充:获取子集结果 南京,武汉,恩菲
List<Map<String, Object>> childDataList = new ArrayList<>();
List<String> childDepartIdList = Arrays.asList("1892199062790823936", "1892199890272477184", "1818215543140909056");
List<SysDepart> sysDepartList = departService.list(new QueryWrapper<SysDepart>().in("id", childDepartIdList).orderByAsc("depart_order"));
for (SysDepart childSysDepart: sysDepartList) {
String childDepartIds = departService.getChildDepartId(childSysDepart.getId());
// 设备管理情况
Map<String,Object> childDataMap = equipmentDetail(childDepartIds, startDate, endDate);
// 设备大修、更新开展情况
CaseWhen caseWhen = new CaseWhen();
caseWhen.selectCaseWhen("equipment_maintain_task.results_enforcement = 3", "hasFinish");
caseWhen.selectCaseWhen("equipment_maintain_task.results_enforcement != 3", "notFinish");
QueryWrapper<?> queryWrapper0 = new QueryWrapper<>();
queryWrapper0.ge("equipment_maintain_task.maintain_time", startDate + BusinessConstant.startTimeSuffix)
.le("equipment_maintain_task.maintain_time", endDate + BusinessConstant.endTimeSuffix)
.eq("equipment_maintain_plan.maintenance_type", "dxjg")
.eq("equipment_maintain_plan.release_status", "1")
.ge("equipment_maintain_plan.start_time", startDate + BusinessConstant.startTimeSuffix)
.le("equipment_maintain_plan.end_time", endDate + BusinessConstant.endTimeSuffix)
.in("equipment_maintain_plan.depart_id", Arrays.asList(childDepartIds.split(",")));
Map<String, Object> queryMap0 = baseService.queryForMap("select " + caseWhen.print() + " from equipment_maintain_task left join equipment_maintain_plan on equipment_maintain_task.plan_id = equipment_maintain_plan.id", queryWrapper0);
childDataMap.put("hasFinish", queryMap0.get("hasFinish"));
childDataMap.put("notFinish", queryMap0.get("notFinish"));
// 设备更新情况
List<Map<String,Object>> childEquipmentUpdateList = equipmentUpdateList(childDepartIds, startDate, endDate);
childDataMap.put("equipmentUpdateList", childEquipmentUpdateList);
childDataMap.put("departName", childSysDepart.getDepartName());
childDataMap.put("departId", childSysDepart.getId());
childDataList.add(childDataMap);
}
dataMap.put("childData", childDataList);
result.setSuccess(true);
result.setResult(dataMap);
return result;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!