Commit 8183cb92 by Suvalue

根据疾病名称搜索疾病

预算编制汇总数据根据用户科室查询
parent 66b068d4
......@@ -22,5 +22,5 @@ public interface SerProjMapper {
List<ProjectInfo> selectState(@Param("projType") Integer projType,
@Param("typeState") Integer typeState);
List<Summary> selectDept(@Param("date") Integer date,@Param("budgetType") Integer budgetType);
List<Summary> selectDept(@Param("date") Integer date, @Param("budgetType") Integer budgetType, @Param("userId") Long userId);
}
\ No newline at end of file
......@@ -38,39 +38,39 @@ public class SerProjValueServiceImpl implements SerProjValueService {
//查询项目数值
@Override
public Object getValue(Integer projectType,Integer date,String deptCode,Long userId) throws Throwable {
public Object getValue(Integer projectType, Integer date, String deptCode, Long userId) throws Throwable {
List<DicOrg> orgList = dicOrgMapper.selectByUser(userId);
String orgCode = orgList != null && orgList.size() > 0 ? orgList.get(0).getOrgCode() : null;
List<ProjectValue> result = new ArrayList<>();
List<Map<String,Object>> enumList = TypeState.all();
if(enumList != null && enumList.size() > 0){
List<Map<String, Object>> enumList = TypeState.all();
if (enumList != null && enumList.size() > 0) {
ProjectValue projectValue = null;
List<ProjectInfo> projectInfo = null;
List<SerProjValueResp> values = null;
List<SerProjValueResp> resultValues = null;
SerProjValueSz valueSz = null;
for(Map<String,Object> enumInfo : enumList){
for (Map<String, Object> enumInfo : enumList) {
projectValue = new ProjectValue();
projectValue.setTypeId((Integer)enumInfo.get("value"));
projectValue.setTypeId((Integer) enumInfo.get("value"));
projectInfo = new ArrayList<>();
projectInfo = serProjMapper.selectState(projectType,(Integer)enumInfo.get("value"));
if(projectInfo != null && projectInfo.size() > 0){
for(ProjectInfo projInfo : projectInfo){
values = serProjValueMapper.selectValue(projectType,(Integer)enumInfo.get("value"),
projInfo.getExponentId(),deptCode,date,BudgetType.NOT.getValue(),orgCode);
if(values != null && values.size() > 0){
for(SerProjValueResp value : values){
valueSz = projValueSzMapper.selectByProj(value.getProjId(),date,deptCode,orgCode);
if(valueSz != null){
projectInfo = serProjMapper.selectState(projectType, (Integer) enumInfo.get("value"));
if (projectInfo != null && projectInfo.size() > 0) {
for (ProjectInfo projInfo : projectInfo) {
values = serProjValueMapper.selectValue(projectType, (Integer) enumInfo.get("value"),
projInfo.getExponentId(), deptCode, date, BudgetType.NOT.getValue(), orgCode);
if (values != null && values.size() > 0) {
for (SerProjValueResp value : values) {
valueSz = projValueSzMapper.selectByProj(value.getProjId(), date, deptCode, orgCode);
if (valueSz != null) {
value.setSz(valueSz.getSz());
value.setZxpl(valueSz.getZxpl());
valueSz = null;
}
}
}
resultValues = getLevelData(values,BigDecimal.valueOf(PROJ_TOP_PARENT_ID));
if(resultValues != null && resultValues.size() > 0)
resultValues = getLevelData(values, BigDecimal.valueOf(PROJ_TOP_PARENT_ID));
if (resultValues != null && resultValues.size() > 0)
projInfo.setProjectValues(resultValues);
}
}
......@@ -83,19 +83,19 @@ public class SerProjValueServiceImpl implements SerProjValueService {
@Override
@Transactional(rollbackFor = Exception.class)
public boolean save(Long userId,AddBudgetValue request) {
public boolean save(Long userId, AddBudgetValue request) {
int result = 0;
List<DicOrg> orgList = dicOrgMapper.selectByUser(userId);
String orgCode = orgList.get(0).getOrgCode();
if(request != null && request.getBudgetValues() != null && request.getBudgetValues().size() > 0){
if (request != null && request.getBudgetValues() != null && request.getBudgetValues().size() > 0) {
//先将记录插入历史表
result = serProjValueMapper.insertToHistory(request.getDeptCode(),request.getDate(),request.getProjType(),orgCode);
result = serProjValueMapper.insertToHistory(request.getDeptCode(), request.getDate(), request.getProjType(), orgCode);
//先进行删除操作
result = serProjValueMapper.deleteByDeptWithDate(request.getDeptCode(),request.getDate(),request.getProjType(),orgCode);
result = serProjValueMapper.deleteByDeptWithDate(request.getDeptCode(), request.getDate(), request.getProjType(), orgCode);
SerProjValue info = null;
long version = System.currentTimeMillis();
for(BudgetValue budgetValue : request.getBudgetValues()){
if(budgetValue.getProjId() != null){
for (BudgetValue budgetValue : request.getBudgetValues()) {
if (budgetValue.getProjId() != null) {
info = new SerProjValue(budgetValue);
info.setDate(request.getDate());
info.setDeptCode(request.getDeptCode());
......@@ -107,35 +107,35 @@ public class SerProjValueServiceImpl implements SerProjValueService {
}
}
//调用计算数值存储过程
serProjValueMapper.updateValue(request.getDate(),orgCode);
serProjValueMapper.updateValue(request.getDate(), orgCode);
}
return result > 0;
}
@Override
public Object getSummary(Integer date,Integer budgetType,Long userId) {
public Object getSummary(Integer date, Integer budgetType, Long userId) {
List<DicOrg> orgList = dicOrgMapper.selectByUser(userId);
String orgCode = orgList.get(0).getOrgCode();
List<Summary> result = serProjMapper.selectDept(date,budgetType);
if(result != null && result.size() > 0){
for(Summary summary : result){
List<Summary> result = serProjMapper.selectDept(date, budgetType, userId);
if (result != null && result.size() > 0) {
for (Summary summary : result) {
summary.setProjTypeList(new ArrayList<>());
List<Map<String,Object>> enumList = ProjectType.all();
List<Map<String, Object>> enumList = ProjectType.all();
SummaryProjType projType = null;
List<ProjectInfo> projectInfo = null;
SerProjValueSz valueSz = null;
List<SerProjValueResp> values = null;
if(enumList != null && enumList.size() > 0){
for(Map<String,Object> enumInfo : enumList){
if (enumList != null && enumList.size() > 0) {
for (Map<String, Object> enumInfo : enumList) {
projType = new SummaryProjType();
projType.setProjTypeName(String.valueOf(enumInfo.get("description")));
values = serProjValueMapper.selectValue((Integer)enumInfo.get("value"),null,
null,summary.getDeptCode(),date,budgetType,orgCode);
if(values != null && values.size() > 0){
for(SerProjValueResp value : values){
valueSz = projValueSzMapper.selectByProj(value.getProjId(),date,summary.getDeptCode(),orgCode);
if(valueSz != null){
values = serProjValueMapper.selectValue((Integer) enumInfo.get("value"), null,
null, summary.getDeptCode(), date, budgetType, orgCode);
if (values != null && values.size() > 0) {
for (SerProjValueResp value : values) {
valueSz = projValueSzMapper.selectByProj(value.getProjId(), date, summary.getDeptCode(), orgCode);
if (valueSz != null) {
value.setSz(valueSz.getSz());
value.setZxpl(valueSz.getZxpl());
valueSz = null;
......@@ -145,7 +145,7 @@ public class SerProjValueServiceImpl implements SerProjValueService {
}
summary.getProjTypeList().add(projType);
}
}else{
} else {
summary.setProjTypeList(null);
}
}
......@@ -154,11 +154,11 @@ public class SerProjValueServiceImpl implements SerProjValueService {
}
@Override
public Object getData(Integer date,Integer page) {
List<SummaryNew> result = pageProjValueMapper.selectDept(date,page);
if(result != null && result.size() > 0){
for(SummaryNew summary : result){
List<SummaryValue> values = pageProjValueMapper.selectValue(date,page,summary.getDeptCode());
public Object getData(Integer date, Integer page) {
List<SummaryNew> result = pageProjValueMapper.selectDept(date, page);
if (result != null && result.size() > 0) {
for (SummaryNew summary : result) {
List<SummaryValue> values = pageProjValueMapper.selectValue(date, page, summary.getDeptCode());
summary.setProjTypeList(values);
}
}
......@@ -166,34 +166,34 @@ public class SerProjValueServiceImpl implements SerProjValueService {
}
@Override
public Object getDataNew(Integer page,Map<String,String> dim) {
public Object getDataNew(Integer page, Map<String, String> dim) {
SerPageValueConfig pageValueConfig = pageValueConfigMapper.selectByPage(page);
if(pageValueConfig != null){
Map<String,String> map = new HashMap<String,String>() {
if (pageValueConfig != null) {
Map<String, String> map = new HashMap<String, String>() {
{
put("sqlStr",pageValueConfig.getSqlstr());
put("sqlStr", pageValueConfig.getSqlstr());
putAll(dim);
}
};
List<Map<String,Object>> dataList = pageValueConfigMapper.selectSqlStr(map);
List<Map<String, Object>> dataList = pageValueConfigMapper.selectSqlStr(map);
return dataList;
}
return null;
}
private List<SerProjValueResp> getLevelData(List<SerProjValueResp> list,BigDecimal parentcode) {
private List<SerProjValueResp> getLevelData(List<SerProjValueResp> list, BigDecimal parentcode) {
List<SerProjValueResp> resultList = new ArrayList<>();
for(SerProjValueResp data : list){
if(data.getParent().equals(parentcode)){
List<SerProjValueResp> childList = getLevelData(list,data.getProjId());
try{
if(data.getSort() != null){
for (SerProjValueResp data : list) {
if (data.getParent().equals(parentcode)) {
List<SerProjValueResp> childList = getLevelData(list, data.getProjId());
try {
if (data.getSort() != null) {
childList = childList.stream().sorted(Comparator.comparing(SerProjValueResp::getSort)).collect(Collectors.toList());
}
data.setChilds(childList);
resultList.add(data);
}catch(Exception e){
} catch (Exception e) {
e.printStackTrace();
}
......
#### \u6D4B\u8BD5\u73AF\u5883 ###################################################
spring.datasource.url=jdbc:mysql://192.168.18.176:3306/scml_zp_cs?useUnicode=true&characterEncoding=utf8&useSSL=false&autoReconnect=true&rewriteBatchedStatements=TRUE&serverTimezone=UTC
spring.datasource.url=jdbc:mysql://192.168.18.176:3306/scml_sy_test1.0?useUnicode=true&characterEncoding=utf8&useSSL=false&autoReconnect=true&rewriteBatchedStatements=TRUE&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=Suvalue2016
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
......
......@@ -2,30 +2,30 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsoft.api.mapper.SerDiseaseMapper">
<resultMap id="BaseResultMap" type="com.bsoft.api.model.SerDisease">
<result column="ID" jdbcType="DECIMAL" property="id" />
<result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate" />
<result column="CREATE_USERID" jdbcType="DECIMAL" property="createUserid" />
<result column="STATE" jdbcType="DECIMAL" property="state" />
<result column="MDC_CODE" jdbcType="VARCHAR" property="mdcCode" />
<result column="MDC_NAME" jdbcType="VARCHAR" property="mdcName" />
<result column="DATE" jdbcType="DECIMAL" property="date" />
<result column="MDC_NUM" jdbcType="VARCHAR" property="mdcNum" />
<result column="PARENT_ID" jdbcType="DECIMAL" property="parentId" />
<result column="LEVEL" jdbcType="DECIMAL" property="level" />
<result column="ORG_ID" jdbcType="DECIMAL" property="orgId" />
<result column="ORG_NAME" jdbcType="VARCHAR" property="orgName" />
<result column="PARENT_CODE" jdbcType="VARCHAR" property="parentCode" />
<result column="ID" jdbcType="DECIMAL" property="id"/>
<result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate"/>
<result column="CREATE_USERID" jdbcType="DECIMAL" property="createUserid"/>
<result column="STATE" jdbcType="DECIMAL" property="state"/>
<result column="MDC_CODE" jdbcType="VARCHAR" property="mdcCode"/>
<result column="MDC_NAME" jdbcType="VARCHAR" property="mdcName"/>
<result column="DATE" jdbcType="DECIMAL" property="date"/>
<result column="MDC_NUM" jdbcType="VARCHAR" property="mdcNum"/>
<result column="PARENT_ID" jdbcType="DECIMAL" property="parentId"/>
<result column="LEVEL" jdbcType="DECIMAL" property="level"/>
<result column="ORG_ID" jdbcType="DECIMAL" property="orgId"/>
<result column="ORG_NAME" jdbcType="VARCHAR" property="orgName"/>
<result column="PARENT_CODE" jdbcType="VARCHAR" property="parentCode"/>
</resultMap>
<resultMap id="DiseaseLevel" type="com.bsoft.api.model.respmodel.DiseaseLevel">
<id column="ID" jdbcType="DECIMAL" property="id" />
<result column="MDC_CODE" jdbcType="VARCHAR" property="mdcCode" />
<result column="MDC_NAME" jdbcType="VARCHAR" property="mdcName" />
<result column="DATE" jdbcType="DECIMAL" property="date" />
<result column="MDC_NUM" jdbcType="VARCHAR" property="mdcNum" />
<result column="PARENT_ID" jdbcType="DECIMAL" property="parentId" />
<result column="LEVEL" jdbcType="DECIMAL" property="level" />
<result column="ORG_ID" jdbcType="DECIMAL" property="orgId" />
<result column="ORG_NAME" jdbcType="VARCHAR" property="orgName" />
<id column="ID" jdbcType="DECIMAL" property="id"/>
<result column="MDC_CODE" jdbcType="VARCHAR" property="mdcCode"/>
<result column="MDC_NAME" jdbcType="VARCHAR" property="mdcName"/>
<result column="DATE" jdbcType="DECIMAL" property="date"/>
<result column="MDC_NUM" jdbcType="VARCHAR" property="mdcNum"/>
<result column="PARENT_ID" jdbcType="DECIMAL" property="parentId"/>
<result column="LEVEL" jdbcType="DECIMAL" property="level"/>
<result column="ORG_ID" jdbcType="DECIMAL" property="orgId"/>
<result column="ORG_NAME" jdbcType="VARCHAR" property="orgName"/>
</resultMap>
<insert id="insert" parameterType="com.bsoft.api.model.SerDisease">
<selectKey keyProperty="id" order="AFTER" resultType="java.math.BigDecimal">
......@@ -43,8 +43,19 @@
)
</insert>
<select id="selectAll" resultMap="BaseResultMap">
select ID, CREATE_DATE, CREATE_USERID, `STATE`, MDC_CODE, MDC_NAME, `DATE`, MDC_NUM,
PARENT_ID, `LEVEL`, ORG_ID, ORG_NAME, PARENT_CODE
select ID,
CREATE_DATE,
CREATE_USERID,
`STATE`,
MDC_CODE,
MDC_NAME,
`DATE`,
MDC_NUM,
PARENT_ID,
`LEVEL`,
ORG_ID,
ORG_NAME,
PARENT_CODE
from SER_DISEASE
</select>
<select id="selectByCode" resultMap="BaseResultMap">
......@@ -66,7 +77,7 @@
and rs.DEPT_CODE=#{deptCode,jdbcType=VARCHAR}
</if>
<if test="mdcName!=null">
and d.MDC_NAME like '%'||#{mdcName,jdbcType=VARCHAR}||'%'
and INSTR(d.MDC_NAME,#{mdcName,jdbcType=VARCHAR})>0
</if>
order by d.MDC_NUM
</select>
......
......@@ -2,27 +2,28 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsoft.api.mapper.SerProjMapper">
<resultMap id="BaseResultMap" type="com.bsoft.api.model.SerProj">
<result column="ID" jdbcType="DECIMAL" property="id" />
<result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate" />
<result column="CREATE_USERID" jdbcType="DECIMAL" property="createUserid" />
<result column="STATE" jdbcType="DECIMAL" property="state" />
<result column="TYPE" jdbcType="DECIMAL" property="type" />
<result column="PROJ_TYPE" jdbcType="DECIMAL" property="projType" />
<result column="PROJ_NAME" jdbcType="VARCHAR" property="projName" />
<result column="IS_BUDGET" jdbcType="DECIMAL" property="isBudget" />
<result column="TYPE_STATE" jdbcType="DECIMAL" property="typeState" />
<result column="SORT" jdbcType="DECIMAL" property="sort" />
<result column="PARENT" jdbcType="DECIMAL" property="parent" />
<result column="ID" jdbcType="DECIMAL" property="id"/>
<result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate"/>
<result column="CREATE_USERID" jdbcType="DECIMAL" property="createUserid"/>
<result column="STATE" jdbcType="DECIMAL" property="state"/>
<result column="TYPE" jdbcType="DECIMAL" property="type"/>
<result column="PROJ_TYPE" jdbcType="DECIMAL" property="projType"/>
<result column="PROJ_NAME" jdbcType="VARCHAR" property="projName"/>
<result column="IS_BUDGET" jdbcType="DECIMAL" property="isBudget"/>
<result column="TYPE_STATE" jdbcType="DECIMAL" property="typeState"/>
<result column="SORT" jdbcType="DECIMAL" property="sort"/>
<result column="PARENT" jdbcType="DECIMAL" property="parent"/>
</resultMap>
<resultMap id="Summary" type="com.bsoft.api.model.respmodel.Summary">
<result column="DEPT_CODE" jdbcType="VARCHAR" property="deptCode" />
<result column="DEPT_CODE" jdbcType="VARCHAR" property="deptCode"/>
</resultMap>
<resultMap id="ProjectInfo" type="com.bsoft.api.model.respmodel.ProjectInfo">
<result column="EXPONENT_ID" jdbcType="DECIMAL" property="exponentId" />
<result column="EXPONENT_NAME" jdbcType="VARCHAR" property="exponentName" />
<result column="EXPONENT_ID" jdbcType="DECIMAL" property="exponentId"/>
<result column="EXPONENT_NAME" jdbcType="VARCHAR" property="exponentName"/>
</resultMap>
<delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
delete from SER_PROJ
delete
from SER_PROJ
where ID = #{id,jdbcType=DECIMAL}
</delete>
<insert id="insert" parameterType="com.bsoft.api.model.SerProj">
......@@ -52,14 +53,30 @@
where ID = #{id,jdbcType=DECIMAL}
</update>
<select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
select ID, CREATE_DATE, CREATE_USERID, `STATE`, `TYPE`, PROJ_TYPE, PROJ_NAME, IS_BUDGET,
TYPE_STATE, SORT
select ID,
CREATE_DATE,
CREATE_USERID,
`STATE`,
`TYPE`,
PROJ_TYPE,
PROJ_NAME,
IS_BUDGET,
TYPE_STATE,
SORT
from SER_PROJ
where ID = #{id,jdbcType=DECIMAL}
</select>
<select id="selectAll" resultMap="BaseResultMap">
select ID, CREATE_DATE, CREATE_USERID, `STATE`, `TYPE`, PROJ_TYPE, PROJ_NAME, IS_BUDGET,
TYPE_STATE, SORT
select ID,
CREATE_DATE,
CREATE_USERID,
`STATE`,
`TYPE`,
PROJ_TYPE,
PROJ_NAME,
IS_BUDGET,
TYPE_STATE,
SORT
from SER_PROJ
</select>
<select id="selectState" resultMap="ProjectInfo">
......@@ -80,6 +97,13 @@
from SER_PROJ_VALUE v
join SER_PROJ p on p.ID =v.PROJ_ID and p.STATE = 1
where 1=1
and EXISTS(select o2.ORG_CODE as DEPT_CODE
from SYS_USER_ORG_RS rs2
join DIC_ORG o2 on o2.id = rs2.ORG_ID and rs2.STATE = 1
where o2.STATE = 1
and rs2.USER_ID = #{userId,jdbcType=DECIMAL}
and o2.ORG_CODE = v.DEPT_CODE
)
<if test="date!=null">
and v.`DATE`= LEFT(#{date,jdbcType=DECIMAL},4)
</if>
......
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