Commit b544cc7a by Guojunfeng

网合平台代码更新

parent ab072abc
......@@ -113,6 +113,18 @@ public class Approve extends Model<Approve> {
@ApiModelProperty(value = "审批申请单名称")
private String auditName;
@ApiModelProperty(value = "子任务编号")
private String subtaskId;
@ApiModelProperty(value = "目标接收人账号")
private String targetJsrzh;
/**
* 1.退回缘由
*/
@ApiModelProperty(value = "备注")
private String bz;
@ApiModelProperty(value = "审批人id(表示当前审批节点应该让谁来审批)")
@TableField(exist = false)
private String auditUserId;
......
......@@ -114,5 +114,13 @@ public class ApproveDto extends BaseDto {
@ApiModelProperty(value = "审批申请单名称")
private String auditName;
@ApiModelProperty(value = "审批人姓名")
private String auditUserName;
@ApiModelProperty(value = "子任务编号")
private String subtaskId;
@ApiModelProperty(value = "目标接收人账号")
private String targetJsrzh;
}
......@@ -19,7 +19,7 @@ import java.util.Date;
*/
@Data
@TableName("tb_wh_subtask")
@ApiModel(value = "子任务表(tb_wh_subtask)实体类",description = "")
@ApiModel(value = "子任务表(tb_wh_subtask)实体类", description = "")
public class SubTask extends Model<SubTask> {
@TableId(type = IdType.INPUT)
......@@ -165,7 +165,7 @@ public class SubTask extends Model<SubTask> {
private String ladw;
@ApiModelProperty(value = "立案日期")
private String larq;
private String larq;
@ApiModelProperty(value = "工作单位")
private String gzdw;
......@@ -253,7 +253,7 @@ public class SubTask extends Model<SubTask> {
@ApiModelProperty(value = "入库时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date rksj;
@ApiModelProperty(value = "更新人")
......@@ -270,7 +270,7 @@ public class SubTask extends Model<SubTask> {
@ApiModelProperty(value = "更新时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date gxsj;
@ApiModelProperty(value = "信息删除判断标志")
......@@ -337,6 +337,9 @@ public class SubTask extends Model<SubTask> {
@ApiModelProperty(value = "退回标志")
private String thbz;
@ApiModelProperty(value = "退回缘由")
private String thMessage;
@ApiModelProperty(value = "用户评价")
private String evaluation;
......@@ -348,27 +351,35 @@ public class SubTask extends Model<SubTask> {
@ApiModelProperty(value = "评价标志")
private String pjbz;
/**
* 评价等级
* 0:不及格
* 1:及格
*/
@ApiModelProperty(value = "评价等级")
private String pjdj;
@ApiModelProperty(value = "评价时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date pjsj;
@ApiModelProperty(value = "反馈时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date fksj;
@ApiModelProperty(value = "反馈次数")
private Integer fkcs;
private int fkcs;
@ApiModelProperty(value = "退回时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date thsj;
@ApiModelProperty(value = "移交时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date yjsj;
@ApiModelProperty(value = "主任务名称")
......
......@@ -337,6 +337,9 @@ public class SubTaskDto extends BaseDto {
@ApiModelProperty(value = "退回标志")
private String thbz;
@ApiModelProperty(value = "退回标志")
private String thMessage;
/**
* 评价标志
* 0:未评价
......@@ -345,6 +348,14 @@ public class SubTaskDto extends BaseDto {
@ApiModelProperty(value = "评价标志")
private String pjbz;
/**
* 评价等级
* 0:不及格
* 1:及格
*/
@ApiModelProperty(value = "评价等级")
private String pjdj;
@ApiModelProperty(value = "用户评价")
private String evaluation;
......@@ -367,4 +378,53 @@ public class SubTaskDto extends BaseDto {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date zrwfkjssj;
//审批相关字段开始-------------------------------------------
@ApiModelProperty(value = "总审核节点(表明此审核业务的总共审核节点数)")
private String totalPoint;
@ApiModelProperty(value = "当前所在审核节点(表名此审核业务当前所处的节点)")
private String nowPoint;
@ApiModelProperty(value = "审批申请单名称")
private String auditName;
@ApiModelProperty(value = "审批人id(表示当前审批节点应该让谁来审批)")
private String auditUserId;
@ApiModelProperty(value = "审批人姓名")
private String auditUserName;
/**
* 审核人类型(表示当前节点审核时审核人的类型)
* 1:特指某人
* 2:具有某个角色(角色id可以存在audit_user_id,也可以新增一个角色id字段)
*/
@ApiModelProperty(value = "审核人类型(表示当前节点审核时审核人的类型)")
private String auditUserType;
@ApiModelProperty(value = "目标接收人账号")
private String targetJsrzh;
//审批相关字段结束-------------------------------------------
//反馈要前端传个人信息开始-------------------------------------------
@ApiModelProperty(value = "用户名")
private String username;
@ApiModelProperty(value = "真实姓名")
private String trueName;
@ApiModelProperty(value = "用户警号")
private String policemanid;
@ApiModelProperty(value = "单位代码")
private String unitcode;
@ApiModelProperty(value = "单位名称")
private String unitname;
//反馈要前端传个人信息结束-------------------------------------------
}
......@@ -247,4 +247,22 @@ public class XcrwDto extends BaseDto {
*/
@ApiModelProperty(value = "审核进度")
private String auditStatus;
//反馈要前端传个人信息开始-------------------------------------------
@ApiModelProperty(value = "用户名")
private String username;
@ApiModelProperty(value = "真实姓名")
private String trueName;
@ApiModelProperty(value = "用户警号")
private String policemanid;
@ApiModelProperty(value = "单位代码")
private String unitcode;
@ApiModelProperty(value = "单位名称")
private String unitname;
//反馈要前端传个人信息结束-------------------------------------------
}
......@@ -13,6 +13,8 @@ import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
import static com.founder.commonutils.util.CodeUtils.addZeroForNum;
/**
* Base64加密,解密
*/
......@@ -67,11 +69,19 @@ public class Base64Util {
}
public static void main(String[] args) {
System.out.println(Base64Util.encode("123456"));
System.out.println(Base64Util.decode("YmoxNTAxNDc="));
String str = "441978010400";
System.out.println(str.replaceAll("0+$", ""));//去掉后面全部0
String s = str.replaceAll("0+$", "");
String substring = s.substring(0, s.length() - 2);
System.out.println(substring);//去掉最后2位
System.out.println(addZeroForNum(substring, 12));//补全12位
// System.out.println(Base64Util.encode("dk123456"));
// System.out.println(Base64Util.decode("ZGsxMjM0NTY="));
System.out.println(Base64Util.encode("123456"));
System.out.println(Base64Util.decode("YmoxNTAxNDc="));
// System.out.println(Base64Util.encode("123456"));
// System.out.println(Base64Util.decode("YmoxNTAxNDc="));
}
......
......@@ -33,60 +33,61 @@ public class CodeUtils {
}
public static String getUuid(){
public static String getUuid() {
return UUID.randomUUID().toString().replace("-", "");
}
/**
*
* @Description: 生成唯一的主键 格式: 19位
*/
public static synchronized String getUUIDKey(String str) {
String uuid= System.currentTimeMillis()+ UUID.randomUUID().toString().replaceAll("-","").substring(0,6);
String uuid = System.currentTimeMillis() + UUID.randomUUID().toString().replaceAll("-", "").substring(0, 6);
return str + uuid;
}
public static String substrDwdm(String dwdm){
if (dwdm.endsWith("0000000000")){
dwdm = dwdm.substring(0,2);
}else if(dwdm.endsWith("00000000")){
dwdm = dwdm.substring(0,4);
}else if(dwdm.endsWith("000000")){
dwdm = dwdm.substring(0,6);
}else if(dwdm.endsWith("0000")){
dwdm = dwdm.substring(0,8);
}else if(dwdm.endsWith("00")){
dwdm = dwdm.substring(0,10);
public static String substrDwdm(String dwdm) {
if (dwdm.endsWith("0000000000")) {
dwdm = dwdm.substring(0, 2);
} else if (dwdm.endsWith("00000000")) {
dwdm = dwdm.substring(0, 4);
} else if (dwdm.endsWith("000000")) {
dwdm = dwdm.substring(0, 6);
} else if (dwdm.endsWith("0000")) {
dwdm = dwdm.substring(0, 8);
} else if (dwdm.endsWith("00")) {
dwdm = dwdm.substring(0, 10);
}
return dwdm;
}
/**
* 截取案件类别代码
*
* @param lbdm
* @return
*/
public static String substrAjldDm(String lbdm){
if (lbdm.endsWith("000000")){
lbdm = lbdm.substring(0,2);
}else if(lbdm.endsWith("0000")){
lbdm = lbdm.substring(0,4);
}else if(lbdm.endsWith("00")){
lbdm = lbdm.substring(0,6);
public static String substrAjldDm(String lbdm) {
if (lbdm.endsWith("000000")) {
lbdm = lbdm.substring(0, 2);
} else if (lbdm.endsWith("0000")) {
lbdm = lbdm.substring(0, 4);
} else if (lbdm.endsWith("00")) {
lbdm = lbdm.substring(0, 6);
}
return lbdm;
}
/**
* 截取行政区划代码
*
* @param xzqhDm
* @return
*/
public static String substrXzqhdm(String xzqhDm) {
if(xzqhDm.endsWith("0000")){
return xzqhDm.substring(0,2);
}else if(xzqhDm.endsWith("00")){
return xzqhDm.substring(0,4);
if (xzqhDm.endsWith("0000")) {
return xzqhDm.substring(0, 2);
} else if (xzqhDm.endsWith("00")) {
return xzqhDm.substring(0, 4);
}
return xzqhDm;
}
......@@ -112,4 +113,17 @@ public class CodeUtils {
return "(select name from sys_dictitem s where s.groupid = '" + groupid + "' and code = " + colunm + ") AS " + sb.toString() + "Str";
}
public static String addZeroForNum(String str, int strLength) {
int strLen = str.length();
if (strLen < strLength) {
while (strLen < strLength) {
StringBuffer sb = new StringBuffer();
sb.append(str).append("0");//右补0
str = sb.toString();
strLen = str.length();
}
}
return str;
}
}
......@@ -18,6 +18,7 @@ import com.founder.servicebase.service.SysRoleService;
import com.founder.servicebase.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
......@@ -27,7 +28,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.founder.commonutils.util.AesEncryptUtil.desEncrypt;
......@@ -126,32 +126,47 @@ public class SysUserController extends ApiController {
@OperLog(message = "获取一级审批用户列表", operation = OperationType.QUERY)
@PostMapping("/getApproveUsers")
public MapRestResult getApproveUsers(@RequestBody SysUser sysUser) {
String id = sysUser.getId();
// String id = sysUser.getId();
String unitcode = sysUser.getUnitcode();
List<SysRole> rolesByUserId = sysRoleService.getRolesByUserId(id);//获取用户拥有的角色列表
//看列表中是否包含一级审批权限
List<String> approveIds = rolesByUserId.stream().map(SysRole::getId).collect(Collectors.toList());
boolean contains = approveIds.contains(WSWX_YJSP_ROLEID);//一级审批id
if (!contains) {
return MapRestResult.build(201, "用户没有审批权限", null);
}
// List<SysRole> rolesByUserId = sysRoleService.getRolesByUserId(id);//获取用户拥有的角色列表
// //看列表中是否包含一级审批权限
// List<String> approveIds = rolesByUserId.stream().map(SysRole::getId).collect(Collectors.toList());
// boolean contains = approveIds.contains(WSWX_YJSP_ROLEID);//一级审批id
// if (!contains) {
// return MapRestResult.build(201, "用户没有审批权限", null);
// }
unitcode = unitcode.substring(0, 6);//截取拿到分局层面代码
List<SysUser> users = sysUserService.getUsersByApprove(WSWX_YJSP_ROLEID, unitcode);
return MapRestResult.build(200, "获取一级审批用户列表", users);
}
//按条件查询用户表信息(不分页)
//用于
@ApiOperation(value = "按条件查询用户表信息")
@OperLog(message = "按条件查询用户表信息", operation = OperationType.QUERY)
@PostMapping("/selectUser")
public MapRestResult selectUser(@RequestBody SysUser sysUser) {
QueryWrapper<SysUser> qw = new QueryWrapper<>();
//用户单位
qw.likeRight(StringUtils.isNotBlank(sysUser.getUnitcode()),"unitcode",sysUser.getUnitcode());
qw.eq("scbz","0");//未删除
qw.eq("open_flag","1");//已激活
List<SysUser> list = this.sysUserService.list(qw);
return MapRestResult.build(200, "按条件查询用户表信息(不分页)", list);
}
/**
* 智侦用户表:sys_user
* 智侦角色表:sys_role
* 智侦用户角色表:sys_user_role
* 智侦权限表:sys_permission_new
* 角色和权限没关系,角色控制功能,权限控制菜单。
*
* @param id
* @return
*/
/**
* 智侦用户表:sys_user
* 智侦角色表:sys_role
* 智侦用户角色表:sys_user_role
* 智侦权限表:sys_permission_new
* 角色和权限没关系,角色控制功能,权限控制菜单。
*
* @param id
* @return
*/
//判断该登陆角色是否可以审批
@ApiOperation(value = "根据用户id获得该用户所拥有的的角色")
@OperLog(message = "根据用户id获得该用户所拥有的的角色", operation = OperationType.QUERY)
......
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;
......@@ -8,16 +9,15 @@ 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.SysUser;
import com.founder.commonutils.model.zczxEntity.Approve;
import com.founder.commonutils.model.zczxEntity.ApproveDetail;
import com.founder.commonutils.model.zczxEntity.ApproveDto;
import com.founder.commonutils.model.zczxEntity.ZczxRole;
import com.founder.commonutils.model.zczxEntity.*;
import com.founder.commonutils.util.KeyUtil;
import com.founder.publicapi.service.ApproveDetailService;
import com.founder.publicapi.service.ApproveService;
import com.founder.publicapi.service.SubTaskService;
import com.founder.publicapi.service.ZczxRoleService;
import com.founder.servicebase.logs.OperLog;
import com.founder.servicebase.logs.OperationType;
import com.founder.servicebase.service.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -49,6 +49,12 @@ public class ApproveController extends ApiController {
@Resource
private ZczxRoleService zczxRoleService;
@Resource
private SysUserService sysUserService;
@Resource
private SubTaskService subTaskService;
/**
* 审批类型(表明此条记录的审批类型,如流转审批、分享审批)
* 1:协查任务审批
......@@ -135,7 +141,7 @@ public class ApproveController extends ApiController {
@PostMapping("sp")
@ApiOperation(value = "审批")
@OperLog(message = "审批", operation = OperationType.UPDATE)
public MapRestResult sp(@RequestBody ApproveDto approveDto) {
public MapRestResult sp(@RequestBody ApproveDto approveDto) throws Exception {
//当前登陆人的信息
ServletRequestAttributes requestAttributes =
(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
......@@ -175,9 +181,9 @@ public class ApproveController extends ApiController {
updateWrapper.eq("audit_id", approveDto.getId());//审批主键id
approveDetailService.update(approveDetail, updateWrapper);
//如果审批类型是“侦查专项取消分享审批” 且 审批状态是“审批通过”,去侦查专项角色表把对应的分享数据删掉
String auditType = approveDto.getAuditType();//审批类型
String auditStatus = approveDto.getAuditStatus();//审批状态
//如果审批类型是“侦查专项取消分享审批” 且 审批状态是“审批通过”,去侦查专项角色表(tb_wh_zczx_role)把对应的分享数据删掉
if (StringUtils.isNotBlank(auditType) && auditType.equals("9") && StringUtils.isNotBlank(auditStatus) && auditStatus.equals("2")) {
UpdateWrapper<ZczxRole> zczxRoleUpdateWrapper = new UpdateWrapper<>();
zczxRoleUpdateWrapper.eq("id", approveDto.getFlowNo());//审批编号(连接具体业务表的数据主键)
......@@ -187,7 +193,62 @@ public class ApproveController extends ApiController {
// String flowNo = approveDto.getFlowNo();//审批编号(连接具体业务表的数据主键)
// zczxRoleService.removeById(flowNo);
}
return new MapRestResult();
//如果审批类型时"移交" 且 审批状态是 "审批通过",去子任务表(tb_wh_subtask)把接收人等字段覆盖掉
if (StringUtils.isNotBlank(auditType) && auditType.equals("7") && StringUtils.isNotBlank(auditStatus) && auditStatus.equals("2")) {
String targetJsrzh = approveDto.getTargetJsrzh();//前端传入目标接收人账号(移交、退回使用字段)
//查一下用户表的信息
QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
sysUserQueryWrapper.eq("username", targetJsrzh);
sysUserQueryWrapper.eq("scbz", "0");
SysUser targetUser = this.sysUserService.getOne(sysUserQueryWrapper);
if (targetUser == null) {
//抛异常回滚
throw new Exception("目标账号不存在");
// return new MapRestResult(201,"目标账号不存在!",null);
}
UpdateWrapper<SubTask> subTaskUpdateWrapper = new UpdateWrapper<>();
subTaskUpdateWrapper.eq("id", approveDto.getFlowNo());//审批编号(连接具体业务表的数据主键)
SubTask subTask = new SubTask();
subTask.setJsrzh(targetJsrzh);//设置接收人账号
subTask.setJsrdwmc(targetUser.getUnitname());//接收人单位名称
subTask.setJsrdwdm(targetUser.getUnitcode());//接收人单位代码
subTask.setJsrjh(targetUser.getPolicemanid());//接收人警号
subTask.setJsrxm(targetUser.getTrueName());//接收人姓名
subTask.setJsrlxdh(targetUser.getTelephone());//接收人联系电话
subTask.setJsrsfzh(targetUser.getIdentitycard());//接收人证件号码
subTask.setYjbz("1");//移交标志设置为1,只能移交1次
subTask.setYjsj(new Date());
this.subTaskService.update(subTask,subTaskUpdateWrapper);
}
//退回
if (StringUtils.isNotBlank(auditType) && auditType.equals("8") && StringUtils.isNotBlank(auditStatus) && auditStatus.equals("2")) {
String targetJsrzh = approveDto.getTargetJsrzh();//前端传入目标接收人账号(移交、退回使用字段)
//查一下用户表的信息
QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
sysUserQueryWrapper.eq("username", targetJsrzh);
sysUserQueryWrapper.eq("scbz", "0");
SysUser targetUser = this.sysUserService.getOne(sysUserQueryWrapper);
if (targetUser == null) {
//抛异常回滚
throw new Exception("目标账号不存在");
// return new MapRestResult(201,"目标账号不存在!",null);
}
UpdateWrapper<SubTask> subTaskUpdateWrapper = new UpdateWrapper<>();
subTaskUpdateWrapper.eq("id", approveDto.getFlowNo());//审批编号(连接具体业务表的数据主键)
SubTask subTask = new SubTask();
subTask.setJsrzh(targetJsrzh);//设置接收人账号
subTask.setJsrdwmc(targetUser.getUnitname());//接收人单位名称
subTask.setJsrdwdm(targetUser.getUnitcode());//接收人单位代码
subTask.setJsrjh(targetUser.getPolicemanid());//接收人警号
subTask.setJsrxm(targetUser.getTrueName());//接收人姓名
subTask.setJsrlxdh(targetUser.getTelephone());//接收人联系电话
subTask.setJsrsfzh(targetUser.getIdentitycard());//接收人证件号码
this.subTaskService.update(subTask,subTaskUpdateWrapper);
}
return new MapRestResult();
}
}
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.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.zczxEntity.SubTask;
import com.founder.commonutils.model.zczxEntity.SubTaskDto;
import com.founder.commonutils.model.newPublicEntity.SysUser;
import com.founder.commonutils.model.zczxEntity.*;
import com.founder.commonutils.util.KeyUtil;
import com.founder.publicapi.service.ApproveDetailService;
import com.founder.publicapi.service.ApproveService;
import com.founder.publicapi.service.ColumnService;
......@@ -17,9 +19,26 @@ import com.founder.servicebase.logs.OperationType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.beans.PropertyDescriptor;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static com.founder.commonutils.util.CodeUtils.addZeroForNum;
/**
* @author Godffy
......@@ -91,192 +110,398 @@ public class SubTaskController extends ApiController {
//移交
//提交一个移交审批申请,若审批申请单通过,则更改子任务的接收人账号和移交状态
//只能移交一次,若该子任务移交状态为1,则无法重复移交
// @PostMapping("transfer")
// @ApiOperation(value = "子任务移交")
// @OperLog(message = "子任务移交", operation = OperationType.ADD)
// @Transactional
// public MapRestResult transfer(@RequestBody SubTaskDto subTaskDto) {
// QueryWrapper<SubTask> sqw = new QueryWrapper<>();
// sqw.eq("id",subTaskDto.getId());
// sqw.eq("xxsc_pdbz","0");
// sqw.eq("yjbz","1");//已移交
// SubTask subTask = this.subTaskService.getOne(sqw);
// if (subTask != null) {
// return new MapRestResult(201,"子任务已移交过,无法移交!",null);
// }
//
// QueryWrapper<Approve> qw = new QueryWrapper<>();
// qw.eq("flow_no", approveDto.getFlowNo());
// qw.eq("audit_type", "7");
// qw.eq("audit_status", "1");
// Approve one = approveService.getOne(qw);
// if (one != null) {
// return new MapRestResult(201,"已处于待审批状态,不能重复提交审批!",null);
// }
//
// //当前登陆人的信息
// ServletRequestAttributes requestAttributes =
// (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// HttpServletRequest request = requestAttributes.getRequest();
// SysUser user = (SysUser) request.getAttribute("user");
// String trueName = user.getTrueName();
// String policemanid = user.getPolicemanid();
// String unitcode = user.getUnitcode();
// String unitname = user.getUnitname();
//
// Approve approve = new Approve();
// String approveNo = KeyUtil.getUUIDKey("A");
// approve.setId(approveNo);//审批主表主键
// approve.setFlowNo(approveDto.getFlowNo());//连接专项角色表主键
// approve.setAuditType("7");//审批类型,7:子任务移交
// approve.setLrr(trueName);
// approve.setLrrjh(policemanid);
// approve.setLrrdwdm(unitcode);
// approve.setLrrdwmc(unitname);
// approve.setRksj(new Date());
// approve.setTotalPoint(approveDto.getTotalPoint());//总审核节点(表明此审核业务的总共审核节点数)
// approve.setNowPoint(approveDto.getNowPoint());//当前所在审核节点(表明此审核业务当前所处的节点)
// approve.setZxbh(approveDto.getZxbh());//专项编号
// approve.setZxmc(approveDto.getZxmc());//专项名称
// approve.setAuditName(approveDto.getAuditName());//分享申请单名称
// //存审批主表信息
// approveService.save(approve);
//
// ApproveDetail approveDetail = new ApproveDetail();
// String approveDetailNo = KeyUtil.getUUIDKey("AD");
// approveDetail.setId(approveDetailNo);//审批明细表主键
// approveDetail.setAuditId(approveNo);//连接审批主表主键
// approveDetail.setAuditUserId(approveDto.getAuditUserId());//由谁审批
// approveDetail.setAuditUserName(trueName);//审批人
// approveDetail.setLrr(trueName);
// approveDetail.setLrrjh(policemanid);
// approveDetail.setLrrdwdm(unitcode);
// approveDetail.setLrrdwmc(unitname);
// approveDetail.setRksj(new Date());
// approveDetail.setNowPoint(approveDto.getNowPoint());//当前所在审核节点(表明此审核业务当前所处的节点)
// approveDetail.setAuditUserType(approveDto.getAuditUserType());//目前为特指某人
// approveDetailService.save(approveDetail);
// return new MapRestResult();
// }
// //反馈子任务
// //步骤:
// // 1.前端把需要反馈的子任务及对应的主任务模板先查出来,然后将这些子任务的主键ID带上放入excel第一列,再把(接受任务单位)这列去掉,生成反馈模板
// // 2.用户下载反馈模板之后,将空的任务进行填写,调用此接口进行子任务反馈
// //要求:
// // 1.可以同一条任务多次反馈,记录反馈次数
// @PostMapping("feedback")
// @ApiOperation(value = "反馈子任务")
// @OperLog(message = "反馈子任务", operation = OperationType.UPDATE)
// @Transactional
// public MapRestResult feedback(SubTaskDto subTaskDto) {
// //入参校验
// if (subTaskDto.getFile() == null) {
// return MapRestResult.build(201, "必须任务反馈excel", null);
// }
// //当前登陆人的信息
// ServletRequestAttributes requestAttributes =
// (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// HttpServletRequest request = requestAttributes.getRequest();
// SysUser user = (SysUser) request.getAttribute("user");
// String trueName = user.getTrueName();
// String policemanid = user.getPolicemanid();
// String unitcode = user.getUnitcode();
// String unitname = user.getUnitname();
//
// MultipartFile file = subTaskDto.getFile();
// String originalFilename = file.getOriginalFilename();//文件全名(包含后缀)
//
//
// }
//
// /**
// * 自定义表头
// * 导入Excel转为实体类
// *
// * @param fileName
// * @param file
// * @param t
// * @return
// * @throws Exception
// */
// public <T> List handelExcel(String fileName, MultipartFile file, Class<T> t) throws Exception {
//
// if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
// throw new Exception();
// }
// boolean isExcel2003 = true;
// if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
// isExcel2003 = false;
// }
// InputStream is = file.getInputStream();
// Workbook wb = null;
// if (isExcel2003) {
// wb = new HSSFWorkbook(is);
// } else {
// wb = new XSSFWorkbook(is);
// }
// Sheet sheet = wb.getSheetAt(0);
//
// //获取表头列
// Row row = sheet.getRow(0);
// //表头字段放入titleList中
// List<String> titleList = new ArrayList<String>();
// //这里前端直接按顺序把表头字段名传过来,再存到titleList里面
// for (int i = 0; i < row.getLastCellNum(); i++) {
// //查列表,把列名对应的字段名查出来
// QueryWrapper<Column> qw = new QueryWrapper<>();
// qw.eq("field_name", row.getCell(i).getStringCellValue());//只查询有效的
// qw.eq("xxsc_pdbz", "0");//只查询有效的
// Column one = this.columnService.getOne(qw);
// if (one != null) {
// titleList.add(one.getEntityName());
// }
// }
// //获得该类的所有属性
// Field[] fields = t.getDeclaredFields();
//
// List<T> list = new ArrayList<T>();
//
// for (int r = 1; r <= sheet.getLastRowNum(); r++) {
// T tIns = t.newInstance();
// boolean nullrow = false;
//
// for (Field field : fields) {
//
// PropertyDescriptor pd = new PropertyDescriptor(field.getName(), t);
// if (!"id".equals(field.getName())) {
// int num = titleList.indexOf(field.getName());
// if (num != -1) {
// //获得set方法
// Method method = pd.getWriteMethod();
// System.out.println(num);//第几个字段索引
// System.out.println(r);//第几行
// Row nowrow = sheet.getRow(r);//行
// if (nowrow != null) {
// Cell cell = nowrow.getCell(num);
// if (cell != null) {
// cell.setCellType(CellType.STRING);
// method.invoke(tIns, cell.getStringCellValue());
// } else {
// method.invoke(tIns, "");
// }
// } else {
// nullrow = true;
// break;
// }
//
// }
// }
// }
// if (nullrow == true) {
// break;
// }
// list.add(tIns);
// }
// return list;
// }
@PostMapping("transfer")
@ApiOperation(value = "子任务移交")
@OperLog(message = "子任务移交", operation = OperationType.ADD)
@Transactional
public MapRestResult transfer(@RequestBody SubTaskDto subTaskDto) {
QueryWrapper<SubTask> sqw = new QueryWrapper<>();
sqw.eq("id", subTaskDto.getId());
sqw.eq("xxsc_pdbz", "0");
sqw.eq("yjbz", "1");//已移交
SubTask subTask = this.subTaskService.getOne(sqw);
if (subTask != null) {
return new MapRestResult(201, "子任务已移交过,无法移交!", null);
}
QueryWrapper<Approve> qw = new QueryWrapper<>();
qw.eq("flow_no", subTaskDto.getId());//子任务编号
qw.eq("audit_type", "7");
qw.eq("audit_status", "1");
Approve one = approveService.getOne(qw);
if (one != null) {
return new MapRestResult(201, "已处于待审批状态,不能重复提交审批!", null);
}
//当前登陆人的信息
ServletRequestAttributes requestAttributes =
(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest();
SysUser user = (SysUser) request.getAttribute("user");
String trueName = user.getTrueName();
String policemanid = user.getPolicemanid();
String unitcode = user.getUnitcode();
String unitname = user.getUnitname();
Approve approve = new Approve();
String approveNo = KeyUtil.getUUIDKey("A");
approve.setId(approveNo);//审批主表主键
approve.setFlowNo(subTaskDto.getId());//连接专项角色表主键
approve.setAuditType("7");//审批类型,7:子任务移交
approve.setLrr(trueName);
approve.setLrrjh(policemanid);
approve.setLrrdwdm(unitcode);
approve.setLrrdwmc(unitname);
approve.setRksj(new Date());
approve.setTotalPoint(subTaskDto.getTotalPoint());//总审核节点(表明此审核业务的总共审核节点数)
approve.setNowPoint(subTaskDto.getNowPoint());//当前所在审核节点(表明此审核业务当前所处的节点)
approve.setSubtaskId(subTaskDto.getId());//子任务编号
approve.setTargetJsrzh(subTaskDto.getTargetJsrzh());//目标接收人账号
approve.setAuditName(subTaskDto.getAuditName());//申请单名称
//存审批主表信息
approveService.save(approve);
ApproveDetail approveDetail = new ApproveDetail();
String approveDetailNo = KeyUtil.getUUIDKey("AD");
approveDetail.setId(approveDetailNo);//审批明细表主键
approveDetail.setAuditId(approveNo);//连接审批主表主键
approveDetail.setAuditUserId(subTaskDto.getAuditUserId());//由谁审批
approveDetail.setAuditUserName(subTaskDto.getAuditUserName());//审批人名字
approveDetail.setLrr(trueName);
approveDetail.setLrrjh(policemanid);
approveDetail.setLrrdwdm(unitcode);
approveDetail.setLrrdwmc(unitname);
approveDetail.setRksj(new Date());
approveDetail.setNowPoint(subTaskDto.getNowPoint());//当前所在审核节点(表明此审核业务当前所处的节点)
approveDetail.setAuditUserType(subTaskDto.getAuditUserType());//目前为特指某人
approveDetailService.save(approveDetail);
return new MapRestResult();
}
//反馈子任务
//步骤:
// 1.前端把需要反馈的子任务及对应的主任务模板先查出来,然后将这些子任务的主键ID带上放入excel第一列,再把(接受任务单位)这列去掉,生成反馈模板
// 2.用户下载反馈模板之后,将空的任务进行填写,调用此接口进行子任务反馈
//要求:
// 1.可以同一条任务多次反馈,记录反馈次数
@PostMapping("feedback")
@ApiOperation(value = "反馈子任务(单条)")
@OperLog(message = "反馈子任务(单条)", operation = OperationType.UPDATE)
@Transactional
public MapRestResult feedback(@RequestBody SubTaskDto subTaskDto) {
//入参校验
if (StringUtils.isBlank(subTaskDto.getId())) {
return MapRestResult.build(201, "子任务主键ID不能为空", null);
}
String trueName = subTaskDto.getTrueName();
String policemanid = subTaskDto.getPolicemanid();
String unitcode = subTaskDto.getUnitcode();
String unitname = subTaskDto.getUnitname();
String username = subTaskDto.getUsername();//用户名
//查一下这条子任务的反馈次数
SubTask byId = this.subTaskService.getById(subTaskDto.getId());
int fkcs = byId.getFkcs();
SubTask subTask = new SubTask();
BeanUtil.copyProperties(subTaskDto, subTask);
//重点:把该条子任务的接收人账号更新为当前反馈的这个人的用户名
subTask.setJsrzh(username);
subTask.setGxr(trueName);
subTask.setGxrjh(policemanid);
subTask.setGxrdwdm(unitcode);
subTask.setGxrdwmc(unitname);
subTask.setGxsj(new Date());
subTask.setFksj(new Date());//反馈时间就是完成时间
subTask.setFkcs(++fkcs);//反馈次数
subTask.setFkbz("1");//反馈标注设置为1
subTask.setFkrdwdm(unitcode);//反馈人单位代码
subTask.setFkrdwmc(unitname);//反馈人单位名称
subTask.setFkrxm(trueName);//反馈人姓名
subTask.setFkrjh(policemanid);//反馈人警号
this.subTaskService.updateById(subTask);
return new MapRestResult();
}
//批量反馈
@PostMapping("feedbackBatch")
@ApiOperation(value = "批量反馈子任务")
@OperLog(message = "批量反馈子任务", operation = OperationType.UPDATE)
@Transactional
public MapRestResult feedbackBatch(SubTaskDto subTaskDto) throws Exception {
//入参校验
if (subTaskDto.getFile() == null) {
return MapRestResult.build(201, "必须上传反馈文件", null);
}
String trueName = subTaskDto.getTrueName();
String policemanid = subTaskDto.getPolicemanid();
String unitcode = subTaskDto.getUnitcode();
String unitname = subTaskDto.getUnitname();
String username = subTaskDto.getUsername();//用户名
//读反馈文件
MultipartFile file = subTaskDto.getFile();
String originalFilename = file.getOriginalFilename();//文件全名(包含后缀)
List<SubTask> list = handelExcel(originalFilename, file, SubTask.class);
//处理一下 list 里的内容,反馈次数加一.
for (int i = 0; i < list.size(); i++) {
SubTask subTask = list.get(i);
//先拿主键id去数据库查最新的反馈次数,然后加1
String id = subTask.getId();
SubTask byId = this.subTaskService.getById(id);
//如果根据id查不出有这条子任务,证明反馈模板的id被魔改了,直接抛出异常整个中断.
if (byId == null) {
throw new Exception("模板中的子任务id:【" + id + "】不存在!");
}
int fkcs = byId.getFkcs();
//重点:把该条子任务的接收人账号更新为当前反馈的这个人的用户名
subTask.setJsrzh(username);
subTask.setGxr(trueName);
subTask.setGxrjh(policemanid);
subTask.setGxrdwdm(unitcode);
subTask.setGxrdwmc(unitname);
subTask.setGxsj(new Date());
subTask.setFksj(new Date());//反馈时间就是完成时间
subTask.setFkcs(++fkcs);//反馈次数+1
subTask.setFkbz("1");//反馈标注设置为1
subTask.setFkrdwdm(unitcode);//反馈人单位代码
subTask.setFkrdwmc(unitname);//反馈人单位名称
subTask.setFkrxm(trueName);//反馈人姓名
subTask.setFkrjh(policemanid);//反馈人警号
list.set(i, subTask);//返回正确数据
}
this.subTaskService.updateBatchById(list);
return MapRestResult.build(200, "批量反馈成功!", list.size(), list);
}
/**
* 1、只能一级一级往上退,只有分局退回到市局领导(拥有权限的一些人)才把退回标志为“1”
* 2、如何找到上一级的账号是谁?根据Token的单位代码判断。
* 3、如果当前Token是指挥中心公共账号,直接把退回标志置"1",不用审批。不会改接收人相关信息。(现在后台直接做处理退回)
* 4、例子:拥有下发任务的市局领导下发了任务->各个指挥中心公共账号接收(比如东坑分局指挥中心)->指挥中心公共账号可以流转至下面的公共账号或个人(比如东坑分局指挥中心科技中队)
* 东坑分局指挥中心科技中队退回至东坑分局指挥中心,需要审批,审批通过后,只修改接收人相关信息。不会把退回标志变成“1”。
* 5、已经处于待审批状态则无法重复提交退回审批申请
*
* @param subTaskDto
* @return
*/
@PostMapping("sendBack")
@ApiOperation(value = "子任务退回")
@OperLog(message = "子任务退回", operation = OperationType.ADD)
@Transactional
public MapRestResult sendBack(@RequestBody SubTaskDto subTaskDto) {
//查一下子任务状态,不能重复退回
SubTask byId = this.subTaskService.getById(subTaskDto.getId());
String thbz = byId.getThbz();
if (StringUtils.isNotBlank(thbz) && "1".equals(thbz)) {
return new MapRestResult(201, "子任务已退回过,无法重复退回!", null);
}
//当前登陆人的信息
ServletRequestAttributes requestAttributes =
(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest();
SysUser user = (SysUser) request.getAttribute("user");
String trueName = user.getTrueName();
String policemanid = user.getPolicemanid();
String unitcode = user.getUnitcode();
String unitname = user.getUnitname();
String username = user.getUsername();//用户名
//第一步先看Token里的用户名是不是指挥中心公共账号,如果是,则直接退回不审批(要弄个字典表!还没弄!)
//缺:指挥中心公共账号的一个字典!直接查
//上一级单位的判断:先拿当前的机构代码,去掉后面全部的0,然后再去掉2位,再把0补全到12位,则为直属上级单位代码
//这里先用东坑分局指挥中心做测试,加了字典表后再改
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());//子任务编号
qw.eq("audit_type", "8");//退回审批:8
qw.eq("audit_status", "1");
Approve one = approveService.getOne(qw);
if (one != null) {
return new MapRestResult(201, "已处于待审批状态,不能重复提交审批!", null);
}
Approve approve = new Approve();
String approveNo = KeyUtil.getUUIDKey("A");
approve.setId(approveNo);//审批主表主键
approve.setFlowNo(subTaskDto.getId());//连接专项角色表主键
approve.setAuditType("8");//退回审批:8
approve.setLrr(trueName);
approve.setLrrjh(policemanid);
approve.setLrrdwdm(unitcode);
approve.setLrrdwmc(unitname);
approve.setRksj(new Date());
approve.setTotalPoint(subTaskDto.getTotalPoint());//总审核节点(表明此审核业务的总共审核节点数)
approve.setNowPoint(subTaskDto.getNowPoint());//当前所在审核节点(表明此审核业务当前所处的节点)
approve.setSubtaskId(subTaskDto.getId());//子任务编号
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);//目标接收人账号
approve.setBz(subTaskDto.getThMessage());//退回缘由
//存审批主表信息
approveService.save(approve);
ApproveDetail approveDetail = new ApproveDetail();
String approveDetailNo = KeyUtil.getUUIDKey("AD");
approveDetail.setId(approveDetailNo);//审批明细表主键
approveDetail.setAuditId(approveNo);//连接审批主表主键
approveDetail.setAuditUserId(subTaskDto.getAuditUserId());//由谁审批
approveDetail.setAuditUserName(subTaskDto.getAuditUserName());//审批人名字
approveDetail.setLrr(trueName);
approveDetail.setLrrjh(policemanid);
approveDetail.setLrrdwdm(unitcode);
approveDetail.setLrrdwmc(unitname);
approveDetail.setRksj(new Date());
approveDetail.setNowPoint(subTaskDto.getNowPoint());//当前所在审核节点(表明此审核业务当前所处的节点)
approveDetail.setAuditUserType(subTaskDto.getAuditUserType());//目前为特指某人
approveDetailService.save(approveDetail);
return new MapRestResult();
}
//评价
@PostMapping("evaluation")
@ApiOperation(value = "子任务评价")
@OperLog(message = "子任务评价", operation = OperationType.UPDATE)
public MapRestResult evaluation(@RequestBody SubTaskDto subTaskDto) {
String id = subTaskDto.getId();
SubTask byId = this.subTaskService.getById(id);
if (null == byId) {
return new MapRestResult().error("子任务不存在");
}
if (StringUtils.isNotBlank(byId.getPjbz()) && "1".equals(byId.getPjbz())) {
return new MapRestResult().error("子任务已评价");
}
//已反馈 或 已超时 可以评价
if ("1".equals(byId.getFkbz()) || "1".equals(byId.getCsbz())) {
//当前登陆人的信息
ServletRequestAttributes requestAttributes =
(ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest();
SysUser user = (SysUser) request.getAttribute("user");
String trueName = user.getTrueName();
String policemanid = user.getPolicemanid();
String unitcode = user.getUnitcode();
String unitname = user.getUnitname();
SubTask subTask = new SubTask();
subTask.setId(subTaskDto.getId());//子任务主键编号
subTask.setPjbz("1");//已评价
subTask.setPjdj(subTaskDto.getPjdj());//评价等级 0:不及格 1:及格
subTask.setEvaluation(subTaskDto.getEvaluation());//评语
subTask.setPjsj(new Date());
subTask.setGxr(trueName);
subTask.setGxrjh(policemanid);
subTask.setGxrdwdm(unitcode);
subTask.setGxrdwmc(unitname);
subTask.setGxsj(new Date());
this.subTaskService.updateById(subTask);
return new MapRestResult();
}
return new MapRestResult().error("子任务要处于已反馈或已超时状态才可以评价");
}
public <T> List handelExcel(String fileName, MultipartFile file, Class<T> t) throws Exception {
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
throw new Exception();
}
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
//获取表头列
Row row = sheet.getRow(0);
//表头字段放入titleList中(根据放进去的顺序做反射!)
List<String> titleList = new ArrayList<String>();
//直接把反馈模板第一列的id的字段名加到List 很关键!
titleList.add("id");
//这里前端直接按顺序把表头字段名传过来,再存到titleList里面
for (int i = 0; i < row.getLastCellNum(); i++) {
//查列表,把列名对应的字段名查出来
QueryWrapper<Column> qw = new QueryWrapper<>();
qw.eq("field_name", row.getCell(i).getStringCellValue());//只查询有效的
qw.eq("xxsc_pdbz", "0");//只查询有效的
Column one = this.columnService.getOne(qw);
if (one != null) {
titleList.add(one.getEntityName());
}
}
//获得该类的所有属性
Field[] fields = t.getDeclaredFields();
List<T> list = new ArrayList<T>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
T tIns = t.newInstance();
boolean nullrow = false;
for (Field field : fields) {
PropertyDescriptor pd = new PropertyDescriptor(field.getName(), t);
int num = titleList.indexOf(field.getName());
if (num != -1) {
//获得set方法
Method method = pd.getWriteMethod();
System.out.println(num);//第几个字段索引
System.out.println(r);//第几行
Row nowrow = sheet.getRow(r);//行
if (nowrow != null) {
Cell cell = nowrow.getCell(num);
if (cell != null) {
cell.setCellType(CellType.STRING);
method.invoke(tIns, cell.getStringCellValue());
} else {
method.invoke(tIns, "");
}
} else {
nullrow = true;
break;
}
}
}
if (nullrow == true) {
break;
}
list.add(tIns);
}
return list;
}
}
......@@ -211,7 +211,7 @@ public class XcrwController extends ApiController {
qw1.eq("XCRWBH", id);
qw1.eq("XXSC_PDBZ", "0");
qw1.eq("FILE_TYPE", "1");
// queryWrapper.select(XcrwFile.class, info -> !info.getColumn().equals("FILE_CONTENT"));
qw1.select(XcrwFile.class, info -> !info.getColumn().equals("file_content"));
List<XcrwFile> sqdList = xcrwFileService.list(qw1);
//2.协查任务反馈单
......@@ -219,6 +219,8 @@ public class XcrwController extends ApiController {
qw2.eq("XCRWBH", id);
qw2.eq("XXSC_PDBZ", "0");
qw2.eq("FILE_TYPE", "2");
qw2.select(XcrwFile.class, info -> !info.getColumn().equals("file_content"));
List<XcrwFile> fkdList = xcrwFileService.list(qw2);
Xcrw xcrw = records.get(i);
xcrw.setXcrwSqd(sqdList);
......@@ -241,6 +243,7 @@ public class XcrwController extends ApiController {
@OperLog(message = "协查结果反馈", operation = OperationType.UPDATE)
@Transactional
public MapRestResult feedback(XcrwDto xcrwDto) {
String xcrwbh = xcrwDto.getXcrwbh();
Xcrw xcrw = this.xcrwService.getById(xcrwbh);
if (null == xcrw) {
......@@ -255,7 +258,16 @@ public class XcrwController extends ApiController {
return new MapRestResult().error("协查任务已退回");
}
BeanUtil.copyProperties(xcrwDto, xcrw);
//重点:把该条子任务的接收人账号更新为当前反馈的这个人的用户名
xcrw.setXcrwjsrzh(xcrwDto.getUsername());//用户名
xcrw.setXcrwfkrxm(xcrwDto.getTrueName());//姓名
xcrw.setXcrwfkrjh(xcrwDto.getPolicemanid());//姓名
xcrw.setXcrwfkrdwdm(xcrwDto.getUnitcode());//单位代码
xcrw.setXcrwfkrdwmc(xcrwDto.getUnitname());//单位名称
xcrw.setXcrwjssj(new Date());//协查任务反馈后就结束了
xcrw.setXcrwFkzt("1");//设置协查任务反馈判断标志为1,代表已反馈
//更新协查任务信息
......
......@@ -255,7 +255,7 @@ public class ZczxController extends ApiController {
approveDetail.setId(approveDetailNo);//审批明细表主键
approveDetail.setAuditId(approveNo);//连接审批主表主键
approveDetail.setAuditUserId(approveDto.getAuditUserId());//由谁审批
approveDetail.setAuditUserName(trueName);//审批人
approveDetail.setAuditUserName(approveDto.getAuditUserName());//审批人名字
approveDetail.setLrr(trueName);
approveDetail.setLrrjh(policemanid);
approveDetail.setLrrdwdm(unitcode);
......
......@@ -35,6 +35,9 @@
wa.zxmc,
wa.xcrwbh,
wa.xcrwmc,
wa.subtask_id,
wa.target_jsrzh,
wa.bz,
ad.audit_user_id,
ad.audit_time,
ad.audit_opinion,
......
......@@ -97,7 +97,15 @@
s.yjbz,
s.thbz,
s.evaluation,
s.fkcs,
s.fksj,
s.thsj,
s.yjsj,
s.pjsj,
s.pjbz,
s.pjdj,
s.main_id,
s.th_message,
m.task_name,
m.task_type,
m.task_content
......
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