Commit 9ddbd2a0 by 张祺

增加下发对象配置管理功能接口

parent e36da3f0
package com.keymobile.indicators.api.hytobacco;
import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleGroupObj;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleTargetRoles;
import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.service.dataenter.TaskRuleGroupObjService;
import com.keymobile.indicators.service.dataenter.TaskRuleService;
import com.keymobile.indicators.utils.SystemUserUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Api(tags = {"数据填报-下发对象和审批对象配置管理"})
@RestController
@RequestMapping(value = "/taskRuleTargetRoles")
@Slf4j
public class TaskRuleTargetRolesCtrl {
@Autowired
private TaskRuleService taskRuleService;
@ApiOperation("保存下发对象、审批对象配置")
@PostMapping("save")
public Result save(@RequestBody TaskRuleTargetRoles obj) {
taskRuleService.saveTargetRole(obj);
return Result.genOkResult();
}
@ApiOperation("根据当前组织下发对象、审批对象配置,没有则空,重新配置下")
@GetMapping("getByOrgNo")
public TaskRuleTargetRoles getByOrgNo(@RequestParam("orgNo") String orgNo) {
return taskRuleService.getByOrgNo(orgNo);
}
}
package com.keymobile.indicators.model.entity.dataenter;
import com.keymobile.indicators.model.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
@Data
@Table(name="data_enter_target_roles")
@ApiModel("任务规则下发目标对象定义")
public class TaskRuleTargetRoles extends BaseModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
/**
* 任务规则所属类型:1、省 2、市 3、县
*/
@ApiModelProperty(value = "任务规则类型", required = true)
private Integer ruleType;
/**
* 所属组织机构
*/
@ApiModelProperty("所属组织机构")
private String orgNo;
/**
* 任务级别,根据ruleType从配置项获取
*/
@ApiModelProperty("任务级别,根据ruleType从配置项获取")
private String ruleLevel;
/**
* 填报角色id,多个用,分割
*/
@ApiModelProperty(value = "填报对象,多个用,分割", required = true)
private String enterRoleIds;
/**
* 填报角色名称,多个用,分割
*/
@ApiModelProperty("填报对象,多个用,分割")
@Transient
private String enterRoleNames;
/**
* 审批角色对象id,多个用,分割
*/
@ApiModelProperty(value = "审批角色对象,多个用,分割", required = true)
private String auditRoleIds;
/**
* 审批角色名称,多个用,分割
*/
@ApiModelProperty("审批角色对象,多个用,分割")
@Transient
private String auditRoleNames;
}
package com.keymobile.indicators.model.mapper.indicators;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleTargetRoles;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper;
@Mapper
public interface TaskRuleTargetRolesMapper extends BaseMapper<TaskRuleTargetRoles> {
/**
* 根据组织机构获取
* @param orgNo
* @return
*/
TaskRuleTargetRoles getByOrgNo(@Param("orgNo") String orgNo);
/**
* 删除组织机构(逻辑删除)
* @param orgNo
*/
void deleteByOrgNo(@Param("orgNo") String orgNo);
}
...@@ -2,6 +2,7 @@ package com.keymobile.indicators.service.dataenter; ...@@ -2,6 +2,7 @@ package com.keymobile.indicators.service.dataenter;
import com.keymobile.indicators.model.entity.dataenter.TaskRule; import com.keymobile.indicators.model.entity.dataenter.TaskRule;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleGroupObj; import com.keymobile.indicators.model.entity.dataenter.TaskRuleGroupObj;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleTargetRoles;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import java.util.List; import java.util.List;
...@@ -72,4 +73,18 @@ public interface TaskRuleService { ...@@ -72,4 +73,18 @@ public interface TaskRuleService {
*/ */
List<TaskRuleGroupObj> findRuleGroupObj(Integer ruleType,String ruleLevel, String orgNo); List<TaskRuleGroupObj> findRuleGroupObj(Integer ruleType,String ruleLevel, String orgNo);
/**
* 保存下发对象配置
* @param ruleTargetRoles
*/
void saveTargetRole(TaskRuleTargetRoles ruleTargetRoles);
/**
* 根据组织机构编号获取
* @param orgNo
* @return
*/
TaskRuleTargetRoles getByOrgNo(String orgNo);
} }
package com.keymobile.indicators.service.dataenter.impl; package com.keymobile.indicators.service.dataenter.impl;
import com.alibaba.fastjson.JSONObject;
import com.keymobile.indicators.constant.Constants; import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.RoleModel;
import com.keymobile.indicators.model.entity.dataenter.TaskRule; import com.keymobile.indicators.model.entity.dataenter.TaskRule;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleGroupObj; import com.keymobile.indicators.model.entity.dataenter.TaskRuleGroupObj;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleIndicator; import com.keymobile.indicators.model.entity.dataenter.TaskRuleIndicator;
import com.keymobile.indicators.model.entity.dataenter.TaskRuleTargetRoles;
import com.keymobile.indicators.model.mapper.indicators.TaskRuleIndicatorMapper; import com.keymobile.indicators.model.mapper.indicators.TaskRuleIndicatorMapper;
import com.keymobile.indicators.model.mapper.indicators.TaskRuleMapper; import com.keymobile.indicators.model.mapper.indicators.TaskRuleMapper;
import com.keymobile.indicators.model.mapper.indicators.TaskRuleObjMapper; import com.keymobile.indicators.model.mapper.indicators.TaskRuleObjMapper;
import com.keymobile.indicators.model.mapper.indicators.TaskRuleTargetRolesMapper;
import com.keymobile.indicators.service.SystemAuthService;
import com.keymobile.indicators.service.dataenter.TaskRuleService; import com.keymobile.indicators.service.dataenter.TaskRuleService;
import com.keymobile.indicators.service.dataenter.TaskService; import com.keymobile.indicators.service.dataenter.TaskService;
import com.keymobile.indicators.utils.SystemUserUtil; import com.keymobile.indicators.utils.SystemUserUtil;
...@@ -22,6 +27,8 @@ import org.springframework.stereotype.Service; ...@@ -22,6 +27,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
...@@ -36,6 +43,12 @@ public class TaskRuleServiceImpl implements TaskRuleService { ...@@ -36,6 +43,12 @@ public class TaskRuleServiceImpl implements TaskRuleService {
@Autowired @Autowired
private TaskRuleObjMapper taskRuleObjMapper; private TaskRuleObjMapper taskRuleObjMapper;
@Autowired
private TaskRuleTargetRolesMapper taskRuleTargetRolesMapper;
@Autowired
private SystemAuthService systemAuthService;
@Override @Override
public void delete(Integer ruleId) { public void delete(Integer ruleId) {
taskRuleMapper.deleteById(ruleId); taskRuleMapper.deleteById(ruleId);
...@@ -122,5 +135,66 @@ public class TaskRuleServiceImpl implements TaskRuleService { ...@@ -122,5 +135,66 @@ public class TaskRuleServiceImpl implements TaskRuleService {
return taskRuleObjMapper.findAllByRuleType(ruleType, ruleLevel, orgNo); return taskRuleObjMapper.findAllByRuleType(ruleType, ruleLevel, orgNo);
} }
@Override
public void saveTargetRole(TaskRuleTargetRoles ruleTargetRoles) {
String user = SystemUserUtil.getCurrentUser();
Date now = new Date();
ruleTargetRoles.setState(Constants.DATA_STATE_A);
ruleTargetRoles.setUpdater(user);
ruleTargetRoles.setUpdateTime(now);
if (ruleTargetRoles.getId() == null || ruleTargetRoles.getId() == 0) {
ruleTargetRoles.setCreateTime(now);
ruleTargetRoles.setCreator(user);
taskRuleTargetRolesMapper.insert(ruleTargetRoles);
} else {
taskRuleTargetRolesMapper.updateByPrimaryKey(ruleTargetRoles);
}
}
@Override
public TaskRuleTargetRoles getByOrgNo(String orgNo) {
TaskRuleTargetRoles targetRoles =
taskRuleTargetRolesMapper.getByOrgNo(orgNo);
if (targetRoles != null) {
String auditIds = targetRoles.getAuditRoleIds();
String enterIds = targetRoles.getEnterRoleIds();
List<String> aids = Arrays.asList(StringUtils.split(auditIds, Constants.SEP_COMMA));
List<String> eids = Arrays.asList(StringUtils.split(enterIds, Constants.SEP_COMMA));
List<String> ids = new ArrayList<>();
ids.addAll(aids);
ids.addAll(eids);
if (ids.size() > 0) {
List<JSONObject> roles = systemAuthService.getRolesByIds(ids);
if (CollectionUtils.isNotEmpty(roles)) {
targetRoles.setAuditRoleNames(toGetRoleNames(roles, aids));
targetRoles.setEnterRoleIds(toGetRoleNames(roles, eids));
}
}
}
return targetRoles;
}
/**
* 获取对应的角色名称
* @param roles
* @param eids
* @return
*/
private String toGetRoleNames(List<JSONObject> roles, List<String> eids) {
StringBuilder sb2 = new StringBuilder();
for (int i = 0; i < eids.size(); i++) {
String id = eids.get(i);
for (JSONObject jo : roles) {
if (StringUtils.equals(id, jo.getString("id"))) {
sb2.append(jo.getString("disname"));
if (i != eids.size() - 1) {
sb2.append(Constants.SEP_COMMA);
}
}
}
}
return sb2.toString();
}
} }
<?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="com.keymobile.indicators.model.mapper.indicators.TaskRuleTargetRolesMapper">
<select id="getByOrgNo" parameterType="java.lang.String" resultType="com.keymobile.indicators.model.entity.dataenter.TaskRuleTargetRoles" >
select *
from data_enter_target_roles
where org_no = #{orgNo} and state = 1
order by update_time desc
limit 1
</select>
<update id="deleteByOrgNo" parameterType="java.lang.String">
update data_enter_target_roles
set state = 3
where org_no = #{orgNo}
</update>
</mapper>
\ No newline at end of file
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