Commit e1b88338 by Guojunfeng

网合代码更新

parent 74f6aaa8
......@@ -133,4 +133,18 @@ public class MainTask extends Model<MainTask> {
@TableField(exist = false)
private String fkzt;
@ApiModelProperty(value = "流转状态")
@TableField(exist = false)
private String lzzt;
@ApiModelProperty(value = "超时状态")
@TableField(exist = false)
private String cszt;
@ApiModelProperty(value = "子任务最新反馈时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(exist = false)
private Date zrwzxfksj;
}
package com.founder.commonutils.model.zczxEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.founder.commonutils.model.BaseDto;
import io.swagger.annotations.ApiModelProperty;
......@@ -415,6 +416,10 @@ public class SubTaskDto extends BaseDto {
@ApiModelProperty(value = "目标接收人账号")
private String targetJsrzh;
@ApiModelProperty(value = "审批申请单备注")
@TableField(exist = false)
private String approveBz;
//审批相关字段结束-------------------------------------------
......
......@@ -220,13 +220,18 @@ public class MainTaskController extends ApiController {
//这里前端直接按顺序把表头字段名传过来,再存到titleList里面
for (int i = 0; i < row.getLastCellNum(); i++) {
//列头拿到之后把括号及括号里的内容去掉
String stringCellValue = row.getCell(i).getStringCellValue();
//去掉英文括号及英文括号里的内容
String s = stringCellValue.replaceAll("\\([^()]*\\)", "");
//查列表,把列名对应的字段名查出来
QueryWrapper<Column> qw = new QueryWrapper<>();
qw.eq("field_name", row.getCell(i).getStringCellValue());//只查询有效的
qw.eq("field_name", s);
qw.eq("xxsc_pdbz", "0");//只查询有效的
Column one = this.columnService.getOne(qw);
if (one != null) {
titleList.add(one.getEntityName());
titleList.add(one.getEntityName());//字段名
//再把这个表头数据存到主任务拥有的模板列表中,用户查询代办主任务下子任务详情的时候可以筛选只展示该主任务选的表头列数据
ColumnTemplate columnTemplate = new ColumnTemplate();
columnTemplate.setId(KeyUtil.getUUIDKey("CT"));
......@@ -238,7 +243,9 @@ public class MainTaskController extends ApiController {
//下面这些字段数据库要确保都不会为空
columnTemplate.setColumnId(one.getId());//列ID
columnTemplate.setFieldOpen(one.getFieldOpen());//字段是否开启,默认值都是0
columnTemplate.setFieldName(one.getFieldName());//字段中文名
//特殊点:列头名要拿去括号前的值
columnTemplate.setFieldName(stringCellValue);//列名
// columnTemplate.setFieldName(one.getFieldName());
columnTemplate.setEntityName(one.getEntityName());//字段名
columnTemplate.setFieldOrder(one.getFieldOrder());//字段排序
columnTemplate.setRksj(new Date());//创建时间
......
......@@ -2,11 +2,13 @@ package com.founder.publicapi.controller.ZczxService;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.founder.commonutils.model.PageSimpleVO;
import com.founder.commonutils.model.newPublicEntity.MapRestResult;
import com.founder.commonutils.model.newPublicEntity.SysDictitem;
import com.founder.commonutils.model.newPublicEntity.SysUser;
import com.founder.commonutils.model.zczxEntity.*;
import com.founder.commonutils.util.KeyUtil;
......@@ -16,6 +18,7 @@ import com.founder.publicapi.service.ColumnService;
import com.founder.publicapi.service.SubTaskService;
import com.founder.servicebase.logs.OperLog;
import com.founder.servicebase.logs.OperationType;
import com.founder.servicebase.service.SysDictitemService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -38,8 +41,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static com.founder.commonutils.util.CodeUtils.addZeroForNum;
/**
* @author Godffy
* @create 2023-08-01 10:13
......@@ -62,6 +63,9 @@ public class SubTaskController extends ApiController {
@Resource
private ApproveDetailService approveDetailService;
@Resource
private SysDictitemService sysDictitemService;
//我下发的子任务-子任务列表(拥有下发任务角色的人都能看到整个模块,勾选“我下发的”查询自己下发的子任务
//我代办的任务-下发子任务,查询筛选条件:子任务接收人账号
//分页查询子任务列表(tb_wh_subtask),关联主任务表(tb_wh_maintask)
......@@ -162,6 +166,8 @@ public class SubTaskController extends ApiController {
approve.setSubtaskId(subTaskDto.getId());//子任务编号
approve.setTargetJsrzh(subTaskDto.getTargetJsrzh());//目标接收人账号
approve.setAuditName(subTaskDto.getAuditName());//申请单名称
approve.setBz(subTaskDto.getApproveBz());//审批申请单备注
//存审批主表信息
approveService.save(approve);
......@@ -314,26 +320,48 @@ public class SubTaskController extends ApiController {
String unitcode = user.getUnitcode();
String unitname = user.getUnitname();
String username = user.getUsername();//用户名
//第一步先看Token里的用户名是不是指挥中心公共账号,如果是,则直接退回不审批(要弄个字典表!还没弄!)
//缺:指挥中心公共账号的一个字典!直接查
//上一级单位的判断:先拿当前的机构代码,去掉后面全部的0,然后再去掉2位,再把0补全到12位,则为直属上级单位代码
String whggzhFlag = user.getWhggzhFlag();//判断当前用户是否为网合公共账号
//这里先用东坑分局指挥中心做测试,加了字典表后再改
if (username.equals("441978010000")) {//用户名不会为空,不用判空
String id = subTaskDto.getId();//子任务编号
//第一步先看Token里的用户名是不是指挥中心公共账号,如果是,则直接退回不审批(要弄个字典表!还没弄!)
QueryWrapper<SysDictitem> sysDictitemQueryWrapper = new QueryWrapper<>();
sysDictitemQueryWrapper.eq("scbz", "0");//只查询有效的
//WH_GGZH_UNIT:网合公共账号 WH_ZHGGZH_UNIT:网合指挥公共账号
sysDictitemQueryWrapper.eq("groupid", "WH_ZHGGZH_UNIT");
List<SysDictitem> list = this.sysDictitemService.list(sysDictitemQueryWrapper);
List<String> zhggzhList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
SysDictitem sysDictitem = list.get(i);
String code = sysDictitem.getCode();
zhggzhList.add(code);
}
//如果当前登陆的Token为指挥公共账号,直接改退回状态
if (zhggzhList.contains(unitcode)) {
UpdateWrapper<SubTask> subTaskUpdateWrapper = new UpdateWrapper<>();
subTaskUpdateWrapper.eq("id", subTaskDto.getId());//子任务主键
SubTask subTask = new SubTask();
subTask.setId(id);
subTask.setGxr(trueName);
subTask.setGxrjh(policemanid);
subTask.setGxrdwdm(unitcode);
subTask.setGxrdwmc(unitname);
subTask.setGxsj(new Date());
subTask.setThbz("1");
subTask.setThMessage(subTaskDto.getThMessage());//退回缘由,存到子任务的字段
subTask.setThsj(new Date());
this.subTaskService.updateById(subTask);
return MapRestResult.build(200, "退回成功(当前登陆账号为指挥中心公共账号,直接退回不用审批)", null);
subTask.setThMessage(subTaskDto.getThMessage());//退回缘由
this.subTaskService.update(subTask, subTaskUpdateWrapper);
return new MapRestResult(200, "当前登陆用户为指挥公共账号,直接退回.", null);
}
//这里先用东坑分局指挥中心做测试,加了字典表后再改
// if (username.equals("441978010000")) {//用户名不会为空,不用判空
// String id = subTaskDto.getId();//子任务编号
// SubTask subTask = new SubTask();
// subTask.setId(id);
// subTask.setGxr(trueName);
// subTask.setGxrjh(policemanid);
// subTask.setGxrdwdm(unitcode);
// subTask.setGxrdwmc(unitname);
// subTask.setGxsj(new Date());
// subTask.setThbz("1");
// subTask.setThMessage(subTaskDto.getThMessage());//退回缘由,存到子任务的字段
// subTask.setThsj(new Date());
// this.subTaskService.updateById(subTask);
// return MapRestResult.build(200, "退回成功(当前登陆账号为指挥中心公共账号,直接退回不用审批)", null);
// }
//个人民警登陆,或指挥公共账号下面的公共账号登陆,都需要提交审批申请单
QueryWrapper<Approve> qw = new QueryWrapper<>();
qw.eq("flow_no", subTaskDto.getId());//子任务编号
......@@ -360,12 +388,33 @@ public class SubTaskController extends ApiController {
approve.setAuditName(subTaskDto.getAuditName());//申请单名称
//如果当前登陆人的单位就是指挥中心的单位,unitcode等于upUnitCode,还没写!!!!!!!!!!!!!!!!!要等把指挥公共账号导到用户表并用字段区分!
//先把后面的0全部去掉,再去掉后面2位,再用0补全到12位
String s = unitcode.replaceAll("0+$", "");//去掉后面全部0
String substring = s.substring(0, s.length() - 2);//去掉后面2位
String upUnitCode = addZeroForNum(substring, 12);//用0右补全12位
approve.setTargetJsrzh(upUnitCode);//目标接收人账号
// String s = unitcode.replaceAll("0+$", "");//去掉后面全部0
// String substring = s.substring(0, s.length() - 2);//去掉后面2位
// String upUnitCode = addZeroForNum(substring, 12);//用0右补全12位
//如果目前用户是个人,则退到个人的公共账号,如果当前用户是公共账号,退到上一级的公共账号
//当前用户为公共账号
if (StringUtils.isNotBlank(whggzhFlag) && whggzhFlag.equals("1")) {
//查一下字典,找一下父级公共账号是谁
String ggzhUnitCode = user.getUnitcode();
QueryWrapper<SysDictitem> sysDictitemQueryWrapper2 = new QueryWrapper<>();
sysDictitemQueryWrapper2.eq("scbz", "0");//只查询有效的
//WH_GGZH_UNIT:网合公共账号 WH_ZHGGZH_UNIT:网合指挥公共账号
sysDictitemQueryWrapper2.eq("groupid", "WH_GGZH_UNIT");
sysDictitemQueryWrapper2.eq("code",ggzhUnitCode);
SysDictitem one1 = this.sysDictitemService.getOne(sysDictitemQueryWrapper2);
String pid = one1.getPid();
if (StringUtils.isBlank(pid)){
return new MapRestResult(201, "当前用户为公共账号,但上一级PID不存在", null);
}
approve.setTargetJsrzh(pid);//目标接收人账号
} else {
//当前用户为个人,退回个人用户所属的单位中(用户的单位就是公共账号的单位)
approve.setTargetJsrzh(unitcode);
}
// approve.setTargetJsrzh(upUnitCode);//目标接收人账号
approve.setBz(subTaskDto.getThMessage());//退回缘由
//存审批主表信息
......@@ -455,9 +504,14 @@ public class SubTaskController extends ApiController {
titleList.add("id");
//这里前端直接按顺序把表头字段名传过来,再存到titleList里面
for (int i = 0; i < row.getLastCellNum(); i++) {
//列头拿到之后把括号及括号里的内容去掉
String stringCellValue = row.getCell(i).getStringCellValue();
//去掉英文括号及英文括号里的内容
String s = stringCellValue.replaceAll("\\([^()]*\\)", "");
//查列表,把列名对应的字段名查出来
QueryWrapper<Column> qw = new QueryWrapper<>();
qw.eq("field_name", row.getCell(i).getStringCellValue());//只查询有效的
qw.eq("field_name", s);
qw.eq("xxsc_pdbz", "0");//只查询有效的
Column one = this.columnService.getOne(qw);
if (one != null) {
......
......@@ -6,6 +6,8 @@ import com.founder.commonutils.model.zczxEntity.Zczx;
import com.founder.commonutils.model.zczxEntity.ZczxDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Godffy
* @create 2023-06-06 14:39
......@@ -25,4 +27,6 @@ public interface ZczxMapper extends BaseMapper<Zczx> {
//取消完成
int restartZczx(@Param("zxbh") String zxbh);
List<Zczx> selectZczxList(ZczxDto zczxDto);
}
......@@ -10,6 +10,7 @@
taskContent,
taskType,
deadLine,
(select max(fksj) from tb_wh_subtask where main_id = t.id) zrwzxfksj,
lrr,
lrrjh,
lrrdwdm,
......@@ -19,11 +20,21 @@
wfkCount,
yfkCount,
case when taskCount = wfkCount then '全部未反馈'
when yfkCount != 0 then '部分已反馈'
when taskCount = yfkCount then '全部已反馈'
else '部分已反馈'
end as fkzt,
wlzCount,
ylzCount,
case when taskCount = wlzCount then '全部未流转'
when taskCount = ylzCount then '全部已流转'
else '部分已流转'
end as lzzt,
wcsCount,
ycsCount
ycsCount,
case when taskCount = wcsCount then '全部未超时'
when taskCount = ycsCount then '全部已超时'
else '部分已超时'
end as cszt
from(
select
id,
......@@ -106,13 +117,13 @@
</choose>
)
group by id,taskName,taskContent,taskType,deadLine,lrr,lrrjh,lrrdwdm,lrrdwmc,rksj
order by rksj desc)
order by rksj desc) t
where 1=1
<if test="mainTaskDto.rwfkzt == '0'.toString()">
and taskCount = wfkCount
</if>
<if test="mainTaskDto.rwfkzt == '1'.toString()">
and yfkCount != 0
and yfkCount != 0 and taskCount != yfkCount
</if>
<if test="mainTaskDto.rwfkzt == '2'.toString()">
and taskCount = yfkCount
......
......@@ -65,7 +65,7 @@
AND z.zxbh = #{zczxDto.zxbh , jdbcType=VARCHAR }
</if>
<if test="zczxDto.zxmc!=null and zczxDto.zxmc!=''">
AND z.zxmc = #{zczxDto.zxmc , jdbcType=VARCHAR }
AND z.zxmc like '%' || #{zczxDto.zxmc , jdbcType=VARCHAR } || '%'
</if>
<if test="zczxDto.asjbh!=null and zczxDto.asjbh!=''">
AND z.asjbh = #{zczxDto.asjbh , jdbcType=VARCHAR }
......@@ -212,7 +212,7 @@
AND z.zxbh = #{zczxDto.zxbh , jdbcType=VARCHAR }
</if>
<if test="zczxDto.zxmc!=null and zczxDto.zxmc!=''">
AND z.zxmc = #{zczxDto.zxmc , jdbcType=VARCHAR }
AND z.zxmc like '%' || #{zczxDto.zxmc , jdbcType=VARCHAR } || '%'
</if>
<if test="zczxDto.asjbh!=null and zczxDto.asjbh!=''">
AND z.asjbh = #{zczxDto.asjbh , jdbcType=VARCHAR }
......@@ -359,7 +359,7 @@
AND z.zxbh = #{zczxDto.zxbh , jdbcType=VARCHAR }
</if>
<if test="zczxDto.zxmc!=null and zczxDto.zxmc!=''">
AND z.zxmc = #{zczxDto.zxmc , jdbcType=VARCHAR }
AND z.zxmc like '%' || #{zczxDto.zxmc , jdbcType=VARCHAR } || '%'
</if>
<if test="zczxDto.asjbh!=null and zczxDto.asjbh!=''">
AND z.asjbh = #{zczxDto.asjbh , jdbcType=VARCHAR }
......@@ -517,7 +517,7 @@
</if>
<if test="zczxDto.zxmc!=null and zczxDto.zxmc!=''">
AND z.zxmc = #{zczxDto.zxmc , jdbcType=VARCHAR }
AND z.zxmc like '%' || #{zczxDto.zxmc , jdbcType=VARCHAR } || '%'
</if>
<if test="zczxDto.asjbh!=null and zczxDto.asjbh!=''">
AND z.asjbh = #{zczxDto.asjbh , jdbcType=VARCHAR }
......@@ -600,4 +600,62 @@
order by z.zxcjsj desc
</select>
<select id="selectZczxList" resultType="com.founder.commonutils.model.zczxEntity.Zczx">
select t2.* from(
select t1.*,rownum as rn from
(
SELECT ZXBH,
ZXMC,
ZXKSSJ,
ZXJSSJ,
ZXCJSJ,
ZXCJDWDM,
ZXCJDWMC,
ZXCJR,
ZXCJRJH,
ASJBH,
AJMC,
ASJ_JYQK,
JQBH,
JQMC,
JQ_JYQK,
YQBH,
YQMC,
YQ_JYQK,
SFZB_PDBZ,
SFTZ_PDBZ,
SFCBA_PDBZ,
SFFQSJQBWH_PDBZ,
SFFQSJWJWH_PDBZ,
SFFQFJWH_PDBZ,
SFFQQTXC_PDBZ,
GXSJ,
XXSC_PDBZ,
SFXJ_PDBZ,
SJQBWHBH,
SJWJWHBH,
SFFQJZYP_PDBZ,
JZYPBH,
FJWHBH,
QTXCBH,
SFFXDWDM,
ZXLYSM,
TXZT,
SFWC_PDBZ,
WCSJ,
ZCZX_STATE,
CQSJ
FROM tb_wh_zczx
WHERE
xxsc_pdbz = '0'
) t1
<where>
rownum<![CDATA[ <= ]]> #{ end , jdbcType=VARCHAR }
</where>
)t2
<where>
rn<![CDATA[ >= ]]> #{ begin, jdbcType=VARCHAR }
</where>
</select>
</mapper>
......@@ -6,8 +6,6 @@ import com.founder.commonutils.model.zczxEntity.Zczx;
import com.founder.commonutils.model.zczxEntity.ZczxDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Godffy
* @create 2023-06-06 10:01
......@@ -16,4 +14,6 @@ public interface ZczxService extends IService<Zczx> {
IPage<Zczx> listZczxForPage(IPage<ZczxDto> page,@Param("zczxDto") ZczxDto zczxDto);
//更新侦查专项图侦、刑技、抓捕、串并状态
}
......@@ -85,7 +85,11 @@ public class ApproveServiceImpl extends ServiceImpl<ApproveMapper, Approve> impl
@Override
@Transactional(rollbackFor = Exception.class)
public MapRestResult sp(ApproveDto approveDto) {
//审批前先看看库里的审批申请单是否处于待审批状态,避免重复审批
Approve byId = this.approveMapper.selectById(approveDto.getId());
if (!byId.getAuditStatus().equals("1")){
return new MapRestResult(201, "该审批申请单非处于待审批状态!", null);
}
String targetJsrzh = approveDto.getTargetJsrzh();//前端传入目标接收人账号(移交、退回使用字段)
SysUser targetUser = null;
if (StringUtils.isNotBlank(targetJsrzh)) {
......@@ -107,6 +111,8 @@ public class ApproveServiceImpl extends ServiceImpl<ApproveMapper, Approve> impl
String policemanid = user.getPolicemanid();
String unitcode = user.getUnitcode();
String unitname = user.getUnitname();
//前端传审批申请单id(id),业务编号(flowNo)和审批业务类型(auditType)对应审批主表记录和审批明细表节点
Approve approve = new Approve();//审批主表
// BeanUtil.copyProperties(approveDto, approve);
......
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