Commit 25c8b61c authored by kongfm's avatar kongfm

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

parents d0c84abd a6734d86
......@@ -106,13 +106,39 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc
@Param("endTime") String endTime
);
/**
* 值班表中 【值班排班】中特定部门的特定日期值班员;
* @param dutyDate
* @param departmentName eg:急救科、消救部
* @return
*/
List<Map<String, Object>> getDutyPersonByTeamIdAndCarId(
String carIdName,
String teamIdName,
String userIdName,
String dutyDate,
String groupCode,
String carId,
String teamId);
String departmentName);
/**
* 值班表中 【120急救排班】该急救站的当日值班员
* @param dutyDate
* @param firstAidId
* @return
*/
List<Map<String, Object>> getDutyPersonByTeamIdAndAirId(
String dutyDate,
String firstAidId);
/**
* 机场单位的人员中,部门 ”人员职务“ 不为空的人员,不包括下级部门的人员
* @param departmentName eg: 急救科、 消救部
* @param PositionType : eg 岗位为:支队长、副支队长、党支部副书记、支队长助理、指挥员、;
* @return
*/
List<Map<String, Object>> getFireRescueDepartmentStaff(String departmentName,List<String> positionType);
List<Map<String, Object>> getDutyFirePerson(String dutyDate,String groupCode);
Map<String, Object> getCurentCarIsUserPhone(long carId);
List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds);
}
......@@ -119,7 +119,7 @@ public interface IOrgUsrService {
OrgUsrDto updateByIdOrgUsr(OrgUsrDto OrgUsrDto, Long id) throws Exception;
void updateByIdOrgPerson(OrgPersonDto OrgPersonDto, Long id) throws Exception;
OrgPersonDto updateByIdOrgPerson(OrgPersonDto OrgPersonDto, Long id) throws Exception;
OrgUsrFormDto selectCompanyById(Long id) throws Exception;
......@@ -139,7 +139,7 @@ public interface IOrgUsrService {
OrgUsrDto saveOrgDepartment(OrgDepartmentDto OrgDepartmentDto) throws Exception;
void updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentDto, Long id) throws Exception;
OrgDepartmentDto updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentDto, Long id) throws Exception;
OrgDepartmentFormDto selectDepartmentById(Long id) throws Exception;
......
......@@ -260,42 +260,315 @@
order by instanceId desc
</select>
<select id="getDutyPersonByTeamIdAndCarId" resultType="java.util.Map">
SELECT
userId
SELECT
cfir.telephone AS mobilePhone,
hh.userId AS userId,
cou.biz_org_name AS userName,
cou.amos_org_id AS amosId
FROM
(
SELECT
MAX(
userId,
instance_id
FROM
(
SELECT
MAX(
CASE
WHEN cbd.field_code = 'deptName' THEN
cbd.field_value
END
) AS deptName,
MAX(
CASE
WHEN cbd.field_code = 'userId' THEN
cbd.field_value
END
) AS userId,
cbd.instance_id
FROM
cb_dynamic_form_instance cbd
LEFT JOIN cb_duty_person_shift cps ON cbd.instance_id = cps.instance_id
WHERE
cps.duty_date = #{dutyDate}
AND cps.is_delete = FALSE
AND cbd.group_code = 'dutyPerson'
GROUP BY
cbd.instance_id
) ss
WHERE
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
cfir.telephone AS mobilePhone,
hh.userId AS userId,
cou.biz_org_name AS userName,
cou.amos_org_id AS amosId
FROM
(
SELECT
userId
FROM
(
SELECT
MAX(
CASE
WHEN cbd.field_code = 'userId' THEN
cbd.field_value
END
) AS userId,
MAX(
CASE
WHEN cbd.field_code = 'firstAidId' THEN
cbd.field_value
END
) AS firstAidId,
cbd.instance_id
FROM
cb_dynamic_form_instance cbd
LEFT JOIN cb_duty_person_shift cps ON cbd.instance_id = cps.instance_id
WHERE
cps.duty_date = #{dutyDate}
AND cps.is_delete = FALSE
AND cbd.group_code = 'dutyFirstAid'
GROUP BY
cbd.instance_id
) ss
WHERE
ss.firstAidId = #{firstAidId}
) 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 ="getFireRescueDepartmentStaff" resultType="java.util.Map">
SELECT
dd.telephone AS mobilePhone,
cour.sequence_nbr AS userId,
cour.biz_org_name AS userName,
cour.amos_org_id AS amosId
FROM
(
SELECT
Max(
CASE
WHEN cbd.field_code = #{carIdName} THEN
WHEN cbd.field_code = 'administrativePositionCode' THEN
cbd.field_value
END
) AS #{carIdName},
MAX(
) AS administrativePositionCode,
Max(
CASE
WHEN cbd.field_code = #{teamIdName} THEN
WHEN cbd.field_code = 'telephone' THEN
cbd.field_value
END
) AS #{teamIdName},
MAX(
) AS telephone,
Max(
CASE
WHEN cbd.field_code = #{userIdName} THEN
cbd.field_value
WHEN cbd.field_code = 'stateCode' THEN
cbd.field_value_label
END
) AS #{userIdName},
) AS stateCode,
cbd.instance_id
FROM
cb_dynamic_form_instance cbd
LEFT JOIN cb_duty_person_shift cps ON cbd.instance_id = cps.instance_id
WHERE
cps.duty_date = #{dutyDate}
AND cps.is_delete = FALSE
AND cbd.group_code = #{groupCode}
GROUP BY
cbd.instance_id IN (
SELECT
cou.sequence_nbr
FROM
cb_org_usr cou
WHERE
cou.parent_id = (
SELECT
sequence_nbr
FROM
cb_org_usr
WHERE
biz_org_name = #{departmentName}
)
AND cou.biz_org_type = 'PERSON'
) group by cbd.instance_id
) dd
LEFT JOIN cb_org_usr cour ON dd.instance_id = cour.sequence_nbr
WHERE
<if test="positionType == null ">
dd.administrativePositionCode IS NOT NULL
</if>
<if test="positionType != null">
dd.administrativePositionCode in
<foreach collection="positionType" item="item" separator="," open="(" close=")" index="">
#{item, jdbcType=NUMERIC}
</foreach>
</if>
</select>
<select id ="getDutyFirePerson" resultType="java.util.Map">
SELECT
dd.telephone AS mobilePhone
FROM
(
SELECT
Max(
CASE
WHEN cbd.field_code = 'telephone' THEN
cbd.field_value
END
) AS telephone,
cbd.instance_id
FROM
cb_dynamic_form_instance cbd
WHERE
cbd.instance_id IN (
SELECT
userId
FROM
(
SELECT
MAX(
CASE
WHEN cbd.field_code = 'deptId' THEN
cbd.field_value
END
) AS deptId,
MAX(
CASE
WHEN cbd.field_code = 'userId' THEN
cbd.field_value
END
) AS userId,
cbd.instance_id
FROM
cb_dynamic_form_instance cbd
LEFT JOIN cb_duty_person_shift cps ON cbd.instance_id = cps.instance_id
WHERE
cps.duty_date = #{dutyDate}
AND cps.is_delete = FALSE
AND cbd.group_code = #{groupCode}
GROUP BY
cbd.instance_id
) ss
WHERE
ss.deptId IN (
SELECT
sequence_nbr
FROM
cb_org_usr
WHERE
biz_org_name = '消防救援保障部'
AND biz_org_type = 'COMPANY'
)
)
) dd
</select>
<select id='getCurentCarIsUserPhone' resultType="java.util.Map">
SELECT
ss.telephone AS mobilePhone,
cou.sequence_nbr AS userId,
cou.biz_org_name AS userName,
cou.amos_org_id AS amosId
FROM
(
SELECT
field_value as telephone
,instance_id
FROM
cb_dynamic_form_instance
WHERE
group_code = '246'
AND instance_id = (
SELECT
sequence_nbr
FROM
cb_org_usr
WHERE
amos_org_id = (
SELECT
amos_user_id
FROM
jc_user_car
WHERE
car_id = #{carId}
)
) and field_code='telephone'
) ss
LEFT JOIN cb_org_usr cou ON ss.instance_id = cou.sequence_nbr
</select>
<select id='getOrgPersonTelphone' resultType="java.util.Map">
SELECT
dd.telephone AS mobilePhone
FROM
(
SELECT
Max(
CASE
WHEN cbd.field_code = 'administrativePositionCode' THEN
cbd.field_value_label
END
) AS administrativePositionCode,
Max(
CASE
WHEN cbd.field_code = 'telephone' THEN
cbd.field_value
END
) AS telephone,
Max(
CASE
WHEN cbd.field_code = 'stateCode' THEN
cbd.field_value_label
END
) AS stateCode,
cbd.instance_id
FROM
cb_dynamic_form_instance cbd
WHERE
cbd.instance_id IN (
SELECT
cou.sequence_nbr
FROM
cb_org_usr cou
WHERE
cou.parent_id in
<foreach item="item" collection="companyIds" separator="," open="(" close=")" index="">
#{item.departmentId, jdbcType=NUMERIC}
</foreach>
AND cou.biz_org_type = 'PERSON'
)group by cbd.instance_id
) dd
WHERE
ss.carId = #{carId}
AND ss.teamId = #{teamId}
dd.administrativePositionCode IS NOT NULL
</select>
</mapper>
package com.yeejoin.amos.boot.module.jcs.api.dto;
import java.io.Serializable;
import com.yeejoin.amos.component.rule.Label;
import com.yeejoin.amos.component.rule.RuleFact;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
*
* <pre>
......@@ -20,16 +20,12 @@ import java.util.List;
@Data
@RuleFact(value = "调派信息",project = "西咸机场119调派规则")
public class AlertCallePowerTransferRo implements Serializable{
/**
* <pre>
*
* </pre>
*/
private static final long serialVersionUID = 4735920511849348360L;
private static final long serialVersionUID = 9053208791780047768L;
/**
* 通用属性
......@@ -86,7 +82,7 @@ public class AlertCallePowerTransferRo implements Serializable{
private String contactPhone;
@ApiModelProperty(value = "调派单位资源列表")
private List< PowerTransferCompanyDto> company;
private String company;
@ApiModelProperty(value = "调派类型队伍")
private String powerTransType;
......
......@@ -52,4 +52,16 @@ public class PowerrTransferLog extends BaseEntity {
@TableField("send_content")
private String sendContent;
/**
* 调派关联单位id
*/
@TableField("power_transfer_company_id")
private Long powerTransferCompany;
/**
* 调派关联资源id
*/
@TableField("power_transfer_company_resources_id")
private Long powerTransferCompanyResource;
}
......@@ -23,6 +23,7 @@ public enum AlertBusinessTypeEnum {
警情初报("reportAlert", "297", "297","", "警情初报"),
警情续报("followReportAlert", "313", "313","SMS_JCS_0006", "警情续报"),
非警情确认("notAlert", "314", "314","SMS_JCS_0008", "非警情确认"),
力量调派("powerTransfer", "316", "316","SMS_JCS_DP", "力量调派"),
警情结案("endAlert", "315", "315","SMS_JCS_0009", "警情结案");
private String key;
......
......@@ -28,7 +28,7 @@ public enum AlertStageEnums {
RG("226", "人工上报"),
DJ("228", "对讲呼入"),
JK("388", "监控中心报警"),
JK("388", "监控中心报警"),//也是监控大队
DH("389", "电话报警"),
......@@ -41,7 +41,18 @@ public enum AlertStageEnums {
ZZZD("116", "企(事)业单位专职消防救援支队"),
YWDD("117", "企(事)业单位义务消防救援大队"),
YLJY("830", "企(事)业单位医疗救援队(站)"),
JKDD("118", "企(事)业单位监控大队");
DD("DD", "所属大队"),
JJZ("JJZ", "急救站"),
ZD("ZD", "消防支队"),
XJ("XJ", "消救部"),
ZH("ZH", "应急指挥科"),
BD("BD", "调派车辆指定人"),
监控大队("JK","监控大队"),
onDuty("onDuty", "值班单位"),
fireBrigade("fireBrigade", "岗位名称,规则配置"),
airportUnit("airportUnit", "人员职务规则配置"),
flag("flag", "值班单位"),
JKDD("6", "企(事)业单位监控大队");
......
......@@ -2,7 +2,9 @@ package com.yeejoin.amos.latentdanger.common.enums;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -47,7 +49,7 @@ public interface LatentDangerState {
/**
* 隐患二次审核确认
*/
隐患二次审核确认("隐患二次审核确认", "secondConfirm", "taskDispatch","onSiteConfirm", "1", ""),
隐患二次审核确认("隐患二次审核确认", "secondConfirm", "taskDispatch","onSiteConfirm", "1", "auditRecordPage"),
/**
* 整改任务分配
*/
......@@ -187,15 +189,14 @@ public interface LatentDangerState {
return enumName;
}
public static String getEnumUrlByCode(String code) {
String enumUrl = "";
for(SupervisionDangerStateEnum type: SupervisionDangerStateEnum.values()) {
if (type.getCode().equals(code)) {
enumUrl = type.getUrl();
break;
}
public static Map<String, String> getEnumMapByCode(String code) {
Map<String, String> map = new HashMap<>();
SupervisionDangerStateEnum dangerEnum = getEnumByCode(code);
if (!ValidationUtil.isEmpty(dangerEnum)){
map.put("processState", dangerEnum.getProcessState());
map.put("url", dangerEnum.getUrl());
}
return enumUrl;
return map;
}
public static List<Map<String, String>> getEnumList() {
......
......@@ -82,8 +82,8 @@ public class OrgDepartmentController {
@ApiOperation(httpMethod = "PUT", value = "更新部门数据", notes = "更新部门数据")
public ResponseModel<Object> updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgDepartmentDto OrgDepartmentVo, @PathVariable Long id) throws Exception {
OrgDepartmentVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_DEPARTMENT);
iOrgUsrService.updateByIdOrgDepartment(OrgDepartmentVo, id);
return ResponseHelper.buildResponse(null);
return ResponseHelper.buildResponse(iOrgUsrService.updateByIdOrgDepartment(OrgDepartmentVo, id));
}
......
......@@ -97,8 +97,8 @@ public class OrgPersonController {
/*同步修改关联账号用户名 chenzhao*/
AgencyUserModel amosUser = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult();
OrgPersonVo.setAmosOrgCode(amosUser.getRealName());
iOrgUsrService.updateByIdOrgPerson(OrgPersonVo, id);
return ResponseHelper.buildResponse(null);
return ResponseHelper.buildResponse( iOrgUsrService.updateByIdOrgPerson(OrgPersonVo, id));
}
......
......@@ -12,7 +12,6 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
......@@ -146,7 +145,9 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
*/
public List<Map<String, Object>> getDetailByTeamIdAndJobTitle(Long teamId,List<String> jobTitleArray) {
LambdaQueryWrapper<Firefighters> wrapper = new LambdaQueryWrapper<Firefighters>();
wrapper.in(Firefighters::getJobTitle, jobTitleArray);
if(jobTitleArray!=null && jobTitleArray.size()>0) {
wrapper.in(Firefighters::getJobTitleCode, jobTitleArray);
}
wrapper.eq(Firefighters::getIsDelete, false);
wrapper.eq(Firefighters::getFireTeamId, teamId);
wrapper.select(Firefighters::getMobilePhone);
......
......@@ -66,6 +66,7 @@ import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserRolesEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserUnitTypeEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
......@@ -74,6 +75,8 @@ import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import ch.qos.logback.core.joran.conditional.IfAction;
/**
* 机构/部门/人员表 服务实现类
*
......@@ -112,6 +115,9 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
FireStationServiceImpl fireStationServiceImpl;
@Value("${jcs.company.topic.add}")
private String airportAddTopic;
@Autowired
DynamicFormInstanceMapper dynamicFormInstanceMapper;
public static List<OrgMenuDto> buildTreeParallel(List<OrgUsr> list) {
......@@ -779,7 +785,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
@Override
public void updateByIdOrgPerson(OrgPersonDto OrgPersonVo, Long id) throws Exception {
public OrgPersonDto updateByIdOrgPerson(OrgPersonDto OrgPersonVo, Long id) throws Exception {
// 修改人员信息
OrgUsr orgUsr = new OrgUsr();
OrgUsr oriOrgUsr = getById(id);
......@@ -805,10 +811,13 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
// orgUsr.setAmosOrgCode(user.getRealName()); 去掉AmosOrgCode by litw 2021年9月10日
orgUsr.setAmosOrgId(user.getUserId());
}
saveOrgUsr(orgUsr, oriOrgUsr);
// 保存动态表单数据
updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgPersonVo.getDynamicFormValue());
if (orgUsr.getBizOrgCode() != null){
OrgPersonVo.setBizOrgCode(orgUsr.getBizOrgCode());
}
return OrgPersonVo;
}
@Override
......@@ -950,7 +959,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
@Override
public void updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentVo, Long id) throws Exception {
public OrgDepartmentDto updateByIdOrgDepartment(OrgDepartmentDto OrgDepartmentVo, Long id) throws Exception {
// 修改部门信息
OrgUsr orgUsr = new OrgUsr();
OrgUsr oriOrgUsr = getById(id);
......@@ -966,6 +975,8 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
saveOrgUsr(orgUsr, oriOrgUsr);
// 保存动态表单数据
updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgDepartmentVo.getDynamicFormValue());
OrgDepartmentVo.setBizOrgCode(orgUsr.getBizOrgCode());
return OrgDepartmentVo ;
}
@Override
......@@ -1870,7 +1881,20 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return orgUsrMapper.queryCompanyIdNew(bizOrgName);
}
public List<Map<String,Object>> getuserDetail(Long departmentId,List<Map<String, Object>> resulLists){
OrgUsr resulList =this.baseMapper.selectById(departmentId);
if(resulList.getParentId()!=null) {
Map<String, Object> resultMap =new HashMap<String, Object>();
resultMap.put("departmentId", resulList.getSequenceNbr());
resulLists.add(resultMap);
return getuserDetail(Long.parseLong(resulList.getParentId()),resulLists);
}else {
return resulLists;
}
}
public List<AgencyUserModel> getAmosUserByOrgUser(String orgUserIds) throws Exception {
if (ValidationUtil.isEmpty(orgUserIds)) {
......
......@@ -14,8 +14,11 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
/**
* 特岗人员服务实现类
......@@ -68,12 +71,30 @@ public class SpecialPositionStaffServiceImpl extends BaseService<SpecialPosition
// 查询已有数据的岗位类型
List<Long> positionStaffCodeList = this.baseMapper.getPositionStaffCodeList(false,companyId);
// 排除已有数据的,返回
/*bug 3483 陈召 2021-11-18 开始*/
for (int i = 0; i < menuList.size(); i++) {
//排除父岗位是否已有 有就删除
if (positionStaffCodeList.contains(Long.valueOf(menuList.get(i).getKey()))) {
menuList.remove(i);
i--;
}
//排除子岗位是否已有 有就删除
if (null != menuList.get(i).getChildren() && menuList.get(i).getChildren().size() > 0){
List<MenuFrom> children = menuList.get(i).getChildren();
for (int j= 0; j < children.size(); j++) {
if (positionStaffCodeList.contains(Long.valueOf(children.get(j).getKey()))) {
menuList.get(i).getChildren().remove(j);
j--;
}
//当子岗位全部删除时 父岗位也删除
if (children.size() == 0){
menuList.remove(i);
i--;
}
}
}
}
/*bug 3483 陈召 2021-11-18 结束*/
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("GWMC", menuList);
return objectObjectHashMap;
......
......@@ -50,10 +50,10 @@ public class StartLoader implements ApplicationRunner {
if (!ValidationUtil.isEmpty(obj)) {
JSONObject json = JSON.parseObject(obj);
AlertNewsDto alertNewsDto = new AlertNewsDto( "物联警情",
"物联设备发生警情,发生位置:"+json.get("address")!=null?json.get("address").toString():""+
",事发单位:"+json.get("unitInvolvedName")!=null?json.get("unitInvolvedName").toString():""
+",联系人:"+json.get("contactUser")!=null?json.get("contactUser").toString():""
+",联系电话:"+json.get("contactPhone")!=null?json.get("contactPhone").toString():""+".请尽快处理!",
"物联设备发生警情,发生位置:"+(json.get("address")!=null?json.get("address").toString():"")+
",事发单位:"+(json.get("unitInvolvedName")!=null?json.get("unitInvolvedName").toString():"")
+",联系人:"+(json.get("contactUser")!=null?json.get("contactUser").toString():"")
+",联系电话:"+(json.get("contactPhone")!=null?json.get("contactPhone").toString():"")+".请尽快处理!",
json.get("id").toString(), json);
emqKeeper.getMqttClient().publish(topicweb, JSONObject.toJSON(alertNewsDto).toString().getBytes("UTF-8"), 1, false);
}
......
......@@ -3,11 +3,14 @@ package com.yeejoin.amos.boot.module.jcs.biz.rule.action;
import java.util.List;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.PowerrTransferLogServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCallePowerTransferRo;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AlertSubmittedServiceImpl;
import com.yeejoin.amos.component.rule.RuleActionBean;
import com.yeejoin.amos.component.rule.RuleMethod;
......@@ -34,6 +37,10 @@ public class PowerTransferAction {
private AlertSubmittedServiceImpl alertSubmittedService;
@Autowired
PowerrTransferLogServiceImpl powerrTransferLogServiceImpl;
/**
* 短信报送
......@@ -44,14 +51,22 @@ public class PowerTransferAction {
* @param object 模板内容对象
* @throws Exception 异常
*/
@RuleMethod(methodLabel = "短信报送", project = "西咸机场119接处警规则")
@SuppressWarnings("rawtypes")
@RuleMethod(methodLabel = "短信报送", project = "西咸机场119接处警规则")
public void sendcmd(String smsCode, String sendType, List sendIds, Object object) throws Exception {
// alertSubmittedService.ruleCallbackAction(smsCode, sendIds, object);
System.out.println("8796w39879873298798");
if (object instanceof AlertCallePowerTransferRo) {
AlertCallePowerTransferRo calledRo = (AlertCallePowerTransferRo) object;
powerrTransferLogServiceImpl.savePowerTransferLog(calledRo);
calledRo.getPowerTransType();
if (FireBrigadeTypeEnum.专职消防队.getKey().equals(calledRo.getPowerTransType())) {
alertSubmittedService.ruleCallbackActionForPowerTransferForCar(smsCode, sendIds, object);//消防车辆
} else if (FireBrigadeTypeEnum.医疗救援队.getKey().equals(calledRo.getPowerTransType())) {
alertSubmittedService.ruleCallbackActionForPowerTransferForAid(smsCode, sendIds, object);//120急救站
} else if (FireBrigadeTypeEnum.监控大队.getKey().equals(calledRo.getPowerTransType())) {
alertSubmittedService.ruleCallbackActionForPowerTransferForSurvBrigade(smsCode, sendIds, object);//监控大队
}
}
}
}
......@@ -442,4 +442,5 @@ public class FireTeamServiceImpl extends BaseService<FireTeamDto, FireTeam, Fire
queryWrapper.eq(FireTeam::getCompany, companyId);
return this.baseMapper.selectList(queryWrapper);
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCallePowerTransferRo;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyResourcesDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerrTransferLog;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.mapper.PowerrTransferLogMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IPowerrTransferLogService;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerrTransferLogDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
......@@ -19,6 +35,13 @@ import java.util.List;
*/
@Service
public class PowerrTransferLogServiceImpl extends BaseService<PowerrTransferLogDto,PowerrTransferLog,PowerrTransferLogMapper> implements IPowerrTransferLogService {
@Autowired
PowerTransferCompanyServiceImpl powerTransferCompanyService;
@Autowired
PowerTransferCompanyResourcesServiceImpl powerTransferCompanyResourcesService;
/**
* 分页查询
*/
......@@ -41,11 +64,19 @@ public class PowerrTransferLogServiceImpl extends BaseService<PowerrTransferLogD
PowerrTransferLogDto dto = new PowerrTransferLogDto();
queryWrapper.eq(PowerrTransferLog::getTeamId,id);
List<PowerrTransferLog> list = this.list(queryWrapper);
PowerTransferCompany company = powerTransferCompanyService.getById(id);
list.stream().forEach(e->{
dto.setReceiveName(dto.getRecUserName() == null ? "".concat(e.getReceiveName()) : dto.getReceiveName().concat("/").concat(e.getReceiveName()) );
dto.setSendTime(e.getSendTime());
dto.setSendContent(e.getSendContent());
dto.setRecUserName(e.getReceiveName());
if(!ValidationUtil.isEmpty(company)) {
dto.setSendContent(company.getTaskInformation());
}
});
return dto;
}
......@@ -54,12 +85,59 @@ public class PowerrTransferLogServiceImpl extends BaseService<PowerrTransferLogD
if("1".equals(type)) {
LambdaQueryWrapper<PowerrTransferLog> queryWrapper = new LambdaQueryWrapper<>();
PowerrTransferLogDto dto = new PowerrTransferLogDto();
queryWrapper.eq(PowerrTransferLog::getTeamId,id);
queryWrapper.eq(PowerrTransferLog::getResourceId,id);
PowerrTransferLog powerrTransferLog = this.getOne(queryWrapper);
PowerTransferCompanyResources resources = powerTransferCompanyResourcesService.getById(id);
PowerTransferCompany byId = powerTransferCompanyService.getById(resources.getPowerTransferCompanyId());
powerrTransferLog.setSendContent(byId.getTaskInformation());
Bean.toPo(powerrTransferLog,dto);
return dto;
}
return new PowerrTransferLogDto();
}
public void savePowerTransferLog( AlertCallePowerTransferRo alertCallePowerTransferRo) {
String powerTransType = alertCallePowerTransferRo.getPowerTransType();
List<PowerrTransferLog> list = new ArrayList<>();
if (FireBrigadeTypeEnum.专职消防队.getKey().equals(powerTransType)) {
List<Object> companyDetail = JSONArray.parseArray(JSON.toJSON(alertCallePowerTransferRo.getCompany()).toString(),Object.class);
for (Object powerTransferCompanyDto : companyDetail) {
PowerTransferCompanyDto powerDto = JSONObject.parseObject(JSON.toJSON(powerTransferCompanyDto).toString(), PowerTransferCompanyDto.class);
List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList = powerDto.getPowerTransferCompanyResourcesDtoList();
powerTransferCompanyResourcesDtoList.stream().forEach(f-> {
PowerrTransferLog pw = new PowerrTransferLog();
pw.setResourceId(f.getSequenceNbr());
pw.setReceiveName(f.getRecUserName());
try {
pw.setSendTime(DateUtils.dateTimeToDateString(new Date(System.currentTimeMillis())));
} catch (ParseException ex) {
ex.printStackTrace();
}
pw.setPowerTransferCompanyResource(f.getSequenceNbr());
pw.setPowerTransferCompany(f.getPowerTransferCompanyId());
list.add(pw);
});
}
} else if (FireBrigadeTypeEnum.医疗救援队.getKey().equals(powerTransType) || FireBrigadeTypeEnum.监控大队.getKey().equals(powerTransType)) {
List<Object> companyDetail = JSONArray.parseArray(JSON.toJSON(alertCallePowerTransferRo.getCompany()).toString(),Object.class);
for (Object powerTransferCompanyDto : companyDetail) {
PowerTransferCompanyDto powerDto = JSONObject.parseObject(JSON.toJSON(powerTransferCompanyDto).toString(), PowerTransferCompanyDto.class);
PowerrTransferLog pw = new PowerrTransferLog();
pw.setTeamId(powerDto.getSequenceNbr());
pw.setReceiveName(powerDto.getRecUserName());
try {
pw.setSendTime(DateUtils.dateTimeToDateString(new Date(System.currentTimeMillis())));
} catch (ParseException ex) {
ex.printStackTrace();
}
pw.setPowerTransferCompany(powerDto.getCompanyId());
list.add(pw);
}
}
this.saveBatch(list);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertBusinessTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertStageEnums;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import com.alibaba.fastjson.JSONArray;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FormValue;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCallePowerTransferRo;
......@@ -20,6 +18,7 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledRo;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
import com.yeejoin.amos.component.rule.RuleTrigger;
......@@ -243,13 +242,15 @@ public class RuleAlertCalledService {
AlertCalledFormDto alertCalledFormDto = (AlertCalledFormDto) alertCalledServiceImpl
.selectAlertCalledByIdNoRedis(alertCalledId);
alertCallePowerTransferRo.setAlertSubmittedId(Long.toString(alertCalledId));
if (alertCalledFormDto == null) {
return false;
}
AlertCalled alertCalled = alertCalledFormDto.getAlertCalled();
alertCallePowerTransferRo
.setCallTimeStr(DateUtils.convertDateToString(alertCalled.getCallTime(), DateUtils.DATE_TIME_PATTERN));
alertCallePowerTransferRo.setSequenceNbr(String.valueOf(alertCalled.getSequenceNbr()));
alertCallePowerTransferRo.setAddress(alertCalled.getAddress());
alertCallePowerTransferRo.setAlertType(alertCalled.getAlertType());
alertCallePowerTransferRo.setAlertTypeCode(alertCalled.getAlertTypeCode());
......@@ -265,9 +266,6 @@ public class RuleAlertCalledService {
List<FormValue> alertFormValues = alertCalledFormDto.getDynamicFormAlert();
if (!ValidationUtil.isEmpty(alertFormValues)) {
for (FormValue alertFormValue : alertFormValues) {
if (alertFormValue.getKey().equals("alertSubmittedId")) {
alertCallePowerTransferRo.setAlertSubmittedId(alertFormValue.getValue());
}
// 一般火灾
if (alertFormValue.getKey().equals("fireLocation")) {
alertCallePowerTransferRo.setFireLocation(alertFormValue.getValue());
......@@ -299,7 +297,7 @@ public class RuleAlertCalledService {
}
}
if (FireBrigadeTypeEnum.专职消防队.getKey().equals(type)) {
alertCallePowerTransferRo.setCompany(new ArrayList<>(i));
alertCallePowerTransferRo.setCompany(JSONArray.toJSONString(i));
alertCallePowerTransferRo.setPowerTransType(type);
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(" 失火位置:"+alertCallePowerTransferRo.getFireLocation());
......@@ -309,7 +307,7 @@ public class RuleAlertCalledService {
alertCallePowerTransferRo.setContent(stringBuffer.toString());
} else if (FireBrigadeTypeEnum.监控大队.getKey().equals(type)) {
alertCallePowerTransferRo.setCompany(new ArrayList<>(i));
alertCallePowerTransferRo.setCompany(JSONArray.toJSONString(i));
alertCallePowerTransferRo.setPowerTransType(type);
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(" 失火位置:"+alertCallePowerTransferRo.getFireLocation());
......@@ -319,7 +317,7 @@ public class RuleAlertCalledService {
alertCallePowerTransferRo.setContent(stringBuffer.toString());
} else if (FireBrigadeTypeEnum.医疗救援队.getKey().equals(type)) {
alertCallePowerTransferRo.setCompany(new ArrayList<>(i));
alertCallePowerTransferRo.setCompany(JSONArray.toJSONString(i));
alertCallePowerTransferRo.setPowerTransType(type);
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(" 患者现状:"+ageGroup==null?"无":ageGroup);
......
......@@ -55,8 +55,8 @@ public class RuleDangerService {
LatentDangerRo latentDangerRo = buildLatentDangerRo(latentDanger, ruleType);
Map<String, String> extras = !ValidationUtil.isEmpty(latentDangerRo.getExtras()) ? latentDangerRo.getExtras() : new HashMap<>();
// 跳转url
String url = LatentDangerState.SupervisionDangerStateEnum.getEnumUrlByCode(latentDanger.getDangerState());
extras.put("url", url);
Map<String, String> enumMapByCode = LatentDangerState.SupervisionDangerStateEnum.getEnumMapByCode(latentDanger.getDangerState());
extras.putAll(enumMapByCode);
latentDangerRo.setExtras(extras);
latentDangerRo.setExcuteStateName(excuteStateName);
latentDangerRo.setIsSendWeb(true);
......@@ -91,6 +91,7 @@ public class RuleDangerService {
if (!ValidationUtil.isEmpty(type)){
Map<String, String> map = new HashMap<>();
map.put("type", type);
map.put("id", String.valueOf(latentDanger.getId()));
latentDangerRo.setExtras(map);
}
return latentDangerRo;
......
......@@ -2141,8 +2141,9 @@
<changeSet author="chenzhao" id="2021-11-15-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_dynamic_form_column"/>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_dynamic_form_column"/>
<not>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_dynamic_form_column"/>
</not>
</preConditions>
<comment>update data cb_data_dictionary</comment>
<sql>
......@@ -2153,8 +2154,9 @@
<changeSet author="chenzhao" id="2021-11-16-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_dynamic_form_column"/>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_dynamic_form_column"/>
<not>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_dynamic_form_column"/>
</not>
</preConditions>
<comment>insert data cb_dynamic_form_column</comment>
<sql>
......@@ -2218,5 +2220,42 @@
</sql>
</changeSet>
<!-- insert 模板
<changeSet author="chenzhao" id="2021-11-16-1">
<preConditions onFail="MARK_RAN">
<not>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_dynamic_form_column"/>
</not>
</preConditions>
<comment>insert data cb_dynamic_form_column</comment>
<sql>
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812087, 'dutyArea', '值班区域', 'input', 132828674815, 'like', b'0', b'0', 'dutyFireFighting', NULL, NULL, NULL, '2021-11-16 10:33:18', b'0', NULL, NULL, NULL);
</sql>
</changeSet>-->
<!-- Update 示例
<changeSet author="chenzhao" id="2021-11-02-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="jc_template"/>
</preConditions>
<comment>update data jc_template</comment>
<sql>
UPDATE `jc_template` SET content ='【120急救】时间:callTime;地址:address;被困人数:trappedNum;伤亡人数:casualtiesNum;性别:gender;年龄段(岁):ageGroup;患者现状:patientStatus;情况说明:situation;警情阶段:alertStage' WHERE sequence_nbr=23;
</sql>
</changeSet> -->
<!-- 表字段修改
<changeSet author="chenzhao" id="2021-09-27-cz-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_fire_experts"/>
</preConditions>
<comment>BUG 2928 表中新增两个字段用来保存详细地址值 </comment>
<sql>
ALTER TABLE `cb_fire_experts` add native_place_val varchar(255) COMMENT '户籍所在地详细地址';
</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