JiangPengLi 3 mesiacov pred
rodič
commit
1d6372fd60

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.java

@@ -59,7 +59,7 @@ public interface SubInfoMapper {
 
     List<SubInfoTotalExcel> getFixTotalExcel(@Param("stateFix") String stateFix,@Param("year") String year,@Param("subName") String subName, @Param("indusKinds") List<String> indusKinds, @Param("sbdw") String sbdw, @Param("subjectId") String subjectId, @Param("startAmt") String startAmt, @Param("endAmt") String endAmt,@Param("subjectIds") List<String> subjectIds);
 
-    List<SubInfoTotalExcel> exportTotalExcelByStatus(@Param("status") String status);
+    List<SubInfoTotalExcel> exportTotalExcelByStatus(@Param("vo") SubInfoQueryTzVO vo);
 
     List<SubInfoFixDetail> exportFixDetailExcel(@Param("stateFix")String stateFix, @Param("year") String year,@Param("subName") String subName, @Param("indusKinds") List<String> indusKinds, @Param("sbdw") String sbdw, @Param("subjectId") String subjectId, @Param("startAmt") String startAmt, @Param("endAmt") String endAmt,@Param("subjectIds") List<String> subjectIds);
 

+ 46 - 4
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -490,11 +490,53 @@
                sub_info.indus_kind as indusKind,
                sub_info.status as status
                from sub_info
-        WHERE sub_info.logic_delete_flag = 0
-            <if test="status != null and status != ''">
-                and sub_info.status = #{status}
+        <where>
+            sub_info.logic_delete_flag = 0
+            <if test="vo.status != null and vo.status != ''">
+                and sub_info.status = #{vo.status}
             </if>
-
+            <if test="vo.subName!=null and vo.subName!=''">
+                and sub_info.sub_name like CONCAT('%', #{vo.subName}, '%')
+            </if>
+            <if test="vo.subjectId!=null and vo.subjectId!=''">
+                and sub_info.subject_id = #{vo.subjectId}
+            </if>
+            <if test="vo.startAmt!=null and vo.startAmt!=''">
+                and sub_info.amt_total >= #{vo.startAmt}
+            </if>
+            <if test="vo.endAmt!=null and vo.endAmt!=''">
+                and sub_info.amt_total &lt;= #{vo.endAmt}
+            </if>
+            <if test="vo.sbdw!=null and vo.sbdw!=''">
+                and sub_info.unit_desc = #{vo.sbdw}
+            </if>
+            <if test="vo.subjectAuthIds!=null and vo.subjectAuthIds.size()>0">
+                and sub_info.subject_id in
+                <foreach collection="vo.subjectAuthIds" item="id" open="(" close=")" separator=",">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="vo.abc!=null and vo.abc!=''">
+                <choose>
+                    <when test='vo.abc.toString() =="UNKNOWN_CATEGORY"'>
+                        and sub_info.abc is null
+                    </when>
+                    <otherwise>
+                        and sub_info.abc = #{vo.abc}
+                    </otherwise>
+                </choose>
+            </if>
+            <if test="vo.indusKind!=null and vo.indusKind!=''">
+                <choose>
+                    <when test='vo.indusKind.toString() == "UNKNOWN_INDUS_KIND"'>
+                        AND ISNULL(sub_info.indus_kind)
+                    </when>
+                    <otherwise>
+                        and sub_info.indus_kind like CONCAT(#{vo.indusKind}, '%')
+                    </otherwise>
+                </choose>
+            </if>
+        </where>
     </select>
 
     <select id="exportFixDetailExcel" resultType="com.rtrh.projects.modules.projects.vo.export.SubInfoFixDetail">

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java

@@ -5584,7 +5584,7 @@ public class SubInfoServiceImpl implements SubInfoService {
 
     @Override
     public List<SubInfoTotalExcel> exportTotalExcelByStatus(SubInfoQueryTzVO vo) {
-        return subInfoMapper.exportTotalExcelByStatus(vo.getStatus());
+        return subInfoMapper.exportTotalExcelByStatus(vo);
     }
 
     @Override

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/modules/rolemeun/mapper/SecUserAuthMapper.xml

@@ -14,7 +14,7 @@
             sec_user_auth a
         WHERE
             a.logic_delete_flag = 0
-          AND u.status_subject = '1'
+          AND u.status_subject = '0'
           AND u.id = a.user_id
           AND u.id = #{userId}
     </select>

+ 6 - 1
projects/src/main/java/com/rtrh/projects/web/controller/passport/LogoutController.java

@@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.servlet.ModelAndView;
 
+import java.util.ResourceBundle;
+
 /**
  * 退出登录
  * @author PENG
@@ -24,6 +26,9 @@ public class LogoutController {
 		} catch (Exception e) {
 		}
 		//重定向到首页
-		return new ModelAndView("redirect:/");
+		// return new ModelAndView("redirect:/");
+		ResourceBundle resourceBundle = ResourceBundle.getBundle("config");
+		String url = resourceBundle.getString("app.fgw.url");
+		return new ModelAndView("redirect:"+url);
 	}
 }

+ 30 - 27
projects/src/main/java/com/rtrh/projects/web/controller/subject/SubInfoExportController.java

@@ -10,6 +10,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import javax.annotation.Resource;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 
@@ -1106,6 +1107,9 @@ public class SubInfoExportController extends BaseController {
         excelExportEntity.setWidth(width);
         return excelExportEntity;
     }
+
+    @Resource
+    private HttpServletResponse response;
     /**
      * 4库导出总表
      *
@@ -1113,7 +1117,8 @@ public class SubInfoExportController extends BaseController {
      * @param vo
      */
     @PostMapping("/exportTotalExcelByStatus")
-    public void exportTotalExcelByStatus(HttpServletResponse response, @RequestBody SubInfoQueryTzVO vo) {
+    @Log("4库导出总表")
+    public void exportTotalExcelByStatus(@RequestBody SubInfoQueryTzVO vo) {
         vo.setSubjectAuthIds(getSubjectIds());
         // 查询数据以及字典
         List<SubInfoTotalExcel> list = subInfoService.exportTotalExcelByStatus(vo);
@@ -1149,10 +1154,10 @@ public class SubInfoExportController extends BaseController {
             Map<String, List<SubInfoTotalExcel>> statusGroup = list.stream().collect(Collectors.groupingBy(SubInfoTotalExcel::getStatus));
             List<Map<String,Object>> dataList = new ArrayList<>();
             // 0.2.1 储备项目
-            List<SubInfoTotalExcel> cb = statusGroup.get(SubInfoStatusEnum.CB.getCode());
-            List<SubInfoTotalExcel> xj = statusGroup.get(SubInfoStatusEnum.XJ.getCode());
-            List<SubInfoTotalExcel> zj = statusGroup.get(SubInfoStatusEnum.ZJ.getCode());
-            List<SubInfoTotalExcel> tc = statusGroup.get(SubInfoStatusEnum.TC.getCode());
+            List<SubInfoTotalExcel> cb = statusGroup.getOrDefault(SubInfoStatusEnum.CB.getCode(),new ArrayList<>());
+            List<SubInfoTotalExcel> xj = statusGroup.getOrDefault(SubInfoStatusEnum.XJ.getCode(),new ArrayList<>());
+            List<SubInfoTotalExcel> zj = statusGroup.getOrDefault(SubInfoStatusEnum.ZJ.getCode(),new ArrayList<>());
+            List<SubInfoTotalExcel> tc = statusGroup.getOrDefault(SubInfoStatusEnum.TC.getCode(),new ArrayList<>());
 
             fillRowData(subjectIds, dataList, cb, SubInfoStatusEnum.CB.getDesc() + "项目");
             fillRowData(subjectIds, dataList, xj, SubInfoStatusEnum.XJ.getDesc() + "项目");
@@ -1276,37 +1281,35 @@ public class SubInfoExportController extends BaseController {
         }
     }
 
-    private void fillRowData(List<String> subjectIds, List<Map<String, Object>> dataList, List<SubInfoTotalExcel> cb,String name) {
-        Map<String, List<SubInfoTotalExcel>> collect = cb.stream().collect(Collectors.groupingBy(e -> StringUtils.defaultIfBlank(e.getSubjectId(), ".")));
+    private void fillRowData(List<String> subjectIds, List<Map<String, Object>> dataList, List<SubInfoTotalExcel> statusGroup,String name) {
+        Map<String, List<SubInfoTotalExcel>> collect = statusGroup.stream().collect(Collectors.groupingBy(e -> StringUtils.defaultIfBlank(e.getSubjectId(), ".")));
         Map<String, List<Object>> map = new LinkedHashMap<>();
         collect.forEach((key, value) -> {
-            List<Object> list1 = new ArrayList<>();
-            Map<String,Object> columnMap = new LinkedHashMap<>();
-            columnMap.put("count", value.size());
-            BigDecimal reduce = value.stream().map(SubInfoTotalExcel::getAmtTotal).reduce(BigDecimal.ZERO, BigDecimal::add);
-            columnMap.put("amt", name.equals(SubInfoStatusEnum.TC.getDesc() + "项目") ? "/" : reduce.divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP));
-            list1.add(columnMap);
-            map.put(key, list1);
+            map.put(key, Collections.singletonList(new LinkedHashMap<String, Object>() {{
+                put("count", value.size());
+                BigDecimal reduce = value.stream().map(SubInfoTotalExcel::getAmtTotal).reduce(BigDecimal.ZERO, BigDecimal::add);
+                put("amt", name.equals(SubInfoStatusEnum.TC.getDesc() + "项目") ? "/" : reduce.divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP));
+            }}));
         });
 
-        // 合计金额
-        BigDecimal cbAmtSum = cb.stream()
-                .map(SubInfoTotalExcel::getAmtTotal)
-                .reduce(BigDecimal.ZERO, BigDecimal::add);
-
         Map<String, Object> rowMap = new LinkedHashMap<>();
         rowMap.put("subjectName", name);
 
-        List<Object> list = new ArrayList<>();
-        Map<String, Object> hjMap = new LinkedHashMap<>();
-        hjMap.put("count", cb.size());
-        hjMap.put("amt", name.equals(SubInfoStatusEnum.TC.getDesc() + "项目") ? "/" : cbAmtSum.divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP));
-        list.add(hjMap);
-
-        rowMap.put("hj", list);
+        // 合计
+        BigDecimal cbAmtSum = statusGroup.stream()
+                .map(SubInfoTotalExcel::getAmtTotal)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        rowMap.put("hj", Collections.singletonList(new LinkedHashMap<String, Object>() {{
+            put("count", statusGroup.size());
+            put("amt", name.equals(SubInfoStatusEnum.TC.getDesc() + "项目") ? "/" : cbAmtSum.divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP));
+        }}));
 
+        // 各区县列
         for (String subjectId : subjectIds) {
-            rowMap.put(subjectId, map.getOrDefault(subjectId, Collections.emptyList()));
+            rowMap.put(subjectId, map.getOrDefault(subjectId, Collections.singletonList(new LinkedHashMap<String, Object>() {{
+                put("count", 0);
+                put("amt", name.equals(SubInfoStatusEnum.TC.getDesc() + "项目") ? "/" :BigDecimal.ZERO);
+            }})));
         }
         dataList.add(rowMap);
     }

+ 6 - 1
projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoQueryApiController.java

@@ -10,6 +10,7 @@ import com.rtrh.common.util.StringUtil;
 import com.rtrh.projects.modules.projects.dao.SubCompletedPicDao;
 import com.rtrh.projects.modules.projects.dao.SubSourceDao;
 import com.rtrh.projects.modules.projects.dto.SubFixCbSearch;
+import com.rtrh.projects.modules.projects.enums.SubInfoStatusEnum;
 import com.rtrh.projects.modules.projects.po.SubCompletedPic;
 import com.rtrh.projects.modules.projects.po.SubIndu;
 import com.rtrh.projects.modules.projects.po.SubSource;
@@ -24,6 +25,7 @@ import com.rtrh.projects.vo.projects.SubFixBeginVo;
 import com.rtrh.projects.vo.projects.SubFixGetBeginRateVo;
 import com.rtrh.projects.vo.projects.SubFixTotalVo;
 import com.rtrh.projects.web.log.Log;
+import com.rtrh.projects.web.log.WebLogAspect;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -267,9 +269,10 @@ public class SubInfoQueryApiController extends BaseController {
 
 
 
-    // 查询项目
     @PostMapping("queryPage")
+    @Log("分页查询")
     public ListMessage queryPage(@RequestBody Page page, @RequestBody SubInfoQueryTzVO queryVO) {
+        WebLogAspect.content.set(String.format("用户点击项目四库管理%s分页查询", StringUtils.isBlank(queryVO.getStatus()) ? "项目总库" : SubInfoStatusEnum.getDesc(queryVO.getStatus())));
         queryVO.setSubjectAuthIds(getSubjectIds());
         ListMessage message = new ListMessage();
         try {
@@ -730,7 +733,9 @@ public class SubInfoQueryApiController extends BaseController {
         return message;
     }
     @PostMapping("statistics")
+    @Log("统计")
     public Message statistics(@RequestBody SubInfoQueryTzVO queryVO) {
+        WebLogAspect.content.set(String.format("用户点击项目四库管理%s分页查询统计数据", StringUtils.isBlank(queryVO.getStatus()) ? "项目总库" : SubInfoStatusEnum.getDesc(queryVO.getStatus())));
         queryVO.setSubjectAuthIds(getSubjectIds());
         Message message = new Message();
         queryVO.setSubjectAuthIds(getSubjectIds());

+ 6 - 0
projects/src/main/java/com/rtrh/projects/web/log/WebLogAspect.java

@@ -42,6 +42,8 @@ import lombok.extern.slf4j.Slf4j;
 @EnableAspectJAutoProxy
 public class WebLogAspect {
 
+    public static final ThreadLocal<String> content = new ThreadLocal<String>();
+
     private Logger logger = LoggerFactory.getLogger(WebLogAspect.class);
 
     @Autowired
@@ -132,6 +134,10 @@ public class WebLogAspect {
         po.setCreateTime(new Date());
         logger.info(po.getClientMsg());
         po.setId(Identities.uuid());
+        String s = content.get();
+        if (StringUtils.isNotBlank(s)){
+            po.setModuleName(s);
+        }
         this.service.save(po);
         logger.info("日志添加成功");
     }

+ 1 - 1
projects/src/main/webapp/vmodules/workBench/zr_gzt.jsp

@@ -99,7 +99,7 @@
 <%--                </div>--%>
                 <div class="line"></div>
 <%--                <div class="layui-card" @click="offsetCt()">--%>
-                <div class="layui-card">
+                <div class="layui-card" @click="toYQ">
                     <div class="layui-card-body">
                         <div class="img_num">
                             <img src="${WebSite.asset }/css/images/workPlat/remind.png"/>