Browse Source

pms 瑞鹰日报列表 优化部门名称排序规则

zhangcl 6 ngày trước cách đây
mục cha
commit
8c3d8c7238

+ 13 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotrhdailyreport/IotRhDailyReportMapper.java

@@ -8,11 +8,13 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.pms.controller.admin.iotrhdailyreport.vo.IotRhDailyReportPageReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotrhdailyreport.IotRhDailyReportDO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
@@ -60,6 +62,17 @@ public interface IotRhDailyReportMapper extends BaseMapperX<IotRhDailyReportDO>
                 .orderByAsc(IotRhDailyReportDO::getDeptId));
     } */
 
+    /**
+     * 查询 瑞恒日报列表
+     * @param page
+     * @param reqVO
+     * @param projectIds
+     * @return
+     */
+    IPage<IotRhDailyReportDO> rhDailyReports(IPage<IotRhDailyReportDO> page, @Param("reqVO") IotRhDailyReportPageReqVO reqVO,
+                                             @Param("taskIds") Collection<Long> taskIds,
+                                             @Param("projectIds") Collection<Long> projectIds, @Param("deptIds") Collection<Long> deptIds);
+
     default PageResult<IotRhDailyReportDO> selectPage(IotRhDailyReportPageReqVO reqVO) {
         // 检查contractName不为空但projectIds为空的情况
         if (StrUtil.isNotBlank(reqVO.getContractName()) && (CollUtil.isEmpty(reqVO.getProjectIds()))) {

+ 15 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotrhdailyreport/IotRhDailyReportServiceImpl.java

@@ -25,6 +25,8 @@ import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictTypeDO;
 import cn.iocoder.yudao.module.system.service.dept.DeptService;
 import cn.iocoder.yudao.module.system.service.dict.DictDataService;
 import cn.iocoder.yudao.module.system.service.dict.DictTypeService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import org.springframework.stereotype.Service;
@@ -344,7 +346,19 @@ public class IotRhDailyReportServiceImpl implements IotRhDailyReportService {
             ids.add(pageReqVO.getDeptId());
             pageReqVO.setDeptIds(ids);
         }
-        return iotRhDailyReportMapper.selectPage(pageReqVO);
+        // 检查contractName不为空但projectIds为空的情况
+        if (StrUtil.isNotBlank(pageReqVO.getContractName()) && (CollUtil.isEmpty(pageReqVO.getProjectIds()))) {
+            return new PageResult<>(Collections.emptyList(), 0L);
+        }
+        // 检查taskName不为空但taskIds为空的情况
+        if (StrUtil.isNotBlank(pageReqVO.getTaskName()) && (CollUtil.isEmpty(pageReqVO.getTaskIds()))) {
+            return new PageResult<>(Collections.emptyList(), 0L);
+        }
+        IPage<IotRhDailyReportDO> page = iotRhDailyReportMapper.rhDailyReports(
+                new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO,
+                pageReqVO.getTaskIds(), pageReqVO.getProjectIds(), ids);
+
+        return new PageResult<>(page.getRecords(), page.getTotal());
     }
 
     @Override

+ 57 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/iotprojecttask/IotRhDailyReportMapper.xml

@@ -15,6 +15,29 @@
         <result column="construction_end_date" property="constructionEndDate" />
         <result column="relocation_days" property="relocationDays" />
         <!-- 其他字段映射 -->
+        <result column="project_classification" property="projectClassification" />
+        <result column="transit_time" property="transitTime" />
+        <result column="daily_gas_injection" property="dailyGasInjection" />
+        <result column="daily_water_injection" property="dailyWaterInjection" />
+        <result column="daily_inject_gas_time" property="dailyInjectGasTime" />
+        <result column="daily_inject_water_time" property="dailyInjectWaterTime" />
+        <result column="daily_power_usage" property="dailyPowerUsage" />
+        <!-- 其他字段映射 -->
+        <result column="non_production_time" property="nonProductionTime" />
+        <result column="npt_reason" property="nptReason" />
+        <result column="production_status" property="productionStatus" />
+        <result column="next_plan" property="nextPlan" />
+        <result column="total_water_injection" property="totalWaterInjection" />
+        <result column="personnel" property="personnel" />
+        <result column="total_gas_injection" property="totalGasInjection" />
+        <!-- 其他字段映射 -->
+        <result column="cumulative_completion" property="cumulativeCompletion" />
+        <result column="remark" property="remark" />
+        <result column="status" property="status" />
+        <result column="creator" property="creator" />
+        <result column="create_time" property="createTime" />
+        <result column="updater" property="updater" />
+        <result column="update_time" property="updateTime" />
     </resultMap>
 
     <!-- 使用窗口函数实现分组查询 -->
@@ -112,4 +135,38 @@
         GROUP BY dept_id;
     </select>
 
+    <select id="rhDailyReports" resultMap="BaseResultMap"
+            parameterType="cn.iocoder.yudao.module.pms.controller.admin.iotrhdailyreport.vo.IotRhDailyReportPageReqVO">
+        SELECT
+            *
+        FROM
+            rq_iot_rh_daily_report rdr
+        INNER JOIN system_dept d ON d.id = rdr.dept_id
+        WHERE
+            rdr.deleted = 0
+        AND rdr.dept_id IS NOT NULL
+        <if test="deptIds != null and deptIds.size &gt; 0">
+            AND rdr.dept_id IN
+            <foreach collection="deptIds" index="index" item="key" open="(" separator="," close=")">
+                #{key}
+            </foreach>
+        </if>
+        <if test="projectIds != null and projectIds.size &gt; 0">
+            AND rdr.project_id IN
+            <foreach collection="projectIds" index="index" item="key" open="(" separator="," close=")">
+                #{key}
+            </foreach>
+        </if>
+        <if test="taskIds != null and taskIds.size &gt; 0">
+            AND rdr.task_id IN
+            <foreach collection="taskIds" index="index" item="key" open="(" separator="," close=")">
+                #{key}
+            </foreach>
+        </if>
+        ORDER BY
+            rdr.create_time DESC,
+            REGEXP_REPLACE ( d.`name`, '[0-9]+', '' ) ASC,
+            CAST( REGEXP_REPLACE ( d.`name`, '[^0-9]+', '' ) AS UNSIGNED ) ASC;
+    </select>
+
 </mapper>

+ 3 - 3
yudao-server/src/main/java/cn/iocoder/yudao/server/controller/DefaultController.java

@@ -84,11 +84,11 @@ public class DefaultController {
     @PermitAll
     public CommonResult<Boolean> test(HttpServletRequest request) {
         // 打印查询参数
-        log.info("Query: {}", ServletUtils.getParamMap(request));
+        // log.info("Query: {}", ServletUtils.getParamMap(request));
         // 打印请求头
-        log.info("Header: {}", ServletUtils.getHeaderMap(request));
+        // log.info("Header: {}", ServletUtils.getHeaderMap(request));
         // 打印请求体
-        log.info("Body: {}", ServletUtils.getBody(request));
+        // log.info("Body: {}", ServletUtils.getBody(request));
         return CommonResult.success(true);
     }