Kaynağa Gözat

新增 批量重新生成 出入登记簿接口

zhulu 8 ay önce
ebeveyn
işleme
dcd0e326ee

+ 9 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/controller/CoreOutInRecordController.java

@@ -1,5 +1,6 @@
 package com.xunmei.core.letter.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xunmei.common.core.domain.letter.domain.CoreOutInRecord;
 import com.xunmei.common.core.domain.letter.dto.CoreOutInRecordRequestDto;
 import com.xunmei.common.core.domain.letter.vo.CoreOutInRecordVo;
@@ -15,6 +16,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
+
 /**
  * 人员出入登记Controller
  *
@@ -90,4 +93,10 @@ public class CoreOutInRecordController extends BaseController {
         return coreOutInRecordService.buildOutInRecordPdf(id);
     }
 
+    @ApiOperation(value = "批量生成来访管理登记簿")
+    @GetMapping("batchRebuild")
+    public AjaxResult batchReBuildPdf(CoreOutInRecordRequestDto requestDto) {
+       return AjaxResult.success(coreOutInRecordService.batchReBuildPdf(requestDto));
+    }
+
 }

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/mapper/CoreOutInRecordMapper.java

@@ -36,6 +36,8 @@ public interface CoreOutInRecordMapper extends BaseMapper<CoreOutInRecord> {
 
     Page<CoreOutInRecordVo> selectCoreOutInRecordPageList(@Param("page") Page<CoreOutInRecordVo> page, @Param("request") CoreOutInRecordRequestDto coreOutInRecord);
 
+    List<CoreOutInRecordVo> selectRecordList(@Param("request") CoreOutInRecordRequestDto request);
+
     /**
      * 新增人员出入登记
      *

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/ICoreOutInRecordService.java

@@ -73,4 +73,6 @@ public interface ICoreOutInRecordService extends IService<CoreOutInRecord> {
     TableDataInfo<CoreOutInRecordVo> selectPage(CoreOutInRecordRequestDto coreOutInRecord);
 
     AjaxResult buildOutInRecordPdf(Long id);
+
+    int batchReBuildPdf(CoreOutInRecordRequestDto requestDto);
 }

+ 15 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/impl/CoreOutInRecordServiceImpl.java

@@ -274,6 +274,21 @@ public class CoreOutInRecordServiceImpl extends ServiceImpl<CoreOutInRecordMappe
         return AjaxResult.success("正在生成pdf,请稍后刷新页面查看!");
     }
 
+    @Override
+    public int batchReBuildPdf(CoreOutInRecordRequestDto requestDto) {
+        final List<CoreOutInRecordVo> coreOutInRecordVos = coreOutInRecordMapper.selectRecordList(requestDto);
+        if(ObjectUtil.isNotEmpty(coreOutInRecordVos))
+        {
+            for (CoreOutInRecordVo record:coreOutInRecordVos) {
+                buildOutInRecordPdf(record.getId());
+            }
+            return coreOutInRecordVos.size();
+        }
+        else {
+            return 0;
+        }
+    }
+
     private String getFileOrgName(SysOrgVO org) {
         String[] strings = org.getPath().split("-");
         List<Long> list = Arrays.stream(strings).map(Long::valueOf).collect(Collectors.toList());

+ 9 - 5
soc-modules/soc-modules-core/src/main/resources/mapper/drill/CoreDrillDictionaryMapper.xml

@@ -121,11 +121,15 @@
         inner join sys_org o on d.org_id=o.id
         WHERE d.deleted=0 and o.deleted=0
         <include refid="pageSql"/>
-        and (d.org_id in
-        <foreach item="item" collection="request.orgIdList" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-        or d.org_path like concat(#{request.orgPath},'%'))
+        and (
+        <if test="request.orgIdList !=null and request.orgIdList.size>0">
+            d.org_id in
+                <foreach item="item" collection="request.orgIdList" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            or
+        </if>
+        d.org_path like concat(#{request.orgPath},'%'))
         order by ifnull(o.sort,0)
     </select>
 

+ 18 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/letter/CoreOutInRecordMapper.xml

@@ -109,6 +109,24 @@
         where r.id = #{id}
     </select>
 
+    <select id="selectRecordList" resultType="com.xunmei.common.core.domain.letter.vo.CoreOutInRecordVo">
+        SELECT
+            r.*
+        FROM
+            core_out_in_record r
+                INNER JOIN  core_introduce_letter_out_in_request l ON r.out_in_request_id = l.id
+        where r.pdf_url is null AND r.departure_time is not null
+        <if test="request.type != null">
+            AND l.letter_type =#{request.type}
+        </if>
+        <if test="request.startTime != null">
+            AND r.departure_time > #{request.startTime}
+        </if>
+        <if test="request.endTime != null">
+            AND r.departure_time <![CDATA[<]]> #{request.endTime}
+        </if>
+    </select>
+
     <insert id="insertCoreOutInRecord" parameterType="com.xunmei.common.core.domain.letter.domain.CoreOutInRecord">
         insert into core_out_in_record
         <trim prefix="(" suffix=")" suffixOverrides=",">