890ef096 康伟

kangwei: 设备分析相关接口-1

1 个父辈 d2f8458b
正在显示 15 个修改的文件 包含 360 行增加29 行删除
......@@ -111,6 +111,31 @@ public class EquipmentController {
@Autowired
private Key2ValueService key2ValueService;
@AutoLog(value = "设备台账-分页")
@ApiOperation(value = "设备台账-分页", notes = "设备台账-分页列表")
@GetMapping(value = "/queryByPage")
public Result<IPage<EquipmentInfo>> allList(EquipmentInfo equipmentInfo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize ,HttpServletRequest req ) throws Exception {
Result<IPage<EquipmentInfo>> result = new Result<IPage<EquipmentInfo>>();
QueryWrapper<EquipmentInfo> queryWrapper = QueryGenerator.initQueryWrapper(equipmentInfo, req.getParameterMap());
// queryWrapper.eq("depart_id", BaseContextHandler.getRealDepartId());
/* if(equipmentInfo.getDepartId()==null){
equipmentInfo.setDepartId(BaseContextHandler.getDeparts());
}*/
/* if(model==1){
queryWrapper.isNotNull("digital_twins_struct_code");
queryWrapper.last(" and digital_twins_struct_code != ''");
}*/
Page<EquipmentInfo> page = new Page<EquipmentInfo>(pageNo, pageSize);
// queryWrapper.orderByDesc("create_time");
IPage<EquipmentInfo> pageList = equipmentInfoService.page(page,queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
return result;
}
@AutoLog(value = "设备台账-所有设备")
@ApiOperation(value = "设备台账-所有设备", notes = "设备台账-所有设备")
@GetMapping(value = "/allList")
......
......@@ -105,12 +105,13 @@ public class EquipmentInfoMonthReportController {
maintainRepairReportVO.setMaintainTaskFormList(taskFormList);
equipmentRepairForm.setDepartId(departIdTemp);
//equipmentRepairForm.setFinishFlag("'ywx','yys'");
repairFormList = equipmentRepairService.queryRepairFormList(equipmentRepairForm);
maintainRepairReportVO.setEquipmentRepairFormList(repairFormList);
dataList.add(maintainRepairReportVO );
}
result.setSuccess(true);
result.setResult(dataList);
return result;
......@@ -129,8 +130,8 @@ public class EquipmentInfoMonthReportController {
sql = "select round(ifnull(sum(total_cost),0)/10000,2) 'repair_cost' from equipment_repair where reality_maintenance_end_time >= '"+startDate+" 00:00:00' and reality_maintenance_end_time <='"+endDate+" 23:59:59'";
String repair_cost = commonSqlService.queryForString(sql);
dataMap.put("repairCost",repair_cost);//执行XX万元
dataMap.put("executionRate","");//执行比例
String expression = "100 * "+ repair_cost +" /"+plan_cost;
dataMap.put("executionRate",JSUtils.executeExpression(expression,"0.00"));//执行比例
//本月计划开展大修技改项目XX项,完成XX项
......@@ -159,7 +160,8 @@ public class EquipmentInfoMonthReportController {
//水务公司设备管理统计表
private List<Map<String,Object>> equipmentStatistics(String departIds,String startDate,String endDate){
String sql = "select d.id depart_id , d.depart_name ,round(ifnull(aaa.intact,0),2) 'intact', round(ifnull(bbb.plan_cost,0),2) 'plan_cost', round(ifnull(ccc.repair_cost,0),2) 'repair_cost',";
String sql = " select TTT.* from ( ";
sql += "select d.id depart_id , d.depart_name ,round(ifnull(aaa.intact,0),2) 'intact', round(ifnull(bbb.plan_cost,0),2) 'plan_cost', round(ifnull(ccc.repair_cost,0),2) 'repair_cost',";
sql += " ifnull(ifnull(100 * eee.repair_form_complete_count,0) / ifnull(ddd.repair_form_total_count,9999999999999.99),0) 'repair_form_complete_rate', ifnull(eee.repair_form_complete_count,0) 'repair_form_complete_count', ifnull(ifnull(fff.complete_count,0)*100 / ifnull(ggg.total_count,9999999999999.99),0) 'inspection_complete_rate'";
sql += " from sys_depart d ";
sql += " left join ( SELECT er.depart_id ,ifnull(( COUNT(id)*30 - IFNULL( SUM( UNIX_TIMESTAMP( reality_maintenance_end_time )- UNIX_TIMESTAMP( repair_date ) )/ 60 / 60 / 24, 0 )) *100/ (COUNT(id)*30) , 0) 'intact' FROM equipment_repair er ";
......@@ -175,41 +177,56 @@ public class EquipmentInfoMonthReportController {
sql += " and d.id in ("+ JSUtils.quoteEach(departIds,",") +") ";
}
sql += " order by aaa.intact desc ";
sql += " ) TTT where (TTT.intact+TTT.plan_cost+TTT.repair_cost+TTT.repair_form_complete_rate+TTT.repair_form_complete_count+TTT.inspection_complete_rate)>0";
return commonSqlService.queryForList(sql);
}
//设备大修、更新开展情况
//2 设备大修、更新开展情况
private List<Map<String,Object>> equipmentMaintainList(String departIds,String startDate,String endDate){
String sql = "select d.id depart_id , d.depart_name , ifnull(aaa.plan_name,'') 'plan_name' , round( ifnull(aaa.plan_cost,0), 2) 'plan_cost', round(ifnull(bbb.maintenance_cost,0),2) 'maintenance_cost' ,'' as 'reason' from sys_depart d ";
/* String sql = "select d.id depart_id , d.depart_name , ifnull(aaa.plan_name,'') 'plan_name' , round( ifnull(aaa.plan_cost,0), 2) 'plan_cost', round(ifnull(bbb.maintenance_cost,0),2) 'maintenance_cost' ,'' as 'reason' from sys_depart d ";
sql += " left join (select depart_id, GROUP_CONCAT(plan_name,',') 'plan_name' ,(sum(ifnull(plan_cost,0))/10000) 'plan_cost' from equipment_maintain_plan where maintenance_type = 'dxjg' and release_status='1' and start_time >= '"+startDate+" 00:00:00' and end_time <='"+endDate+" 23:59:59' group by depart_id )aaa on aaa.depart_id = d.id ";
sql += " left join ( select emt.depart_id, sum(ifnull(maintenance_cost,0)) maintenance_cost from equipment_maintain_task emt ,equipment_maintain_plan emp where emt.plan_id = emp.id and emp.maintenance_type = 'dxjg' and emt.maintain_time >= '"+startDate+" 00:00:00' and emt.maintain_time <='"+endDate+" 23:59:59' group by emt.depart_id )bbb on bbb.depart_id = d.id ";
sql += " where d.depart_type = 1 ";
sql += " where d.depart_type = 1 ";*/
String sql = "select d.depart_name, t.depart_id, t.plan_name , (t.plan_cost/10000) 'plan_cost' ,round(ifnull(aaa.maintenance_cost,0) ,2)maintenance_cost , '' as 'reason' from equipment_maintain_plan t ";
sql += " left join (select emt.plan_id, sum(ifnull(maintenance_cost,0)) maintenance_cost from equipment_maintain_task emt where emt.maintain_time >= '"+startDate+" 00:00:00' and emt.maintain_time <='"+endDate+" 23:59:59' group by emt.plan_id )aaa on aaa.plan_id = t.id ";
sql += " left join sys_depart d on t.depart_id = d.id ";
sql += " where t.maintenance_type = 'dxjg' and t.release_status='1' and t.start_time >= '"+startDate+" 00:00:00' and t.end_time <='"+endDate+" 23:59:59' ";
if(StringUtils.isNotEmpty(departIds)){
sql += " and d.id in ("+ JSUtils.quoteEach(departIds,",") +") ";
sql += " and t.depart_id in ("+ JSUtils.quoteEach(departIds,",") +") ";
}
return commonSqlService.queryForList(sql);
}
//4、A类重点设备运行情况
private List<Map<String,Object>> equipmentARunList(String departIds,String startDate,String endDate){
String sql =" select d.id 'depart_id', d.depart_name , aaa.equipment_name, aaa.fault_library_id ,aaa.fault_content from sys_depart d";
/*String sql =" select d.id 'depart_id', d.depart_name , aaa.equipment_name, aaa.fault_library_id ,aaa.fault_content from sys_depart d";
sql += " left join (select er.id 'info_id', er.depart_id , ei.equipment_name , GROUP_CONCAT(er.fault_content) fault_content , GROUP_CONCAT( er.fault_library_id) fault_library_id from equipment_repair er , equipment_info ei ";
sql += " where er.info_id = ei.id and ei.equipment_level = '6bf727eb7e7cca6a95c694dab0036b2c' and repair_date >= '"+startDate+" 00:00:00' and repair_date <='"+endDate+" 23:59:59' ";
sql += " group by er.depart_id ,er.info_id )aaa on aaa.depart_id = d.id ";
sql += " where d.depart_type = 1 ";
sql += " where d.depart_type = 1 ";*/
String sql = "select d.depart_name, aaa.* from (";
sql += " select er.info_id, er.depart_id , ei.equipment_name , er.fault_content , er.fault_library_id from equipment_repair er , equipment_info ei ";
sql += " where er.info_id = ei.id and ei.equipment_level = '6bf727eb7e7cca6a95c694dab0036b2c' and repair_date >= '"+startDate+" 00:00:00' and repair_date <='"+endDate+" 23:59:59' ";
sql += " )aaa left join sys_depart d on aaa.depart_id = d.id ";
if(StringUtils.isNotEmpty(departIds)){
sql += " and d.id in ("+ JSUtils.quoteEach(departIds,",") +") ";
sql += " and aaa.id in ("+ JSUtils.quoteEach(departIds,",") +") ";
}
return commonSqlService.queryForList(sql);
}
//5、设备更新情况
private List<Map<String,Object>> equipmentUpdateList(String departIds,String startDate,String endDate){
String sql = "select d.id 'depart_id', d.depart_name , aaa.equipment_name, aaa.asset_amount, aaa.equipment_level from sys_depart d";
/* String sql = "select d.id 'depart_id', d.depart_name , aaa.equipment_name, aaa.asset_amount, aaa.equipment_level from sys_depart d";
sql += " left join (select t.id 'info_id', t.depart_id , t.equipment_name, t.asset_amount, di.item_text 'equipment_level' from equipment_info t ";
sql += " left join sys_dict_item di on di.item_value = t.equipment_level where t.install_date >= '"+startDate+"' and t.install_date <= '"+endDate+"' group by t.depart_id ";
sql += " )aaa on aaa.depart_id = d.id ";
sql += " where d.depart_type = 1 ";
sql += " where d.depart_type = 1 ";*/
String sql ="select d.depart_name, aaa.* from (";
sql += " select t.id 'info_id', t.depart_id , t.equipment_name, t.asset_amount, di.item_text 'equipment_level' from equipment_info t ";
sql += " left join sys_dict_item di on di.item_value = t.equipment_level ";
sql += " where t.install_date >= '"+startDate+"' and t.install_date <= '"+endDate+"' ";
sql += ")aaa left join sys_depart d on aaa.depart_id = d.id ";
if(StringUtils.isNotEmpty(departIds)){
sql += " and d.id in ("+ JSUtils.quoteEach(departIds,",") +") ";
sql += " and aaa.id in ("+ JSUtils.quoteEach(departIds,",") +") ";
}
return commonSqlService.queryForList(sql);
}
......
......@@ -8,9 +8,11 @@ import com.skua.modules.equipment.service.IEquipmentMaintainTaskService;
import com.skua.modules.equipment.service.IEquipmentRepairService;
import com.skua.modules.equipment.vo.EquipmentMaintainTaskForm;
import com.skua.modules.equipment.vo.EquipmentRepairForm;
import com.skua.tool.util.JSUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -43,6 +45,9 @@ public class EquipmentRepairReportController {
Result<IPage<EquipmentRepairForm>> result = new Result<IPage<EquipmentRepairForm>>();
Page<EquipmentRepairForm> page = new Page<EquipmentRepairForm>(pageNo, pageSize);
if(StringUtils.isNotEmpty(equipmentRepairForm.getFinishFlag())){
equipmentRepairForm.setFinishFlag(JSUtils.quoteEach(equipmentRepairForm.getFinishFlag(),","));
}
IPage<EquipmentRepairForm> pageList = equipmentRepairService.queryRepairFormByPage(page, equipmentRepairForm);
result.setSuccess(true);
result.setResult(pageList);
......
package com.skua.modules.equipment.controller;
import com.skua.core.api.vo.Result;
import com.skua.core.context.BaseContextHandler;
import com.skua.modules.equipment.service.IEquipmentInfoService;
import com.skua.modules.equipment.service.IEquipmentSingleStatisticsService;
import com.skua.modules.equipment.vo.EquipmentFailurelVO;
import com.skua.modules.equipment.vo.EquipmentRepairMaintainTaskCostDetailVO;
import com.skua.modules.equipment.vo.EquipmentRepairMaintainTaskCostVO;
import com.skua.tool.util.JSUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -27,6 +33,8 @@ import java.util.Map;
public class EquipmentSingleStatisticsController {
@Autowired
private IEquipmentSingleStatisticsService equipmentSingleStatisticsService;
@Autowired
private IEquipmentInfoService equipmentInfoService;
/**
* <pre>
* 设备看板-设备故障分析
......@@ -52,6 +60,54 @@ public class EquipmentSingleStatisticsController {
}
return result;
}
//
@ApiOperation(value = "设备看板-维修维护费用列表", notes = "设备看板-维修维护费用列表,")
@GetMapping(value = "/repairMaintainTaskCostList")
public Result<List<EquipmentRepairMaintainTaskCostVO>> repairMaintainTaskCostList( String startTime, String endTime) {
Result<List<EquipmentRepairMaintainTaskCostVO>> result = new Result<>();
try {
String departIds = BaseContextHandler.getDeparts();
List<EquipmentRepairMaintainTaskCostVO> dataList = equipmentSingleStatisticsService.repairMaintainTaskCostList(JSUtils.quoteEach(departIds,","),startTime,endTime);
result.setSuccess(true);
result.setResult(dataList);
} catch (Exception e) {
log.error("维修维护费用列表", e.getMessage());
result.error500("维修维护费用列表");
}
return result;
}
@ApiOperation(value = "设备看板-维修维护费用-详情列表", notes = "设备看板-维修维护费用-详情列表")
@GetMapping(value = "/repairMaintainTaskCostDetailList")
public Result<List<EquipmentRepairMaintainTaskCostDetailVO>> repairMaintainTaskCostList(String departId, String startTime, String endTime) {
Result<List<EquipmentRepairMaintainTaskCostDetailVO>> result = new Result<>();
try {
List<EquipmentRepairMaintainTaskCostDetailVO> dataList = equipmentSingleStatisticsService.repairMaintainTaskCostDetailList(departId,startTime,endTime);
result.setSuccess(true);
result.setResult(dataList);
} catch (Exception e) {
log.error("维修维护费用列表", e.getMessage());
result.error500("维修维护费用列表");
}
return result;
}
/* @ApiOperation(value = "设备看板-设备故障分页列表", notes = "设备看板-设备故障分页列表")
@GetMapping(value = "/equipmentFailurePage")
public Result<List<EquipmentFailurelVO>> queryEquipmentFailurePage(String departId, String startTime, String endTime) {
Result<List<EquipmentFailurelVO>> result = new Result<>();
try {
List<EquipmentFailurelVO> dataList = equipmentInfoService.queryEquipmentFailurePage(departId,startTime,endTime);
result.setSuccess(true);
result.setResult(dataList);
} catch (Exception e) {
log.error("维修维护费用列表", e.getMessage());
result.error500("维修维护费用列表");
}
return result;
}*/
/**
* <pre>
* 设备看板-故障类型分布
......
......@@ -198,6 +198,7 @@ public class EquipmentInfo {
* 所属公司
*/
@ApiModelProperty(value = "所属公司")
@Dict(dictTable = "sys_depart", dicCode="id", dicText = "depart_name")
private String createCmpy;
/**
* 删除标识,0:正常,1:删除
......
......@@ -233,6 +233,8 @@
and aaa.end_time &lt;= #{endTime}
</if>
</where>
order by aaa.end_time desc
</select>
</mapper>
......
......@@ -120,16 +120,18 @@
<!-- 维修维护报表-维修工单列表 -->
<select id="queryRepairFormList" resultType="com.skua.modules.equipment.vo.EquipmentMaintainTaskForm">
select aaa.* from (
select
ei.equipment_name , ec.des 'equipment_category', di.item_text 'maintenance_type',
ifnull(u.realname,'-') 'maintenance_user',
er.depart_id,er.repair_date,er.fault_reason,er.is_stop,er.reality_maintenance_start_time,er.reality_maintenance_end_time,
ifnull(er.fault_library_id,'-') 'repair_content'
from equipment_repair er
left join equipment_info ei on ei.id = er.info_id
left join equipment_category ec on ei.equipment_type = ec.id
left join sys_user u on er.maintenance_user = u.id
left join sys_dict_item di on di.item_value = er.maintenance_type
select
er.depart_id ,
ei.equipment_name , ec.des 'equipment_category', di.item_text 'maintenance_type',
ifnull(u.realname,'-') 'maintenance_user',
er.repair_date,er.fault_reason,er.is_stop,er.reality_maintenance_start_time,er.reality_maintenance_end_time,
ifnull(EXTRACT(HOUR FROM (er.reality_maintenance_end_time - er.repair_date)),0) AS stopTime,
ifnull(er.fault_library_id,'-') 'repair_content'
from equipment_repair er
left join equipment_info ei on ei.id = er.info_id
left join equipment_category ec on ei.equipment_type = ec.id
left join sys_user u on er.maintenance_user = u.id
left join sys_dict_item di on di.item_value = er.maintenance_type
)aaa
<where>
<if test="departId != null and departId !=''">
......@@ -146,7 +148,7 @@
</if>-->
<if test="finishFlag != null and finishFlag !=''">
and aaa.finish_flag = #{finishFlag}
and aaa.finish_flag in (${finishFlag})
</if>
<if test="repairDate != null and repairDate !=''">
......@@ -177,6 +179,8 @@
and aaa.maintenance_type = #{maintenanceType}
</if>
</where>
order by aaa.repair_date desc
</select>
</mapper>
......
......@@ -3,6 +3,8 @@ package com.skua.modules.equipment.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.alarmtmp.entity.AlarmRecordHistory;
import com.skua.modules.equipment.vo.EquipmentRepairMaintainTaskCostDetailVO;
import com.skua.modules.equipment.vo.EquipmentRepairMaintainTaskCostVO;
import java.util.List;
import java.util.Map;
......@@ -112,4 +114,22 @@ public interface IEquipmentSingleStatisticsService extends IService<AlarmRecordH
* @Description: TODO(这里描述这个方法的需求变更情况)
*/
List<Map<String, Object>> getEquipmentSparepartInfo(String equipmentId, String timePeriod, String startTime,String endTime);
/**
* 维修维护费用列表
* @param departIds
* @param startTime
* @param endTime
* @return
*/
List<EquipmentRepairMaintainTaskCostVO> repairMaintainTaskCostList(String departIds, String startTime, String endTime);
/***
* 维修维护费用列表 明细列表
* @param departId
* @param startTime
* @param endTime
* @return
*/
List<EquipmentRepairMaintainTaskCostDetailVO> repairMaintainTaskCostDetailList(String departId, String startTime, String endTime);
}
......
......@@ -11,6 +11,7 @@ import com.skua.core.context.BaseContextHandler;
import com.skua.core.excel.CustomExcelUtil;
import com.skua.core.excel.CustomExcelUtil07;
import com.skua.core.excel.entity.HeadEntity;
import com.skua.modules.common.service.ICommonSqlService;
import com.skua.modules.equipment.entity.EquipmentAsset;
import com.skua.modules.equipment.service.IEquipmentAssetService;
import com.skua.modules.system.datestandard.mapper.SysStructDictMapper;
......@@ -62,6 +63,8 @@ public class EquipmentInfoServiceImpl extends ServiceImpl<EquipmentInfoMapper, E
private ISequenceService sequenceService;
@Autowired
private ICrudSqlService iCrudSqlService;
@Autowired
private ICommonSqlService commonSqlService;
@Resource
private ISysStructDictService sysStructDictService;
@Autowired
......@@ -90,6 +93,11 @@ public class EquipmentInfoServiceImpl extends ServiceImpl<EquipmentInfoMapper, E
String[] items = equipmentInfo.getStartUseDate().split("-");
equipmentInfo.setAdviceReplaceDate(Integer.parseInt(items[0]) + equipmentInfo.getLimitUseYear() + "-" + items[1] + "-" + items[2]);
}
//为create_cmpy赋值
if(StringUtils.isNotEmpty(equipmentInfo.getDepartId())){
String createCmpy = commonSqlService.queryForString("select parent_id from sys_depart where id ='"+equipmentInfo.getDepartId()+"'");
equipmentInfo.setCreateCmpy(createCmpy ) ;
}
iCrudSqlService.save(equipment);
EquipmentVO equipmentVO = EquipmentUtils.equipEntity2VO(equipment);
//添加技术参数、补充信息
......
......@@ -33,6 +33,7 @@ import com.skua.modules.flow.support.Kv;
import com.skua.modules.flow.utils.Func;
import com.skua.modules.supplies.service.IEquipmentSparepartSuppliesAdjustService;
import com.skua.tool.util.BeanExtUtils;
import com.skua.tool.util.JSUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -301,6 +302,7 @@ public class EquipmentRepairServiceImpl extends ServiceImpl<EquipmentRepairMappe
* @return
*/
public IPage<EquipmentRepairForm> queryRepairFormByPage(Page<EquipmentRepairForm> page, EquipmentRepairForm equipmentRepairForm){
List<EquipmentRepairForm> dataList = this.baseMapper.queryRepairFormList(equipmentRepairForm);
page.setRecords(dataList);
return page;
......
......@@ -14,8 +14,12 @@ import com.skua.modules.alarmtmp.service.AlarmCustomRecordHistoryService;
import com.skua.modules.equipment.entity.EquipmentRepair;
import com.skua.modules.equipment.service.IEquipmentRepairService;
import com.skua.modules.equipment.service.IEquipmentSingleStatisticsService;
import com.skua.modules.equipment.vo.EquipmentRepairMaintainTaskCostDetailVO;
import com.skua.modules.equipment.vo.EquipmentRepairMaintainTaskCostVO;
import com.skua.tool.util.JSUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
......@@ -580,6 +584,59 @@ public class EquipmentSingleStatisticsServiceImpl extends ServiceImpl<AlarmRecor
return masterDB.queryForList("select sparepart_name,sparepart_type,sparepart_type_name,sum(nums) as nums from("+sql+")aa group by sparepart_name,sparepart_type,sparepart_type_name");
}
/**
* 维修维护费用列表
* @param departIds
* @param startTime
* @param endTime
* @return
*/
public List<EquipmentRepairMaintainTaskCostVO> repairMaintainTaskCostList(String departIds, String startTime, String endTime){
String sql = "select d.id depart_id , d.depart_name ,round(ifnull(aaa.repair_cost ,0),2) repair_cost, round(ifnull(bbb.dxjg_cost ,0),2) dxjg_cost,round(ifnull(bbb.sbwh_cost ,0),2) sbwh_cost,";
sql += " round(ifnull(bbb.sbby_cost ,0),2) sbby_cost,round(ifnull(bbb.jjwx_cost ,0),2) jjwx_cost from sys_depart d ";
sql += " left join (select depart_id, sum(total_cost) 'repair_cost' from equipment_repair where repair_date >= '"+startTime+" 00:00:00' and repair_date <='"+endTime+" 23:59:59' group by depart_id ) aaa on aaa.depart_id = d.id ";
sql += " left join ( select emt.depart_id, ifnull( SUM( CASE WHEN emp.maintenance_type='dxjg' THEN emt.maintenance_cost ELSE 0 END ),0) as 'dxjg_cost', ";
sql += " ifnull( SUM( CASE WHEN emp.maintenance_type='sbwh' THEN emt.maintenance_cost ELSE 0 END ),0) as 'sbwh_cost', ";
sql += " ifnull( SUM( CASE WHEN emp.maintenance_type='sbby' THEN emt.maintenance_cost ELSE 0 END ),0) as 'sbby_cost', ";
sql += " ifnull( SUM( CASE WHEN emp.maintenance_type='jjwx' THEN emt.maintenance_cost ELSE 0 END ),0) as 'jjwx_cost' ";
sql += " from equipment_maintain_task emt ,equipment_maintain_plan emp where emt.plan_id = emp.id ";
sql += " and emt.maintain_time >= '"+startTime+" 00:00:00' and emt.maintain_time <='"+endTime+" 23:59:59' group by emt.depart_id ";
sql += ") bbb on bbb.depart_id = d.id where d.depart_type = 1 ";
if(org.apache.commons.lang3.StringUtils.isNotEmpty(departIds)){
sql += " and d.id in ("+ departIds +") ";
}
List<EquipmentRepairMaintainTaskCostVO> dataList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<EquipmentRepairMaintainTaskCostVO>(EquipmentRepairMaintainTaskCostVO.class));
return dataList;
}
/***
* 维修维护费用列表 明细列表
* @param departId
* @param startTime
* @param endTime
* @return
*/
public List<EquipmentRepairMaintainTaskCostDetailVO> repairMaintainTaskCostDetailList(String departId, String startTime, String endTime){
String sql = "select d.depart_name, aaa.* from ( ";
sql +=" select er.depart_id , ei.equipment_name 'name' , '维修费用' as 'cost_type',er.total_cost 'cost',er.repair_date 'time' from equipment_repair er , equipment_info ei ";
sql += " where er.info_id = ei.id and er.total_cost > 0 and er.repair_date >= '"+startTime+" 00:00:00' and er.repair_date <='"+endTime+" 23:59:59' and er.depart_id = '"+departId+"' ";
sql += " UNION " ;
sql += " select emt.depart_id, emt.maintain_plan_name 'name', emt.maintenance_cost 'cost', DATE_FORMAT(emt.maintain_time,'%Y-%m-%d') 'time',";
sql += " CASE WHEN emp.maintenance_type ='dxjg' THEN '大修费用' ";
sql += " WHEN emp.maintenance_type='sbwh' THEN '维护费用'";
sql += " WHEN emp.maintenance_type='sbby' THEN '保养费用'";
sql += " WHEN emp.maintenance_type='jjwx' THEN '基建维修费用'";
sql += " ELSE '其他保养' END AS cost_type ";
sql += " from equipment_maintain_task emt ,equipment_maintain_plan emp where emt.plan_id = emp.id ";
sql += " and emt.depart_id = '"+departId+"' and emt.maintain_time >= '"+startTime+" 00:00:00' and emt.maintain_time <='"+endTime+" 23:59:59' ";
sql += " ) aaa left join sys_depart d on d.id = aaa.depart_id ";
List<EquipmentRepairMaintainTaskCostDetailVO> dataList = getJdbcTemplate().query(sql,new BeanPropertyRowMapper<EquipmentRepairMaintainTaskCostDetailVO>(EquipmentRepairMaintainTaskCostDetailVO.class));
return dataList;
}
/**
* <pre>
* 同/环比时间处理
......@@ -696,4 +753,9 @@ public class EquipmentSingleStatisticsServiceImpl extends ServiceImpl<AlarmRecor
return sql;
}
private JdbcTemplate getJdbcTemplate(){
JdbcTemplate masterDB = (JdbcTemplate)SpringContextUtils.getBean("master");
return masterDB;
}
}
......
package com.skua.modules.equipment.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @auther kangwei
* @create 2025-03-07-17:56
*/
/**
* 月度计划性维修维护内容
*/
@Data
@ApiModel(value="EquipmentFailurelVO ", description="设备故障对象")
public class EquipmentFailurelVO {
@ApiModelProperty(value = "机构ID")
private String departId;
@ApiModelProperty(value = "机构名称")
private String departName;
@ApiModelProperty(value = "费用名称")
private String name;
@ApiModelProperty(value = "费用分类")
private String costType;
@ApiModelProperty(value = "费用时间")
private String time;
@ApiModelProperty(value = "费用")
private String cost;
}
package com.skua.modules.equipment.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @auther kangwei
......@@ -55,13 +59,19 @@ public class EquipmentMaintainTaskForm {
@ApiModelProperty(value = "维护保养内容")
private String maintenanceContent;
@Excel(name = "计划开始时间", width = 15)
@ApiModelProperty(value = "计划开始时间")
private String startTime;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@Excel(name = "计划结束时间", width = 15)
@ApiModelProperty(value = "计划结束时间")
private String endTime;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
@Excel(name = "停机时间(H)", width = 15)
@ApiModelProperty(value = "停机时间")
private String stopTime;
@Excel(name = "维修负责人", width = 15)
@ApiModelProperty(value = "维修负责人")
......
package com.skua.modules.equipment.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @auther kangwei
* @create 2025-03-07-17:56
*/
/**
* 月度计划性维修维护内容
*/
@Data
@ApiModel(value="EquipmentRepairMaintainTaskCostVO对象 ", description="维修维护费用")
public class EquipmentRepairMaintainTaskCostDetailVO {
@ApiModelProperty(value = "机构ID")
private String departId;
@ApiModelProperty(value = "机构名称")
private String departName;
@ApiModelProperty(value = "费用名称")
private String name;
@ApiModelProperty(value = "费用分类")
private String costType;
@ApiModelProperty(value = "费用时间")
private String time;
@ApiModelProperty(value = "费用")
private String cost;
}
package com.skua.modules.equipment.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @auther kangwei
* @create 2025-03-07-17:56
*/
/**
* 月度计划性维修维护内容
*/
@Data
@ApiModel(value="EquipmentRepairMaintainTaskCostVO对象 ", description="维修维护费用")
public class EquipmentRepairMaintainTaskCostVO {
@ApiModelProperty(value = "机构ID")
private String departId;
@ApiModelProperty(value = "机构名称")
private String departName;
@ApiModelProperty(value = "维修费用")
private String repairCost;
@ApiModelProperty(value = "大修费用")
private String dxjgCost;
@ApiModelProperty(value = "维护费用")
private String sbwhCost;
@ApiModelProperty(value = "保养费用")
private String sbbyCost;
@ApiModelProperty(value = "基建维修费用")
private String jjwxCost;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!