Ver Fonte

储备项目库

JiangPengLi há 4 meses atrás
pai
commit
ff0e2a2a66

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

@@ -3,6 +3,8 @@ package com.rtrh.projects.modules.projects.mapper;
 import java.util.List;
 
 import com.rtrh.projects.modules.projects.po.SubInfo;
+import com.rtrh.projects.modules.projects.po.SubInfoGxj;
+import com.rtrh.projects.modules.projects.vo.SubInfoQueryTzVO;
 import org.apache.ibatis.annotations.Param;
 
 import com.rtrh.core.repository.mybatis.MyBatisRepository;
@@ -28,4 +30,6 @@ public interface SubInfoMapper {
 
     @Select("SELECT sub_id FROM sub_info where logic_delete_flag = 0 ")
     List<String> selectAllSubInfoIds();
+
+    List<SubInfoGxj> queryPage(@Param("vo") SubInfoQueryTzVO queryVO);
 }

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

@@ -72,4 +72,112 @@
             si.id
     </select>
 
+<!--    <resultMap id="BaseResultMap" type="com.rtrh.projects.modules.projects.po.SubInfoGxj">
+        <id column="id" property="id" />
+        <result column="sub_id" property="subId" />
+        <result column="unit_id" property="unitId" />
+        <result column="unit_desc" property="unitDesc" />
+        <result column="sub_code" property="subCode" />
+        <result column="sub_name" property="subName" />
+        <result column="indus_kind" property="indusKind" />
+        <result column="amt_total" property="amtTotal" />
+        <result column="abc" property="abc" />
+        <result column="subject_id" property="subjectId" />
+        <result column="begin_date" property="beginDate" />
+        <result column="end_date" property="endDate" />
+        <result column="rt_date" property="rtDate" />
+        <result column="content" property="content" />
+        <result column="progress" property="progress" />
+        <result column="cb_status" property="cbStatus" />
+        <result column="qy_date" property="qyDate" />
+        <result column="xj_date" property="xjDate" />
+        <result column="zj_date" property="zjDate" />
+        <result column="tc_date" property="tcDate" />
+        <result column="cb_num" property="cbNum" />
+        <result column="xj_num" property="xjNum" />
+        <result column="zj_num" property="zjNum" />
+        <result column="remark" property="remark" />
+        <result column="name_zrr" property="nameZrr" />
+        <result column="tel" property="tel" />
+        <result column="name_lead" property="nameLead" />
+        <result column="tel_lead" property="telLead" />
+        <result column="status" property="status" />
+        <result column="is_rg" property="isRg" />
+        <result column="rg_date" property="rgDate" />
+        <result column="create_user_id" property="createUserId" />
+        <result column="create_user_name" property="createUserName" />
+        <result column="create_time" property="createTime" />
+        <result column="last_update_user_id" property="lastUpdateUserId" />
+        <result column="last_update_user_name" property="lastUpdateUserName" />
+        <result column="last_update_time" property="lastUpdateTime" />
+        <result column="logic_delete_flag" property="logicDeleteFlag" />
+        <result column="status_lamp" property="statusLamp" />
+        <result column="kind_nature" property="kindNature" />
+    </resultMap>-->
+
+    <select id="queryPage" resultType="com.rtrh.projects.modules.projects.po.SubInfoGxj">
+        SELECT
+        id,
+        sub_id AS subId,
+        unit_id AS unitId,
+        unit_desc AS unitDesc,
+        sub_code AS subCode,
+        sub_name AS subName,
+        indus_kind AS indusKind,
+        amt_total AS amtTotal,
+        abc,
+        subject_id AS subjectId,
+        begin_date AS beginDate,
+        end_date AS endDate,
+        rt_date AS rtDate,
+        content AS content,
+        progress AS progress,
+        cb_status AS cbStatus,
+        qy_date AS qyDate,
+        xj_date AS xjDate,
+        zj_date AS zjDate,
+        tc_date AS tcDate,
+        cb_num AS cbNum,
+        xj_num AS xjNum,
+        zj_num AS zjNum,
+        remark,
+        name_zrr AS nameZrr,
+        tel AS tel,
+        name_lead AS nameLead,
+        tel_lead AS telLead,
+        status AS status,
+        is_rg AS isRg,
+        rg_date AS rgDate,
+        create_user_id AS createUserId,
+        create_user_name AS createUserName,
+        create_time AS createTime,
+        last_update_user_id AS lastUpdateUserId,
+        last_update_user_name AS lastUpdateUserName,
+        last_update_time AS lastUpdateTime,
+        logic_delete_flag AS logicDeleteFlag,
+        status_lamp AS statusLamp,
+        kind_nature AS kindNature
+        from sub_info
+        <where>
+            <if test="vo.subName!=null and vo.subName!=''">
+                sub_name like CONCAT('%', #{vo.subName}, '%')
+            </if>
+            <if test="vo.subjectId!=null and vo.subjectId!=''">
+                and subject_id = #{vo.subjectId}
+            </if>
+            <if test="vo.indusKind!=null and vo.indusKind!=''">
+                and indus_kind = #{vo.indusKind}
+            </if>
+            <if test="vo.startAmt!=null and vo.startAmt!=''">
+                and amt_total >= #{vo.startAmt}
+            </if>
+            <if test="vo.endAmt!=null and vo.endAmt!=''">
+                and amt_total &lt;= #{vo.endAmt}
+            </if>
+            <if test="vo.sbdw!=null and vo.sbdw!=''">
+                and unit_desc = #{vo.sbdw}
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 146 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/po/SubInfoGxj.java

@@ -0,0 +1,146 @@
+package com.rtrh.projects.modules.projects.po;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 项目主表
+ * </p>
+ *
+ * @author jiangpengli
+ * @since 2024-12-17
+ */
+@Getter
+@Setter
+public class SubInfoGxj implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    // 主键
+    private String id;
+
+    // 发改委项目id
+    private String subId;
+
+    // 申请单位id
+    private String unitId;
+
+    // 申请单位名称
+    private String unitDesc;
+
+    // 项目编码
+    private String subCode;
+
+    // 项目名称
+    private String subName;
+
+    // 行业类别id
+    private String indusKind;
+
+    // 总金额
+    private Float amtTotal;
+
+    // abc类型
+    private String abc;
+
+    // 责任主体:(1-市本级,2-伊州区,3-巴里坤县,4-伊吾县,5-高新区)
+    private String subjectId;
+
+    // 开始计划日期
+    private LocalDate beginDate;
+
+    // 计划投产日期
+    private LocalDate endDate;
+
+    // 计划申规入统时间
+    private LocalDate rtDate;
+
+    // 项目内容
+    private String content;
+
+    // 进展情况
+    private String progress;
+
+    // 储备项目状态:(正在谋划,正在洽谈,已签约,已备案,已核准)
+    private String cbStatus;
+
+    // 签约日期
+    private LocalDate qyDate;
+
+    // 转入新建库的日期
+    private LocalDate xjDate;
+
+    // 转入在建库的日期
+    private LocalDate zjDate;
+
+    // 转入投产库的日期
+    private LocalDate tcDate;
+
+    // 储备转新建周期
+    private Integer cbNum;
+
+    // 新建转在建周期
+    private Integer xjNum;
+
+    // 在建转投产周期
+    private Integer zjNum;
+
+    // 备注
+    private String remark;
+
+    // 责任人
+    private String nameZrr;
+
+    // 电话
+    private String tel;
+
+    // 项目总负责人
+    private String nameLead;
+
+    // 总负责人电话
+    private String telLead;
+
+    // 状态:1-储备 2-新建 3-在建 9-投产
+    private String status;
+
+    // 1-入规 0未入规
+    private Boolean isRg;
+
+    // 实际入轨日期
+    private LocalDate rgDate;
+
+    // 创建人登录id
+    private String createUserId;
+
+    // 创建人登录名称
+    private String createUserName;
+
+    // 创建时间
+    private LocalDateTime createTime;
+
+    // 更新人id
+    private String lastUpdateUserId;
+
+    // 更新人名称
+    private String lastUpdateUserName;
+
+    // 最后一次更新时间
+    private LocalDateTime lastUpdateTime;
+
+    // 删除标记 0正常 1删除
+    private Boolean logicDeleteFlag;
+
+    // 1-绿灯 2-红灯
+    private String statusLamp;
+
+    // 投资类型: 1政府类、2 投资类
+    private String kindNature;
+
+    // 投资类型: 1政府类、2 投资类
+    private String subjectName;
+}

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubInfoQueryService.java

