Commit 964492e6 by wang_jiaxing

现场信息采集,修改,查询,删除接口,附件上传,删除接口,可疑线索采集,查询接口,可疑线索录比反

parent a22d81fc
...@@ -172,6 +172,15 @@ ...@@ -172,6 +172,15 @@
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> </dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package org.springblade.common.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setDbType(DbType.ORACLE);
paginationInnerInterceptor.setOverflow(true);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> configuration.setUseDeprecatedExecutor(false);
}
}
package org.springblade.founder.asj.controller;
import org.springblade.founder.asj.entity.AsjQueryParam;
import org.springblade.founder.asj.service.KyxsService;
import org.springblade.founder.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 可疑线索
* create by lystar
* 2021/11/23 16:20
*/
@RestController
@RequestMapping("/kyxs")
public class KyxsController {
@Autowired
private KyxsService kyxsService;
@PostMapping("/saveNewKyxs")
public R saveNewKyxs(String asjbh, String type, String kyhm, String kyyj){
try {
String xxzjbh = kyxsService.saveNewKyxs(asjbh, type, kyhm, kyyj);
if (xxzjbh == null){
return R.error("type不能为空");
}
return R.ok().data("xxzjbh", xxzjbh);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getKyxsByAsjbh")
public R getKyxsByAsjbh(String asjbh){
try {
Map<String, Object> resultMap = kyxsService.getKyxsByAsjbh(asjbh);
return R.ok().data(resultMap);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getKyxsByXxzjbh")
public R getKyxsByXxzjbh(String xxzjbh, String type){
try {
Object kyxs = kyxsService.getKyxsByXxzjbh(xxzjbh, type);
return R.ok().data("kyxs", kyxs);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getAsjListByAsjbhs")
public R getAsjListByAsjbhs(AsjQueryParam AsjQueryParam){
try {
Map<String, Object> resultMap = kyxsService.getAsjListByAsjbhs(AsjQueryParam);
return R.ok().data(resultMap);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
}
package org.springblade.founder.asj.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.asj.entity.AsjQueryParam;
import org.springblade.founder.asj.entity.JbAsjXs;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
@DS("xzxt_hn")
public interface HnJbAsjXsMapper {
/**
* getAsjbhListZjhm 获取案件编号集合
* @param zjhm: 身份证号
* @return java.util.List<java.lang.String>
* @author lystar
* 2021/11/24 10:08
*/
List<String> getAsjbhListZjhm(String zjhm);
/**
* getAsjbhListSjhm 获取案件列表集合
* @param bsh: 手机号码
* @return java.util.List<java.lang.String>
* @author lystar
* 2021/11/24 14:50
*/
List<String> getAsjbhListBsh(String bsh);
/**
* getAsjListByParam 根据参数查询案件列表
* @return java.util.List<org.springblade.founder.asj.entity.JbAsjXs>
* @author lystar
* 2021/11/24 10:49
*/
List<JbAsjXs> getAsjListByParam(AsjQueryParam asjQueryParam);
/**
* getRyxbByZjhm 查询人员信息
* @return org.springblade.founder.asj.entity.JbAsjXs
* @author lystar
* 2021/11/24 14:27
*/
JbAsjXs getRyxbByZjhm(AsjQueryParam asjQueryParam);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.springblade.founder.asj.dao.HnJbAsjXsMapper">
<select id="getAsjbhListZjhm" resultType="java.lang.String">
select asjbh
from TB_XW_ZBFZXYR
where ZHFZXYR_CYZJ_ZJHM = #{zjhm,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
</select>
<select id="getAsjListByParam" resultType="org.springblade.founder.asj.entity.JbAsjXs">
select * from (select rownum r,t.* from (
select asj.asjbh as asjbh,
asj.ajmc as ajmc,
asj.ASJFSSJ_ASJFSKSSJ as afsj,
asj.ASJFSDD_DZMC as fadq,
asj.LADW_GAJGMC as ladw,
asj.ZBR_XM as zbzcy,
asj.SLDW_GAJGMC as zbdw,
asj.JYAQ as jyaq,
(select name from SYS_DICTITEM where GROUPID = 'CODE_AJZLB' and code = ajbz.ASJBZ_AJFL) as ajflbz,
(select name from SYS_DICTITEM where GROUPID = 'CODE_AJZLB' and code = ajbz.AJZLB) as ajzlb,
(select name from SYS_DICTITEM where GROUPID = 'CODE_AJXZLB' and code = ajbz.AJXZLB) as ajxzlb,
(select name from SYS_DICTITEM where GROUPID = 'CODE_XALBDMBCMS' and code = ajbz.XALBDMBCMS) as xalbdmbcms
from TB_ST_ASJ asj left join TB_ST_ASJBZ ajbz on asj.ASJBH = ajbz.ASJBH
where asj.asjbh in
<foreach collection="asjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
) t where rownum <![CDATA[ <= ]]> #{end} ) where r <![CDATA[ > ]]> #{begin}
</select>
<select id="getRyxbByZjhm" resultType="org.springblade.founder.asj.entity.JbAsjXs">
select zhrq as zhrq,
ZHFZXYR_JZRYBH as jzxyrbh,
(select name from SYS_DICTITEM where GROUPID = 'CODE_DAZT' and code = ZHFZXYR_FZXYRDAZTDM) as rydazt
from TB_XW_ZBFZXYR
where asjbh in
<foreach collection="asjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
and zhfzxyr_cyzj_zjhm = #{zjhm,jdbcType=VARCHAR} and xxsc_pdbz = '0' and rownum = 1
</select>
<select id="getAsjbhListBsh" resultType="java.lang.String">
select distinct ASJBH
from TB_ST_ASJ
where XXSC_PDBZ = '0'
and JYAQ like '%' || #{bsh,jdbcType=VARCHAR} || '%'
</select>
</mapper>
package org.springblade.founder.asj.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.founder.asj.entity.AsjQueryParam;
import org.springblade.founder.asj.entity.JbAsjXs;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
@DS("xzxt_qg")
public interface QgJbAsjXsMapper {
/**
* getAsjbhListZjhm 获取案件编号集合
* @param zjhm: 身份证号
* @param qsAsjbhList: 已有全省案件编号
* @return java.util.List<java.lang.String>
* @author lystar
* 2021/11/24 10:08
*/
List<String> getAsjbhListZjhm(@Param("zjhm") String zjhm, @Param("qsAsjbhList") List<String> qsAsjbhList);
/**
* getAsjbhListSjhm 获取案件编号集合
* @param bsh: 标示号
* @param qsAsjbhList: 已有全省案件编号
* @return java.util.List<java.lang.String>
* @author lystar
* 2021/11/24 14:53
*/
List<String> getAsjbhListBsh(@Param("bsh") String bsh, @Param("qsAsjbhList") List<String> qsAsjbhList);
/**
* getAsjListByParam 查询案件信息
* @return java.util.List<org.springblade.founder.asj.entity.JbAsjXs>
* @author lystar
* 2021/11/24 14:38
*/
List<JbAsjXs> getAsjListByParam(AsjQueryParam asjQueryParam);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.springblade.founder.asj.dao.QgJbAsjXsMapper">
<select id="getAsjbhListZjhm" resultType="java.lang.String">
select ASJBH
from TB_XW_ZBFZXYR
where ZHFZXYR_CYZJ_ZJHM = #{zjhm,jdbcType=VARCHAR}
and XXSC_PDBZ = '0'
<if test="qsAsjbhList != null and qsAsjbhList.size() > 0">
and ASJBH not in
<foreach collection="qsAsjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
</if>
</select>
<select id="getAsjListByParam" resultType="org.springblade.founder.asj.entity.JbAsjXs">
select * from (select rownum r,t.* from (
select asj.asjbh as asjbh,
asj.ajmc as ajmc,
asj.ASJFSSJ_ASJFSKSSJ as afsj,
asj.ASJFSDD_DZMC as fadq,
asj.LADW_GAJGMC as ladw,
asj.ZBR_XM as zbzcy,
asj.SLDW_GAJGMC as zbdw,
asj.JYAQ as jyaq
from TB_ST_ASJ asj
where asj.asjbh in
<foreach collection="asjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
) t where rownum <![CDATA[ <= ]]> #{end} ) where r <![CDATA[ > ]]> #{begin}
</select>
<select id="getAsjbhListBsh" resultType="java.lang.String">
select ASJBH
from TB_ST_ASJ
where XXSC_PDBZ = '0'
and JYAQ like '%' || #{bsh,jdbcType=VARCHAR} || '%'
<if test="qsAsjbhList != null and qsAsjbhList.size() > 0">
and ASJBH not in
<foreach collection="qsAsjbhList" item="item" open="(" separator=", " close=")">
#{item}
</foreach>
</if>
</select>
</mapper>
package org.springblade.founder.asj.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.asj.entity.TbXwKyxsHm;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
@DS("xzxt_hn")
public interface TbXwKyxsHmMapper extends BaseMapper<TbXwKyxsHm> {
}
package org.springblade.founder.asj.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.asj.entity.TbXwKyxsJdc;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
@DS("xzxt_hn")
public interface TbXwKyxsJdcMapper extends BaseMapper<TbXwKyxsJdc> {
}
package org.springblade.founder.asj.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.asj.entity.TbXwKyxsRy;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
@DS("xzxt_hn")
public interface TbXwKyxsRyMapper extends BaseMapper<TbXwKyxsRy> {
}
package org.springblade.founder.asj.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.PageModel;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class AsjQueryParam extends PageModel {
private List<String> asjbhList;
private String type;
private String zjhm;
private String sjhm;
private String jdchm;
}
package org.springblade.founder.asj.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
public class JbAsjXs extends BaseModel {
private String asjbh;//案事件编号
private String ajmc;//案件名称
private String fadq;//发案地区
private String afsj;//案发时间
private String ladw;//立案单位
private String zbdw;//主办单位
private String jyaq;//简要案情
private String jzxyrbh;//警综嫌疑人编号
private Date zhrq;//抓获日期
private String rydazt;//人员到案状态
private String zbzcy;//主办侦查员
private String ajbh;//案件标注
private String ajflbz;//
private String ajzlb;
private String ajxzlb;
private String xalbdmbcms;
}
package org.springblade.founder.asj.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_xw_kyxs_hm")
public class TbXwKyxsHm extends BaseModel {
//信息主键编号
@TableId(type = IdType.INPUT)
private String xxzjbh;
//案事件编号
private String asjbh;
//移动电话号
private String kyxshmYdhm;
//可疑依据
private String kyxshmKyyj;
@TableField(exist = false)
private List<String> qgAsjbhList; //全国
@TableField(exist = false)
private Integer qgAjsl; //全国
@TableField(exist = false)
private List<String> qsAsjbhList; //全省
@TableField(exist = false)
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
package org.springblade.founder.asj.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_xw_kyxs_jdc")
public class TbXwKyxsJdc extends BaseModel {
//信息主键编号
@TableId(type = IdType.INPUT)
private String xxzjbh;
//案事件编号
private String asjbh;
//车牌号码
private String kyxsjdcCphm;
//可疑依据
private String kyxsjdcKyyj;
@TableField(exist = false)
private List<String> qgAsjbhList; //全国
@TableField(exist = false)
private Integer qgAjsl; //全国
@TableField(exist = false)
private List<String> qsAsjbhList; //全省
@TableField(exist = false)
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
package org.springblade.founder.asj.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_xw_kyxs_ry")
public class TbXwKyxsRy extends BaseModel {
//信息主键编号
@TableId(type = IdType.INPUT)
private String xxzjbh;
//案事件编号
private String asjbh;
//身份证号码
private String kyxsryZjhm;
//可疑依据
private String kyxsryKyyj;
@TableField(exist = false)
private List<String> qgAsjbhList; //全国
@TableField(exist = false)
private Integer qgAjsl; //全国
@TableField(exist = false)
private List<String> qsAsjbhList; //全省
@TableField(exist = false)
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
package org.springblade.founder.asj.service;
import org.springblade.founder.asj.entity.AsjQueryParam;
import java.util.Map;
public interface KyxsService {
/**
* saveNewKyxs 保存可疑线索
* @param asjbh: 案件编号
* @param type: 可疑线索类型
* @param kyhm: 号码
* @param kyyj: 可疑依据
* @return java.lang.String
* @author lystar
* 2021/11/23 17:54
*/
String saveNewKyxs(String asjbh, String type, String kyhm, String kyyj);
/**
* getKyxsByAsjbh 根据案件编号查询可疑线索
* @param asjbh: 案事件编号
* @return java.lang.String
* @author lystar
* 2021/11/23 20:06
*/
Map<String, Object> getKyxsByAsjbh(String asjbh);
/**
* getKyxsByXxzjbh 查询可疑线索详情
* @param xxzjbh: 信息主键编号
* @param type: 类型
* @return java.lang.Object
* @author lystar
* 2021/11/23 20:32
*/
Object getKyxsByXxzjbh(String xxzjbh, String type);
/**
* getAsjListByAsjbhs 查询案件列表
* @return java.util.Map<java.lang.String,java.lang.Object>
* @author lystar
* 2021/11/24 10:39
*/
Map<String, Object> getAsjListByAsjbhs(AsjQueryParam asjQueryParam);
}
package org.springblade.founder.asj.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang.StringUtils;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.founder.asj.dao.*;
import org.springblade.founder.asj.entity.*;
import org.springblade.founder.asj.service.KyxsService;
import org.springblade.founder.utils.SysXxzjbhService;
import org.springblade.founder.utils.Utils;
import org.springblade.modules.system.entity.XzxtUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class KyxsServiceImpl implements KyxsService {
@Autowired
private TbXwKyxsRyMapper tbXwKyxsRyMapper;
@Autowired
private TbXwKyxsHmMapper tbXwKyxsHmMapper;
@Autowired
private TbXwKyxsJdcMapper tbXwKyxsJdcMapper;
@Autowired
private HnJbAsjXsMapper hnJbAsjXsMapper;
@Autowired
private QgJbAsjXsMapper qgJbAsjXsMapper;
@Autowired
private SysXxzjbhService xxzjbhService;
@Override
public String saveNewKyxs(String asjbh, String type, String kyhm, String kyyj) {
if (type != null){
XzxtUser xzxtUser = SecureUtil.getUserXzxt();
String xxzjbh = xxzjbhService.getXxzjbh(xzxtUser.getUnitcode());
switch (type){
case "ry": //人员
TbXwKyxsRy kyxsRy = new TbXwKyxsRy();
kyxsRy.setXxzjbh(xxzjbh);
kyxsRy.setAsjbh(asjbh);
kyxsRy.setKyxsryZjhm(kyhm);
kyxsRy.setKyxsryKyyj(kyyj);
kyxsRy.setXxscPdbz("0");
Utils.setUserDjxxAndCzxx(kyxsRy);
tbXwKyxsRyMapper.insert(kyxsRy);
break;
case "hm": //电话号码
TbXwKyxsHm kyxsHm = new TbXwKyxsHm();
kyxsHm.setXxzjbh(xxzjbh);
kyxsHm.setAsjbh(asjbh);
kyxsHm.setKyxshmYdhm(kyhm);
kyxsHm.setKyxshmKyyj(kyyj);
kyxsHm.setXxscPdbz("0");
Utils.setUserDjxxAndCzxx(kyxsHm);
tbXwKyxsHmMapper.insert(kyxsHm);
break;
case "jdc": //机动车
TbXwKyxsJdc kyxsJdc = new TbXwKyxsJdc();
kyxsJdc.setXxzjbh(xxzjbh);
kyxsJdc.setAsjbh(asjbh);
kyxsJdc.setKyxsjdcCphm(kyhm);
kyxsJdc.setKyxsjdcKyyj(kyyj);
kyxsJdc.setXxscPdbz("0");
Utils.setUserDjxxAndCzxx(kyxsJdc);
tbXwKyxsJdcMapper.insert(kyxsJdc);
break;
}
return xxzjbh;
}
return null;
}
@Override
public Map<String, Object> getKyxsByAsjbh(String asjbh) {
XzxtUser xzxtUser = SecureUtil.getUserXzxt();
HashMap<String, Object> resultMap = new HashMap<>();
QueryWrapper<TbXwKyxsRy> ryQueryWrapper = new QueryWrapper<>();
ryQueryWrapper.eq("asjbh", asjbh);
ryQueryWrapper.eq("xxsc_pdbz", "0");
List<TbXwKyxsRy> ryList = tbXwKyxsRyMapper.selectList(ryQueryWrapper);
QueryWrapper<TbXwKyxsHm> hmQueryWrapper = new QueryWrapper<>();
hmQueryWrapper.eq("asjbh", asjbh);
hmQueryWrapper.eq("xxsc_pdbz", "0");
List<TbXwKyxsHm> hmList = tbXwKyxsHmMapper.selectList(hmQueryWrapper);
QueryWrapper<TbXwKyxsJdc> jdcQueryWrapper = new QueryWrapper<>();
jdcQueryWrapper.eq("asjbh", asjbh);
jdcQueryWrapper.eq("xxsc_pdbz", "0");
List<TbXwKyxsJdc> jdcList = tbXwKyxsJdcMapper.selectList(jdcQueryWrapper);
if (ryList != null){
resultMap.put("ryList", ryList);
resultMap.put("ryCount", ryList.size());
}
if (hmList != null){
resultMap.put("hmList", hmList);
resultMap.put("hmCount", hmList.size());
}
if (jdcList != null){
resultMap.put("jdcList", jdcList);
resultMap.put("jdcCount", jdcList.size());
}
return resultMap;
}
@Override
public Object getKyxsByXxzjbh(String xxzjbh, String type) {
if (type != null){
List<String> hnAsjbhList;
List<String> qgAsjbhList;
switch (type){
case "ry": //人员
TbXwKyxsRy kyxsRy = new TbXwKyxsRy();
kyxsRy.setXxzjbh(xxzjbh);
kyxsRy.setXxscPdbz("0");
TbXwKyxsRy tbXwKyxsRy = tbXwKyxsRyMapper.selectOne(new QueryWrapper<>(kyxsRy));
hnAsjbhList = hnJbAsjXsMapper.getAsjbhListZjhm(tbXwKyxsRy.getKyxsryZjhm());
qgAsjbhList = qgJbAsjXsMapper.getAsjbhListZjhm(tbXwKyxsRy.getKyxsryZjhm(), hnAsjbhList);
tbXwKyxsRy.setQgAsjbhList(qgAsjbhList);
tbXwKyxsRy.setQsAsjbhList(hnAsjbhList);
return tbXwKyxsRy;
case "hm": //电话号码
TbXwKyxsHm kyxsHm = new TbXwKyxsHm();
kyxsHm.setXxzjbh(xxzjbh);
kyxsHm.setXxscPdbz("0");
TbXwKyxsHm tbXwKyxsHm = tbXwKyxsHmMapper.selectOne(new QueryWrapper<>(kyxsHm));
hnAsjbhList = hnJbAsjXsMapper.getAsjbhListBsh(tbXwKyxsHm.getKyxshmYdhm());
qgAsjbhList = qgJbAsjXsMapper.getAsjbhListBsh(tbXwKyxsHm.getKyxshmYdhm(), hnAsjbhList);
tbXwKyxsHm.setQgAsjbhList(qgAsjbhList);
tbXwKyxsHm.setQsAsjbhList(hnAsjbhList);
return tbXwKyxsHm;
case "jdc": //机动车
TbXwKyxsJdc kyxsJdc = new TbXwKyxsJdc();
kyxsJdc.setXxzjbh(xxzjbh);
kyxsJdc.setXxscPdbz("0");
TbXwKyxsJdc tbXwKyxsJdc = tbXwKyxsJdcMapper.selectOne(new QueryWrapper<>(kyxsJdc));
hnAsjbhList = hnJbAsjXsMapper.getAsjbhListBsh(tbXwKyxsJdc.getKyxsjdcCphm());
qgAsjbhList = qgJbAsjXsMapper.getAsjbhListBsh(tbXwKyxsJdc.getKyxsjdcCphm(), hnAsjbhList);
tbXwKyxsJdc.setQgAsjbhList(qgAsjbhList);
tbXwKyxsJdc.setQsAsjbhList(hnAsjbhList);
return tbXwKyxsJdc;
}
}
return null;
}
@Override
public Map<String, Object> getAsjListByAsjbhs(AsjQueryParam asjQueryParam) {
Utils.setPageParams(asjQueryParam);
if ("qg".equals(asjQueryParam.getType())){
List<JbAsjXs> rows = qgJbAsjXsMapper.getAsjListByParam(asjQueryParam);
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("rows", rows);
resultMap.put("total", asjQueryParam.getAsjbhList().size());
return resultMap;
} else {
List<JbAsjXs> rows = hnJbAsjXsMapper.getAsjListByParam(asjQueryParam);
if (StringUtils.isNotEmpty(asjQueryParam.getZjhm())) {
for (JbAsjXs jbasj : rows) {
JbAsjXs ry = hnJbAsjXsMapper.getRyxbByZjhm(asjQueryParam);
jbasj.setJzxyrbh(ry.getJzxyrbh());
jbasj.setZhrq(ry.getZhrq());
jbasj.setRydazt(ry.getRydazt());
}
}
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("rows", rows);
resultMap.put("total", asjQueryParam.getAsjbhList().size());
return resultMap;
}
}
}
package org.springblade.founder.entity;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
public class BaseModel extends PageModel{
protected String xxscPdbz = null;
@TableField(condition = SqlCondition.LIKE_RIGHT)
protected String xxdjdwGajgjgdm = null;
protected String xxdjdwGajgmc = null;
protected String xxdjryXm = null;
protected String xxdjryGmsfhm = null;
protected String xxdjryLxdh = null;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
protected Date djsj = null;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
protected Date gxsj = null;
protected String xxczdwGajgjgdm = null;
protected String xxczdwGajgmc = null;
protected String xxczryXm = null;
protected String xxczryGmsfhm = null;
protected String xxlyms;
}
package org.springblade.founder.entity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class EasyUIPage implements Serializable {
private static final long serialVersionUID = 1L;
public EasyUIPage() {
}
private int page = 1;
private int begin;
private int end;
private int total = 0;
private String sort;
private String order;
private int rownum = 20;
private List<?> rows = new ArrayList();
private String flag;
private String pagePara;
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getBegin() {
return begin;
}
public int getEnd() {
return end;
}
public List<?> getRows() {
return rows;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
public void setPagePara(Integer rows) {
if (rows != null) {
this.begin = (this.page - 1) * rows;
this.end = this.page * rows;
} else {
this.begin = (this.page - 1) * rownum;
this.end = this.page * rownum;
}
}
public int getRownum() {
return rownum;
}
public void setRownum(int rownum) {
this.rownum = rownum;
}
/**
* @return the pagePara
*/
public String getPagePara() {
return pagePara;
}
/**
* @param pagePara the pagePara to set
*/
public void setPagePara(String pagePara) {
this.pagePara = pagePara;
}
}
package org.springblade.founder.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class PageModel {
@TableField(exist = false)
private int begin;
@TableField(exist = false)
private int end;
@TableField(exist = false)
private int page = 1;//当前第几页
@TableField(exist = false)
private int rows = 5;//每页多少行
}
package org.springblade.founder.log;
import java.lang.annotation.*;
/**
* @Descrption该注解描述方法的操作类型和菜单内容
*/
@Target(value = ElementType.METHOD)
@Retention(value = RetentionPolicy.RUNTIME)
@Documented
public @interface LogOper {
/**
* @Description操作类型 为必填项,01:查询, 02:新建, 03:修改,04:删除, 05:登录 ,06:退出,07:文件下载
*/
String czxxLbdm();
/**
* @Description应用名称
*/
String yymcJyqk() default "";
/**
* @Description操作信息简要描述
*/
String czxxJyqk() default "";
}
package org.springblade.founder.log.dao;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.log.entity.SysGnsyrz;
import org.springblade.founder.log.entity.SysOperationLog;
import org.springframework.stereotype.Component;
@Component
@Mapper
public interface LogDao {
int insertSysLog(SysOperationLog sysOperationLog);
void addGnsyrz(SysGnsyrz sysGnsyrz);
}
package org.springblade.founder.log.entity;
import lombok.Getter;
import lombok.Setter;
import org.springblade.founder.entity.BaseModel;
/**
* 功能使用日志
* @author szLi
* @date 2020/12/28 17:20
*
*/
@Getter
@Setter
public class SysGnsyrz extends BaseModel {
//日志流水号
private String rzlsh;
//访问时间
private String fwsj;
//应用名称
private String yymcJyqk;
//用户_公民身份号码
private String yhGmsfhm;
//用户IP
private String yhIp;
//用户单位公安机关机构代码
private String yhdwGajgjgdm;
//用户单位名称
private String yhdwGajgmc;
//操作类型代码
private String czlxdm;
//操作信息
private String czxxJyqk;
//信息来源描述
private String xxlyms;
//应用名称代码
private String yymcdm;
//业务编号类型代码
private String ywbhlxdm;
//业务编号
private String ywbh;
//用户_姓名
private String yhXm;
//查询内容类别代码
private String cxnrlbdm;
//查询内容编号
private String cxnrbh;
//操作(查询)信息结果
private String cxxxjg;
//系统类型
private String xtlx;
// 操作开始时间
private String kssj;
// 操作结束时间
private String jssj;
//用户姓名
private String userName;
// unitcode用户单位
private String unitcode;
// 操作类型czlx
private String czlx;
// czmk 操作模块
private String czmk;
}
package org.springblade.founder.log.entity;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class SysOperationLog {
String rzlsh;
String fwsj;
String yhPolicemanid;
String yhName;
String projectName;
String yhGmsfhm;
String yhIp;
String yhdwGajgjgdm;
String yhdwGajgmc;
String czxxLxdm;
String czxxJyqk;
String czxxParam;
String czxxUrl;
String moduleName;
}
package org.springblade.founder.utils;
import org.apache.commons.lang.StringUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjuster;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Pattern;
/**
* 日期相关工具类
*
* @author szLi
* @date 2020/10/26 9:18
*/
public class DateUtil {
public static String getDateStr(Date date){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
}
public static String getSysDateStr(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
return sdf.format(new Date());
}
public static String getFirstDayOfYear() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.set(c.get(Calendar.YEAR),0,1);
return sdf.format(c.getTime());
}
public static String getSysDateCnStr(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
return sdf.format(new Date());
}
public static String getDiffDateStr(int num){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, num);
return sdf.format(c.getTime());
}
public static String getNextWorkDay(Date date) {
TemporalAdjuster nextWorkingDay = TemporalAdjusters.ofDateAdjuster(
temporal -> {
DayOfWeek dow = DayOfWeek.of(temporal.get(ChronoField.DAY_OF_WEEK));
int dayToAdd = 1;
if (dow == DayOfWeek.FRIDAY) {
dayToAdd = 3;
}
if (dow == DayOfWeek.SATURDAY) {
dayToAdd = 2;
}
return temporal.plus(dayToAdd, ChronoUnit.DAYS);
});
LocalDate localDate = LocalDate.now().with(nextWorkingDay);
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
return localDate.format(fmt);
}
/**
* checkDateFormat 验证日期格式,若日期格式为标准日期则转换成所指定的日期格式
* @param dateStr: 日期字符串
* @param formatPattern: 日期格式
* @return String: 结果日期
* @author lystar
* 2021/9/13 10:53
*/
public static String checkDateFormat(String dateStr, String formatPattern) {
if (StringUtils.isNotBlank(dateStr)) {
SimpleDateFormat dateFormat = new SimpleDateFormat(formatPattern);
try {
dateFormat.parse(dateStr);
} catch (ParseException e) {
String[] REPLACE_STRING = new String[]{"GMT+0800", "GMT+08:00"};
String SPLIT_STRING = "(中国标准时间)";
dateStr = dateStr.split(Pattern.quote(SPLIT_STRING))[0].replace(REPLACE_STRING[0], REPLACE_STRING[1]);
SimpleDateFormat sdf = new SimpleDateFormat("E MMM dd yyyy HH:mm:ss z", Locale.US);
try {
Date date = sdf.parse(dateStr);
return dateFormat.format(date);
} catch (ParseException e1) {
e1.printStackTrace();
return null;
}
}
}
return dateStr;
}
}
package org.springblade.founder.xcxx.controller;
import org.springblade.founder.log.LogOper;
import org.springblade.founder.utils.R;
import org.springblade.founder.xcxx.entity.TbStAppXcxx;
import org.springblade.founder.xcxx.entity.TbStAppXcxxFj;
import org.springblade.founder.xcxx.service.XcxxService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* app现场信息
* create by lystar
* 2021/11/22 20:00
*/
@RestController
@RequestMapping("/xcxx")
public class XcxxController {
@Autowired
private XcxxService xcxxService;
@PostMapping("/saveXcxx")
@LogOper(czxxLbdm = "02", yymcJyqk = "新增app现场信息")
public R saveXcxx(TbStAppXcxx tbStAppXcxx){
try {
String xcbh = xcxxService.saveXcxx(tbStAppXcxx);
return R.ok().data("xcbh", xcbh);
} catch (Exception e){
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/saveOneFj")
public R saveOneFj(TbStAppXcxxFj tbStAppXcxxFj){
try {
String xxzjbh = xcxxService.saveOneFj(tbStAppXcxxFj);
return R.ok().data("xxzjbh", xxzjbh);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getXcxxListByParam")
@LogOper(czxxLbdm = "01", yymcJyqk = "查询app现场信息列表")
public R getXcxxListByParam(TbStAppXcxx tbStAppXcxx){
try {
Map<String, Object> resultMap = xcxxService.getXcxxListByParam(tbStAppXcxx);
return R.ok().data(resultMap);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/getXcxxByXcbh")
@LogOper(czxxLbdm = "01", yymcJyqk = "查询app现场信息详情")
public R getXcxxByXcbh(String xcbh){
try {
TbStAppXcxx tbStAppXcxx = xcxxService.getXcxxByXcbh(xcbh);
return R.ok().data("xcxx", tbStAppXcxx);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/updateXcxx")
@LogOper(czxxLbdm = "03", yymcJyqk = "修改app现场信息")
public R updateXcxx(TbStAppXcxx tbStAppXcxx){
try {
xcxxService.updateXcxx(tbStAppXcxx);
return R.ok().data("xcbh", tbStAppXcxx.getXcbh());
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/deleteXcxx")
@LogOper(czxxLbdm = "04", yymcJyqk = "删除app现场信息")
public R deleteXcxx(String xcbh){
try {
xcxxService.deleteXcxx(xcbh);
return R.ok().data("xcbh", xcbh);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
@PostMapping("/deleteOneFj")
public R deleteOneFj(String xxzjbh){
try {
xcxxService.deleteOneFj(xxzjbh);
return R.ok().data("xxzjbh", xxzjbh);
} catch (Exception e) {
e.printStackTrace();
return R.error(e.getMessage());
}
}
}
package org.springblade.founder.xcxx.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_st_app_xcxx")
public class TbStAppXcxx extends BaseModel {
//现场编号
@TableId(type = IdType.INPUT)
private String xcbh;
//关联信息类型 1案件 2警情
@TableField(whereStrategy = FieldStrategy.NOT_EMPTY)
private String glxxlx;
//关联信息信息主键编号
@TableField(whereStrategy = FieldStrategy.NOT_EMPTY)
private String glxxXxzjbh;
//现场名称
@TableField(whereStrategy = FieldStrategy.NOT_EMPTY, condition = SqlCondition.LIKE)
private String xcmc;
//现场描述
private String xcmsJyqk;
//出勘时间
@TableField(whereStrategy = FieldStrategy.NOT_EMPTY)
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date cksj;
//现场经度
private Double xcdlwzJd;
//现场纬度
private Double xcdlwzWd;
//现场行政区划代码
private String xcXzqhdm;
//现场行政区划名称
@TableField(whereStrategy = FieldStrategy.NOT_EMPTY, condition = SqlCondition.LIKE)
private String xcXzqhmc;
//现场地址详址
@TableField(whereStrategy = FieldStrategy.NOT_EMPTY, condition = SqlCondition.LIKE)
private String xcDzxz;
//附件列表
@TableField(exist = false)
private List<TbStAppXcxxFj> fjList;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(exist = false)
private Date cksjStart;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(exist = false)
private Date cksjEnd;
@TableField(exist = false)
private Double xcdlwzJdStrat;
@TableField(exist = false)
private Double xcdlwzJdEnd;
@TableField(exist = false)
private Double xcdlwzWdStart;
@TableField(exist = false)
private Double xcdlwzWdEnd;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date xxrbksj;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date xxrsksj;
private String xxrskPdbz;
private String xxrbkPdbz;
}
package org.springblade.founder.xcxx.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_st_app_xcxxfj")
public class TbStAppXcxxFj extends BaseModel {
@TableId(type = IdType.INPUT)
//信息主键编号
private String xxzjbh;
//关联信息信息主键编号
private String glxxXxzjbh;
//附件类型 1照片 2视频 3音频
private String fjlx;
//图片分类
private String tpfl;
//附件描述
private String fjms;
//附件标题
private String fjDzwjbt;
//附件格式
private String fjDzwjgs;
//附件内容
private byte[] fjDzwjnr;
//附件大小
private Long fjDzwjdx;
//附件位置
private String fjDzwjwz;
@TableField(exist = false)
private MultipartFile file;
private String xxlyms;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date xxrbksj;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date xxrsksj;
private String xxrskPdbz;
private String xxrbkPdbz;
}
package org.springblade.founder.xcxx.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.xcxx.entity.TbStAppXcxxFj;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface XcxxFjMapper extends BaseMapper<TbStAppXcxxFj> {
List<TbStAppXcxxFj> selectListByXcbh(String xcbh);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.springblade.founder.xcxx.mapper.XcxxFjMapper">
<select id="selectListByXcbh" resultType="org.springblade.founder.xcxx.entity.TbStAppXcxxFj">
select xxzjbh as xxzjbh,
glxx_xxzjbh as glxxXxzjbh,
fjlx as fjlx,
tpfl as tpfl,
fj_dzwjbt as fjDzwjbt,
fj_dzwjgs as fjDzwjgs,
fj_dzwjnr as fjDzwjnr,
fj_dzwjdx as fjDzwjdx
from tb_st_app_xcxxfj
where glxx_xxzjbh = #{xcbh}
and xxsc_pdbz = '0'
</select>
</mapper>
package org.springblade.founder.xcxx.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.founder.xcxx.entity.TbStAppXcxx;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface XcxxMapper extends BaseMapper<TbStAppXcxx> {
List<TbStAppXcxx> selectPageList(@Param("tbStAppXcxx") TbStAppXcxx tbStAppXcxx);
Integer selectPageCount(@Param("tbStAppXcxx") TbStAppXcxx tbStAppXcxx);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="org.springblade.founder.xcxx.mapper.XcxxMapper">
<resultMap id="baseResultMap" type="org.springblade.founder.xcxx.entity.TbStAppXcxx">
<id column="XCBH" property="xcbh" jdbcType="VARCHAR"/>
<result column="GLXXLX" property="glxxlx" jdbcType="VARCHAR"/>
<result column="GLXX_XXZJBH" property="glxxXxzjbh" jdbcType="VARCHAR"/>
<result column="XCMC" property="xcmc" jdbcType="VARCHAR"/>
<result column="XCMS_JYQK" property="xcmsJyqk" jdbcType="VARCHAR"/>
<result column="XCDLWZ_JD" property="xcdlwzJd" jdbcType="INTEGER"/>
<result column="XCDLWZ_WD" property="xcdlwzWd" jdbcType="INTEGER"/>
<result column="XC_XZQHDM" property="xcXzqhdm" jdbcType="VARCHAR"/>
<result column="XC_XZQHMC" property="xcXzqhmc" jdbcType="VARCHAR"/>
<result column="XC_DZXZ" property="xcDzxz" jdbcType="VARCHAR"/>
<result column="DJSJ" property="djsj" jdbcType="TIMESTAMP"/>
<result column="XXDJDW_GAJGJGDM" property="xxdjdwGajgjgdm" jdbcType="VARCHAR"/>
<result column="XXDJDW_GAJGMC" property="xxdjdwGajgmc" jdbcType="VARCHAR"/>
<result column="XXDJRY_XM" property="xxdjryXm" jdbcType="VARCHAR"/>
<result column="XXDJRY_GMSFHM" property="xxdjryGmsfhm" jdbcType="VARCHAR"/>
<result column="XXDJRY_LXDH" property="xxdjryLxdh" jdbcType="VARCHAR"/>
<result column="XXCZDW_GAJGJGDM" property="xxczdwGajgjgdm" jdbcType="VARCHAR"/>
<result column="XXCZDW_GAJGMC" property="xxczdwGajgmc" jdbcType="VARCHAR"/>
<result column="XXCZRY_XM" property="xxczryXm" jdbcType="VARCHAR"/>
<result column="XXCZRY_GMSFHM" property="xxczryGmsfhm" jdbcType="VARCHAR"/>
<result column="GXSJ" property="gxsj" jdbcType="TIMESTAMP"/>
<result column="XXLYMS" property="xxlyms" jdbcType="VARCHAR"/>
<result column="XXRSKSJ" property="xxrsksj" jdbcType="TIMESTAMP"/>
<result column="XXRBKSJ" property="xxrbksj" jdbcType="TIMESTAMP"/>
<result column="XXRSK_PDBZ" property="xxrskPdbz" jdbcType="VARCHAR"/>
<result column="XXRBK_PDBZ" property="xxrbkPdbz" jdbcType="VARCHAR"/>
<result column="XXSC_PDBZ" property="xxscPdbz" jdbcType="VARCHAR"/>
<result column="CKSJ" property="cksj" jdbcType="TIMESTAMP"/>
</resultMap>
<select id="selectPageList" resultMap="baseResultMap">
select * from (select rownum r,t.* from (
SELECT
XCBH ,
GLXXLX ,
GLXX_XXZJBH ,
XCMC ,
XCMS_JYQK ,
XCDLWZ_JD ,
XCDLWZ_WD ,
XC_XZQHDM ,
XC_XZQHMC ,
XC_DZXZ ,
DJSJ ,
XXDJDW_GAJGJGDM ,
XXDJDW_GAJGMC ,
XXDJRY_XM ,
XXDJRY_GMSFHM ,
XXDJRY_LXDH ,
XXCZDW_GAJGJGDM ,
XXCZDW_GAJGMC ,
XXCZRY_XM ,
XXCZRY_GMSFHM ,
GXSJ ,
XXLYMS ,
XXRSKSJ ,
XXRBKSJ ,
XXRSK_PDBZ ,
XXRBK_PDBZ ,
XXSC_PDBZ ,
CKSJ
FROM TB_ST_APP_XCXX
where xxsc_pdbz = '0'
<if test="tbStAppXcxx.xcmc != null and tbStAppXcxx.xcmc != ''">
AND (XCMC like '%' || #{tbStAppXcxx.xcmc , jdbcType=VARCHAR } || '%' or
xcbh like '%' || #{tbStAppXcxx.xcmc , jdbcType=VARCHAR } || '%')
</if>
<if test="tbStAppXcxx.xcdlwzJdStrat != null">
AND XCDLWZ_JD <![CDATA[ >= ]]> #{tbStAppXcxx.xcdlwzJdStrat , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcdlwzJdEnd != null">
AND XCDLWZ_JD <![CDATA[ <= ]]> #{tbStAppXcxx.xcdlwzJdEnd , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcdlwzWdStart != null">
AND XCDLWZ_WD <![CDATA[ >= ]]> #{tbStAppXcxx.xcdlwzWdStart , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcdlwzWdEnd != null">
AND XCDLWZ_WD <![CDATA[ <= ]]> #{tbStAppXcxx.xcdlwzWdEnd , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcDzxz != null and tbStAppXcxx.xcDzxz != ''">
AND XC_DZXZ = #{tbStAppXcxx.xcDzxz , jdbcType=VARCHAR }
</if>
<if test="tbStAppXcxx.djsj != null">
AND DJSJ = #{tbStAppXcxx.djsj , jdbcType=TIMESTAMP }
</if>
<if test="tbStAppXcxx.xxdjdwGajgjgdm != null and tbStAppXcxx.xxdjdwGajgjgdm != ''">
AND XXDJDW_GAJGJGDM like '%' || #{tbStAppXcxx.xxdjdwGajgjgdm , jdbcType=VARCHAR } || '%'
</if>
<if test="tbStAppXcxx.cksjStart != null">
AND CKSJ <![CDATA[ >= ]]> #{tbStAppXcxx.cksjStart , jdbcType=TIMESTAMP }
</if>
<if test="tbStAppXcxx.cksjEnd != null">
AND CKSJ <![CDATA[ <= ]]> #{tbStAppXcxx.cksjEnd , jdbcType=TIMESTAMP }
</if>
order by djsj desc
) t where rownum <![CDATA[ <= ]]> #{tbStAppXcxx.end} ) where r <![CDATA[ > ]]> #{tbStAppXcxx.begin}
</select>
<select id="selectPageCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM TB_ST_APP_XCXX
where xxsc_pdbz = '0'
<if test="tbStAppXcxx.xcmc != null and tbStAppXcxx.xcmc != ''">
AND (XCMC like '%' || #{tbStAppXcxx.xcmc , jdbcType=VARCHAR } || '%' or
xcbh like '%' || #{tbStAppXcxx.xcmc , jdbcType=VARCHAR } || '%')
</if>
<if test="tbStAppXcxx.xcdlwzJdStrat != null">
AND XCDLWZ_JD <![CDATA[ >= ]]> #{tbStAppXcxx.xcdlwzJdStrat , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcdlwzJdEnd != null">
AND XCDLWZ_JD <![CDATA[ <= ]]> #{tbStAppXcxx.xcdlwzJdEnd , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcdlwzWdStart != null">
AND XCDLWZ_WD <![CDATA[ >= ]]> #{tbStAppXcxx.xcdlwzWdStart , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcdlwzWdEnd != null">
AND XCDLWZ_WD <![CDATA[ <= ]]> #{tbStAppXcxx.xcdlwzWdEnd , jdbcType=INTEGER }
</if>
<if test="tbStAppXcxx.xcDzxz != null and tbStAppXcxx.xcDzxz != ''">
AND XC_DZXZ = #{tbStAppXcxx.xcDzxz , jdbcType=VARCHAR }
</if>
<if test="tbStAppXcxx.djsj != null">
AND DJSJ = #{tbStAppXcxx.djsj , jdbcType=TIMESTAMP }
</if>
<if test="tbStAppXcxx.xxdjdwGajgjgdm != null and tbStAppXcxx.xxdjdwGajgjgdm != ''">
AND XXDJDW_GAJGJGDM like '%' || #{tbStAppXcxx.xxdjdwGajgjgdm , jdbcType=VARCHAR } || '%'
</if>
<if test="tbStAppXcxx.cksjStart != null">
AND CKSJ <![CDATA[ >= ]]> #{tbStAppXcxx.cksjStart , jdbcType=TIMESTAMP }
</if>
<if test="tbStAppXcxx.cksjEnd != null">
AND CKSJ <![CDATA[ <= ]]> #{tbStAppXcxx.cksjEnd , jdbcType=TIMESTAMP }
</if>
<if test="tbStAppXcxx.cksj != null">AND CKSJ = #{tbStAppXcxx.cksj , jdbcType=TIMESTAMP }</if>
</select>
</mapper>
package org.springblade.founder.xcxx.service;
import org.springblade.founder.xcxx.entity.TbStAppXcxx;
import org.springblade.founder.xcxx.entity.TbStAppXcxxFj;
import java.io.IOException;
import java.util.Map;
public interface XcxxService {
/**
* saveXcxx 保存现场信息
* @return java.lang.String
* @author lystar
* 2021/11/22 19:59
*/
String saveXcxx(TbStAppXcxx tbStAppXcxx);
/**
* saveOneFj 保存一个附件
* @return java.lang.String
* @author lystar
* 2021/11/22 20:00
*/
String saveOneFj(TbStAppXcxxFj tbStAppXcxxFj) throws IOException;
/**
* getXcxxListByParam 查询现场信息列表
* @return java.util.Map<java.lang.String,java.lang.Object>
* @author lystar
* 2021/11/22 21:32
*/
Map<String, Object> getXcxxListByParam(TbStAppXcxx tbStAppXcxx);
/**
* getXcxxByXcbh 查询现场信息详情
* @param xcbh: 现场编号
* @return org.springblade.founder.xcxx.entity.TbStAppXcxx
* @author lystar
* 2021/11/22 22:30
*/
TbStAppXcxx getXcxxByXcbh(String xcbh);
/**
* updateXcxx 修改现场信息
* @author lystar
* 2021/11/23 10:01
*/
void updateXcxx(TbStAppXcxx tbStAppXcxx);
/**
* deleteXcxx 删除现场表现
* @param xcbh: 现场编号
* @author lystar
* 2021/11/23 10:22
*/
void deleteXcxx(String xcbh);
/**
* deleteOneFj 删除一个附件
* @param xxzjbh: 信息主键编号
* @author lystar
* 2021/11/23 10:25
*/
void deleteOneFj(String xxzjbh);
}
package org.springblade.founder.xcxx.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.founder.utils.SysXxzjbhService;
import org.springblade.founder.utils.Utils;
import org.springblade.founder.xcxx.entity.TbStAppXcxx;
import org.springblade.founder.xcxx.entity.TbStAppXcxxFj;
import org.springblade.founder.xcxx.mapper.XcxxFjMapper;
import org.springblade.founder.xcxx.mapper.XcxxMapper;
import org.springblade.founder.xcxx.service.XcxxService;
import org.springblade.modules.system.entity.XzxtUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.BoundSetOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.scheduling.annotation.Schedules;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Service
@DS("xzxt_hn")
public class XcxxServiceImpl implements XcxxService {
@Autowired
private XcxxMapper xcxxMapper;
@Autowired
private XcxxFjMapper xcxxFjMapper;
@Autowired
private SysXxzjbhService xxzjbhService;
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Override
public String saveXcxx(TbStAppXcxx tbStAppXcxx) {
XzxtUser xzxtUser = SecureUtil.getUserXzxt();
String xxzjbh = xxzjbhService.getXxzjbh(xzxtUser.getUnitcode());
tbStAppXcxx.setXcbh(xxzjbh);
Utils.setUserDjxxAndCzxx(tbStAppXcxx);
xcxxMapper.insert(tbStAppXcxx);
glfjxx(tbStAppXcxx);
return xxzjbh;
}
@Override
public String saveOneFj(TbStAppXcxxFj tbStAppXcxxFj) throws IOException {
XzxtUser xzxtUser = SecureUtil.getUserXzxt();
String xxzjbh = xxzjbhService.getXxzjbh(xzxtUser.getUnitcode());
MultipartFile file = tbStAppXcxxFj.getFile();
String fileName = file.getOriginalFilename();
String suffix = "." + FilenameUtils.getExtension(fileName);
tbStAppXcxxFj.setFjDzwjgs(suffix);
tbStAppXcxxFj.setFjDzwjbt(fileName);
tbStAppXcxxFj.setFjDzwjdx(file.getSize());
tbStAppXcxxFj.setFjDzwjnr(file.getBytes());
tbStAppXcxxFj.setXxzjbh(xxzjbh);
Utils.setUserDjxxAndCzxx(tbStAppXcxxFj);
xcxxFjMapper.insert(tbStAppXcxxFj);
if (StringUtils.isEmpty(tbStAppXcxxFj.getGlxxXxzjbh())) {
BoundSetOperations<String, String> setOps = redisTemplate.boundSetOps("xcxxfj-hc");
setOps.add(xxzjbh);
}
return xxzjbh;
}
@Override
public Map<String, Object> getXcxxListByParam(TbStAppXcxx tbStAppXcxx) {
Utils.setPageParams(tbStAppXcxx);
XzxtUser user = SecureUtil.getUserXzxt();
String dwlike = Utils.getDwlikeByUnitCode(user.getUnitcode());
tbStAppXcxx.setXxdjdwGajgjgdm(dwlike);
tbStAppXcxx.setXxscPdbz("0");
List<TbStAppXcxx> rows = xcxxMapper.selectPageList(tbStAppXcxx);
Integer total = xcxxMapper.selectPageCount(tbStAppXcxx);
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("rows", rows);
resultMap.put("total", total);
return resultMap;
}
@Override
public TbStAppXcxx getXcxxByXcbh(String xcbh) {
QueryWrapper<TbStAppXcxx> xcxxQueryWrapper = new QueryWrapper<>();
xcxxQueryWrapper.eq("xcbh", xcbh);
xcxxQueryWrapper.eq("xxsc_pdbz", "0");
TbStAppXcxx xcxx = xcxxMapper.selectOne(xcxxQueryWrapper);
if (StringUtils.isNotEmpty(xcxx.getGlxxlx())){
xcxx.setGlxxlx(xcxx.getGlxxlx().equals("1") ? "案件" : "警情");
}
QueryWrapper<TbStAppXcxxFj> fjQueryWrapper = new QueryWrapper<>();
fjQueryWrapper.eq("glxx_xxzjbh", xcxx.getXcbh());
fjQueryWrapper.eq("xxsc_pdbz", "0");
List<TbStAppXcxxFj> fjList = xcxxFjMapper.selectListByXcbh(xcbh);
xcxx.setFjList(fjList);
return xcxx;
}
@Override
public void updateXcxx(TbStAppXcxx tbStAppXcxx) {
Utils.setUserCzxx(tbStAppXcxx);
xcxxMapper.updateById(tbStAppXcxx);
glfjxx(tbStAppXcxx);
}
@Override
public void deleteXcxx(String xcbh) {
TbStAppXcxx tbStAppXcxx = new TbStAppXcxx();
Utils.setUserCzxx(tbStAppXcxx);
tbStAppXcxx.setXcbh(xcbh);
tbStAppXcxx.setXxscPdbz("1");
xcxxMapper.updateById(tbStAppXcxx);
}
@Override
public void deleteOneFj(String xxzjbh) {
TbStAppXcxxFj xcxxFj = new TbStAppXcxxFj();
Utils.setUserCzxx(xcxxFj);
xcxxFj.setXxzjbh(xxzjbh);
xcxxFj.setXxscPdbz("1");
xcxxFjMapper.updateById(xcxxFj);
}
private void setQueryWrapper(QueryWrapper<TbStAppXcxx> queryWrapper, TbStAppXcxx tbStAppXcxx) {
//分配时间
if (tbStAppXcxx.getCksjStart() != null) {
queryWrapper.ge("cksj", tbStAppXcxx.getCksjStart());
}
if (tbStAppXcxx.getCksjEnd() != null) {
queryWrapper.le("cksj", tbStAppXcxx.getCksjEnd());
}
//截止时间
if (tbStAppXcxx.getXcdlwzJdStrat() != null) {
queryWrapper.ge("xcdlwz_jd", tbStAppXcxx.getXcdlwzJdStrat());
}
if (tbStAppXcxx.getXcdlwzJdEnd() != null) {
queryWrapper.le("xcdlwz_jd", tbStAppXcxx.getXcdlwzJdEnd());
}
//认领时间
if (tbStAppXcxx.getXcdlwzWdStart() != null) {
queryWrapper.ge("xcdlwz_wd", tbStAppXcxx.getXcdlwzWdStart());
}
if (tbStAppXcxx.getXcdlwzWdEnd() != null) {
queryWrapper.le("xcdlwz_wd", tbStAppXcxx.getXcdlwzWdEnd());
}
tbStAppXcxx.setXxscPdbz("0");
}
/**
* refreshingCache 定时查询redis中是否有附件缓存,如果有则清除缓存并删除库中的垃圾数据
* @author lystar
* 2021/11/22 21:33
*/
@Schedules({@Scheduled(cron = "0 0 8/1 ? * 1-5"), @Scheduled(cron = "0 0 8/3 ? * 6-7")})
public void refreshingCache() {
BoundSetOperations<String, String> setOps = redisTemplate.boundSetOps("xcxxfj-hc");
Long size = setOps.size();
if (size != null && size > 0){
Set<String> xxzjbhList = setOps.members();
if (xxzjbhList != null && xxzjbhList.size() > 0) {
xcxxFjMapper.deleteBatchIds(xxzjbhList);
Object[] array = xxzjbhList.toArray();
setOps.remove(array);
}
}
}
/**
* glfjxx 关联附件信息
* @author lystar
* 2021/11/23 10:07
*/
public void glfjxx(TbStAppXcxx tbStAppXcxx) {
List<TbStAppXcxxFj> fjList = tbStAppXcxx.getFjList();
if (fjList != null && fjList.size() > 0){
for (TbStAppXcxxFj fj : fjList) {
fj.setGlxxXxzjbh(tbStAppXcxx.getXcbh());
xcxxFjMapper.updateById(fj);
if (StringUtils.isEmpty(fj.getGlxxXxzjbh())) {
BoundSetOperations<String, String> setOps = redisTemplate.boundSetOps("xcxxfj-hc");
setOps.remove(fj.getXxzjbh());
}
}
}
}
}
...@@ -6,16 +6,16 @@ jasypt: ...@@ -6,16 +6,16 @@ jasypt:
spring: spring:
redis: redis:
##redis 单机环境配置 ##redis 单机环境配置
# host: 127.0.0.1 host: 127.0.0.1
# port: 6379 port: 6379
# password: password:
# database: 0 database: 0
# ssl: false ssl: false
host: 47.92.225.109 # host: 47.92.225.109
port: 3001 # port: 3001
password: 123 # password: 123
database: 0 # database: 0
ssl: false # ssl: false
##redis 集群环境配置 ##redis 集群环境配置
#cluster: #cluster:
# nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003 # nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
...@@ -25,7 +25,7 @@ spring: ...@@ -25,7 +25,7 @@ spring:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource: datasource:
dynamic: dynamic:
primary: db1 # 配置默认数据库 primary: xzxt_hn # 配置默认数据库
datasource: datasource:
db1: #全国刑专系统库(方正) db1: #全国刑专系统库(方正)
url: jdbc:mysql://47.92.223.200:3365/xzxt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8 url: jdbc:mysql://47.92.223.200:3365/xzxt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
...@@ -69,12 +69,21 @@ spring: ...@@ -69,12 +69,21 @@ spring:
password: XzPwd#11022 password: XzPwd#11022
driver-class-name: oracle.jdbc.driver.OracleDriver driver-class-name: oracle.jdbc.driver.OracleDriver
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
xzxt_hn: #海南 xzxt_qg: #全国
url: jdbc:oracle:thin:@47.92.129.99:1560:orcl # url: jdbc:oracle:thin:@10.2.164.176:1521:xzdb176
username: XZXT # username: FZ_TS
password: XzPwd#11022 # password: FZ_TS
driver-class-name: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@47.92.129.99:1560:orcl
type: com.alibaba.druid.pool.DruidDataSource username: XZXT
password: XzPwd#11022
driver-class-name: oracle.jdbc.driver.OracleDriver
type: com.alibaba.druid.pool.DruidDataSource
xzxt_hn: #海南
url: jdbc:oracle:thin:@47.92.129.99:1560:orcl
username: XZXT
password: XzPwd#11022
driver-class-name: oracle.jdbc.driver.OracleDriver
type: com.alibaba.druid.pool.DruidDataSource
xzxt_xz: #西藏 xzxt_xz: #西藏
url: jdbc:oracle:thin:@47.92.129.99:1560:orcl url: jdbc:oracle:thin:@47.92.129.99:1560:orcl
username: XZXT username: XZXT
...@@ -129,7 +138,7 @@ ossUrl: http://11.33.1.231:8282/ossFile/get ...@@ -129,7 +138,7 @@ ossUrl: http://11.33.1.231:8282/ossFile/get
#字典码文件存放位置 #字典码文件存放位置
jsonPath: E://data//xzjson jsonPath: E://data//xzjson
#功能使用日志开关 #功能使用日志开关
gnsyrzFlag: true gnsyrzFlag: false
#附件上传地址 #附件上传地址
#fjPath=D:/data/xsbjfj #fjPath=D:/data/xsbjfj
# fjPath=/data/file/fj # fjPath=/data/file/fj
......
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