Commit 4f8a85e4 by hzc

Merge branch 'hy-tobacco' of http://132.232.112.242:7090/zhangkb/indicators into hy-tobacco

parents c7f52d1a cb862375
......@@ -70,6 +70,7 @@ public class DataEnterCtrl {
List<JSONObject> orgs = systemAuthService.getOrgByNos(idList);
for (JSONObject jo : orgs) {
AuthModel authModel = new AuthModel();
authModel.setObjType(Constants.OBJ_TYPE_ORG);
authModel.setName(jo.getString("name"));
authModel.setId(jo.getString("no"));
objs.add(authModel);
......@@ -226,7 +227,7 @@ public class DataEnterCtrl {
}
StringBuilder sb = new StringBuilder();
List<TaskIndValue> taskIndValues = new ArrayList<>();
if (template.getCType() == 1) {
if (template.getCtype() == 1) {
// 指标是列值
if (hasSameTerm) {
startRow = 2;
......
......@@ -4,13 +4,16 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.keymobile.indicators.model.entity.dataenter.ExcelIndicator;
import com.keymobile.indicators.model.entity.dataenter.ExcelObj;
import com.keymobile.indicators.model.entity.dataenter.ExcelTemplate;
import com.keymobile.indicators.model.entity.dataenter.Task;
import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.AuthModel;
import com.keymobile.indicators.model.entity.RoleRefUserModel;
import com.keymobile.indicators.model.entity.dataenter.*;
import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.service.SystemAuthService;
import com.keymobile.indicators.service.dataenter.ExcelTemplateService;
import com.keymobile.indicators.service.dataenter.TaskRuleGroupObjService;
import com.keymobile.indicators.service.dataenter.TaskService;
import com.keymobile.indicators.utils.SystemUserUtil;
import io.swagger.annotations.Api;
......@@ -24,10 +27,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Api(tags={"数据填报-填报excel模板管理"})
@RestController
......@@ -41,6 +41,67 @@ public class ExcelTempCtrl {
@Autowired
private TaskService taskService;
@Autowired
private SystemAuthService systemAuthService;
@Autowired
private TaskRuleGroupObjService taskRuleGroupObjService;
@ApiOperation("根据任务id获取需要填报的数据项(配置excel模板用)")
@GetMapping("findTaskDataInds")
public List<TaskIndicator> findTaskDataInds(@ApiParam("任务id")
@RequestParam(value = "taskId") String taskId
) {
return taskService.findTaskInds(taskId, true);
}
@ApiOperation("根据任务id或者填报单位id获取单位明细(配置excel模板用)")
@GetMapping("findTaskObjs")
public List<AuthModel> findTaskObjs(@ApiParam("任务id,(填报单位id和任务id必填一个)")
@RequestParam(value = "taskId", required = false) String taskId,
@ApiParam("单位id,(填报单位id和任务id必填一个)")
@RequestParam(value = "objId", required = false)Integer objId) {
List<AuthModel> list = new ArrayList<>();
TaskRuleGroupObj obj = null;
List<String> objIds = new ArrayList<>();
if (objId == null || objId == 0 ) {
Task task = taskService.getById(taskId, false, false);
objId = task.getGroupId();
}
obj = taskRuleGroupObjService.getById(objId);
int objType = obj.getObjType();
if (obj != null && obj.getDetail() != null) {
objIds = Arrays.asList(StringUtils.split(obj.getDetail(), Constants.SEP_COMMA));
switch (objType) {
case 1:
//组织
List<RoleRefUserModel> users = new ArrayList<>();
List<JSONObject> orgs =
systemAuthService.getOrgByNos(objIds);
for (JSONObject jo : orgs) {
AuthModel authModel = new AuthModel();
authModel.setObjType(Constants.OBJ_TYPE_ORG);
authModel.setName(jo.getString("name"));
authModel.setId(jo.getString("no"));
list.add(authModel);
}
break;
case 2:
//人员
break;
case 3:
//角色
break;
default:
break;
}
}
return list;
}
@ApiOperation("根据规则id任务id获取excel模板")
@GetMapping("findByTaskRule")
public List<ExcelTemplate> findByTaskRule(@ApiParam(name = "ruleId", required = false) @RequestParam("ruleId")Integer ruleId,
......@@ -66,12 +127,12 @@ public class ExcelTempCtrl {
@ApiOperation("保存excel模板")
@PostMapping("save")
public Result save(@RequestBody ExcelTemplate template) {
if (StringUtils.isNotBlank(template.getTaskId())) {
ExcelTemplate temp = excelTemplateService.getByTaskId(template.getTaskId());
if (temp != null && !temp.getId().equals(template.getId())) {
return Result.genFailedResult("该任务已经存在设置好的模板!");
}
}
// if (StringUtils.isNotBlank(template.getTaskId())) {
// ExcelTemplate temp = excelTemplateService.getByTaskId(template.getTaskId());
// if (temp != null && !temp.getId().equals(template.getId())) {
// return Result.genFailedResult("该任务已经存在设置好的模板!");
// }
// }
Task task = taskService.getById(template.getTaskId(), false, false);
template.setRuleId(task.getRuleId());
template.setRuleLevel(task.getRuleLevel());
......@@ -116,7 +177,7 @@ public class ExcelTempCtrl {
}
List<OnceAbsoluteMergeStrategy> merges = new ArrayList<>();
List<List<String>> headers = new ArrayList<>();
if (template.getCType() == 1) {
if (template.getCtype() == 1) {
// 列类型:1、指标 2 考核对象
List<String> column1 = new ArrayList<>();
column1.add("");
......
......@@ -13,17 +13,20 @@ public class AuthModel {
private String name;
private int objType;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
AuthModel authModel = (AuthModel) o;
return Objects.equals(id, authModel.id) &&
Objects.equals(name, authModel.name);
AuthModel model = (AuthModel) o;
return objType == model.objType &&
Objects.equals(id, model.id) &&
Objects.equals(name, model.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
return Objects.hash(id, name, objType);
}
}
......@@ -4,6 +4,7 @@ import com.keymobile.indicators.model.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Setter;
import javax.persistence.*;
import java.util.List;
......@@ -26,8 +27,8 @@ public class ExcelTemplate extends BaseModel {
/**
* 列类型
*/
@ApiModelProperty("列类型:1、指标 2 考核对象")
private Integer cType;
@ApiModelProperty("列类型:1、指标 2 考核对象" )
private Integer ctype;
/**
* 是否需要同期值
......
......@@ -29,4 +29,5 @@ public interface TaskIndicatorMapper extends BaseMapper<TaskIndicator> {
* @return
*/
List<TaskIndicator> getByTaskId(String taskId);
}
......@@ -49,6 +49,14 @@ public interface TaskService {
*/
Task getById(String taskId, boolean needTaskInd, boolean needRuleInd);
/**
* 根据任务id查找关联的数据项
* @param taskId
* @param onlyChild 是否只取子数据项
* @return
*/
List<TaskIndicator> findTaskInds(String taskId, boolean onlyChild);
/**
* 根据规则id和取数时间删除任务(物理删除)
......
......@@ -50,6 +50,7 @@ public class ExcelTemplateServiceImpl implements ExcelTemplateService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void createTemplateFromOld(Integer templateId, String taskId, String userId) {
Date now = new Date();
......
......@@ -143,6 +143,22 @@ public class TaskServiceImpl implements TaskService {
}
@Override
public List<TaskIndicator> findTaskInds(String taskId, boolean onlyChild) {
List<TaskIndicator> list = taskIndicatorMapper.getByTaskId(taskId);
List<TaskIndicator> result = new ArrayList<>();
if (onlyChild) {
for (TaskIndicator ind : list) {
if (ind.getHasChildren() != null && !ind.getHasChildren()) {
result.add(ind);
}
}
} else {
result = list;
}
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteByRuleIdAndValueTime(Integer ruleId, String valueTime) {
taskMapper.deleteByRuleIdAndValueTime(ruleId, valueTime);
......@@ -426,6 +442,7 @@ public class TaskServiceImpl implements TaskService {
List<JSONObject> list = systemAuthService.getOrgByNos(ids);
for (JSONObject jo : list) {
AuthModel model = new AuthModel();
model.setObjType(Constants.OBJ_TYPE_ORG);
model.setId(jo.getString("no"));
model.setName(jo.getString("name"));
models.add(model);
......
......@@ -12,6 +12,7 @@
select *
from data_enter_excel_temp
where state = 1 and task_id = #{taskId}
order by update_time desc
limit 1
</select>
......
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