@@ -324,4 +324,6 @@ public interface SubInfoQueryService {
 	List<Map<String, Object>> queryPreNew(LoginUserVO loginUser, OtherQueryVO queryVO);
 
 	Map<String, Integer> getWarningBySubId(String subId);
+
+	Page queryPage(Page page, LoginUserVO loginUser, SubInfoQueryTzVO queryVO);
 }

+ 37 - 9
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -9,12 +9,15 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import cn.hutool.core.util.StrUtil;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.google.common.base.Strings;
 import com.rtrh.projects.modules.projects.dao.SubAmtPlanDao;
 import com.rtrh.projects.modules.projects.dao.SubLabelDao;
 import com.rtrh.projects.modules.projects.dao.SubSourceDao;
 import com.rtrh.projects.modules.projects.po.SubAmtPlan;
 import com.rtrh.projects.modules.projects.po.SubInfo;
+import com.rtrh.projects.modules.projects.po.SubInfoGxj;
 import com.rtrh.projects.modules.projects.service.SubRptContService;
 import com.rtrh.projects.modules.projects.vo.*;
 import com.rtrh.projects.modules.projects.vo.export.SubInfoFixVO;
@@ -23,6 +26,7 @@ import com.rtrh.projects.modules.system.enums.SysTableKind;
 import com.rtrh.projects.modules.system.po.JUnit;
 import com.rtrh.projects.modules.system.po.TSystable;
 import com.rtrh.projects.modules.system.service.TSysTableService;
