Browse Source

问题统计分析

JiangPengLi 3 months ago
parent
commit
d44d247200

+ 11 - 9
projects-service/src/main/java/com/rtrh/projects/modules/problem/service/impl/SubquestioninfoserviceImpl.java

@@ -647,15 +647,17 @@ public class SubquestioninfoserviceImpl implements Subquestioninfoservice {
 			sql.append(" AND ( " + sqlCheck + " )");
 		}
 		if (StringUtil.isNotEmpty(queryVO.getIndusKind())) {
-			sql.append(" AND b.indus_kind IN (");
-			String[] split = queryVO.getIndusKind().split(",");
-			for (int i = 0; i < split.length; i++) {
-				sql.append("'").append(split[i]).append("'");
-				if (i != (split.length - 1)) {
-					sql.append(",");
-				}
-			}
-			sql.append(")");
+			sql.append(" AND b.indus_kind like '"+queryVO.getIndusKind()+"%'");
+
+			// sql.append(" AND b.indus_kind IN (");
+			// String[] split = queryVO.getIndusKind().split(",");
+			// for (int i = 0; i < split.length; i++) {
+			// 	sql.append("'").append(split[i]).append("'");
+			// 	if (i != (split.length - 1)) {
+			// 		sql.append(",");
+			// 	}
+			// }
+			// sql.append(")");
 		}
 		if (StringUtil.isNotEmpty(queryVO.getPropKind())) {
 			sql.append(" AND b.prop_kind IN (");

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

@@ -100,4 +100,7 @@ public interface SubInfoMapper {
     List<WorkBenchVO> queryExceedTcToRg();
 
     List<WorkBenchVO> preProcedureExceed();
+
+    List<WorkBenchVO> queryExceedMonthly(@Param("lastMonth") String lastMonth);
+
 }

+ 17 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -893,4 +893,21 @@
         GROUP BY
             a.id
     </select>
+    <select id="queryExceedMonthly" resultType="com.rtrh.projects.modules.projects.vo.WorkBenchVO">
+        SELECT
+            a.subject_id subjectId,
+            a.indus_kind indusKind,
+            a.amt_total amtTotal
+        FROM
+            sub_info a
+                LEFT JOIN sub_rpt_cont src ON src.sub_id = a.id
+                AND src.kind = '1'
+                AND src.kj_month LIKE #{lastMonth}
+        WHERE
+            a.logic_delete_flag = 0
+          AND a.`status` = '3'
+          AND src.id IS NULL
+        GROUP BY
+            a.id
+    </select>
 </mapper>

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

@@ -5073,7 +5073,10 @@ public class SubInfoServiceImpl implements SubInfoService {
         map.put("xjToZjNum",subInfoMapper.queryExceedXjToZj().size());
         map.put("zjToTcNum",subInfoMapper.queryExceedZjTotc().size());
         map.put("tcToRgNum",subInfoMapper.queryExceedTcToRg().size());
-        map.put("monthlyNum",0);
+        // 上个月
+        String lastMonth = DateUtil.format(DateUtil.offsetMonth(DateUtil.date(), -1), "yyyyMM");
+        int dayOfMonth = DateUtil.dayOfMonth(DateUtil.date());
+        map.put("monthlyNum", dayOfMonth <= 5 ? 0 : subInfoMapper.queryExceedMonthly(lastMonth).size());
         return map;
     }
 
@@ -5089,8 +5092,19 @@ public class SubInfoServiceImpl implements SubInfoService {
      */
     @Override
     public Map<String, Object> queryExceedMonthly(LoginUserVO loginUser, PreWarnDataQueryVO queryVO) {
-        List<WorkBenchVO> list = subInfoMapper.preProcedureExceed();
-        return getStringObjectMap(list);
+        String lastMonth = DateUtil.format(DateUtil.offsetMonth(DateUtil.date(), -1), "yyyyMM");
+        int dayOfMonth = DateUtil.dayOfMonth(new Date());
+        List<WorkBenchVO> list;
+        if (dayOfMonth < 5) {
+            return new HashMap<String, Object>(){{
+                put("listSubject", new ArrayList<>());
+                put("listScale", new ArrayList<>());
+                put("listIndusKind", new ArrayList<>());
+            }};
+        }else {
+            list = subInfoMapper.queryExceedMonthly(lastMonth);
+            return getStringObjectMap(list);
+        }
     }
 
     private Map<String, Object> getStringObjectMap(List<WorkBenchVO> list) {

+ 7 - 2
projects/src/main/java/com/rtrh/projects/web/controller/problemreport/ProblemtrackController.java

@@ -15,6 +15,7 @@ import com.rtrh.projects.modules.problem.service.Subquestioninfoservice;
 import com.rtrh.projects.modules.projects.enums.ProjectStatusEnum;
 import com.rtrh.projects.modules.projects.enums.SubqestionStatus;
 import com.rtrh.projects.modules.projects.vo.SubInfoQueryTzVO;
+import com.rtrh.projects.modules.system.service.ISubInduService;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -50,6 +51,8 @@ public class ProblemtrackController extends BaseController {
 
     @Autowired
     private Subquestioninfoservice subquestioninfoservice;
+    @Autowired
+    private ISubInduService subInduService;
 
     /**
      * 问题填报
@@ -58,9 +61,11 @@ public class ProblemtrackController extends BaseController {
      */
     @GetMapping("index")
     public ModelAndView report(ModelMap model) {
-        model.put("HYFL", sysTableService.getByKind(SysTableKind.HYFL));
+        // model.put("HYFL", sysTableService.getByKind(SysTableKind.HYFL));
+        model.put("HYFL", subInduService.queryTreeALl());
         model.put("XMLX", sysTableService.getByKind(SysTableKind.XMLX));
-		model.put("JSXZ", sysTableService.getByKind(SysTableKind.JSXZ));
+		// model.put("JSXZ", sysTableService.getByKind(SysTableKind.JSXZ));
+		model.put("JSDD", sysTableService.getByKind(SysTableKind.JSDD));
        /* int year = DateUtil.getYear();
         model.put("beginDate", year + "-01-01");
         model.put("endDate", year + "-12-31");*/

+ 2 - 2
projects/src/main/java/com/rtrh/projects/web/controller/subject/SubInfoController.java

@@ -1344,8 +1344,8 @@ public class SubInfoController extends BaseController {
 
         //总完成投资
         BigDecimal allEndAmt = BigDecimal.ZERO;
-//        BigDecimal totalAmt = (BigDecimal) (subInfo.get("amt_total"));    这个原始用法出现问题,类型错误报错
-        BigDecimal totalAmt = new BigDecimal(((Float) subInfo.get("amt_total")).toString());
+       BigDecimal totalAmt = (BigDecimal) (subInfo.get("amt_total"));
+        // BigDecimal totalAmt = new BigDecimal(((Float) subInfo.get("amt_total")).toString());
         List<RptCont> allRpt = subRptContService.getListBySub(subId, null, RptContKindEnum.MONTH);
         if (CollectionUtil.isNotEmpty(allRpt)) {
             double sum = allRpt.stream().mapToDouble(new ToDoubleFunction<RptCont>() {

+ 58 - 23
projects/src/main/webapp/vmodules/problem/track/list.jsp

@@ -87,19 +87,43 @@
                                         </div>
                                     </div>
                                 </div>
+<%--                                <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">--%>
+<%--                                    <div class="layui-form-item" style="height:28px;">--%>
+<%--                                        <label class="layui-form-label">建设性质</label>--%>
+<%--                                        <div class="layui-input-block">--%>
+<%--                                            <div id="propKind" name="propKind"></div>--%>
+<%--                                        </div>--%>
+<%--                                    </div>--%>
+<%--                                </div>--%>
                                 <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">
                                     <div class="layui-form-item" style="height:28px;">
-                                        <label class="layui-form-label">建设性质</label>
+                                        <label class="layui-form-label">项目属地</label>
                                         <div class="layui-input-block">
-                                            <div id="propKind" name="propKind"></div>
+<%--                                            <div id="propKind" name="propKind"></div>--%>
+                                            <select name="subjectId">
+                                                <option value="">请选择</option>
+                                                <c:forEach items="${JSDD }" var="hy">
+                                                    <option value="${hy.code }">${hy.title }</option>
+                                                </c:forEach>
+                                            </select>
                                         </div>
                                     </div>
                                 </div>
                                 <div class="layui-col-xs6 layui-col-sm6 layui-col-md3">
                                     <div class="layui-form-item" style="height:28px;">
-                                        <label class="layui-form-label">所属行业</label>
+                                        <label class="layui-form-label">行业类别</label>
                                         <div class="layui-input-block">
-                                            <div id="indusKind" name="indusKind"></div>
+<%--                                                 <div id="indusKind" name="indusKind"></div>--%>
+                                                <select name="indusKind" v-model="indusKind" id="indusKind">
+                                                    <option value="">请选择</option>
+                                                    <c:forEach items="${HYFL }" var="hy">
+                                                        <option value="${hy.code }">${hy.title}
+                                                        <c:forEach items="${hy.children }" var="hy2">
+                                                            <option value="${hy2.code }">&ensp;&ensp;${hy2.title}
+                                                        </c:forEach>
+                                                        </option>
+                                                    </c:forEach>
+                                                </select>
                                         </div>
                                     </div>
                                 </div>
@@ -338,23 +362,34 @@
                     value: formatwdate
                 });
 
-                var seleDatas = [], jsxz = [], xmlx = [];
-    			<c:forEach items="${HYFL }" var="hy">
-    			seleDatas.push({value:'${hy.id}',name:'${hy.title}'});
-    			</c:forEach>
-    			this.indusKind = layui.xmSelect.render({
-    				el:'#indusKind',
-    				language:'zn',
-    				data: seleDatas
-    			});
-    			<c:forEach items="${JSXZ}" var="js">
-    			jsxz.push({value: '${js.code}', name:'${js.title}'});
-    			</c:forEach>
-    			this.propKind = layui.xmSelect.render({
-    				el:'#propKind',
-    				language:'zn',
-    				data: jsxz
-    			});
+                var seleDatas = [], jsxz = [], xmlx = [], jsdd = [];
+<%--    			<c:forEach items="${HYFL }" var="hy">--%>
+<%--    			seleDatas.push({value:'${hy.id}',name:'${hy.title}'});--%>
+<%--    			</c:forEach>--%>
+<%--    			this.indusKind = layui.xmSelect.render({--%>
+<%--    				el:'#indusKind',--%>
+<%--    				language:'zn',--%>
+<%--    				data: seleDatas--%>
+<%--    			});--%>
+
+<%--    			<c:forEach items="${JSXZ}" var="js">--%>
+<%--    			jsxz.push({value: '${js.code}', name:'${js.title}'});--%>
+<%--    			</c:forEach>--%>
+<%--    			this.propKind = layui.xmSelect.render({--%>
+<%--    				el:'#propKind',--%>
+<%--    				language:'zn',--%>
+<%--    				data: jsxz--%>
+<%--    			});--%>
+
+<%--                <c:forEach items="${JSDD}" var="js">--%>
+<%--                    jsdd.push({value: '${js.code}', name:'${js.title}'});--%>
+<%--    			</c:forEach>--%>
+<%--    			this.propKind = layui.xmSelect.render({--%>
+<%--    				el:'#propKind',--%>
+<%--    				language:'zn',--%>
+<%--    				data: jsdd--%>
+<%--    			});--%>
+
     			<c:forEach items="${XMLX}" var="xm">
     			xmlx.push({value: '${xm.code}', name: '${xm.title}'});
     			</c:forEach>
@@ -699,8 +734,8 @@
             },
             search : function(){
                 var param = layui.form.getValue("searchForm");
-                param.indusKind = this.indusKind.getValue("valueStr");
-                param.propKind = this.propKind.getValue("valueStr");
+                // param.indusKind = this.indusKind.getValue("valueStr");
+                // param.propKind = this.propKind.getValue("valueStr");
                 param.kind = this.kind.getValue("valueStr");
                 param.status =$("input[name='status']:checked").val();
                 this.pageNo = 1;

+ 0 - 6
projects/src/main/webapp/vmodules/subject/subInfo/tz/cb.jsp

@@ -592,12 +592,6 @@
                     self.moveDbParam.status = data.value;
                 });
 
-                // App.postJson("/api/dict/query/index", {}, function (res) {
-                //     self.JSDD = res.data.JSDD;
-                //     self.HYFL = res.data.HYFL;
-                //
-                // })
-
                 this.winH = document.body.clientHeight;
                 var nowdate = new Date();
                 nowdate.setMonth(nowdate.getMonth() + 1);

+ 1 - 1
projects/src/main/webapp/vmodules/subject/subInfo/tz/xmzk.jsp

@@ -103,7 +103,7 @@
                 项目总库
             </div>
             <div class="layui-btn-container" style="margin-top: 20px;margin-left: 20px">
-                <button type="button" class="layui-btn" @click="exportDetailExcel">导出明细</button>
+<%--                <button type="button" class="layui-btn" @click="exportDetailExcel">导出明细</button>--%>
                 <button type="button" class="layui-btn" @click="exportTotalExcel">导出</button>
                 <button type="button" class="layui-btn" @click="exportMoreExcel">自定义导出</button>
             </div>