diff --git a/xm-bootstrap/src/main/java/com/xm/WebSecurityConfig.java b/xm-bootstrap/src/main/java/com/xm/WebSecurityConfig.java index 2c19a5e3..fea0b94c 100644 --- a/xm-bootstrap/src/main/java/com/xm/WebSecurityConfig.java +++ b/xm-bootstrap/src/main/java/com/xm/WebSecurityConfig.java @@ -37,7 +37,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { */ @Override protected void configure(HttpSecurity http) throws Exception { - http.authorizeRequests().antMatchers("/**/xm/core/xmTask/shareTaskDetail","/**/xm/core/xmTask/getOutTask").permitAll(). + http.authorizeRequests().antMatchers( + "/**/xm/core/xmTask/shareTaskDetail", + "/**/xm/core/xmTask/getOutTask", + "/**/xm/core/xmBranchState/list/portal/allBranchSum", + "/**/xm/core/xmProjectState/list/portal" + ).permitAll(). anyRequest().authenticated(); http.oauth2Client().and().logout().disable(); diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java index 86a5dfea..b5c8836c 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java @@ -116,7 +116,23 @@ public class XmBranchStateController { m.put("tips", tips); return m; } + @ApiOperation( value = "查询机构内所有项目指标汇总信息列表",notes="listXmBranchState,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") + @ApiResponses({ + @ApiResponse(code = 200,response= XmBranchState.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list/portal/allBranchSum",method=RequestMethod.GET) + public Map listPortalAllXmBranchSumState( @RequestParam Map xmBranchState){ + Map m = new HashMap<>(); + RequestUtils.transformArray(xmBranchState, "ids"); + PageUtils.startPage(xmBranchState); + List> xmBranchStateList = xmBranchStateService.listPortalAllXmBranchSumState(xmBranchState); //列出XmBranchState列表 + PageUtils.responePage(m, xmBranchStateList); + m.put("data",xmBranchStateList); + Tips tips=new Tips("查询成功"); + m.put("tips", tips); + return m; + } @ApiOperation( value = "从项目汇总表汇总数据到机构汇总表",notes="") @ApiResponses({ diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java index bc0dacb0..e3ed74bc 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java @@ -4,8 +4,10 @@ import com.mdp.core.entity.Tips; import com.mdp.core.err.BizException; import com.mdp.core.utils.RequestUtils; import com.mdp.mybatis.PageUtils; +import com.xm.core.entity.XmProductState; import com.xm.core.entity.XmProjectState; import com.xm.core.service.XmProjectStateService; +import com.xm.core.service.cache.XmProjectCacheService; import io.swagger.annotations.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -37,8 +39,9 @@ public class XmProjectStateController { @Autowired private XmProjectStateService xmProjectStateService; - - + + @Autowired + XmProjectCacheService projectCacheService; @ApiOperation( value = "查询项目指标日统计表信息列表",notes="listXmProjectState,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @@ -120,7 +123,27 @@ public class XmProjectStateController { m.put("tips", tips); return m; } - + @ApiOperation( value = "查询功能状态表,无需前端维护,所有数据由汇总统计得出信息列表",notes="listXmProductState,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") + + @ApiResponses({ + @ApiResponse(code = 200,response= XmProductState.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}") + }) + @RequestMapping(value="/list/portal",method=RequestMethod.GET) + public Map listXmProductStateForPortal( @RequestParam Map xmProductState){ + Map m = new HashMap<>(); + RequestUtils.transformArray(xmProductState, "ids"); + PageUtils.startPage(xmProductState); + List> xmProjectStateList = projectCacheService.getPortalProjectStates(); //列出XmProductState列表 + if(xmProjectStateList==null){ + xmProjectStateList=xmProjectStateService.selectPortalProjectStates(xmProductState); + projectCacheService.putPortalProjectStates(xmProjectStateList); + } + PageUtils.responePage(m, xmProjectStateList); + m.put("data",xmProjectStateList); + Tips tips=new Tips("查询成功"); + m.put("tips", tips); + return m; + } @ApiOperation( value = "从任务单抽取实际工作量等统计数据更新到状态报告中",notes="") diff --git a/xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java b/xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java index abbb381b..168a701b 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java @@ -3,6 +3,9 @@ package com.xm.core.service; import com.mdp.core.service.BaseService; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; + /** * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
* 组织 com.qqkj 顶级模块 xm 大模块 core 小模块
@@ -15,8 +18,12 @@ public class XmBranchStateService extends BaseService { this.update("loadProjectStateToXmBranchState", branchId); } - - /** 请在此类添加自定义函数 */ + + public List> listPortalAllXmBranchSumState(Map xmBranchState) { + return this.selectList("listPortalAllXmBranchSumState",xmBranchState); + } + + /** 请在此类添加自定义函数 */ } diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectStateService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectStateService.java index aeebc88e..f30d872d 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectStateService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectStateService.java @@ -4,6 +4,9 @@ import com.mdp.core.service.BaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; + /** * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
* 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块
@@ -25,5 +28,9 @@ public class XmProjectStateService extends BaseService { public int loadTasksSettleToXmProjectState(String projectId) { return this.update("loadTasksSettleToXmProjectState", projectId); } + + public List> selectPortalProjectStates(Map params) { + return this.selectList("selectPortalProjectStates",params); + } } diff --git a/xm-core/src/main/java/com/xm/core/service/cache/XmProjectCacheService.java b/xm-core/src/main/java/com/xm/core/service/cache/XmProjectCacheService.java index 7995fcde..ea458d26 100644 --- a/xm-core/src/main/java/com/xm/core/service/cache/XmProjectCacheService.java +++ b/xm-core/src/main/java/com/xm/core/service/cache/XmProjectCacheService.java @@ -5,6 +5,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; @Service @@ -29,5 +31,18 @@ public class XmProjectCacheService { return (XmProject) redisTemplate.opsForHash().get(key, hashKey); } - + + public void putPortalProjectStates(List> projects){ + String key=this.getCacheKey()+"_"+"portal"; + String hashKey=key; + redisTemplate.opsForHash().put(key, hashKey, projects); + redisTemplate.expire(hashKey, 24, TimeUnit.HOURS); + } + + public List> getPortalProjectStates(){ + String key=this.getCacheKey()+"_"+"portal"; + String hashKey=key; + return (List>) redisTemplate.opsForHash().get(key, hashKey); + + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateMapper.xml index 6ddaa930..65b133c8 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmBranchStateMapper.xml @@ -5,8 +5,60 @@ - - + + {call load_project_state_to_xm_branch_state(#{branchId,mode=IN})} diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateMapper.xml index f5a959d3..3707799a 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectStateMapper.xml @@ -5,8 +5,13 @@ - - + +