Commit 9f6ab34c by hzc

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

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