34c2ab7a 张雷

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

2 个父辈 c6aa1a8d a15a008f
正在显示 18 个修改的文件 包含 325 行增加172 行删除
......@@ -21,8 +21,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.ajh.vo.LeaderInspectionRecordStatisticsVO;
import com.skua.modules.ajh.vo.LeaderInspectionRecordVO;
import com.skua.modules.erp.vo.LeaderInspectionRecordSearchVO;
import com.skua.modules.guest.util.DateUtil;
import com.skua.modules.system.service.ISysDepartService;
import com.skua.tool.util.JSUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil;
......@@ -88,11 +90,11 @@ public class LeaderInspectionRecordController {
String startDate = req.getParameter("startDate");
if(StringUtils.isNotEmpty(startDate)){
queryWrapper.ge("create_time",startDate+" 00:00:00");
queryWrapper.ge("inspection_time",startDate+" 00:00:00");
}
String endDate = req.getParameter("endDate");
if(StringUtils.isNotEmpty(startDate)){
queryWrapper.le("create_time",endDate+" 23:59:59");
queryWrapper.le("inspection_time",endDate+" 23:59:59");
}
IPage<LeaderInspectionRecord> pageList = leaderInspectionRecordService.page(page, queryWrapper);
result.setSuccess(true);
......@@ -106,7 +108,7 @@ public class LeaderInspectionRecordController {
@AutoLog(value = "领导带班检查记录-统计数量以及图标")
@ApiOperation(value="领导带班检查记录-统计数量以及图标", notes="领导带班检查记录-统计数量以及图标")
@GetMapping(value = "/statistics")
public Result<LeaderInspectionRecordVO> statistics(LeaderInspectionRecord leaderInspectionRecord,HttpServletRequest req) {
public Result<LeaderInspectionRecordVO> statistics(LeaderInspectionRecordSearchVO leaderInspectionRecord, HttpServletRequest req) {
Result<LeaderInspectionRecordVO> result = new Result<>();
String departIds = null;
if (StringUtils.isEmpty(leaderInspectionRecord.getDepartId())) {
......@@ -114,7 +116,7 @@ public class LeaderInspectionRecordController {
}else{
departIds = departService.getChildDepartId(leaderInspectionRecord.getDepartId());
}
leaderInspectionRecord.setDepartIds(departIds ) ;
leaderInspectionRecord.setDepartIds(JSUtils.quoteEach(departIds,",")) ;
LeaderInspectionRecordVO leaderInspectionRecordVO = leaderInspectionRecordService.statisticsNum(leaderInspectionRecord);
List<LeaderInspectionRecordStatisticsVO> timeDataList = leaderInspectionRecordService.statisticsByTime(leaderInspectionRecord);
List<LeaderInspectionRecordStatisticsVO> leaderDataList = leaderInspectionRecordService.statisticsByLeader(leaderInspectionRecord);
......
......@@ -92,18 +92,9 @@ public class LeaderInspectionRecord {
@ApiModelProperty(value = "备注")
private String remark;
@TableField(exist=false)
@ApiModelProperty(value = "开始时间:yyyy-MM-dd")
private String startDate;
@TableField(exist=false)
@ApiModelProperty(value = "结束时间:yyyy-MM-dd")
private String endDate;
@ApiModelProperty(value = "部门集合")
private String departIds;
public String getStartDate() {
/*public String getStartDate() {
if(StringUtils.isEmpty(startDate)){
startDate = DateUtil.getCurrentYear()+"-01-01";
}
......@@ -115,5 +106,5 @@ public class LeaderInspectionRecord {
endDate = DateUtil.getCurrentYear()+"-12-31";
}
return endDate;
}
}*/
}
......
......@@ -23,24 +23,14 @@ public interface AjhRectificationInfoMapper extends BaseMapper<AjhRectificationI
List<Map<String, Object>> docCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
// 隐患统计
List<Map<String, Object>> yhCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
//教育培训
List<Map<String, Object>> jyCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
//应急演练
List<Map<String, Object>> yjCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
//危化资料
List<Map<String, Object>> whCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
//危险废物
List<Map<String, Object>> wxCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
//集团安全文件
List<Map<String, Object>> jtaqCensus(@Param("nowMonth") String nowMonth, @Param("nowYear") String nowYear, @Param("lastYear") String lastYear);
......
......@@ -4,6 +4,7 @@ import com.skua.modules.ajh.entity.LeaderInspectionRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skua.modules.ajh.vo.LeaderInspectionRecordStatisticsVO;
import com.skua.modules.ajh.vo.LeaderInspectionRecordVO;
import com.skua.modules.erp.vo.LeaderInspectionRecordSearchVO;
import java.util.List;
......@@ -16,18 +17,18 @@ public interface LeaderInspectionRecordMapper extends BaseMapper<LeaderInspectio
* @param leaderInspectionRecord
* @return
*/
List<LeaderInspectionRecordVO> statisticsNum(LeaderInspectionRecord leaderInspectionRecord);
List<LeaderInspectionRecordVO> statisticsNum(LeaderInspectionRecordSearchVO leaderInspectionRecord);
/**
* 根据时间统计
* @param leaderInspectionRecord
* @return
*/
List<LeaderInspectionRecordStatisticsVO> statisticsByTime(LeaderInspectionRecord leaderInspectionRecord);
List<LeaderInspectionRecordStatisticsVO> statisticsByTime(LeaderInspectionRecordSearchVO leaderInspectionRecord);
/***
* 根据带班领导统计
* @param leaderInspectionRecord
* @return
*/
List<LeaderInspectionRecordStatisticsVO> statisticsByLeader(LeaderInspectionRecord leaderInspectionRecord);
List<LeaderInspectionRecordStatisticsVO> statisticsByLeader(LeaderInspectionRecordSearchVO leaderInspectionRecord);
}
......
......@@ -5,35 +5,35 @@
<!-- topCensus-->
<select id="topCensus" resultType="java.util.Map">
select
'年度安全隐患统计' as 'name','yh' as 'code',
'年度安全隐患统计(起)' as 'name','yh' as 'code',
SUM( CASE WHEN LEFT ( sr.rec_ord_whenlong, 7 ) = #{nowMonth} THEN 1 ELSE 0 END ) as now,
SUM( CASE WHEN LEFT ( sr.rec_ord_whenlong, 4 ) = #{nowYear} THEN 1 ELSE 0 END) as nowYear,
SUM( CASE WHEN LEFT ( sr.rec_ord_whenlong, 4 ) = #{lastYear} THEN 1 ELSE 0 END ) as last_year
from ajh_rectification_info sr
UNION
select
'年度教育培训统计' as 'name','jy' as 'code',
'年度教育培训统计(起)' as 'name','jy' as 'code',
SUM( CASE WHEN LEFT ( sr.edu_tra_date, 7 ) = #{nowMonth} THEN 1 ELSE 0 END ) as now,
SUM( CASE WHEN LEFT ( sr.edu_tra_date, 4 ) = #{nowYear} THEN 1 ELSE 0 END) as nowYear,
SUM( CASE WHEN LEFT ( sr.edu_tra_date, 4 ) = #{lastYear} THEN 1 ELSE 0 END ) as last_year
from ajh_edu_training sr
UNION
select
'年度应急演练统计' as 'name','yj' as 'code',
'年度应急演练统计(起)' as 'name','yj' as 'code',
SUM( CASE WHEN LEFT ( sr.exe_time, 7 ) = #{nowMonth} THEN 1 ELSE 0 END ) as now,
SUM( CASE WHEN LEFT ( sr.exe_time, 4 ) = #{nowYear} THEN 1 ELSE 0 END) as nowYear,
SUM( CASE WHEN LEFT ( sr.exe_time, 4 ) = #{lastYear} THEN 1 ELSE 0 END ) as last_year
from ajh_exercise_situation sr
UNION
select
'年度危险作业时间(起)' as 'name','wx' as 'code',
'年度危险作业事件(起)' as 'name','wx' as 'code',
SUM( CASE WHEN LEFT ( sr.operation_date, 7 ) = #{nowMonth} THEN 1 ELSE 0 END ) as now,
SUM( CASE WHEN LEFT ( sr.operation_date, 4 ) = #{nowYear} THEN 1 ELSE 0 END) as nowYear,
SUM( CASE WHEN LEFT ( sr.operation_date, 4 ) = #{lastYear} THEN 1 ELSE 0 END ) as last_year
from dangerous_operation_manage sr
UNION
select
'特种设备数量()' as 'name','tzsb' as 'code',
'特种设备数量()' as 'name','tzsb' as 'code',
count(1) as 'nowYear' , '0' as 'now' ,'0' as 'last_year'
from equipment_info where is_special =1
</select>
......
......@@ -35,7 +35,7 @@
<!--根据时间统计 -->
<select id="statisticsByTime" resultType="com.skua.modules.ajh.vo.LeaderInspectionRecordStatisticsVO">
SELECT
DATE_FORMAT( inspection_time, '%Y%m' ) time,
DATE_FORMAT( inspection_time, '%Y-%m' ) time,
SUM(IF(`inspection_type`='1',inspection_type,0)) as 'swgsjcNum',
SUM(IF(`inspection_type`='2',inspection_type,0))/2 as 'xmbjcNum'
FROM ajh_leader_inspection_record
......@@ -61,7 +61,7 @@
</where>
group by
DATE_FORMAT( inspection_time, '%Y%m' )
DATE_FORMAT( inspection_time,'%Y-%m' )
</select>
<!--根据带班领导统计 -->
......
......@@ -4,6 +4,7 @@ import com.skua.modules.ajh.entity.LeaderInspectionRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.ajh.vo.LeaderInspectionRecordStatisticsVO;
import com.skua.modules.ajh.vo.LeaderInspectionRecordVO;
import com.skua.modules.erp.vo.LeaderInspectionRecordSearchVO;
import java.util.List;
......@@ -17,18 +18,18 @@ public interface ILeaderInspectionRecordService extends IService<LeaderInspectio
* @param leaderInspectionRecord
* @return
*/
LeaderInspectionRecordVO statisticsNum(LeaderInspectionRecord leaderInspectionRecord);
LeaderInspectionRecordVO statisticsNum(LeaderInspectionRecordSearchVO leaderInspectionRecord);
/**
* 根据时间统计
* @param leaderInspectionRecord
* @return
*/
List<LeaderInspectionRecordStatisticsVO> statisticsByTime(LeaderInspectionRecord leaderInspectionRecord);
List<LeaderInspectionRecordStatisticsVO> statisticsByTime(LeaderInspectionRecordSearchVO leaderInspectionRecord);
/***
* 根据带班领导统计
* @param leaderInspectionRecord
* @return
*/
List<LeaderInspectionRecordStatisticsVO> statisticsByLeader(LeaderInspectionRecord leaderInspectionRecord);
List<LeaderInspectionRecordStatisticsVO> statisticsByLeader(LeaderInspectionRecordSearchVO leaderInspectionRecord);
}
......
......@@ -5,6 +5,7 @@ import com.skua.modules.ajh.mapper.LeaderInspectionRecordMapper;
import com.skua.modules.ajh.service.ILeaderInspectionRecordService;
import com.skua.modules.ajh.vo.LeaderInspectionRecordStatisticsVO;
import com.skua.modules.ajh.vo.LeaderInspectionRecordVO;
import com.skua.modules.erp.vo.LeaderInspectionRecordSearchVO;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -21,7 +22,7 @@ public class LeaderInspectionRecordServiceImpl extends ServiceImpl<LeaderInspect
* @param leaderInspectionRecord
* @return
*/
public LeaderInspectionRecordVO statisticsNum(LeaderInspectionRecord leaderInspectionRecord){
public LeaderInspectionRecordVO statisticsNum(LeaderInspectionRecordSearchVO leaderInspectionRecord){
List<LeaderInspectionRecordVO> dataList = this.baseMapper.statisticsNum( leaderInspectionRecord) ;
if(dataList != null ){
return dataList.get(0);
......@@ -33,7 +34,7 @@ public class LeaderInspectionRecordServiceImpl extends ServiceImpl<LeaderInspect
* @param leaderInspectionRecord
* @return
*/
public List<LeaderInspectionRecordStatisticsVO> statisticsByTime(LeaderInspectionRecord leaderInspectionRecord){
public List<LeaderInspectionRecordStatisticsVO> statisticsByTime(LeaderInspectionRecordSearchVO leaderInspectionRecord){
return this.baseMapper.statisticsByTime( leaderInspectionRecord) ;
}
......@@ -42,7 +43,7 @@ public class LeaderInspectionRecordServiceImpl extends ServiceImpl<LeaderInspect
* @param leaderInspectionRecord
* @return
*/
public List<LeaderInspectionRecordStatisticsVO> statisticsByLeader(LeaderInspectionRecord leaderInspectionRecord){
public List<LeaderInspectionRecordStatisticsVO> statisticsByLeader(LeaderInspectionRecordSearchVO leaderInspectionRecord){
return this.baseMapper.statisticsByLeader( leaderInspectionRecord) ;
}
}
......
package com.skua.modules.erp.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.skua.modules.ajh.entity.LeaderInspectionRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @auther kangwei
* @create 2024-12-25-17:21
*/
@Data
@ApiModel(value="领导带班查询对象", description="领导带班查询对象")
public class LeaderInspectionRecordSearchVO extends LeaderInspectionRecord {
@TableField(exist=false)
@ApiModelProperty(value = "开始时间:yyyy-MM-dd")
private String startDate;
@TableField(exist=false)
@ApiModelProperty(value = "结束时间:yyyy-MM-dd")
private String endDate;
@TableField(exist=false)
@ApiModelProperty(value = "部门集合")
private String departIds;
}
......@@ -11,6 +11,7 @@ import com.skua.core.context.SpringContextUtils;
import com.skua.core.query.QueryGenerator;
import com.skua.core.util.ConvertUtils;
import com.skua.core.util.DateUtils;
import com.skua.modules.erp.entity.ApproveRecord;
import com.skua.modules.erp.entity.ErpSettlement;
import com.skua.modules.erp.vo.PurchaseContractVO;
import com.skua.modules.material.entity.MaterialInfo;
......@@ -103,27 +104,13 @@ public class MaterialInfoController {
@GetMapping(value = "/list")
public Result<IPage<MaterialInfo>> queryFLFGPageList(MaterialInfo materialInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<MaterialInfo>> result = new Result<IPage<MaterialInfo>>();
Page<MaterialInfo> page = new Page<MaterialInfo>(pageNo, pageSize);
QueryWrapper<MaterialInfo> queryWrapper = new QueryWrapper();
queryWrapper.eq("del_flag","0");
if(StringUtils.isNotEmpty(materialInfo.getFacInformationtype())){
queryWrapper.eq("fac_informationtype",materialInfo.getFacInformationtype());
}
if(StringUtils.isNotEmpty(materialInfo.getFacInformationName())){
queryWrapper.like("fac_information_name",materialInfo.getFacInformationName());
}
if(StringUtils.isNotEmpty(materialInfo.getRulesType())){
queryWrapper.like("rules_type",materialInfo.getRulesType());
}
if(StringUtils.isNotEmpty(materialInfo.getLawsType())){
queryWrapper.like("laws_type",materialInfo.getLawsType());
}
if(StringUtils.isNotEmpty(materialInfo.getStandardsType())){
queryWrapper.like("standards_type",materialInfo.getStandardsType());
}
queryWrapper.eq("status","3");
QueryWrapper<MaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
// QueryWrapper<MaterialInfo> queryWrapper = getMaterialInfoQueryWrapper(materialInfo);
queryWrapper.orderByDesc("create_time");
IPage<MaterialInfo> pageList = materialInfoService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
......@@ -135,13 +122,16 @@ public class MaterialInfoController {
@GetMapping(value = "/unAuditList")
public Result<IPage<MaterialInfo>> queryUnAuditPageList(MaterialInfo materialInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<MaterialInfo>> result = new Result<IPage<MaterialInfo>>();
Page<MaterialInfo> page = new Page<MaterialInfo>(pageNo, pageSize);
QueryWrapper<MaterialInfo> queryWrapper = getMaterialInfoQueryWrapper(materialInfo);
QueryWrapper<MaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
//QueryWrapper<MaterialInfo> queryWrapper = getMaterialInfoQueryWrapper(materialInfo);
//queryWrapper.in("status","'1','2'");
queryWrapper.eq("status","1");
//queryWrapper.le("status","2");
queryWrapper.orderByDesc("create_time");
IPage<MaterialInfo> pageList = materialInfoService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
......@@ -152,28 +142,27 @@ public class MaterialInfoController {
@GetMapping(value = "/myList")
public Result<IPage<MaterialInfo>> queryMyPageList(MaterialInfo materialInfo,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<MaterialInfo>> result = new Result<IPage<MaterialInfo>>();
Page<MaterialInfo> page = new Page<MaterialInfo>(pageNo, pageSize);
QueryWrapper<MaterialInfo> queryWrapper = getMaterialInfoQueryWrapper(materialInfo);
//QueryWrapper<MaterialInfo> queryWrapper = getMaterialInfoQueryWrapper(materialInfo);
QueryWrapper<MaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
//queryWrapper.in("status","'1','2'");
queryWrapper.eq("user_id",BaseContextHandler.getUserId());
queryWrapper.orderByDesc("create_time");
IPage<MaterialInfo> pageList = materialInfoService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
return result;
}
private QueryWrapper<MaterialInfo> getMaterialInfoQueryWrapper(MaterialInfo materialInfo){
QueryWrapper<MaterialInfo> queryWrapper = new QueryWrapper();
String departIds = null;
if (StringUtils.isNotEmpty(materialInfo.getDepartId())) {
//departIds = departService.getChildDepartId(BaseContextHandler.getDeparts());
departIds = departService.getChildDepartId(materialInfo.getDepartId());
}else{
departIds = BaseContextHandler.getDeparts();
departIds = departService.getChildDepartId(BaseContextHandler.getDeparts());
//departIds = BaseContextHandler.getDeparts();
queryWrapper.in("depart_id", JSUtils.quoteEach(departIds,","));
}
// Page<MaterialInfo> page = new Page<ErpSettlement>(pageNo, pageSize);
queryWrapper.eq("del_flag","0");
......
package com.skua.modules.safe.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......
......@@ -6,6 +6,7 @@ import com.skua.modules.equipment.service.IDrugConsumptionAnalysisService;
import com.skua.modules.equipment.vo.CorrelationAnalysisVO;
import com.skua.modules.equipment.vo.DrugConsumptionDisplayVO;
import com.skua.modules.equipment.vo.DrugConsumptionTrendChartVO;
import com.skua.modules.equipment.vo.DrugDateConclusionVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -38,18 +39,18 @@ public class DrugConsumptionAnalysisController {
@AutoLog(value = "总药耗趋势")
@ApiOperation(value = "总药耗趋势", notes = "总药耗趋势")
@GetMapping("/data/drugConsumptionTrend")
public Result<List<DrugConsumptionTrendChartVO>> drugConsumptionTrend(String time, String departId) {
Result<List<DrugConsumptionTrendChartVO>> result = new Result<>();
List<DrugConsumptionTrendChartVO> data = drugConsumptionAnalysisService.drugConsumptionTrend(time,departId);
public Result<DrugDateConclusionVO> drugConsumptionTrend(String time, String departId) {
Result<DrugDateConclusionVO> result = new Result<>();
DrugDateConclusionVO data = drugConsumptionAnalysisService.drugConsumptionTrend(time,departId);
result.setResult(data);
return result;
}
@AutoLog(value = "吨水药耗趋势")
@ApiOperation(value = "吨水药耗趋势", notes = "吨水药耗趋势")
@GetMapping("/data/consumptionTonOfWaterTrend")
public Result<List<DrugConsumptionTrendChartVO>> consumptionTonOfWaterTrend(String time, String departId) {
Result<List<DrugConsumptionTrendChartVO>> result = new Result<>();
List<DrugConsumptionTrendChartVO> data = drugConsumptionAnalysisService.consumptionTonOfWaterTrend(time,departId);
public Result<DrugDateConclusionVO> consumptionTonOfWaterTrend(String time, String departId) {
Result<DrugDateConclusionVO> result = new Result<>();
DrugDateConclusionVO data = drugConsumptionAnalysisService.consumptionTonOfWaterTrend(time,departId);
result.setResult(data);
return result;
}
......@@ -76,19 +77,28 @@ public class DrugConsumptionAnalysisController {
@AutoLog(value = "相关性分析")
@ApiOperation(value = "相关性分析 type 1.絮凝剂 2.碳源 3.除磷剂", notes = "相关性分析 type 1.絮凝剂 2.碳源 3.除磷剂")
@GetMapping("/correlation/analysis")
public Result<List<CorrelationAnalysisVO>> correlationAnalysis(String time, String drugCode, String departId) {
Result<List<CorrelationAnalysisVO>> result = new Result<>();
if(StringUtils.isEmpty(drugCode)){
public Result<CorrelationAnalysisVO> correlationAnalysis(String time, String drugCode, String departId) {
Result<CorrelationAnalysisVO> result = new Result<>();
String drugName = null;
List<DrugConsumptionDisplayVO> dataList = drugConsumptionAnalysisService.analysisType();
if(StringUtils.isEmpty(drugCode)){
if(dataList != null && !dataList.isEmpty() ){
drugCode = dataList.get(0).getDrugCode();
drugName = dataList.get(0).getDrugName();
}
}else{
for(DrugConsumptionDisplayVO drugConsumptionDisplayVO : dataList){
if(drugConsumptionDisplayVO.getDrugCode().equals( drugCode )){
drugName = drugConsumptionDisplayVO.getDrugName();
break;
}
}
}
if(StringUtils.isEmpty(drugCode)){
result.error500("参数不识别");
}else{
List<CorrelationAnalysisVO> list = drugConsumptionAnalysisService.correlationAnalysis(time,drugCode ,departId);
result.setResult(list);
CorrelationAnalysisVO correlationAnalysis = drugConsumptionAnalysisService.correlationAnalysis(time,drugCode ,drugName,departId);
result.setResult(correlationAnalysis);
}
return result;
}
......
package com.skua.modules.equipment.service;
import com.skua.modules.equipment.dto.DrugDto;
import com.skua.modules.equipment.vo.CorrelationAnalysisVO;
import com.skua.modules.equipment.vo.DrugConsumptionDisplayVO;
import com.skua.modules.equipment.vo.DrugConsumptionTrendChartVO;
import com.skua.modules.equipment.vo.DrugDateConclusionVO;
import java.util.List;
import java.util.Map;
public interface IDrugConsumptionAnalysisService {
//数据展示
DrugConsumptionDisplayVO dataDisplay(String time, String departId);
//总药耗趋势--->改为吨水药费用
List<DrugConsumptionTrendChartVO> drugConsumptionTrend(String time, String departId);
DrugDateConclusionVO drugConsumptionTrend(String time, String departId);
//吨水药耗趋势
List<DrugConsumptionTrendChartVO> consumptionTonOfWaterTrend(String time,String departId);
DrugDateConclusionVO consumptionTonOfWaterTrend(String time,String departId);
//药剂占比统计 type 1.按明细 2.按类型
List<DrugConsumptionDisplayVO> proportionStatistics(String time,String departId);
//药剂占比统计列表 type 1.按明细 2.按类型
//Map<String, Object> proportionStatisticsDetail(String time, Integer type,String departId);
//相关性分析 type 1.絮凝剂 2.碳源 3.除磷剂
List<CorrelationAnalysisVO> correlationAnalysis(String time, String drugCode , String departId);
CorrelationAnalysisVO correlationAnalysis(String time, String drugCode ,String drugName, String departId);
//相关性分析 统计类型
List<DrugConsumptionDisplayVO> analysisType();
//总药耗趋势详情
......
......@@ -7,10 +7,11 @@ import com.skua.core.context.SpringContextUtils;
import com.skua.core.util.ConvertUtils;
import com.skua.modules.common.vo.DateVO;
import com.skua.modules.equipment.service.IDrugConsumptionAnalysisService;
import com.skua.modules.equipment.vo.CorrelationAnalysisVO;
import com.skua.modules.equipment.vo.DrugConsumptionDisplayVO;
import com.skua.modules.equipment.vo.DrugConsumptionTrendChartVO;
import com.skua.modules.equipment.vo.*;
import com.skua.tool.util.DateUtils;
import com.skua.tool.util.JSUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
......@@ -69,16 +70,32 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
displayVO.setLszddsyh( ConvertUtils.getString( dsyhMap.get("dsyh"),"0") );
displayVO.setLszddsyhyf( dsyhMap.get("time")+"" );
}
int month = DateUtils.getDateMonth(startTime);
int month_hb = month - 1;
String conclusion = "1、"+month+"月总药耗相比去年同期"+ (ConvertUtils.getDou(displayVO.getTbqnzyhsl(),0d) >0 ? "增加":"降低") + ConvertUtils.getDou(displayVO.getTbqnzyhsl(),0d) +"kg," +
"环比"+month_hb+"月"+ (ConvertUtils.getDou(displayVO.getHbsyzyhsl(),0d) >0 ? "增加":"降低") + ConvertUtils.getDou(displayVO.getHbsyzyhsl(),0d)+"kg <br />";
conclusion += "2、"+month+"月吨水药耗相比去年同期"+(ConvertUtils.getDou(displayVO.getTbqndsyhsl(),0d) >0 ? "增加":"降低")+ConvertUtils.getDou(displayVO.getTbqndsyhsl(),0d)+"kg/万吨," +
"环比"+month_hb+"月"+(ConvertUtils.getDou(displayVO.getHbsydsyhsl(),0d) >0 ? "增加":"降低")+ConvertUtils.getDou(displayVO.getHbsydsyhsl(),0d)+"kg/万吨,";
//目标水量
/* sql = "select avg(ifnull(target_drug,0)) target_drug from report_target_config where 1=1 ";
if(StringUtils.isNotEmpty(departIds)){
sql += " and depart_id in ("+ JSUtils.quoteEach(departIds,",")+")";
}
String target_drug = getJdbcTemplate().queryForObject(sql,String.class);*/
if(( displayVO.getDsyh().doubleValue() - displayVO.getMbdsyh() ) > 0){
conclusion += "已超过目标吨水药耗。";
}else{
conclusion += "未超过目标吨水药耗。";
}
displayVO.setConclusion(conclusion);
return displayVO;
}
//总药耗趋势--->吨水药费
public List<DrugConsumptionTrendChartVO> drugConsumptionTrend(String time, String departId){
public DrugDateConclusionVO drugConsumptionTrend(String time, String departId){
List<DrugConsumptionTrendChartVO> chartVOList = new ArrayList<>();
//查询当前时间往前推12个月的数据
String startTime=this.getMonthBytime(-25,time)+"-01";
String endTime=this.getMonthBytime(-1,time)+"-31";
String startTime=this.getMonthBytime(-24,time)+"-01";
String endTime=this.getMonthBytime(-0,time)+"-31";
String dataViewName4411 = ReportViewUtil.buildView(ReportConstant.view4411,"YYH", departId, startTime,endTime);
String sql = "select sum(aaa.yyh) yyh,aaa.time from ( "+ dataViewName4411+") aaa group by aaa.time";
......@@ -92,7 +109,11 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
}
//查询当前时间往前推12个月的数据
DrugConsumptionTrendChartVO chartVO = null;
List<String> months=this.getTwelve(time);
List<String> months = this.getTwelve(time);
int upCount = 0;
String maxMonth = "";
String minMonth = "";
Double maxValue =0d;Double minValue =0d;
for (String month : months) {
String yesmonth=this.getMonthBytime(-12,month);//同比
chartVO = new DrugConsumptionTrendChartVO();
......@@ -100,16 +121,68 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
chartVO.setZyh( ConvertUtils.getDouble(dataMap.get(month),0d) );
chartVO.setTbzyh( ConvertUtils.getDouble(dataMap.get(yesmonth),0d) );
chartVOList.add( chartVO ) ;
if(chartVO.getZyh().doubleValue() > chartVO.getTbzyh().doubleValue()){
upCount ++ ;
}
return chartVOList;
if(maxValue.doubleValue() < chartVO.getZyh().doubleValue()){
maxValue = chartVO.getZyh();
maxMonth = month;
}
if(maxValue.doubleValue() == chartVO.getZyh().doubleValue()){
if (StringUtils.isNotEmpty(maxMonth)) maxMonth +=",";
maxMonth += month;
}
if(minValue.doubleValue() >= chartVO.getZyh().doubleValue()){
minValue = chartVO.getZyh();
minMonth = month;
}
if(minValue.doubleValue() == chartVO.getZyh().doubleValue()){
minValue = chartVO.getZyh();
if (StringUtils.isNotEmpty(minMonth)) minMonth +=",";
minMonth += month;
}
}
String startDay = DateUtils.formatDate(months.get(0)+"-01","yyyy年MM月");
String endDay = DateUtils.formatDate(endTime,"yyyy年MM月");;
String conclusion = "-";
if(upCount > 0){
conclusion = startDay+"至"+endDay+"期间,";
String tempStr = "";
if(StringUtils.isNotEmpty(maxMonth)){
String[] maxMonthList = maxMonth.split(",");
for(String month : maxMonthList){
if(StringUtils.isNotEmpty(tempStr)) tempStr +="、";
tempStr += DateUtils.formatDate(month+"-01","yyyy年MM月")+"";
}
conclusion += tempStr+"吨水药费最高,";
}
if(StringUtils.isNotEmpty(minMonth)){
String[] maxMonthList = minMonth.split(",");
for(String month : maxMonthList){
if(StringUtils.isNotEmpty(tempStr)) tempStr +="、";
tempStr += DateUtils.formatDate(month+"-01","yyyy年MM月")+"";
}
conclusion += tempStr+"吨水药费最低,";
}
//if(StringUtils.isNotEmpty(minMonth)) conclusion += DateUtils.formatDate(minMonth+"-01","yyyy年MM月")+"吨水药费最低,";
conclusion +="共有"+upCount+"个月份吨水药费高于上年";
}
//
DrugDateConclusionVO dateConclusionVO = new DrugDateConclusionVO();
dateConclusionVO.setConclusion(conclusion);
dateConclusionVO.setCharts(chartVOList);
return dateConclusionVO;
}
//吨水药耗趋势
public List<DrugConsumptionTrendChartVO> consumptionTonOfWaterTrend(String time,String departId){
public DrugDateConclusionVO consumptionTonOfWaterTrend(String time,String departId){
List<DrugConsumptionTrendChartVO> chartVOList = new ArrayList<>();
//查询当前时间往前推12个月的数据
String startTime=this.getMonthBytime(-12,time)+"-01";
String endTime=this.getMonthBytime(-1,time)+"-31";
String startTime=this.getMonthBytime(-11,time)+"-01";
String endTime=this.getMonthBytime(-0,time)+"-31";
//历史最低吨水药耗???
String dataViewName2119 = ReportViewUtil.buildView(ReportConstant.view2119, ReportConstant.fieldClsl, departId, startTime,endTime);
//System.out.println("dataViewName2119 "+dataViewName2119);
......@@ -137,6 +210,8 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
}
//查询当前时间往前推12个月的数据
List<String> months=this.getTwelve(time);
String maxMonth = "";String minMonth = "";
Double maxValue =0d;Double minValue =0d;
for (String month : months) {
chartVO = chartVOMap.get(month);
if(chartVO == null ) {
......@@ -144,10 +219,28 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
chartVO.setTime(month);
}
chartVOList.add( chartVO ) ;
//获取最大值、最小值以及对应的月份
if(maxValue.doubleValue() <= ConvertUtils.getDouble(chartVO.getDsyh(),0d)){
maxValue = ConvertUtils.getDouble(chartVO.getDsyh(),0d);
maxMonth = month;
}
if(minValue.doubleValue() >= ConvertUtils.getDouble(chartVO.getDsyh(),0d)){
minValue = ConvertUtils.getDouble(chartVO.getDsyh(),0d);
minMonth = month;
}
}
String startDay = DateUtils.formatDate(months.get(0)+"-01","yyyy年MM月");
String endDay = DateUtils.formatDate(months.get(months.size()-1)+"-01","yyyy年MM月");;
String conclusion = "-";
if(maxMonth !=null || minMonth != null){
conclusion = startDay+"至"+endDay+"期间,"+maxMonth+"吨水药耗最高,"+minMonth+"吨水药耗最低";
}
DrugDateConclusionVO dateConclusionVO = new DrugDateConclusionVO();
dateConclusionVO.setConclusion(conclusion);
dateConclusionVO.setCharts(chartVOList);
return chartVOList;
return dateConclusionVO;
}
//药剂占比统计 type 1.按明细 2.按类型
......@@ -235,46 +328,53 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
}
//相关性分析 type 1.絮凝剂 2.碳源 3.除磷剂
public List<CorrelationAnalysisVO> correlationAnalysis(String time, String drugCode , String departId){
List<CorrelationAnalysisVO> correlationAnalysisVOList = new ArrayList<>();
public CorrelationAnalysisVO correlationAnalysis(String time, String drugCode ,String drugName , String departId){
List<CorrelationAnalysisChartsVO> correlationAnalysisVOList = new ArrayList<>();
Map<String,String> jsssDataMap = new HashMap<>();
Map<String,CorrelationAnalysisVO> zyhMap = new HashMap<>();
Map<String,CorrelationAnalysisChartsVO> zyhMap = new HashMap<>();
//查询当前时间往前推12个月的数据
String startTime=this.getMonthBytime(-12,time)+"-01";
String endTime=this.getMonthBytime(-1,time)+"-31";
String endTime=this.getMonthBytime(-0,time)+"-31";
//本月处理水量
String dataViewName2119 = ReportViewUtil.buildView(ReportConstant.view2119,"JSSS", departId, startTime,endTime);
String dataViewName3a24 = ReportViewUtil.buildView(ReportConstant.view3a24,"WNL,WNHSL,"+drugCode, departId, startTime,endTime);
String sql = " select DATE_FORMAT(aaa.time,'%Y-%m') 'time',aaa.JSSS ,aaa.depart_id from " +dataViewName2119+" aaa group by DATE_FORMAT(aaa.time,'%Y-%m') " ;
String sql = " select DATE_FORMAT(aaa.time,'%Y-%m') 'time',round(sum(ifnull(aaa.JSSS,0)),2) JSSS ,aaa.depart_id from " +dataViewName2119+" aaa group by DATE_FORMAT(aaa.time,'%Y-%m') " ;
List<Map<String, Object>> dataList = getJdbcTemplate().queryForList(sql);
String totalJSS = "0";
if(dataList != null){
for(Map<String,Object> map : dataList){
jsssDataMap.put(ConvertUtils.getString(map.get("time")),ConvertUtils.getString(map.get("JSSS")));
totalJSS = JSUtils.add( totalJSS , ConvertUtils.getString(map.get("JSSS"),"0") );
jsssDataMap.put(ConvertUtils.getString(map.get("time")),ConvertUtils.getString(map.get("JSSS"),"0"));
}
}
String sql2 = "select DATE_FORMAT(bbb.time,'%Y-%m') 'time' ,sum(bbb.WNL) 'wnl', sum(bbb.WNHSL) 'wnhsl',sum(bbb."+drugCode+") 'zyh' from "+dataViewName3a24 +" bbb group by DATE_FORMAT(bbb.time,'%Y-%m') ";
dataList = getJdbcTemplate().queryForList(sql2);
CorrelationAnalysisVO correlationAnalysisVO = null;
CorrelationAnalysisChartsVO correlationAnalysisChartsVO = null;
if(dataList != null){
for(Map<String,Object> map : dataList){
correlationAnalysisVO = new CorrelationAnalysisVO(ConvertUtils.getString(map.get("time")),ConvertUtils.getString(map.get("zyh")),ConvertUtils.getString(map.get("wnl")),ConvertUtils.getString(map.get("wnhsl")));
zyhMap.put(map.get("time").toString(),correlationAnalysisVO);
correlationAnalysisChartsVO = new CorrelationAnalysisChartsVO(ConvertUtils.getString(map.get("time")),ConvertUtils.getString(map.get("zyh")),ConvertUtils.getString(map.get("wnl")),ConvertUtils.getString(map.get("wnhsl")));
zyhMap.put(map.get("time").toString(),correlationAnalysisChartsVO);
}
}
List<String> months = this.getTwelve(time);
for (String month : months) {
correlationAnalysisVO = zyhMap.get(month);
if(correlationAnalysisVO == null ){
correlationAnalysisVO = new CorrelationAnalysisVO();
correlationAnalysisVO.setTime( month);
correlationAnalysisChartsVO = zyhMap.get(month);
if(correlationAnalysisChartsVO == null ){
correlationAnalysisChartsVO = new CorrelationAnalysisChartsVO();
correlationAnalysisChartsVO.setTime( month);
}
correlationAnalysisChartsVO.setJsss( jsssDataMap.get(month) );
correlationAnalysisVOList.add(correlationAnalysisChartsVO );
}
correlationAnalysisVO.setJsss( jsssDataMap.get(month) );
correlationAnalysisVOList.add(correlationAnalysisVO );
CorrelationAnalysisVO correlationAnalysisVO = new CorrelationAnalysisVO();
correlationAnalysisVO.setCharts( correlationAnalysisVOList);
String conclusion = "";
if( ConvertUtils.getDouble(totalJSS,0d) > 0 ){
conclusion = "进水SS越高,";
}
return correlationAnalysisVOList;
conclusion += drugName+"用量越高,但投加过量反而影响效果。";
correlationAnalysisVO.setConclusion(conclusion);
return correlationAnalysisVO;
}
/***
......@@ -344,7 +444,7 @@ public class DrugConsumptionAnalusisServiceImpl implements IDrugConsumptionAnaly
private List<String> getTwelve(String time) {
List<String> list=new ArrayList<>();
for (int i=12;i>=1;i--){
for (int i=11;i>=0;i--){
list.add(this.getMonthBytime(-i,time));
}
return list;
......
package com.skua.modules.equipment.vo;
import com.skua.tool.util.JSUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang.StringUtils;
@Data
@ApiModel(value="药耗分析:相关性分析", description="药耗分析:相关性分析")
public class CorrelationAnalysisChartsVO {
@ApiModelProperty(value = "药剂code")
private String drugCode;
@ApiModelProperty(value = "药剂名称")
private String drugName;
@ApiModelProperty(value = "时间")
private String time;
@ApiModelProperty(value = "药剂总药耗")
private String zyh;
@ApiModelProperty(value = "吨泥耗量")
private String dnhl;
@ApiModelProperty(value = "进水ss")
private String jsss;
@ApiModelProperty(value = "污泥量")
private String wnl;
@ApiModelProperty(value = "污泥含水量")
private String wnhsl;
public CorrelationAnalysisChartsVO() {
}
public CorrelationAnalysisChartsVO(String time, String zyh, String wnl, String wnhsl) {
this.time = time;
this.zyh = zyh;
this.wnl = wnl;
this.wnhsl = wnhsl;
}
////吨泥耗量=絮凝剂总量/干污泥总量
//干污泥量=产泥量*(1-污泥含水率)
public String getDnhl() {
String expression = null;
if(StringUtils.isNotEmpty(this.zyh)){
if(StringUtils.isNotEmpty(this.wnhsl)){
expression = "("+this.zyh +" * 100 )/ ("+this.wnl+"* (100-"+this.wnhsl+"))";
}else{
expression = this.zyh +"/ "+this.wnl+"";
}
dnhl = JSUtils.executeExpression(expression , "0.0");
}
return dnhl;
}
}
package com.skua.modules.equipment.vo;
import com.skua.tool.util.JSUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang.StringUtils;
import java.util.List;
@Data
@ApiModel(value="药耗分析:相关性分析", description="药耗分析:相关性分析")
public class CorrelationAnalysisVO {
@ApiModelProperty(value = "结论")
private String conclusion;
@ApiModelProperty(value = "药剂code")
private String drugCode;
@ApiModelProperty(value = "药剂名称")
private String drugName;
@ApiModelProperty(value = "时间")
private String time;
@ApiModelProperty(value = "药剂总药耗")
private String zyh;
@ApiModelProperty(value = "吨泥耗量")
private String dnhl;
@ApiModelProperty(value = "进水ss")
private String jsss;
@ApiModelProperty(value = "污泥量")
private String wnl;
@ApiModelProperty(value = "污泥含水量")
private String wnhsl;
public CorrelationAnalysisVO() {
}
public CorrelationAnalysisVO(String time, String zyh, String wnl, String wnhsl) {
this.time = time;
this.zyh = zyh;
this.wnl = wnl;
this.wnhsl = wnhsl;
}
////吨泥耗量=絮凝剂总量/干污泥总量
//干污泥量=产泥量*(1-污泥含水率)
public String getDnhl() {
String expression = null;
if(StringUtils.isNotEmpty(this.zyh)){
if(StringUtils.isNotEmpty(this.wnhsl)){
expression = "("+this.zyh +" * 100 )/ ("+this.wnl+"* (100-"+this.wnhsl+"))";
}else{
expression = this.zyh +"/ "+this.wnl+"";
}
dnhl = JSUtils.executeExpression(expression , "0.0");
}
return dnhl;
}
@ApiModelProperty(value = "图标数据")
private List<CorrelationAnalysisChartsVO> charts;
}
......
......@@ -73,6 +73,9 @@ public class DrugConsumptionDisplayVO {
@ApiModelProperty(value = "历史最低吨水药耗--月份")
private String lszddsyhyf;
@ApiModelProperty(value = "结论")
private String conclusion;
public DrugConsumptionDisplayVO() {
}
......
package com.skua.modules.equipment.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @auther kangwei
* @create 2024-12-23-14:39
*/
@Data
@ApiModel(value="药耗分析:结论以及图标数据", description="药耗分析:结论以及图标数据")
public class DrugDateConclusionVO {
@ApiModelProperty(value = "结论")
private String conclusion;
@ApiModelProperty(value = "图标数据")
private List<DrugConsumptionTrendChartVO> charts;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!