Browse Source

收文文号接口
学生消费管理有参导出

大数据与最优化研究所 1 year ago
parent
commit
c0633fbc37

+ 0 - 31
src/main/java/com/xjrsoft/module/liteflow/node/OfficialDocumentReceivedNode.java

@@ -1,31 +0,0 @@
-package com.xjrsoft.module.liteflow.node;
-
-import cn.hutool.core.convert.Convert;
-import com.xjrsoft.module.ledger.service.IWfSubscriptionService;
-import com.xjrsoft.module.oa.service.IOfficialDocumentReceivedService;
-import com.yomahub.liteflow.core.NodeComponent;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * 收文文号
- */
-@Component("official_document_received_node")
-public class OfficialDocumentReceivedNode extends NodeComponent {
-    @Autowired
-    private IOfficialDocumentReceivedService officialDocumentReceivedService;
-
-    @Override
-    public void process() throws Exception {
-        // 获取表单中数据编号
-        Map<String, Object> params = this.getFirstContextBean();
-        Object value = util.getFormDatKey(params,"id");
-        Long formId = Convert.toLong(value);
-        if (formId != null) {
-            // 数据处理
-            officialDocumentReceivedService.dataHandle(formId);
-        }
-    }
-}

+ 8 - 0
src/main/java/com/xjrsoft/module/oa/controller/OfficialDocumentReceivedController.java

@@ -99,4 +99,12 @@ public class OfficialDocumentReceivedController {
 
     }
 
+    @GetMapping(value = "/init-received-number")
+    @ApiOperation(value="新增时初始化公文号")
+    @SaCheckPermission("officialdocumentpost:detail")
+    public RT<String> initReceivedNumber(){
+        String maxReceivedNumber = officialDocumentReceivedService.getMaxReceivedNumber();
+        return RT.ok(maxReceivedNumber);
+    }
+
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/oa/mapper/OfficialDocumentReceivedMapper.java

@@ -13,5 +13,5 @@ import org.apache.ibatis.annotations.Mapper;
 */
 @Mapper
 public interface OfficialDocumentReceivedMapper extends MPJBaseMapper<OfficialDocumentReceived> {
-
+    Integer getMaxReceivedNumber();
 }

+ 4 - 1
src/main/java/com/xjrsoft/module/oa/service/IOfficialDocumentReceivedService.java

@@ -14,5 +14,8 @@ import java.util.List;
 */
 
 public interface IOfficialDocumentReceivedService extends MPJBaseService<OfficialDocumentReceived> {
-    Boolean dataHandle(Long formId);
+    /**
+     * 获取最新的收文号,在数据库中最大的基础上+1
+     */
+    String getMaxReceivedNumber();
 }

+ 6 - 34
src/main/java/com/xjrsoft/module/oa/service/impl/OfficialDocumentReceivedServiceImpl.java

@@ -6,8 +6,10 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.ledger.entity.WfSubscription;
 import com.xjrsoft.module.oa.entity.OfficialDocumentReceived;
+import com.xjrsoft.module.oa.mapper.OfficialDocumentPostMapper;
 import com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedMapper;
 import com.xjrsoft.module.oa.service.IOfficialDocumentReceivedService;
+import com.xjrsoft.module.oa.utils.PostNumberUtil;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -29,40 +31,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 @Service
 @AllArgsConstructor
 public class OfficialDocumentReceivedServiceImpl extends MPJBaseServiceImpl<OfficialDocumentReceivedMapper, OfficialDocumentReceived> implements IOfficialDocumentReceivedService {
+    private final OfficialDocumentReceivedMapper officialDocumentReceivedMapper;
     @Override
-    public Boolean dataHandle(Long formId) {
-        OfficialDocumentReceived officialDocumentReceived = this.getById(formId);
-
-        if (officialDocumentReceived != null) {
-
-            Date receivedDate = officialDocumentReceived.getReceivedDate();
-            LocalDate localDate = receivedDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-
-            String year = String.valueOf(localDate.getYear());
-
-            //获取当前内存中的最大编号
-            LambdaQueryWrapper<OfficialDocumentReceived> officialDocumentReceivedLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            officialDocumentReceivedLambdaQueryWrapper
-                    .select(OfficialDocumentReceived.class, x -> VoToColumnUtil.fieldsToColumns(OfficialDocumentReceived.class).contains(x.getProperty()))
-                    .likeRight(OfficialDocumentReceived::getReceivedNumber, year)
-                    .orderByDesc(OfficialDocumentReceived::getReceivedNumber)
-                    .last("limit 1");
-            OfficialDocumentReceived officialDocumentReceivedMax = this.getOne(officialDocumentReceivedLambdaQueryWrapper);
-
-            OfficialDocumentReceived officialDocumentReceivedNew = new OfficialDocumentReceived();
-            officialDocumentReceivedNew.setId(officialDocumentReceived.getId());
-            if (officialDocumentReceivedMax != null) {
-                String number = officialDocumentReceivedMax.getReceivedNumber();
-
-                int num = Integer.parseInt(number);
-                num = num + 1;
-
-                officialDocumentReceivedNew.setReceivedNumber(String.valueOf(num));
-            } else {
-                officialDocumentReceivedNew.setReceivedNumber(year + "001");
-            }
-            return this.updateById(officialDocumentReceivedNew);
-        }
-        return true;
+    public String getMaxReceivedNumber() {
+        Integer maxReceivedNumber = officialDocumentReceivedMapper.getMaxReceivedNumber();
+        return PostNumberUtil.initMaxPostNumber(maxReceivedNumber, 3);
     }
 }

+ 2 - 2
src/main/java/com/xjrsoft/module/student/controller/ConsumptionController.java

@@ -117,8 +117,8 @@ public class ConsumptionController {
         return RT.ok(pageOutput);
     }
 
-    @PostMapping("/export")
-    @ApiOperation(value = "导出")
+    @PostMapping("/export-query")
+    @ApiOperation(value = "有参导出")
     public ResponseEntity<byte[]> exportData(@Valid PbVXssfdetailExcelDto dto) {
         List<PbVXssfdetailExcelVo> dataList = pbVXssfdetailService.getList(dto);
         ByteArrayOutputStream bot = new ByteArrayOutputStream();

+ 1 - 1
src/main/java/com/xjrsoft/module/student/dto/PbVXssfdetailPageDto.java

@@ -45,6 +45,6 @@ public class PbVXssfdetailPageDto extends PageInput {
     @ApiModelProperty("班级Id")
     private String classIds;
 
-    @ApiModelProperty("班级Id")
+    @ApiModelProperty(value = "班级Id",hidden = true)
     private List<String> classIdList;
 }

+ 0 - 0
src/main/resources/mapper/student/OfficialDocumentPostMapper.xml → src/main/resources/mapper/oa/OfficialDocumentPostMapper.xml


+ 10 - 0
src/main/resources/mapper/oa/OfficialDocumentReceivedMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.oa.mapper.OfficialDocumentReceivedMapper">
+    <select id="getMaxReceivedNumber" resultType="java.lang.Integer">
+        SELECT IFNULL(MAX(SUBSTR(received_number,6,3)), 0) + 1 FROM official_document_received WHERE YEAR(received_number) = YEAR(NOW())
+    </select>
+
+</mapper>