Commit 4a2e8474 authored by tangwei's avatar tangwei

修改规则回调

parent 864af93b
......@@ -313,7 +313,13 @@
</select>
<select id="getDutyPersonByTeamIdAndCarId" resultType="java.util.Map">
SELECT
cfir.telephone AS mobilePhone,
(SELECT
cfi.field_value AS telephone
FROM
cb_dynamic_form_instance cfi
where cfi.instance_id = cou.sequence_nbr and cfi.field_code = 'telephone'
)AS mobilePhone,
hh.userId AS userId,
cou.biz_org_name AS userName,
cou.amos_org_id AS amosId
......@@ -352,18 +358,12 @@ FROM
ss.deptName = #{departmentName}
) hh
LEFT JOIN cb_org_usr cou ON hh.userId = cou.sequence_nbr
LEFT JOIN (
SELECT
MAX(
CASE
WHEN cfi.field_code = 'telephone' THEN
cfi.field_value
END
) AS telephone,
cfi.instance_id
FROM
cb_dynamic_form_instance cfi
) cfir ON cfir.instance_id = hh.userId
</select>
<select id="getDutyPersonByTeamIdAndAirId" resultType="java.util.Map">
SELECT
......@@ -429,10 +429,10 @@ FROM
SELECT
Max(
CASE
WHEN cbd.field_code = 'positionType' THEN
WHEN cbd.field_code = 'administrativePositionCode' THEN
cbd.field_value
END
) AS positionType,
) AS administrativePositionCode,
Max(
CASE
WHEN cbd.field_code = 'telephone' THEN
......@@ -470,14 +470,14 @@ FROM
LEFT JOIN cb_org_usr cour ON dd.instance_id = cour.sequence_nbr
WHERE
<if test="positionType == null ">
dd.positionType IS NOT NULL
</if>
<if test="positionType != null">
dd.positionType in
<foreach collection="positionType" item="item" separator="," open="(" close=")" index="">
#{item, jdbcType=NUMERIC}
</foreach>
dd.administrativePositionCode IS NOT NULL
</if>
<!-- <if test="positionType != null">-->
<!-- dd.positionType in-->
<!-- <foreach collection="positionType" item="item" separator="," open="(" close=")" index="">-->
<!-- #{item, jdbcType=NUMERIC}-->
<!-- </foreach> -->
<!-- </if>-->
</select>
<select id ="getDutyFirePerson" resultType="java.util.Map">
SELECT
......
......@@ -909,7 +909,7 @@ LEFT JOIN (
i.field_value, null) as 'telephone' from cb_dynamic_form_instance i where i.field_code = 'telephone'
and i.field_value is not null) b on cou .sequence_nbr = b.id2
) d left join cb_org_usr cbo on cbo.sequence_nbr = d.parentId where d.parentId in (select sequence_nbr from cb_org_usr cou where biz_org_name = #{bizOrgName})
and d.administrativePositionCode is not null
</select>
......
......@@ -406,6 +406,7 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
String alertCalledId = null;
List<Map<String, Object>> orgUsers = new LinkedList<>();
List<Map<String, Object>> orgUsersqc = new LinkedList<>();
String sCode = "";
String alertWay = "";
AlertCalled alertCalled = null;
......@@ -444,16 +445,15 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
// 一般火灾 // 航空器救援
if(alertTypeCode.equals(AlertStageEnums.YBHZ.getCode()) || alertTypeCode.equals(AlertStageEnums.HKJY.getCode())) {
// 当日值班人员:获值班表中包括消救部、综合办公室、消防支队、应急指挥科的值班人员。
if(e.containsKey("onDuty")) {
// 当日值班人员:获值班表中包括消救部、综合办公室、消防支队、应急指挥科的值班人员。
String [] arr = e.get("onDuty").toString().split(",");
List<String> list = Arrays.asList(arr);
List<Map<String, Object>> mapList = iDutyPersonService.queryByCompanyId(list);
orgUsers.addAll(mapList);
}
//根据人员岗位:班组长、队长、通讯员; 消防队伍--消防人员 中,对应岗位的人员
if(e.containsKey("fireBrigade")) {
// 根据人员岗位:班组长、队长、通讯员; 消防队伍--消防人员 中,对应岗位的人员
List<FirefightersDto> fireBrigade = firefightersService.queryById(e.get("fireBrigade").toString().split(","), e.get("name").toString());
fireBrigade.stream().forEach(f->{
HashMap<String,Object> map = new HashMap<>();
......@@ -466,9 +466,8 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
});
}
//// 机场单位 模块 消防急救保障部中,“人员职务”不为空的人员
if(e.containsKey("name")) {
// 消防救援保障部
List<Map<String, Object>> mapList = iOrgUsrService.queryCompanyIdNew(e.get("name").toString());
orgUsers.addAll(mapList);
}
......@@ -478,12 +477,10 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
if(e.containsKey("name")) {
String [] arr = e.get("airportPost").toString().split(",");
List<String> list = Arrays.asList(arr);
List<Map<String, Object>> mapList = iOrgUsrService.queryCompanyId(e.get("name").toString(),list);
orgUsers.addAll(mapList);
}
}
// 事发单位
if(e.get("type").toString().equals("SF")) {
if(e.containsKey("airportPost")) {
......@@ -516,6 +513,19 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
}
});
Map<String,Map<String,Object>> mapcq =new HashMap<>();
//对人员去重
if(orgUsers!=null&&orgUsers.size()>0){
orgUsers.forEach(org -> {
if(org.get("amosUserId")!=null){
mapcq.put(org.get("amosUserId").toString(),org);
}
});
}
orgUsers.clear();
orgUsers.addAll(mapcq.values());
// 警情初报 续报 结案
// 1.保存警情记录主表
AlertSubmitted alertSubmitted = new AlertSubmitted();
......@@ -1609,21 +1619,25 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
//先获取消救部领导、消救部值班人员信息
sendIds.stream().forEach(e -> {
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(e));
// 消救部
if (jsonObject.containsKey("airportUnit")) {
if (jsonObject.containsKey("type") && jsonObject.getString("type").equals(AlertStageEnums.XJ.getCode())) {
String departmentName= jsonObject.getString("name");
if (jsonObject.containsKey("airportUnit")) { {
// 消救部领导
if (jsonObject.containsKey("airportUnit")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff(departmentName,null);
userIdList.addAll(mapList);
}
if(jsonObject.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),departmentName);
userIdList.addAll(mapList);
}
// 消救部值班员
if(jsonObject.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),departmentName);
userIdList.addAll(mapList);
}
}
});
List<Object> companyDetail = JSONArray.parseArray(JSON.toJSON(calledRo.getCompany()).toString(),Object.class);
for (Object powerTransferCompanyDto : companyDetail) {
PowerTransferCompanyDto powerDto = JSONObject.parseObject(JSON.toJSON(powerTransferCompanyDto).toString(), PowerTransferCompanyDto.class);
......@@ -1639,31 +1653,56 @@ public class AlertSubmittedServiceImpl extends BaseService<AlertSubmittedDto, Al
if (jsonObject1.containsKey("type") && (jsonObject1.getString("type").equals(AlertStageEnums.DD.getCode()))) {
String [] groupCode = jsonObject1.getString("fireBrigade").split(",");
List<String> positionType= Arrays.asList(groupCode);
if (jsonObject1.containsKey("fireBrigade")) { {
//所属大队领导:本大队中消防人员中 岗位为:大队站、副大队长、代理大队长、代理副大队长、指挥员、副中队长、班组长;
if (jsonObject1.containsKey("fireBrigade")) {
LambdaQueryWrapper<OrgUsr> queryWrapper = new LambdaQueryWrapper<OrgUsr>();
queryWrapper.eq(OrgUsr::getBizOrgCode, fireTeam.getBizOrgCode());
OrgUsr one = orgUsrService.getOne(queryWrapper);
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff(one.getBizOrgName(),positionType);
sendUserIds.addAll(mapList);
//List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff(one.getBizOrgName(),positionType);
List<FirefightersDto> fireBrigade = firefightersService.queryById(groupCode, one.getBizOrgName().toString());
fireBrigade.stream().forEach(f-> {
HashMap<String, Object> map = new HashMap<>();
map.put("mobilePhone", f.getMobilePhone());
map.put("userId", f.getSequenceNbr());
map.put("userName", f.getName());
map.put("amosId", f.getAmosUserId());
sendUserIds.add(map);
});
// sendUserIds.addAll(mapList);
}
if(jsonObject1.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),fireTeam.getCompanyName());
sendUserIds.addAll(mapList);
}
//所在大队值班当日值班员;
if(jsonObject1.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),fireTeam.getCompanyName());
sendUserIds.addAll(mapList);
}
//支队
}else if (jsonObject1.containsKey("type") && (jsonObject1.getString("type").equals(AlertStageEnums.ZD.getCode()))) {
String [] groupCode = jsonObject1.get("fireBrigade").toString().split(",");
List<String> positionType= Arrays.asList(groupCode);
String departmentName= jsonObject1.getString("name");
if (jsonObject1.containsKey("fireBrigade")) { {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff(departmentName,positionType);
sendUserIds.addAll(mapList);
//消防支队领导:本消防支队中消防人员中 岗位为:支队长、副支队长、党支部副书记、支队长助理、指挥员
if (jsonObject1.containsKey("fireBrigade")) {
//List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff(departmentName,positionType);
List<FirefightersDto> fireBrigade = firefightersService.queryById(groupCode, departmentName);
fireBrigade.stream().forEach(f-> {
HashMap<String, Object> map = new HashMap<>();
map.put("mobilePhone", f.getMobilePhone());
map.put("userId", f.getSequenceNbr());
map.put("userName", f.getName());
map.put("amosId", f.getAmosUserId());
sendUserIds.add(map);
});
// sendUserIds.addAll(mapList);
}
if(jsonObject1.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),departmentName);
sendUserIds.addAll(mapList);
}
// 支队值班员: 值班表中 【值班排班】中本支队的当日值班员;
if(jsonObject1.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),departmentName);
sendUserIds.addAll(mapList);
}
}
});
sendUserIds.addAll(userIdList);
......@@ -1869,15 +1908,17 @@ public Set<Map<String, Object>> getwone(Set<Map<String, Object>> sendUserIds){
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(e));
if(jsonObject.containsKey("type") &&( (jsonObject.getString("type").equals(AlertStageEnums.ZH.getCode())) || jsonObject.getString("type").equals(AlertStageEnums.XJ.getCode()))) {
String departmentName= jsonObject.getString("name");
if (jsonObject.containsKey("airportUnit")) { {
// 应急指挥科领导:机场单位的人员中,应急指挥科 ”人员职务“ 不为空的人员,不包括下级部门的人员;
if (jsonObject.containsKey("airportUnit")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff(departmentName,null);
userIds.addAll(mapList);
}
if(jsonObject.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),departmentName);
userIds.addAll(mapList);
}
// 应急指挥科值班员: 值班表中 【值班排班】中 应急指挥科的当日值班员;
if(jsonObject.containsKey("onDuty")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(DateUtils.getDateNowShortStr(),departmentName);
userIds.addAll(mapList);
}
}
}
for (Object powerTransferCompanyDto : companyDetail) {
......@@ -1890,15 +1931,17 @@ public Set<Map<String, Object>> getwone(Set<Map<String, Object>> sendUserIds){
for(Object sendObject:sendIds) {
JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.toJSONString(sendObject));
if (jsonObject1.containsKey("type") && (jsonObject1.getString("type").equals(AlertStageEnums.监控大队.getCode()))) {
//该监控大队值班员: 值班表中【值班排班】中 该监控大队的当日值班员;
if(jsonObject1.containsKey("onDuty")) {
List<Map<String, Object>> dutyList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId(
DateUtils.getDateNowShortStr(), fireTeam.getCompanyName());
sendUserIds.addAll(dutyList);
}
if (jsonObject1.containsKey("airportUnit")) { {
//该监控大队领导:机场单位的人员中,该监控大队 ”人员职务“ 不为空的人员;
if (jsonObject1.containsKey("airportUnit")) {
List<Map<String, Object>> mapList = dynamicFormInstanceMapper.getFireRescueDepartmentStaff( fireTeam.getCompanyName(),null);
sendUserIds.addAll(mapList);
}
}
}
}
......
......@@ -3629,6 +3629,21 @@
</sql>
</changeSet>
<changeSet author="tw" id="2022-11-08-01">
<preConditions onFail="MARK_RAN">
<tableExists tableName="jc_alert_form" />
</preConditions>
<comment>add data jc_alert_form</comment>
<sql>
REPLACE INTO `jc_alert_form`(`sequence_nbr`, `alert_type_code`, `field_value_code`, `field_name`, `field_code`, `field_type`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `block`, `sort_num`, `url`, `hide`) VALUES (132, '229', NULL, '火灾经度', 'floorLongitude', 'input', NULL, NULL, NULL, b'0', b'0', 2, NULL, b'1');
REPLACE INTO `jc_alert_form`(`sequence_nbr`, `alert_type_code`, `field_value_code`, `field_name`, `field_code`, `field_type`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `block`, `sort_num`, `url`, `hide`) VALUES (133, '229', NULL, '火灾纬度', 'floorLatitude', 'input', NULL, NULL, NULL, b'0', b'0', 3, NULL, b'1');
</sql>
</changeSet>
</databaseChangeLog>
......
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