Commit 4a6f0597 authored by zhangsen's avatar zhangsen

Merge branch 'develop_dl_plan6' into develop_dl_plan6_temp

# Conflicts: # amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/DutyCommonServiceImpl.java
parents 74e5409d 44ac8423
...@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto; ...@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance; import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -147,6 +148,8 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc ...@@ -147,6 +148,8 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc
Map<String, Object> getCurentCarIsUserPhone(long carId); Map<String, Object> getCurentCarIsUserPhone(long carId);
List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds); List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds);
List<Map<String, Object>> personInfoList(String groupCode, HashSet<String> userIdSet);
} }
...@@ -23,6 +23,18 @@ public interface IDutyCommonService { ...@@ -23,6 +23,18 @@ public interface IDutyCommonService {
IPage<Map<String, Object>> pageList(int current, int size, String beginDate, String endDate) throws ParseException; IPage<Map<String, Object>> pageList(int current, int size, String beginDate, String endDate) throws ParseException;
/** /**
* 分页详情查询
*
* @param current
* @param size
* @param beginDate
* @param endDate 日期
* @return
* @throws ParseException
*/
IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate) throws ParseException;
/**
* 值班明细 * 值班明细
* *
* @param beginDate 开始日期 * @param beginDate 开始日期
......
...@@ -115,6 +115,8 @@ ...@@ -115,6 +115,8 @@
AND s.duty_date = #{dutyDate} AND s.duty_date = #{dutyDate}
AND s.shift_id is not null AND s.shift_id is not null
and i.group_code =#{groupCode} and i.group_code =#{groupCode}
AND i.field_value is not null
AND i.field_value != ''
GROUP BY i.field_value GROUP BY i.field_value
</select> </select>
<select id="genRangeDate" resultType="map"> <select id="genRangeDate" resultType="map">
......
...@@ -624,5 +624,27 @@ FROM ...@@ -624,5 +624,27 @@ FROM
WHERE WHERE
dd.administrativePositionCode IS NOT NULL dd.administrativePositionCode IS NOT NULL
</select> </select>
<select id="personInfoList" resultType="java.util.Map">
SELECT
i.instance_id AS userId,
MAX( CASE WHEN i.field_code = 'positionType' THEN IFNULL(i.field_value,'') END ) AS positionType,
MAX( CASE WHEN i.field_code = 'personImg' THEN IFNULL(i.field_value,'') END ) AS personImg,
MAX( CASE WHEN i.field_code = 'telephone' THEN IFNULL(i.field_value,'') END ) AS telephone
FROM
`cb_dynamic_form_instance` i
<where>
<if test="groupCode != null and groupCode != ''">
group_code = #{groupCode}
</if>
<if test="userIdSet != null and userIdSet.size() >0">
AND i.instance_id IN
<foreach collection="userIdSet" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
GROUP BY
i.instance_id
</select>
</mapper> </mapper>
...@@ -7,6 +7,8 @@ import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService; ...@@ -7,6 +7,8 @@ import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
...@@ -18,6 +20,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -18,6 +20,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.ParseException; import java.text.ParseException;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -52,6 +55,22 @@ public class DutyPersonController extends BaseController { ...@@ -52,6 +55,22 @@ public class DutyPersonController extends BaseController {
return ResponseHelper.buildResponse(iDutyPersonService.pageList(current, size, beginDate, endDate)); return ResponseHelper.buildResponse(iDutyPersonService.pageList(current, size, beginDate, endDate));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page-list-detail")
@ApiOperation(httpMethod = "GET", value = "值班列表详情分页", notes = "值班列表详情分页")
public ResponseModel<IPage<Map<String, Object>>> pageListDetail(
@ApiParam(value = "开始日期") @RequestParam(required = false) String beginDate,
@ApiParam(value = "结束日期") @RequestParam(required = false) String endDate,
@ApiParam(value = "当前页", required = true) @RequestParam(value = "current") int current,
@ApiParam(value = "页面大小", required = true) @RequestParam(value = "size") int size) throws ParseException {
if (StringUtils.isBlank(beginDate) && StringUtils.isBlank(endDate)) {
String date = DateFormatUtils.format(new Date(), "yyyy-MM-dd");
beginDate = date;
endDate = date;
}
return ResponseHelper.buildResponse(iDutyPersonService.pageListDetail(current, size, beginDate, endDate));
}
/** /**
* 值班列表视图--不分页 * 值班列表视图--不分页
* *
......
...@@ -167,6 +167,36 @@ public class DutyCommonServiceImpl implements IDutyCommonService { ...@@ -167,6 +167,36 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
} }
@Override
public IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate)
throws ParseException {
// 1.已column为准 进行返回
String groupCode = this.getGroupCode();
// 不存在值班数据则不查找 修改sql 方法去除 by kongfm 2021-09-14
IPage<Map<String, Object>> iPage = dynamicFormInstanceService.pageListNew(current, size, groupCode, beginDate, endDate);
List<Map<String, Object>> records = iPage.getRecords();
HashSet<String> userIdSet = new HashSet<>();
if (!CollectionUtils.isEmpty(records)) {
records.forEach(x -> {
userIdSet.add(x.get("userId").toString());
});
}
// 获取人员详细信息
List<Map<String, Object>> personInfoList = dynamicFormInstanceService.personInfoList(DynamicGroupCode.JCS_PERSON.getCode(), userIdSet);
if (!CollectionUtils.isEmpty(personInfoList)) {
Map<String, List<Map<String, Object>>> listMap = personInfoList.stream().collect(Collectors.groupingBy((Map m) -> String.valueOf(m.get("userId"))));
records.forEach(x -> {
String userId = x.get("userId").toString();
List<Map<String, Object>> list = listMap.get(userId);
if (!CollectionUtils.isEmpty(list)) {
list.forEach(x::putAll);
}
});
iPage.setRecords(records);
}
return iPage;
}
private void fillDutyShiftData(String beginDate, String endDate, Map<String, Object> m) throws ParseException { private void fillDutyShiftData(String beginDate, String endDate, Map<String, Object> m) throws ParseException {
// 获取值班的实例id // 获取值班的实例id
String instanceId = m.get("instanceId").toString(); String instanceId = m.get("instanceId").toString();
...@@ -655,45 +685,14 @@ public class DutyCommonServiceImpl implements IDutyCommonService { ...@@ -655,45 +685,14 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
List<Map<String, Object>> orgUsrList = orgUsrService.selectForShowByListId(ids); List<Map<String, Object>> orgUsrList = orgUsrService.selectForShowByListId(ids);
maps.forEach(item -> { maps.forEach(item -> {
String userId = String.valueOf(item.get("userId")); String userId = String.valueOf(item.get("userId"));
//此处是用来给119日常值班首页值班岗位排序用
String sort = "";
switch ( item.get("postType").toString() ){
case "826" :
sort = "4";
break;
case "824" :
sort = "3";
break;
case "825" :
sort = "2";
break;
case "827" :
sort = "1";
break;
}
item.put("postSort",sort);
for (Map<String, Object> usr : orgUsrList) { for (Map<String, Object> usr : orgUsrList) {
if (userId.equals(String.valueOf(usr.get("sequenceNbr")))) { if (userId.equals(String.valueOf(usr.get("sequenceNbr")))) {
item.put("personImg", usr.get("personImg")); item.put("personImg", usr.get("personImg"));
item.put("telephone", usr.get("telephone")); item.put("telephone", usr.get("telephone"));
item.put("companyId", usr.get("companyId"));
item.put("bizOrgType", usr.get("bizOrgType"));
item.put("parentId", usr.get("parentId"));
break; break;
} }
} }
}); });
maps= maps.stream().sorted((map1,map2)->{
if (map1.get("companyId").toString().equals(map2.get("companyId").toString())){
if (map1.get("deptId").toString().equals(map2.get("deptId").toString())){
return map2.get("postSort").toString().compareTo(map1.get("postSort").toString());
}else {
return map1.get("deptId").toString().compareTo(map2.get("deptId").toString());
}
}else {
return map2.get("companyId").toString().compareTo(map1.get("companyId").toString());
}
}).collect(Collectors.toList());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -158,6 +155,10 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta ...@@ -158,6 +155,10 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta
return this.getBaseMapper().pageListNew(page, RequestContext.getAppKey(), fieldCodes, groupCode, params, beginDate, endDate); return this.getBaseMapper().pageListNew(page, RequestContext.getAppKey(), fieldCodes, groupCode, params, beginDate, endDate);
} }
public List<Map<String, Object>> personInfoList(String groupCode, HashSet<String> userIdSet) {
return this.getBaseMapper().personInfoList(groupCode, userIdSet);
}
public IPage<Map<String, Object>> pageList(int current, int size, String groupCode, Map<String, String> params) { public IPage<Map<String, Object>> pageList(int current, int size, String groupCode, Map<String, String> params) {
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode)); List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class); Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
......
...@@ -244,6 +244,7 @@ public class EquipmentAlarmController extends AbstractBaseController { ...@@ -244,6 +244,7 @@ public class EquipmentAlarmController extends AbstractBaseController {
@RequestParam(value = "equipmentCode", required = false) String equipmentCode, @RequestParam(value = "equipmentCode", required = false) String equipmentCode,
@RequestParam(value = "indexTypeCode", required = false) String indexTypeCode, @RequestParam(value = "indexTypeCode", required = false) String indexTypeCode,
@RequestParam(value = "specificIndexKey", required = false) String specificIndexKey, @RequestParam(value = "specificIndexKey", required = false) String specificIndexKey,
@RequestParam(value = "alarmLogId", required = false) String alarmLogId,
CommonPageable commonPageable) { CommonPageable commonPageable) {
List<CommonRequest> queryRequests = new ArrayList<>(); List<CommonRequest> queryRequests = new ArrayList<>();
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
...@@ -272,6 +273,12 @@ public class EquipmentAlarmController extends AbstractBaseController { ...@@ -272,6 +273,12 @@ public class EquipmentAlarmController extends AbstractBaseController {
request4.setName("alarmType"); request4.setName("alarmType");
request4.setValue(StringUtil.isNotEmpty(alarmType) ? StringUtils.trimToNull(alarmType) : null); request4.setValue(StringUtil.isNotEmpty(alarmType) ? StringUtils.trimToNull(alarmType) : null);
queryRequests.add(request4); queryRequests.add(request4);
CommonRequest request5 = new CommonRequest();
request5.setName("alarmLogId");
request5.setValue(StringUtil.isNotEmpty(alarmLogId) ? StringUtils.trimToNull(alarmLogId) : null);
queryRequests.add(request5);
CommonRequest request8 = new CommonRequest(); CommonRequest request8 = new CommonRequest();
request8.setName("systemCode"); request8.setName("systemCode");
request8.setValue(StringUtil.isNotEmpty(systemCode) ? StringUtils.trimToNull(systemCode) : null); request8.setValue(StringUtil.isNotEmpty(systemCode) ? StringUtils.trimToNull(systemCode) : null);
......
...@@ -260,6 +260,7 @@ ...@@ -260,6 +260,7 @@
<select id="pageQuery" resultType="java.util.HashMap"> <select id="pageQuery" resultType="java.util.HashMap">
SELECT SELECT
`wlesal`.`equipment_specific_alarm_id` AS `id`, `wlesal`.`equipment_specific_alarm_id` AS `id`,
`wlesal`.id as alarmLogId,
`wles`.`code` AS `code`, `wles`.`code` AS `code`,
`wlesal`.`equipment_specific_name` AS `specificName`, `wlesal`.`equipment_specific_name` AS `specificName`,
`wlesal`.`equipment_specific_index_key` AS `indexKey`, `wlesal`.`equipment_specific_index_key` AS `indexKey`,
...@@ -352,8 +353,11 @@ ...@@ -352,8 +353,11 @@
<if test="param.bizOrgCode != null and param.bizOrgCode != ''">AND <if test="param.bizOrgCode != null and param.bizOrgCode != ''">AND
wls.biz_org_code like concat (#{param.bizOrgCode},'%') wls.biz_org_code like concat (#{param.bizOrgCode},'%')
</if> </if>
<if test="param.alarmLogId != null">AND
and wlesal.id = #{alarmLogId}
</if>
<if test="param.warehouseStructureName != null and param.warehouseStructureName != ''"> <if test="param.warehouseStructureName != null and param.warehouseStructureName != ''">
wlesal.location like concat(concat("%",#{param.warehouseStructureName}),"%") and wlesal.location like concat(concat("%",#{param.warehouseStructureName}),"%")
</if> </if>
<if test="param.equipCode != null and param.equipCode != ''"> <if test="param.equipCode != null and param.equipCode != ''">
AND wlesal.equipment_specific_code like concat(concat("%",#{param.equipCode}),"%") AND wlesal.equipment_specific_code like concat(concat("%",#{param.equipCode}),"%")
......
...@@ -2378,7 +2378,7 @@ ...@@ -2378,7 +2378,7 @@
WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 ) WHEN max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ) &lt; IFNULL( rp.min_water_level, 0 )
AND rp.max_water_level IS NULL THEN AND rp.max_water_level IS NULL THEN
'--' ELSE IFNULL(( '--' ELSE IFNULL((
TRUNCATE ( FORMAT(
abs( abs(
IFNULL( IFNULL(
max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ), max( CASE WHEN ei.equipment_index_key = 'FHS_FirePoolDevice_WaterLevel' THEN ei.`value` END ),
...@@ -2421,8 +2421,7 @@ ...@@ -2421,8 +2421,7 @@
LEFT JOIN wl_equipment_specific es ON es.id = rp.level_device_id LEFT JOIN wl_equipment_specific es ON es.id = rp.level_device_id
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id LEFT JOIN wl_equipment_specific_index ei ON ei.equipment_specific_id = rp.level_device_id
LEFT JOIN wl_equipment e ON e.id = ed.equipment_id LEFT JOIN wl_equipment_category ec ON ec.id = r.equip_category_id
LEFT JOIN wl_equipment_category ec ON ec.id = e.category_id
LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id LEFT JOIN f_fire_fighting_system fs ON fs.id = r.belong_fighting_system_id
WHERE WHERE
r.resource_type IN ( 'pool', 'industryPool' ) r.resource_type IN ( 'pool', 'industryPool' )
...@@ -2793,7 +2792,7 @@ ...@@ -2793,7 +2792,7 @@
( (
count( a.id ) - count( a.alarmNum &gt; 0 OR NULL )) AS normalNum, count( a.id ) - count( a.alarmNum &gt; 0 OR NULL )) AS normalNum,
( (
TRUNCATE ( FORMAT (
abs((( abs(((
count( a.id ) - count( a.alarmNum > 0 OR NULL )) / count( a.id ) - count( a.alarmNum > 0 OR NULL )) /
IF IF
...@@ -2823,7 +2822,7 @@ ...@@ -2823,7 +2822,7 @@
count( a.nowLevel &lt; a.minLevel OR NULL ) AS abnomalNum, count( a.nowLevel &lt; a.minLevel OR NULL ) AS abnomalNum,
count( a.nowLevel &gt;= a.minLevel OR NULL ) AS nomalNum, count( a.nowLevel &gt;= a.minLevel OR NULL ) AS nomalNum,
( (
TRUNCATE ( FORMAT (
abs((( abs(((
count( a.nowLevel &gt;= a.minLevel OR NULL )) / count( a.nowLevel &gt;= a.minLevel OR NULL )) /
IF IF
...@@ -2922,7 +2921,7 @@ ...@@ -2922,7 +2921,7 @@
<select id="getCarInfo" resultType="java.util.Map"> <select id="getCarInfo" resultType="java.util.Map">
select b.*, select b.*,
(TRUNCATE ( (FORMAT (
abs(( abs((
b.near7DaysStartNum) / b.near7DaysStartNum) /
IF IF
...@@ -2958,10 +2957,10 @@ ...@@ -2958,10 +2957,10 @@
temp.alarmEquipTotalNum - temp.notReturned temp.alarmEquipTotalNum - temp.notReturned
) AS returned, ) AS returned,
( (
TRUNCATE ( abs(( temp.alarmEquipTotalNum ) / IF (( temp.total = 0 ), 1, temp.total )) * 100, 2 ) FORMAT ( abs(( temp.alarmEquipTotalNum ) / IF (( temp.total = 0 ), 1, temp.total )) * 100, 2 )
) AS equipAbs, ) AS equipAbs,
( (
TRUNCATE ( abs(( temp.alarmEquipTotalNum - temp.notReturned ) / IF (( temp.alarmEquipTotalNum = 0 ), 1, temp.alarmEquipTotalNum )) * 100 , 2 ) FORMAT ( abs(( temp.alarmEquipTotalNum - temp.notReturned ) / IF (( temp.alarmEquipTotalNum = 0 ), 1, temp.alarmEquipTotalNum )) * 100 , 2 )
) AS returnAbs ) AS returnAbs
FROM FROM
( (
...@@ -3983,8 +3982,8 @@ ...@@ -3983,8 +3982,8 @@
if (SUM(a1.lastAlarmNum)>0,IFNULL( convert( ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum))/SUM(a1.lastAlarmNum),char(5)),'-'),ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)))*100 as alarmWOW, if (SUM(a1.lastAlarmNum)>0,IFNULL( convert( ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum))/SUM(a1.lastAlarmNum),char(5)),'-'),ABS(SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)))*100 as alarmWOW,
(CASE WHEN (SUM(a1.exepctionNum)-SUM(a1.lastExepctionNum)) &lt;0 THEN '减少' else '增加' end ) as status1, (CASE WHEN (SUM(a1.exepctionNum)-SUM(a1.lastExepctionNum)) &lt;0 THEN '减少' else '增加' end ) as status1,
(CASE WHEN (SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)) &lt;0 THEN '减少' else '增加' end ) as status2, (CASE WHEN (SUM(a1.alarmNum)-SUM(a1.lastAlarmNum)) &lt;0 THEN '减少' else '增加' end ) as status2,
TRUNCATE(if(SUM(a1.num)>0, convert(SUM(a1.num - a1.exepctionNum)/SUM(a1.num),char(5)), SUM(a1.num - a1.exepctionNum))*100, 2) as normalRate, FORMAT(if(SUM(a1.num)>0, convert(SUM(a1.num - a1.exepctionNum)/SUM(a1.num),char(5)), SUM(a1.num - a1.exepctionNum))*100, 2) as normalRate,
TRUNCATE(if(SUM(a1.num)>0,convert(SUM(a1.faultNum)/SUM(a1.num),char(5)),SUM(a1.faultNum)) *100, 2) as faultRate, FORMAT(if(SUM(a1.num)>0,convert(SUM(a1.faultNum)/SUM(a1.num),char(5)),SUM(a1.faultNum)) *100, 2) as faultRate,
a1.create_date a1.create_date
from from
(SELECT (SELECT
...@@ -4234,7 +4233,7 @@ ...@@ -4234,7 +4233,7 @@
a1.systemName, a1.systemName,
a1.system_id, a1.system_id,
a1.alarmNum, a1.alarmNum,
TRUNCATE(if( SUM(a1.num)>0,SUM(a1.num - a1.exepctionNum)/SUM(a1.num),SUM(a1.num - a1.exepctionNum))*100,2) as normalRate, FORMAT(if( SUM(a1.num)>0,SUM(a1.num - a1.exepctionNum)/SUM(a1.num),SUM(a1.num - a1.exepctionNum))*100,2) as normalRate,
a1.create_date a1.create_date
from from
(SELECT (SELECT
......
package com.yeejoin.amos.boot.module.tdc.api.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value="CheckResultDto", description="维表")
public class DimensionTableDto {
private String key;
private String title;
private List<DimensionTableDto> children;
}
package com.yeejoin.amos.boot.module.tdc.api.enums;
import java.util.HashMap;
import java.util.Map;
public enum ReportStateEnum {
WAIT_FILL_IN("0", "待填报", "waitFillIn"),
WAIT_HANDLE("1", "待处理", "waitHandle"),
HANDLED("2", "已处理", "handled"),
MY_CREATE("3", "我发起", "myCreate"),
IN_PROGRESS("4", "进行中", "inProgress");
private String status;
private String state;
private String IState;
ReportStateEnum(String status, String state, String IState) {
this.status = status;
this.state = state;
this.IState = IState;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getIState() {
return IState;
}
public void setIState(String IState) {
this.IState = IState;
}
public static final Map<String, String> map = new HashMap<>();
public static String getStateValue(String status){
return map.get(status);
}
static {
for(ReportStateEnum reportStateEnum: ReportStateEnum.values()){
map.put(reportStateEnum.getStatus(),reportStateEnum.getState());
}
}
}
...@@ -32,4 +32,11 @@ public interface IdxFeignService { ...@@ -32,4 +32,11 @@ public interface IdxFeignService {
*/ */
@RequestMapping(value = "/v1/subject-tree", method = RequestMethod.GET) @RequestMapping(value = "/v1/subject-tree", method = RequestMethod.GET)
ResponseModel<List<JSONObject>> subjectTree(@RequestParam("projectId") String projectId); ResponseModel<List<JSONObject>> subjectTree(@RequestParam("projectId") String projectId);
@RequestMapping(value = "/report/getTasks/v1", method = RequestMethod.GET)
ResponseModel<JSONObject> getInfo(@RequestParam("pageNumber") int pageNumber,@RequestParam("pageSize") int pageSize);
@RequestMapping(value = "/dimensionTable/treeView", method = RequestMethod.GET)
ResponseModel<JSONObject> getDimensionTable(@RequestParam("id") String id);
} }
...@@ -5,10 +5,15 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -5,10 +5,15 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Map;
/** /**
* @author DELL * @author DELL
*/ */
@Service @Service
public interface CheckReportService extends IService<CheckReport> { public interface CheckReportService extends IService<CheckReport> {
IPage<CheckReport> selectAll(int current, int size, String amosOrgCode); IPage<CheckReport> selectAll(int current, int size, String amosOrgCode);
Map getInfo(int pageNumber,int pageSize);
} }
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tdc.api.service; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tdc.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.DimensionTableDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto; import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -25,7 +26,7 @@ public interface CheckResultService extends IService<CheckResult> { ...@@ -25,7 +26,7 @@ public interface CheckResultService extends IService<CheckResult> {
List<CheckResultDto> selectDetails(String batchNo,Integer modelId); List<CheckResultDto> selectDetails(String batchNo,Integer modelId);
String saveSql(String amosOrgCode,String userName); String saveSql(String amosOrgCode,String userName, String batchNo);
/** /**
* 根据机构code获取模型数据树 * 根据机构code获取模型数据树
...@@ -55,4 +56,5 @@ public interface CheckResultService extends IService<CheckResult> { ...@@ -55,4 +56,5 @@ public interface CheckResultService extends IService<CheckResult> {
*/ */
Integer selectItemNo(String batchNo,Long modelId); Integer selectItemNo(String batchNo,Long modelId);
List<DimensionTableDto> getDimensionTable(String id);
} }
...@@ -63,7 +63,6 @@ public class CheckModelAction { ...@@ -63,7 +63,6 @@ public class CheckModelAction {
@MethodParam(paramLabel = "规范标签内容") String checkExplain, @MethodParam(paramLabel = "规范标签内容") String checkExplain,
@MethodParam(paramLabel = "校验项") String checkItem, @MethodParam(paramLabel = "校验项") String checkItem,
@MethodParam(paramLabel = "校验项值") String checkItemValue, @MethodParam(paramLabel = "校验项值") String checkItemValue,
@MethodParam(paramLabel = "校验项标准值") String checkItemRealValue,
@MethodParam(paramLabel = "对象") IdxProjectModel idxProjectModel) { @MethodParam(paramLabel = "对象") IdxProjectModel idxProjectModel) {
// 1. 检验结果入库 // 1. 检验结果入库
...@@ -142,7 +141,7 @@ public class CheckModelAction { ...@@ -142,7 +141,7 @@ public class CheckModelAction {
if (checkType == 0) { if (checkType == 0) {
// 全站校验生成报告 // 全站校验生成报告
checkResultService.saveSql(orgCode, checkPeopleName); checkResultService.saveSql(orgCode, checkPeopleName, batchNo);
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode); List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
checkModels.forEach(checkModel -> { checkModels.forEach(checkModel -> {
saveCheckModel(checkModel, batchNo); saveCheckModel(checkModel, batchNo);
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.controller; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckReportService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckReportService;
import com.yeejoin.amos.boot.module.tdc.biz.service.impl.CheckReportImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -14,6 +15,8 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -14,6 +15,8 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Map;
/** /**
* 校验报告 * 校验报告
* @author DELL * @author DELL
...@@ -37,4 +40,17 @@ public class CheckReportController { ...@@ -37,4 +40,17 @@ public class CheckReportController {
return ResponseHelper.buildResponse(checkReportService.selectAll(current,size,amosOrgCode)); return ResponseHelper.buildResponse(checkReportService.selectAll(current,size,amosOrgCode));
} }
/**
*
* return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "getInfo")
@ApiOperation(httpMethod = "GET",value = "厂站消防数据更新", notes = "厂站消防数据更新")
public ResponseModel<Map> getInfo(int pageNumber, int pageSize) {
return ResponseHelper.buildResponse(checkReportService.getInfo(pageNumber,pageSize));
}
} }
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.controller; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.DimensionTableDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto; import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService;
...@@ -93,12 +94,22 @@ public class CheckResultController extends BaseController { ...@@ -93,12 +94,22 @@ public class CheckResultController extends BaseController {
/** /**
* cs * cs
*/ */
// @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
// @GetMapping(value = "/saveSql")
// @ApiOperation(httpMethod = "GET", value = "result", notes = "result")
// public ResponseModel<String> saveSql(String amosOrgCode) {
// AgencyUserModel user = getUserInfo();
// return ResponseHelper.buildResponse(checkResultService.saveSql(amosOrgCode,user.getUserName()));
// }
/**
* cs
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/saveSql") @GetMapping(value = "/getDimensionTable")
@ApiOperation(httpMethod = "GET", value = "result", notes = "result") @ApiOperation(httpMethod = "GET", value = "result", notes = "result")
public ResponseModel<String> saveSql(String amosOrgCode) { public ResponseModel<List<DimensionTableDto>> getDimensionTable(String id) {
AgencyUserModel user = getUserInfo(); return ResponseHelper.buildResponse(checkResultService.getDimensionTable(id));
return ResponseHelper.buildResponse(checkResultService.saveSql(amosOrgCode,user.getUserName()));
} }
......
package com.yeejoin.amos.boot.module.tdc.biz.service.impl; package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport;
import com.yeejoin.amos.boot.module.tdc.api.enums.ReportStateEnum;
import com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckReportMapper; import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckReportMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckReportService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import springfox.documentation.spring.web.json.Json;
import java.util.List; import java.util.HashMap;
import java.util.Map;
/** /**
* @author DELL * @author DELL
...@@ -20,17 +26,40 @@ import java.util.List; ...@@ -20,17 +26,40 @@ import java.util.List;
@Service @Service
public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport> implements CheckReportService { public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport> implements CheckReportService {
@Autowired
IdxFeignService idxFeignService;
@Override @Override
public IPage<CheckReport> selectAll(int current,int size,String amosOrgCode) { public IPage<CheckReport> selectAll(int current,int size,String amosOrgCode) {
Page<CheckReport> page = new Page<>(current,size); Page<CheckReport> page = new Page<>(current,size);
LambdaQueryWrapper<CheckReport> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(CheckReport::getCreateDate);
if(ValidationUtil.isEmpty(amosOrgCode)){ if(ValidationUtil.isEmpty(amosOrgCode)){
return this.page(page);
return this.page(page,wrapper);
}else{ }else{
LambdaQueryWrapper<CheckReport> wrapper = new LambdaQueryWrapper<>();
wrapper.likeRight(CheckReport::getAmosOrgCode, amosOrgCode); wrapper.likeRight(CheckReport::getAmosOrgCode, amosOrgCode);
return this.page(page,wrapper); return this.page(page,wrapper);
} }
}
@Override
public Map getInfo(int pageNumber,int pageSize){
Map map = new HashMap<>();
JSONObject object = idxFeignService.getInfo(pageNumber,pageSize).getResult();
JSONArray jsonArray = object.getJSONArray("taskListModel");
for(int i = 0 ; i<jsonArray.size(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
String status = jsonObject.getString("status");
jsonObject.put("state",ReportStateEnum.map.get(status));
map.put("current",object.getString("pageNumber"));
map.put("records",jsonArray);
map.put("total",object.getString("total"));
return map;
} }
} }
...@@ -13,6 +13,7 @@ import com.mysql.cj.xdevapi.JsonArray; ...@@ -13,6 +13,7 @@ import com.mysql.cj.xdevapi.JsonArray;
import com.mysql.cj.xdevapi.Result; import com.mysql.cj.xdevapi.Result;
import com.stoyanr.evictor.queue.NavigableMapEvictionQueue; import com.stoyanr.evictor.queue.NavigableMapEvictionQueue;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.DimensionTableDto;
import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto; import com.yeejoin.amos.boot.module.tdc.api.dto.ModelTreeDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckReport;
...@@ -31,6 +32,7 @@ import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo; ...@@ -31,6 +32,7 @@ import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import liquibase.pro.packaged.M;
import org.codehaus.jettison.json.JSONString; import org.codehaus.jettison.json.JSONString;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -43,6 +45,7 @@ import java.io.FileInputStream; ...@@ -43,6 +45,7 @@ import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Service @Service
public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements CheckResultService { public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements CheckResultService {
...@@ -139,12 +142,18 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -139,12 +142,18 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
List<TableColumnsVo> columns = subjectTreeVo.getTableCols(); List<TableColumnsVo> columns = subjectTreeVo.getTableCols();
Map tableMap = checkResultMapper.getTables(subjectTreeVo.getTableName(), checkModel.getAmosOrgCode()); Map tableMap = checkResultMapper.getTables(subjectTreeVo.getTableName(), checkModel.getAmosOrgCode());
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
//TODO 不校验项 后期提出去,或数据库增加配置
String noItem = "org_code,biz_org_code,biz_org_name,station_name,station_code,inspector,check_item_value,factory_classify,fire_spacing_class,auditClas,distanceType,firewallClass";
String[] split = noItem.split(",");
columns.forEach(tableColumnsVo -> { columns.forEach(tableColumnsVo -> {
Map<String, Object> map = new HashMap<>(3); List<String> collect = Arrays.stream(split).filter(item -> item.equals(tableColumnsVo.getColumnName())).collect(Collectors.toList());
map.put("name", tableColumnsVo.getName()); if (collect.size() == 0) {
map.put("id", tableColumnsVo.getId()); Map<String, Object> map = new HashMap<>(3);
map.put("data", tableMap.get(tableColumnsVo.getColumnName())); map.put("name", tableColumnsVo.getName());
list.add(map); map.put("id", tableColumnsVo.getId());
map.put("data", tableMap.get(tableColumnsVo.getColumnName()));
list.add(map);
}
}); });
modelTreeDto.setChildren(list); modelTreeDto.setChildren(list);
return modelTreeDto; return modelTreeDto;
...@@ -174,20 +183,28 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -174,20 +183,28 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return this.baseMapper.selectCount(wrapper); return this.baseMapper.selectCount(wrapper);
} }
@Override
public List<DimensionTableDto> getDimensionTable(String id) {
ResponseModel<JSONObject> dimensionTable = idxFeignService.getDimensionTable(id);
JSONObject result = dimensionTable.getResult();
DimensionTableDto subjectTreeVo = JSON.parseObject(JSON.toJSONString(result), DimensionTableDto.class);
return subjectTreeVo.getChildren();
}
/** /**
* 获取报告数据 * 获取报告数据
* @param amosOrgCode * @param amosOrgCode
* @return * @return
*/ */
private Map<String,Object> getData(String amosOrgCode) { private Map<String,Object> getData(String amosOrgCode, String batchNo) {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
//获取统计表信息 //获取统计表信息
ArrayList<Map<String, Object>> list = new ArrayList<>(); ArrayList<Map<String, Object>> list = new ArrayList<>();
List<CheckResultDto> selectBatch = checkResultMapper.getOne(amosOrgCode); List<CheckResultDto> selectBatch = checkResultMapper.getOne(amosOrgCode);
for(CheckResultDto checkResultDto1 : selectBatch){ // for(CheckResultDto checkResultDto1 : selectBatch){
List<CheckResultDto> systemList = selectStatistion( checkResultDto1.getBatchNo(), amosOrgCode); List<CheckResultDto> systemList = selectStatistion(batchNo, amosOrgCode);
for (CheckResultDto system : systemList) { for (CheckResultDto system : systemList) {
HashMap<String, Object> data = new HashMap<>(); HashMap<String, Object> data = new HashMap<>();
...@@ -232,7 +249,7 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -232,7 +249,7 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
map.put("list2",list2); map.put("list2",list2);
}); });
} // }
return map; return map;
} }
...@@ -241,8 +258,8 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -241,8 +258,8 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
* @param amosOrgCode * @param amosOrgCode
* @return * @return
*/ */
public String getUrl(String amosOrgCode) { public String getUrl(String amosOrgCode, String batchNo) {
Map<String, Object> dataMap = getData(amosOrgCode); Map<String, Object> dataMap = getData(amosOrgCode, batchNo);
WordPowerUtils instance = WordPowerUtils.getInstance(); WordPowerUtils instance = WordPowerUtils.getInstance();
String pdfUrlString = ""; String pdfUrlString = "";
File filepdf = null; File filepdf = null;
...@@ -289,8 +306,8 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -289,8 +306,8 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
* @return * @return
*/ */
@Override @Override
public String saveSql(String amosOrgCode,String userName){ public String saveSql(String amosOrgCode,String userName, String batchNo){
String url = getUrl(amosOrgCode); String url = getUrl(amosOrgCode, batchNo);
CheckReport checkReport = new CheckReport(); CheckReport checkReport = new CheckReport();
checkReport.setReportUrl(url); checkReport.setReportUrl(url);
checkReport.setCreateDate(new Date()); checkReport.setCreateDate(new Date());
......
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