+import com.rtrh.projects.modules.system.vo.PersonInfoVO;
 import com.rtrh.projects.modules.utils.DateUtils;
 import com.rtrh.projects.vo.statics.OtherQueryVO;
 import com.rtrh.projects.vo.statics.ProjectQueryVO;
@@ -88,7 +92,7 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         map.put("kg", 0);
         map.put("qq", 0);
         map.put("jg", 0);
-        if (subInfo != null){
+        if (subInfo != null) {
             // 1、月报超期情况:查询sub_rpt_cont表中是否有本项目上月的月报  超期5天以上亮红灯,超期5天内亮黄灯
             if (subInfo.getStatus().equals(ProjectStatusEnum.YKG.getKey())) {
                 // 获取当前年份
@@ -108,8 +112,8 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
                 }
             }
             // 2、开工超期情况:根据项目计划开工日期和当前日期进行比较,如果项目还处于新建或储备阶段,日期已经过去的话,则开工超期警告
-            if (subInfo.getStatus().equals(ProjectStatusEnum.PRE.getKey()) || subInfo.getStatus().equals(ProjectStatusEnum.DKG.getKey())){
-                if (subInfo.getBeginDate() != null && subInfo.getBeginDate().compareTo(new Date()) < 0){
+            if (subInfo.getStatus().equals(ProjectStatusEnum.PRE.getKey()) || subInfo.getStatus().equals(ProjectStatusEnum.DKG.getKey())) {
+                if (subInfo.getBeginDate() != null && subInfo.getBeginDate().compareTo(new Date()) < 0) {
                     map.put("kg", 2);
                 }
             }
@@ -119,20 +123,20 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
             String status = "1";    // 1代表需要办理,2代表无需办理
             String statusConf = "1"; // 0-未开始办理 1-开始办理 2-办理完成 3-退回
             String logicDeleteFlag = "0"; // 代表记录未被删除
-            Integer preNewRedCount = subInfoMapper.selectSubPreNewRed(subId,status,statusConf,logicDeleteFlag);
-            if (!subInfo.getStatus().equals(ProjectStatusEnum.TEMPSAVE.getKey()) && preNewRedCount > 0){
+            Integer preNewRedCount = subInfoMapper.selectSubPreNewRed(subId, status, statusConf, logicDeleteFlag);
+            if (!subInfo.getStatus().equals(ProjectStatusEnum.TEMPSAVE.getKey()) && preNewRedCount > 0) {
                 map.put("qq", 2);
-            }else if (!subInfo.getStatus().equals(ProjectStatusEnum.TEMPSAVE.getKey())){
+            } else if (!subInfo.getStatus().equals(ProjectStatusEnum.TEMPSAVE.getKey())) {
                 // 判断是否有黄灯手续
-                Integer preNewYellowCount = subInfoMapper.selectSubPreNewYellow(subId,status,statusConf,logicDeleteFlag);
+                Integer preNewYellowCount = subInfoMapper.selectSubPreNewYellow(subId, status, statusConf, logicDeleteFlag);
                 if (preNewYellowCount > 0) {
                     map.put("qq", 1);
                 }
             }
 
             // 4、竣工超期情况:查询项目竣工日期和当前日期进行比较,如果项目已经竣工,则项目竣工超期
-            if (!subInfo.getStatus().equals(ProjectStatusEnum.TEMPSAVE.getKey()) && !subInfo.getStatus().equals(ProjectStatusEnum.END.getKey())){
-                if (subInfo.getEndDate() != null && subInfo.getEndDate().compareTo(new Date()) < 0){
+            if (!subInfo.getStatus().equals(ProjectStatusEnum.TEMPSAVE.getKey()) && !subInfo.getStatus().equals(ProjectStatusEnum.END.getKey())) {
+                if (subInfo.getEndDate() != null && subInfo.getEndDate().compareTo(new Date()) < 0) {
                     map.put("jg", 2);
                 }
             }
@@ -142,6 +146,30 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         return map;
     }
 
+    @Override
+    public Page queryPage(Page page, LoginUserVO loginUser, SubInfoQueryTzVO queryVO) {
+        PageHelper.startPage(page.getPageNo(), page.getPageSize());
+        if (StringUtils.isNotBlank(queryVO.getStartAmt()))
+            queryVO.setStartAmt(new BigDecimal(queryVO.getStartAmt()).multiply(new BigDecimal("10000")).toString());
+        if (StringUtils.isNotBlank(queryVO.getEndAmt())) {
+            queryVO.setEndAmt(new BigDecimal(queryVO.getEndAmt()).multiply(new BigDecimal("10000")).toString());
+        }
+        List<SubInfoGxj> data = subInfoMapper.queryPage(queryVO);
+        PageInfo<SubInfoGxj> pageInfo = new PageInfo<>(data);
+        page.setList(data);
+        List<TSystable> byKind = tSysTableService.getByKind(SysTableKind.JSDD);
+        if (CollectionUtil.isNotEmpty(data)) {
+            data.forEach(e ->
+                    byKind.stream()
+                            .filter(k -> e.getSubjectId().equals(k.getCode()))
+                            .findFirst()
+                            .ifPresent(k -> e.setSubjectName(k.getTitle()))
+            );
+        }
+        page.setTotalCount(pageInfo.getTotal());
+        return page;
+    }
+
     @Override
     public Page pageAll(Page page, LoginUserVO loginUserVO, SubInfoQueryTzVO queryTzVO) {
         StringBuffer sql = new StringBuffer();

+ 41 - 18
projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoQueryApiController.java

@@ -61,25 +61,48 @@ public class SubInfoQueryApiController extends BaseController {
     public ListMessage queryAll(@RequestBody Page page, @RequestBody SubInfoQueryTzVO queryVO) {
         ListMessage message = new ListMessage();
         try {
-            Page pageData = subInfoQueryService.pageAll(page, getCurUser().getLoginUser(), queryVO);
-         /*   for (int i = 0; i < pageData.getList().size(); i++) {
-
-                Map<String, Object> map = (Map<String, Object>) pageData.getList().get(i);
-                //查询资金来源
-                String subId = map.get("id") == null ? "" : map.get("id") + "";
-                map.put("zjlyName", "--");
-                if (StringUtil.isNotEmpty(subId)) {
-                    List<SubSourceVO> list = subSourceDao.findBySubId(subId);
-                    String name = "";
-
-                    for (SubSourceVO subSourceVO : list) {
-                        name = name + (subSourceVO.getSourceName()==null?"--":subSourceVO.getSourceName()) + "</br>";
-                    }
-
-                    map.put("zjlyName", name);
-                }
-            }*/
+            Page pageData = subInfoQueryService.queryPage(page, getCurUser().getLoginUser(), queryVO);
+            message.add(pageData.getList(), pageData.getTotalCount());
+        } catch (Exception e) {
+            logger.error("", e);
+            message.add("查询失败");
+        }
+        return message;
+        // ListMessage message = new ListMessage();
+        // try {
+        //     Page pageData = subInfoQueryService.pageAll(page, getCurUser().getLoginUser(), queryVO);
+        //  /*   for (int i = 0; i < pageData.getList().size(); i++) {
+        //
+        //         Map<String, Object> map = (Map<String, Object>) pageData.getList().get(i);
+        //         //查询资金来源
+        //         String subId = map.get("id") == null ? "" : map.get("id") + "";
+        //         map.put("zjlyName", "--");
+        //         if (StringUtil.isNotEmpty(subId)) {
+        //             List<SubSourceVO> list = subSourceDao.findBySubId(subId);
+        //             String name = "";
+        //
+        //             for (SubSourceVO subSourceVO : list) {
+        //                 name = name + (subSourceVO.getSourceName()==null?"--":subSourceVO.getSourceName()) + "</br>";
+        //             }
+        //
+        //             map.put("zjlyName", name);
+        //         }
+        //     }*/
+        //
+        //     message.add(pageData.getList(), pageData.getTotalCount());
+        // } catch (Exception e) {
+        //     logger.error("", e);
+        //     message.add("查询失败");
+        // }
+        // return message;
+    }
 
+    // 查询项目
+    @PostMapping("queryPage")
+    public ListMessage queryPage(@RequestBody Page page, @RequestBody SubInfoQueryTzVO queryVO) {
+        ListMessage message = new ListMessage();
+        try {
+            Page pageData = subInfoQueryService.queryPage(page, getCurUser().getLoginUser(), queryVO);
             message.add(pageData.getList(), pageData.getTotalCount());
         } catch (Exception e) {
             logger.error("", e);

+ 17 - 9
projects/src/main/webapp/vmodules/subject/subInfo/tz/cb.jsp

@@ -375,9 +375,9 @@
                                     <div class="layui-form-item">
                                         <label class="layui-form-label required label-longers" style="width: 100px;">项目总投资</label>
                                         <div class="layui-input-block time_box">
-                                            <input type="number" name="totalInvestMin" placeholder="最小值" autocomplete="off" class="layui-input">
+                                            <input type="number" name="startAmt" placeholder="最小值" autocomplete="off" class="layui-input">
                                             <span class="split_txt">至</span>
-                                            <input type="number" name="totalInvestMax" placeholder="最大值" autocomplete="off" class="layui-input">
+                                            <input type="number" name="endAmt" placeholder="最大值" autocomplete="off" class="layui-input">
                                         </div>
                                     </div>
                                 </div>
@@ -386,7 +386,7 @@
                                         <label class="layui-form-label required label-longers">项目单位</label>
                                         <div class="layui-input-block">
                                             <div class="layui-input-block">
-                                                <input type="text" name="unitName" placeholder="请输入" autocomplete="off"
+                                                <input type="text" name="sbdw" placeholder="请输入" autocomplete="off"
                                                        class="layui-input">
                                             </div>
                                         </div>
@@ -1096,6 +1096,7 @@
             },
             getSearchParams: function () {
                 var param = layui.form.getValue("searchForm");
+                console.log(param)
                 if (param.rangeDate) {
                     param.beginDate = param.rangeDate.split(" ~ ")[0];
                     param.endDate = param.rangeDate.split(" ~ ")[1];
@@ -1119,7 +1120,13 @@
                 param.orderBy = this.sort.field;
                 param.orderType = this.sort.type || "asc";
                 // 查询 table 数据列表
-                App.postJson("/api/subInfo/query/all", param, function (res) {
+                // App.postJson("/api/subInfo/query/all", param, function (res) {
+                //     self.dataList = res.rows;
+                //     self.loadPage(res.total);
+                //     self.loadTable();
+                // });
+
+                App.postJson("/api/subInfo/query/queryPage", param, function (res) {
                     self.dataList = res.rows;
                     self.loadPage(res.total);
                     self.loadTable();
@@ -1202,11 +1209,12 @@
                     cols: [[ // 设置表头
                         {type: 'numbers', fixed: 'left', align: 'center', width: 44, title: '序号'},
                         {field: 'subName', fixed: 'left', title: '项目名称', width: 200, templet: '#subName'},
-                        {field: 'subject_id', fixed: 'left', title: '项目所在地', width: 200, templet: function (d) {
-                                let item = self.JSDD.find(item => item.code === d.subject_id)
-                                return item ? item.title: ""
-                            }
-                        },
+                        {field: 'subjectName', fixed: 'left', title: '项目名称', width: 200},
+                        // {field: 'subjectName', fixed: 'left', title: '项目所在地', width: 200, templet: function (d) {
+                        //         let item = self.JSDD.find(item => item.code === d.subjectId)
+                        //         return item ? item.title: ""
+                        //     }
+                        // },
                         {
                             field: 'amtTotal', fixed: 'left', title: '项目建设内容(亿元)', width: 200, templet: function (d) {
                                 return (d.amtTotal / 10000).toFixed(2) + "亿元";