Commit 7fa7cfc3 by hzc

测试数据项申请功能

parent e8c5bc52
package com.keymobile.indicators.api.hytobacco;
import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.ConfigInfo;
import com.keymobile.indicators.model.entity.indicators.*;
import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.service.ConfigInfoService;
import com.keymobile.indicators.service.hytobacco.*;
import com.keymobile.indicators.utils.LogManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
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 javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Api(tags={"规则管理-指标定义接口"})
@RestController
@RequestMapping(value = "/indDefAudit")
public class IndicatorsDefAuditCtrl {
@Autowired
private IndicatorsDefAuditService indicatorsDefAuditService;
@ApiOperation(value = "保存申请", notes = "保存申请")
@PostMapping(value = "/add")
public Result add(@RequestBody BaseIndDefAudit baseIndDefAudit){
return indicatorsDefAuditService.addAplay(baseIndDefAudit);
}
@ApiOperation(value = "按条件查询")
@PostMapping("/findPage")
public Page<BaseIndDefAudit> findPage(@RequestBody BaseIndDefAuditParams baseIndDefAuditParams){
PageRequest request = PageRequest.of(baseIndDefAuditParams.getPage(), baseIndDefAuditParams.getSize());
long offset = request.getOffset();
baseIndDefAuditParams.setOffset(offset);
long count = indicatorsDefAuditService.findCount(baseIndDefAuditParams);
List<BaseIndDefAudit> baseIndDefAudits = new ArrayList<>();
if(count>0){
baseIndDefAudits = indicatorsDefAuditService.findPageData(baseIndDefAuditParams);
}
return new PageImpl<>(baseIndDefAudits,request,count);
}
@ApiOperation(value="修改数据")
@PostMapping("/update")
public Result update(@RequestBody BaseIndDefAudit baseIndDefAudit){
return indicatorsDefAuditService.updateData(baseIndDefAudit);
}
@ApiOperation(value="审核数据")
@GetMapping("/audit")
public Result auditData(@RequestParam String indId,@RequestParam Integer status,@RequestParam String msg){
return indicatorsDefAuditService.auditData(indId,status,msg);
}
}
package com.keymobile.indicators.model.entity.indicators;
import lombok.Data;
import java.util.List;
/**
* TODO
* 查询基础数据审核数据参数
* @author hzc
* @version 1.0
* @date 2021/2/25
*/
@Data
public class BaseIndDefAuditParams {
private Integer page;
private Integer size;
private Long offset;
private String userId;
private List<Integer> statusArr;
}
package com.keymobile.indicators.model.mapper.indmapper;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefAudit;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefAuditParams;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper;
import java.util.List;
/**
* TODO
*
* @author hzc
* @version 1.0
* @date 2021/2/25
*/
@Mapper
public interface IndicatorsDefAuditMapper extends BaseMapper<BaseIndDefAudit> {
long findCount(BaseIndDefAuditParams baseIndDefAuditParams);
List<BaseIndDefAudit> findPageData(BaseIndDefAuditParams baseIndDefAuditParams);
/**
* 根据节点id和基础数据名称查询,过滤掉驳回状态的数据 ---判重
* @Param [catalogId, indName]
* @Date 2021/2/25 14:23
* @Author hzc
**/
List<BaseIndDefAudit> selectByCatalogIdAndIndName(@Param("catalogId") Integer catalogId, @Param("indName") String indName);
}
......@@ -496,6 +496,12 @@ public class IndScorecardService {
} catch (Exception e) {
logger.error("计算指标积分综合评价的公式积分错误:formula:"+formula+";env:"+env);
}
}else{
try {
value = (Double)AviatorEvaluator.execute(formula);
} catch (Exception e) {
logger.error("计算指标积分综合评价的公式积分错误:formula:"+formula);
}
}
return value;
}
......@@ -569,7 +575,7 @@ public class IndScorecardService {
fValue=value;
}
}
env.remove("X");
env.remove("X");
}
return fValue;
}
......
package com.keymobile.indicators.service.hytobacco;
import com.keymobile.indicators.model.entity.indicators.BaseIndDef;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefAudit;
import com.keymobile.indicators.model.entity.indicators.BaseIndDefAuditParams;
import com.keymobile.indicators.model.mapper.indicators.BaseIndDefMapper;
import com.keymobile.indicators.model.mapper.indmapper.IndicatorsDefAuditMapper;
import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.utils.CalculateUtils;
import com.keymobile.indicators.utils.SystemUserUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* TODO
* 基础数据审核
* @author hzc
* @version 1.0
* @date 2021/2/25
*/
@Slf4j
@Service
public class IndicatorsDefAuditService {
@Autowired
private IndicatorsDefAuditMapper indicatorsDefAuditMapper;
@Autowired
private BaseIndDefMapper baseIndDefMapper;
public Result addAplay(BaseIndDefAudit baseIndDefAudit) {
List<BaseIndDef> baseIndDefs = baseIndDefMapper.selectByCatalogIdAndIndName(baseIndDefAudit.getCatalogId(), baseIndDefAudit.getIndName());
if(baseIndDefs!=null&&baseIndDefs.size()>0){
return Result.genFailedResult("数据项名称已存在,操作失败!!");
}else{
List<BaseIndDefAudit> baseIndDefAudits = indicatorsDefAuditMapper.selectByCatalogIdAndIndName(baseIndDefAudit.getCatalogId(), baseIndDefAudit.getIndName());
if(baseIndDefAudits!=null&&baseIndDefAudits.size()>0){
return Result.genFailedResult("数据项名称已存在,操作失败!!");
}
}
//判断公式合法性
if(StringUtils.isNotBlank(baseIndDefAudit.getIndFormat()) &&
!CalculateUtils.isValidformula(baseIndDefAudit.getIndFormat())) {
return Result.genFailedResult("公式校验不合法");
}
if(StringUtils.isBlank(baseIndDefAudit.getIndId())) {
return Result.genFailedResult("数据项编号不能为空");
}
BaseIndDef dbBaseIndDef = baseIndDefMapper.selectByPrimaryKey(baseIndDefAudit.getIndId());
if(dbBaseIndDef!=null) {
return Result.genFailedResult("数据项编号已存在,操作失败");
}
Date date = new Date();
String currentUser = SystemUserUtil.getCurrentUser();
baseIndDefAudit.setCreateTime(date);
baseIndDefAudit.setUpdateTime(date);
baseIndDefAudit.setUpdater(currentUser);
baseIndDefAudit.setCreater(currentUser);
indicatorsDefAuditMapper.insert(baseIndDefAudit);
log.info("{}提交了申请,{}",currentUser,baseIndDefAudit);
return Result.genOkResult();
}
/**
* 查询总数
* @Param [baseIndDefAuditParams]
* @Date 2021/2/25 13:59
* @Author hzc
**/
public long findCount(BaseIndDefAuditParams baseIndDefAuditParams) {
return indicatorsDefAuditMapper.findCount(baseIndDefAuditParams);
}
public List<BaseIndDefAudit> findPageData(BaseIndDefAuditParams baseIndDefAuditParams) {
return indicatorsDefAuditMapper.findPageData(baseIndDefAuditParams);
}
public Result updateData(BaseIndDefAudit baseIndDefAudit) {
Date date = new Date();
String currentUser = SystemUserUtil.getCurrentUser();
baseIndDefAudit.setUpdateTime(date);
baseIndDefAudit.setUpdater(currentUser);
indicatorsDefAuditMapper.updateByPrimaryKeySelective(baseIndDefAudit);
return Result.genOkResult();
}
//审核数据---当审核通过时录入结果表
public Result auditData(String indId, Integer status, String msg) {
BaseIndDefAudit baseIndDefAudit = new BaseIndDefAudit();
Date date = new Date();
String currentUser = SystemUserUtil.getCurrentUser();
baseIndDefAudit.setUpdateTime(date);
baseIndDefAudit.setUpdater(currentUser);
baseIndDefAudit.setIndId(indId);
baseIndDefAudit.setStatus(status);
indicatorsDefAuditMapper.updateByPrimaryKeySelective(baseIndDefAudit);
if(status==3){
//通过
BaseIndDefAudit baseIndDefAudit1 = indicatorsDefAuditMapper.selectByPrimaryKey(indId);
BaseIndDef baseIndDef = new BaseIndDef();
BeanUtils.copyProperties(baseIndDefAudit1,baseIndDef);
baseIndDef.setVersion("1.0");
baseIndDefMapper.insert(baseIndDef);
}
return Result.genOkResult();
}
}
......@@ -29,6 +29,7 @@ public class CalculateUtils {
try {
tmp = AviatorEvaluator.execute(formula);
result = String.format("%.8f", new BigDecimal((Double)tmp));
log.info("基础数据公式:{},结果:{}",formula,result);
}catch (Exception e){
e.printStackTrace();
log.info("公式运算出错:数据确认-公式:{},结果:{},截取八位:{}",formula,tmp,result);
......
<?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.indmapper.IndicatorsDefAuditMapper">
<sql id="whereSql">
where 1=1
<if test="userId!=null and userId!=''">
user_id= #{userId}
</if>
<if test="statusArr!=null">
status in (
<foreach collection="statusArr" item="status">
#{status}
</foreach>
)
</if>
</sql>
<select id="findCount" resultType="java.lang.Long" parameterType="com.keymobile.indicators.model.entity.indicators.BaseIndDefAuditParams">
SELECT count(1)
FROM base_ind_def_audit
<include refid="whereSql"></include>
order by status asc ,update_time desc
</select>
<select id="findPageData" resultType="com.keymobile.indicators.model.entity.indicators.BaseIndDefAudit"
parameterType="com.keymobile.indicators.model.entity.indicators.BaseIndDefAuditParams">
select * from base_ind_def_audit
<include refid="whereSql"></include>
order by status asc ,update_time desc
limit #{offset}, #{size}
</select>
<select id="selectByCatalogIdAndIndName" resultType="com.keymobile.indicators.model.entity.indicators.BaseIndDefAudit"
parameterType="com.keymobile.indicators.model.entity.indicators.BaseIndDefAuditParams">
select * from base_ind_def_audit
where status != 4 and ind_name=#{indName} and catalog_id = #{catalogId}
</select>
</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