Commit 9f6ab34c by hzc

短板管理,驳回时相当于重新下发(短板值,下发原因支持历史记录)

parent c3f8a9a5
package com.keymobile.indicators.api.hytobacco;
import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.shortboard.ShortBoardAuditRecord;
import com.keymobile.indicators.model.entity.shortboard.ShortBoardTask;
import com.keymobile.indicators.model.entity.shortboard.ShortboardAnalysisValue;
import com.keymobile.indicators.model.entity.shortboard.ShortboardParam;
import com.keymobile.indicators.model.entity.shortboard.*;
import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.service.hytobacco.ShortboardTaskService;
import com.keymobile.indicators.utils.LogManager;
......@@ -45,10 +42,16 @@ public class ShortboardTaskCtrl {
PageRequest request= PageRequest.of(shortboardParam.getPage()-1,shortboardParam.getSize());
shortboardParam.setOffset(request.getOffset());
List<ShortBoardTask> lists = new ArrayList<>();
//要主键id,,前端只是给了个用户登陆的名称,不是主键id
if(StringUtils.isNotBlank(shortboardParam.getUserId())){
//userId不为空
String currentUserId = SystemUserUtil.getCurrentUserId();
shortboardParam.setUserId(currentUserId);
//在单位编码为空--且--部门有权限的情况下查找部门数据
if(StringUtils.isBlank(shortboardParam.getCreateUserCode())&&StringUtils.isNotBlank(shortboardParam.getCreateUserDeptCode())){
//如果有就or查询机构编码---和下发人同个部门都可以查看
shortboardParam.setCreateUserDeptCode(SystemUserUtil.getCurrentUserOrgId());
}
}
long count = shortboardTaskService.selectCountByParam(shortboardParam);
if(count>0){
......@@ -63,11 +66,11 @@ public class ShortboardTaskCtrl {
}
@ApiOperation(value = "更新短板状态", notes = "更新短板状态 1是短板清单 2待改善 3以改善 4加入白名单 5不合格")
@GetMapping("updateStatus")
public Result updateStatus(@ApiParam("短板任务id") @RequestParam(name = "taskId") Integer taskId,
@ApiParam("状态值")@RequestParam("status") Integer status,
@ApiParam("意见")@RequestParam( value = "description",required = false) String description){
@PostMapping("updateStatus")
public Result updateStatus(@RequestBody ShortBoardTaskVal shortBoardTaskVal){
Integer status = shortBoardTaskVal.getStatus();
Integer taskId = shortBoardTaskVal.getShortBoardTaskId();
String description = shortBoardTaskVal.getDescription();
String message="修改短板id:{}状态为{},审核意见为:{}";
String statusStr="";
if(status==1){
......@@ -83,9 +86,8 @@ public class ShortboardTaskCtrl {
}else if(status==5) {
statusStr="不合格";
}
LogManager.logInfo(Constants.LOG_INDICATOR_SHORTBOARD_AUDIT_API,message,taskId,statusStr,description);
return shortboardTaskService.updateTaskStatus(taskId,status,description);
return shortboardTaskService.updateTaskStatus(shortBoardTaskVal);
}
@ApiOperation(value = "获取短板状态分析数据", notes = "获取短板状态分析数据")
@PostMapping("analysisStatus")
......
......@@ -93,6 +93,18 @@ public class ShortBoardTask implements Serializable {
@Column(name="create_user_id")
private String createUserId;
/**
* 下发人机构编码
*/
@ApiModelProperty("下发人机构编码")
@Column(name="create_user_code")
private String createUserCode;
/**
* 下发人---部门---机构编码
*/
@ApiModelProperty("下发人---部门---机构编码")
@Column(name="create_user_dept_code")
private String createUserDeptCode;
/**
* 接收人id
*/
@ApiModelProperty("接收人id多个用逗号分隔(id前后都要有逗号,如 ,id,)")
......
......@@ -111,10 +111,45 @@ public class ShortBoardTaskVal implements Serializable {
@Column(name="audit_count")
private Integer auditCount;
//======================审核信息
/**
* 审核短板值
*/
@ApiModelProperty("审核后板值")
@Column(name="value")
private String value;
/**
* 下发原因
*/
@ApiModelProperty("下发原因")
@Column(name = "cause" )
private String cause;
/**
* 下发时间
*/
@ApiModelProperty("下发时间")
@Column(name = "start_time" )
private Date startTime;
/**
* 截止时间
*/
@ApiModelProperty("截止时间")
@Column(name = "end_time" )
private Date endTime;
/**
*提交意见
**/
@Transient
private String description;
/**
*审核意见
**/
@Transient
private Integer status;
}
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
@Data
@ApiModel("短板管理查询条件")
public class ShortboardParam {
......@@ -27,6 +29,11 @@ public class ShortboardParam {
@ApiModelProperty("下发人id")
private String createUserId;
@ApiModelProperty("下发人机构编码")
private String createUserCode;
@ApiModelProperty("下发人---部门---机构编码")
private String createUserDeptCode;
@ApiModelProperty("单位名称-模糊查询")
private String unitName;
......
......@@ -59,19 +59,11 @@ public class ShortboardTaskService {
shortBoardTask.setCreateUserId(SystemUserUtil.getCurrentUserName());
//下发人机构编码--部门
shortBoardTask.setCreateUserDeptCode(SystemUserUtil.getCurrentUserOrgId());
//接收人-主键id
String enterUserId = shortBoardTask.getEnterUserId();
//填报接收人id 多个用逗号分开..|能看的用户如 ,1,2,|,3,4 1和2可以修改查看,3和4只能查看
StringBuilder onlyReadUsers = new StringBuilder("|,");//|后面的用户是只读
//只能查看的用户---|后面
List<JSONObject> orgRoleUsers = systemAuthService.getOrgRoleUser(SystemUserUtil.getCurrentUserName());
for (JSONObject orgRoleUser : orgRoleUsers) {
Integer id = orgRoleUser.getInteger("id");
onlyReadUsers.append(id);
onlyReadUsers.append(",");
}
enterUserId= enterUserId+onlyReadUsers.toString();
enterUserId= enterUserId+SystemUserUtil.getCurrentUserId()+",";//下发人拼接
shortBoardTask.setEnterUserId(enterUserId);
String currentUser = SystemUserUtil.getCurrentUser();
String[] split = currentUser.split(Constants.SEP_COLON);
......@@ -91,6 +83,20 @@ public class ShortboardTaskService {
String message = "下发了短板,短板id:{}短板名:{}";
LogManager.logInfo(Constants.LOG_INDICATOR_SHORTBOARD_RECORD_API,message,shortBoardTask.getId(),shortBoardTask.getShortboardName());
}
//生成一版历史记录---val
ShortBoardTaskVal shortBoardTaskVal = new ShortBoardTaskVal();
shortBoardTaskVal.setShortBoardTaskId(shortBoardTask.getId());
shortBoardTaskVal.setAuditCount(shortBoardTask.getAuditCount());
shortBoardTaskVal.setValue(shortBoardTask.getValue());
shortBoardTaskVal.setCause(shortBoardTask.getCause());
shortBoardTaskVal.setStartTime(shortBoardTask.getStartTime());
shortBoardTaskVal.setEndTime(shortBoardTask.getEndTime());
shortBoardTaskVal.setCreateTime(date);
shortBoardTaskVal.setUpdater(SystemUserUtil.getCurrentUser());
shortBoardTaskVal.setUpdateTime(date);
shortboardTaskValMapper.insert(shortBoardTaskVal);
return Result.genOkResult();
}
......@@ -126,7 +132,7 @@ public class ShortboardTaskService {
}
if(shortBoardTaskVal.getId()!=null&&shortBoardTaskVal.getId()!=0){
//更新
shortboardTaskValMapper.updateByPrimaryKey(shortBoardTaskVal);
shortboardTaskValMapper.updateByPrimaryKeySelective(shortBoardTaskVal);
}else{
shortBoardTaskVal.setCreateTime(date);
......@@ -143,8 +149,8 @@ public class ShortboardTaskService {
// shortboardTask.setStatus(Constants.SHORT_BOARD_START_IMPROVED);
// shortboardTask.setActionRecord("已执行");
// shortboardTaskMapper.updateByPrimaryKeySelective(shortboardTask);
return this.updateTaskStatus(shortBoardTaskVal.getShortBoardTaskId(),Constants.SHORT_BOARD_START_IMPROVED,shortBoardTaskVal.getDescription());
shortBoardTaskVal.setStatus(Constants.SHORT_BOARD_START_IMPROVED);
return this.updateTaskStatus(shortBoardTaskVal);
}
public ShortBoardTaskVal selectShortBoardTaskValByTaskIdId(Integer shortBoardTaskId) {
......@@ -160,15 +166,28 @@ public class ShortboardTaskService {
return shortboardTaskMapper.selectByPrimaryKey(id);
}
public Result updateTaskStatus(Integer taskId, Integer status,String description) {
public Result updateTaskStatus(ShortBoardTaskVal shortBoardTaskVal) {
Date date = new Date();
Integer taskId = shortBoardTaskVal.getShortBoardTaskId();
String description = shortBoardTaskVal.getDescription();
Integer status = shortBoardTaskVal.getStatus();
ShortBoardTask shortBoardTask = shortboardTaskMapper.selectByPrimaryKey(taskId);
shortBoardTask.setUpdateTime(date);
shortBoardTask.setUpdater(SystemUserUtil.getCurrentUser());
shortBoardTask.setStatus(status);
if(status==Constants.SHORT_BOARD_IMPROVED_BELOW){
//不合格是版本号加一
shortBoardTask.setAuditCount(shortBoardTask.getAuditCount()+1);
int auditCount = shortBoardTask.getAuditCount() + 1;
shortBoardTask.setAuditCount(auditCount);
//重新下发的短板值
shortBoardTask.setValue(shortBoardTaskVal.getValue());
//生成一版短板填报历史记录
shortBoardTaskVal.setCreateTime(date);
shortBoardTaskVal.setUpdater(SystemUserUtil.getCurrentUser());
shortBoardTaskVal.setUpdateTime(date);
shortBoardTaskVal.setAuditCount(auditCount);
shortboardTaskValMapper.insert(shortBoardTaskVal);
}
shortboardTaskMapper.updateByPrimaryKeySelective(shortBoardTask);
String message ="把id={}的短板清单状态修改为{} ";
......
......@@ -71,8 +71,21 @@ public class SystemUserUtil {
* @return
*/
public static String getCurrentUserOrgId() {
//TODO 待实现
return "1";
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String userId = "NO_USER";
if (auth != null) {
Object obj = auth.getPrincipal();
if (obj != null) {
if (obj instanceof String) {
userId = obj.toString();
} else {
UserDetails userDetails = (UserDetails) obj;
String userNameWithIdAttached = userDetails.getUsername();
userId = userNameWithIdAttached.split(":")[3];
}
}
}
return userId;
}
/**
......
......@@ -68,10 +68,27 @@
</if>
<if test="userId !=null and userId != ''">
and sbt.enter_user_id like concat('%,',#{userId},',%')
and (
sbt.enter_user_id like concat('%,',#{userId},',%')
<if test="createUserCode !=null and createUserCode != ''">
or sbt.create_user_code = #{createUserCode}
</if>
<if test="createUserDeptCode !=null and createUserDeptCode != ''">
or sbt.create_user_dept_code = #{createUserDeptCode}
</if>
)
</if>
<if test="createUserId !=null and createUserId!=''">
and sbt.create_user_id = #{createUserId}
and
(sbt.create_user_id = #{createUserId}
<if test="createUserCode !=null and createUserCode != ''">
or sbt.create_user_code = #{createUserCode}
</if>
<if test="createUserDeptCode !=null and createUserDeptCode != ''">
or sbt.create_user_dept_code = #{createUserDeptCode}
</if>
)
</if>
<if test="dateInt !=null and dateInt!=0">
......
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