Commit 6bc9d714 authored by 鲁鸿波's avatar 鲁鸿波

首页中粮贸易账号天气预警不显示问题

提供沿江大区获取危险作业数据
危险作业合规率页面,企业合规数全部一样,显示错误。将中粮贸易显示在第一个
危险作业合规率页面,合规比例为0%
危险作业监督检查页面,问题数量和问题类型无数据,显示为0
parent 686db0e4
......@@ -136,6 +136,8 @@ public class Constants
public static final String DBGK_ORG_ID = "1335dbc3f81b4919bf59014fede4819d";
public static final String ZLMY_ORG_ID = "32cdbb3a278944f1a83ca40dbcc93c0a";
public static final String APPROVAL_STATUS_ZERO = "0";
public static final String APPROVAL_STATUS_ONE = "1";
......
......@@ -22,6 +22,7 @@ import org.flowable.engine.runtime.ChangeActivityStateBuilder;
import org.flowable.engine.runtime.Execution;
import org.flowable.engine.runtime.ProcessInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
......@@ -54,6 +55,7 @@ import org.flowable.task.api.Task;
*/
@Component
@Slf4j
@ConditionalOnProperty(prefix = "service", name = "taskEnabled", havingValue = "true")
public class HazardWorkPlanScheduler {
private static final String DICT_ENABLE_ID = "1";
private static final String DICT_ENABLE_VALUE = "可以执行";
......
......@@ -334,5 +334,17 @@ public class THazardWorkPlanController extends SuperController
return baseResponse;
}
@ApiOperation(value = "沿江大区获取 危险作业计划 分页列表", notes = "List THazardWorkPlan with page")
@GetMapping(value = "/riversideList")
public BaseResponse<BaseResponseList<THazardWorkPlanRiverside>>riversideList(THazardWorkPlanParam param){
BaseResponse<BaseResponseList<THazardWorkPlanRiverside>>baseResponse=new BaseResponse<>();
Page<THazardWorkPlanRiverside> resultList= tHazardWorkPlanService.riversideList(param);
BaseResponseList<THazardWorkPlanRiverside> baseResponseList=new BaseResponseList<>();
baseResponseList.setData(resultList.getRecords());
baseResponseList.setTotal(resultList.getTotal());
baseResponse.setData(baseResponseList);
return baseResponse;
}
}
......@@ -3,6 +3,8 @@ package com.testor.module.hazard.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.testor.module.hazard.model.domain.THazardWorkPlan;
import com.testor.module.hazard.model.dto.THazardWorkPlanParam;
import com.testor.module.hazard.model.dto.THazardWorkPlanRiverside;
import com.tongtech.tfw.backend.common.models.supers.SuperDao;
import com.tongtech.tfw.workflow.apis.task.model.dto.TodoTask;
import com.tongtech.tfw.workflow.apis.task.model.dto.TodoTaskSqlParam;
......@@ -38,5 +40,10 @@ public interface THazardWorkPlanDao extends SuperDao<THazardWorkPlan>
*/
List<THazardWorkPlan> selectHazardLicensePassTime();
/**
* 对外沿江大区提供危险作业数据
* @return
*/
Page<THazardWorkPlanRiverside> riversideList(Page<THazardWorkPlan> page,@Param("param") THazardWorkPlanParam param);
}
......@@ -12,10 +12,10 @@ public class HazardWorkPlanCheckStatsDTO {
private Integer basicUnitCount;
@ApiModelProperty(value = "合规企业数")
private Integer complianceBasicUnitCount;
private Double complianceBasicUnitCount;
@ApiModelProperty(value = "不合规企业数")
private Integer noComplianceBasicUnitCount;
private Double noComplianceBasicUnitCount;
@ApiModelProperty(value = "问题数")
private Integer numberCount;
......@@ -23,4 +23,5 @@ public class HazardWorkPlanCheckStatsDTO {
@ApiModelProperty(value = "合规比例")
private double complianceRatio;
}
\ No newline at end of file
package com.testor.module.hazard.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
@Data
public class THazardWorkPlanRiverside {
@ApiModelProperty(value = "作业所在单位id")
private String orgId;
@ApiModelProperty(value = "作业所在单位名称")
private String orgName;
@ApiModelProperty(value = "作业类型")
private String workType;
@ApiModelProperty(value = "作业实际开始")
private Date actualStartTime;
@ApiModelProperty(value = "作业实际结束")
private Date actualEndTime;
@ApiModelProperty(value = "作业地点")
private String workLocation;
}
......@@ -8,6 +8,7 @@ import com.testor.module.hazard.model.dto.*;
import com.testor.module.wf.vo.HisTasksResponseDTO;
import com.tongtech.tfw.backend.common.models.supers.SuperService;
import com.tongtech.tfw.workflow.apis.task.model.dto.*;
import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
......@@ -116,4 +117,10 @@ public interface THazardWorkPlanService extends SuperService<THazardWorkPlan> {
*/
public void recallProcess(CompleteTask completeTask);
/**
* 对外沿江大区提供危险作业数据
* @return
*/
Page<THazardWorkPlanRiverside> riversideList(THazardWorkPlanParam param);
}
......@@ -35,6 +35,7 @@ import com.testor.module.safe.model.vo.TSafeHazardExportVO;
import com.testor.module.safe.model.vo.TSafeHazardOrgStatisticsVO;
import com.testor.module.safe.service.impl.TSafeHazardOrgServiceImpl;
import com.testor.module.sys.dao.NewSysOrgDao;
import com.testor.module.sys.model.domian.NewSysOrg;
import com.testor.module.sys.service.NewSysDictDataService;
import com.testor.module.sys.service.NewSysOrgService;
import com.tongtech.tfw.backend.common.biz.constants.BizConstants;
......@@ -58,6 +59,7 @@ import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
/**
......@@ -87,6 +89,9 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
@Autowired
private NewSysDictDataService dictDataService;
@Autowired
private NewSysOrgDao newSysOrgDao;
@Override
public Page<THazardWorkPlanCheck> selectTHazardWorkPlanCheckList(THazardWorkPlanCheckParam tHazardWorkPlanCheckParam) {
......@@ -255,9 +260,12 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
public List<HazardWorkPlanCheckProblemTypeStatisticsVO> selectCheckProblemTypeStatistics(THazardWorkPlanCheckParam tHazardWorkPlanCheckParam) {
if (CollectionUtils.isEmpty(tHazardWorkPlanCheckParam.getOrgIdList())) {
List<String> orgIdList = new ArrayList<>();
orgIdList.add(ContextUtils.getLoginUser().getOrgId());
String orgId = ContextUtils.getLoginUser().getOrgId();
orgIdList.add(orgId);
orgIdList.addAll(newSysOrgDao.childOrgIds(orgId));
tHazardWorkPlanCheckParam.setOrgIdList(orgIdList);
}
tHazardWorkPlanCheckParam.setStartTime(montageStartTime(tHazardWorkPlanCheckParam.getStartTime()));
tHazardWorkPlanCheckParam.setEndTime(montageEndTime(tHazardWorkPlanCheckParam.getEndTime()));
return this.baseMapper.selectCheckProblemTypeStatistics(tHazardWorkPlanCheckParam);
......@@ -267,7 +275,9 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
public List<HazardWorkPlanCheckProblemCountStatisticsVO> selectCheckProblemCountStatistics(THazardWorkPlanCheckParam tHazardWorkPlanCheckParam) {
if (CollectionUtils.isEmpty(tHazardWorkPlanCheckParam.getOrgIdList())) {
List<String> orgIdList = new ArrayList<>();
orgIdList.add(ContextUtils.getLoginUser().getOrgId());
String orgId = ContextUtils.getLoginUser().getOrgId();
orgIdList.add(orgId);
orgIdList.addAll(newSysOrgDao.childOrgIds(orgId));
tHazardWorkPlanCheckParam.setOrgIdList(orgIdList);
}
tHazardWorkPlanCheckParam.setStartTime(montageStartTime(tHazardWorkPlanCheckParam.getStartTime()));
......@@ -293,7 +303,10 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
// 计算合规比例(合规企业数/企业总数)
if (hazardWorkPlanCheckStatsDTO.getComplianceBasicUnitCount() != null && hazardWorkPlanCheckStatsDTO.getComplianceBasicUnitCount() > 0
&& hazardWorkPlanCheckStatsDTO.getBasicUnitCount() != null && hazardWorkPlanCheckStatsDTO.getBasicUnitCount() > 0) {
hazardWorkPlanCheckStatsDTO.setComplianceRatio(Math.round(hazardWorkPlanCheckStatsDTO.getComplianceBasicUnitCount()/hazardWorkPlanCheckStatsDTO.getBasicUnitCount())); // 四舍五入保留两位小数
double ratio = (double) hazardWorkPlanCheckStatsDTO.getComplianceBasicUnitCount()
/ hazardWorkPlanCheckStatsDTO.getBasicUnitCount();
double truncatedRatio = truncateToTwoDecimals(ratio);
hazardWorkPlanCheckStatsDTO.setComplianceRatio(truncatedRatio);
} else {
hazardWorkPlanCheckStatsDTO.setComplianceRatio(0.0);
}
......@@ -301,6 +314,10 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
return hazardWorkPlanCheckStatsDTO;
}
public static double truncateToTwoDecimals(double value) {
return Math.floor(value * 100);
}
@Override
public List<HazardWorkPlanCheckEnterpriseComplianceDto> enterpriseComplianceNumber(THazardWorkPlanCheckParam tHazardWorkPlanCheckParam) {
if (StringUtils.isBlank(tHazardWorkPlanCheckParam.getUserId())) {
......@@ -314,11 +331,22 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
tHazardWorkPlanCheckParam.setOrgId(user.getOrgId());
List<HazardWorkPlanCheckEnterpriseComplianceDto> hazardWorkPlanCheckEnterpriseComplianceDtos = new ArrayList<>();
List<TSysOrg> tSysOrgs = orgDao.selectOrgNameByParentId(user.getOrgId());
for (TSysOrg sysOrg:tSysOrgs){
hazardWorkPlanCheckEnterpriseComplianceDtos.add(new HazardWorkPlanCheckEnterpriseComplianceDto(sysOrg.getOrgName(),baseMapper.selectComplianceCount(tHazardWorkPlanCheckParam)));
// 先处理中粮贸易
HazardWorkPlanCheckEnterpriseComplianceDto zhongliangTrade = null;
for (TSysOrg sysOrg : tSysOrgs) {
tHazardWorkPlanCheckParam.setOrgId(sysOrg.getOrgId());
HazardWorkPlanCheckEnterpriseComplianceDto dto = new HazardWorkPlanCheckEnterpriseComplianceDto(
sysOrg.getOrgName(), baseMapper.selectComplianceCount(tHazardWorkPlanCheckParam));
if (sysOrg.getOrgName().contains("中粮贸易")) {
zhongliangTrade = dto; // 保存中粮贸易
} else {
hazardWorkPlanCheckEnterpriseComplianceDtos.add(dto);
}
}
// 按count倒序排序
// 对其他企业按count倒序排序
hazardWorkPlanCheckEnterpriseComplianceDtos.sort((o1, o2) -> {
if (o1.getCount() == null && o2.getCount() == null) {
return 0;
......@@ -332,6 +360,11 @@ public class THazardWorkPlanCheckServiceImpl extends SuperServiceImpl<THazardWor
return o2.getCount().compareTo(o1.getCount());
});
// 将中粮贸易添加到列表的第一个位置
if (zhongliangTrade != null) {
hazardWorkPlanCheckEnterpriseComplianceDtos.add(0, zhongliangTrade);
}
return hazardWorkPlanCheckEnterpriseComplianceDtos;
}
......
......@@ -9,6 +9,7 @@ import com.aliyun.core.utils.IOUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.PageList;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.testor.biz.file.model.domain.SysFile;
import com.testor.biz.file.service.SysFileService;
......@@ -2338,6 +2339,16 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
this.updateById(tHazardWorkPlan);
}
@Override
public Page<THazardWorkPlanRiverside> riversideList(THazardWorkPlanParam param) {
Long page =
StringHelper.isEmpty(param.getPage()) ? BizConstants.PAGE : Long.valueOf(param.getPage());
Long limit =
StringHelper.isEmpty(param.getLimit()) ? BizConstants.LIMIT : Long.valueOf(param.getLimit());
Page<THazardWorkPlan> resultPage = new Page<>(page, limit);
return baseMapper.riversideList(resultPage, param);
}
private void deleteDoneRecords(String bizId) {
try {
// 获取流程实例ID
......
......@@ -9,6 +9,7 @@ import com.testor.biz.sys.org.model.domain.SysOrg;
import com.testor.biz.sys.org.service.SysOrgService;
import com.testor.biz.sys.user.model.domain.SysUser;
import com.testor.biz.sys.user.service.SysUserService;
import com.testor.common.core.constant.Constants;
import com.testor.common.core.utils.DateUtils;
import com.testor.common.util.DateUtil;
import com.testor.module.duty.model.dto.TSysDutyLogParam;
......@@ -71,7 +72,10 @@ public class WeatherServiceImpl extends SuperServiceImpl<WeatherDao, WeatherDoma
return new ArrayList<>();
}
//中粮贸易查询所有
if(Constants.ZLMY_ORG_ID.equals(orgId)){
cityCodeList = new ArrayList<>();
}
List<WeatherWarnInfoVO> warnInfoVOList = this.baseMapper.getInfoByList(cityCodeList, DateUtil.getTodayStartString());
//临时修改,培训使用
//List<WeatherWarnInfoVO> warnInfoVOList = this.baseMapper.getInfoByListTemp(cityCodeList);
......
......@@ -65,4 +65,12 @@ public interface NewSysOrgDao extends SuperDao<NewSysOrg> {
")")
TSysOrg selectOrgByUserId(@Param("userId") String userId);
/**
* 获取东北港口所有子机构
* @return
*/
@Select("select org_id from t_sys_org \n" +
"where is_dept = '0' and parent_ids like concat('%',#{orgId},'%')")
List<String> childOrgIds(@Param("orgId") String orgId);
}
......@@ -88,4 +88,20 @@
where status ='0' and hazard_license_pass_time is not null and hazard_license_pass_time !=''
and work_status in('4','8','9','10')
</select>
<select id="riversideList" resultType="com.testor.module.hazard.model.dto.THazardWorkPlanRiverside">
select tso.org_id,tso.org_name,tsdd.dict_value as work_type,thwp.actual_start_time,thwp.actual_end_time,thwp.work_location
from t_hazard_work_plan thwp
left join t_sys_org tso on thwp.org_id = tso.org_id
left join t_sys_dict_data tsdd on thwp.work_type = tsdd.dict_data_id
where thwp.status ='0'
<if test="param.orgId != null">
and thwp.org_id in(
select org_id from t_sys_org
where parent_ids like concat('%',#{param.orgId},'%')
)
</if>
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment