Browse Source

Merge branch 'demo_' of http://123.60.19.203:8088/hitch/hitch-sb

guarantee-lsq 3 years ago
parent
commit
68ac671d39
58 changed files with 2748 additions and 267 deletions
  1. 90 0
      platform-dao/src/main/java/com/platform/dao/dto/customize/CustomFieldTemplateDTO.java
  2. 90 0
      platform-dao/src/main/java/com/platform/dao/dto/customize/CustomFieldTemplateDataDTO.java
  3. 142 0
      platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoStopDetailDTO.java
  4. 10 0
      platform-dao/src/main/java/com/platform/dao/dto/store/InStoreFormDTO.java
  5. 10 0
      platform-dao/src/main/java/com/platform/dao/dto/store/OutStoreFormDTO.java
  6. 1 0
      platform-dao/src/main/java/com/platform/dao/dto/store/StoreCheckJobDTO.java
  7. 77 0
      platform-dao/src/main/java/com/platform/dao/entity/customize/CustomFieldTemplate.java
  8. 77 0
      platform-dao/src/main/java/com/platform/dao/entity/customize/CustomFieldTemplateData.java
  9. 105 0
      platform-dao/src/main/java/com/platform/dao/entity/sb/SbInfoStopDetail.java
  10. 5 1
      platform-dao/src/main/java/com/platform/dao/enums/ArticleTypeEnum.java
  11. 27 0
      platform-dao/src/main/java/com/platform/dao/enums/SbInfoStopDetailStatusEnum.java
  12. 27 0
      platform-dao/src/main/java/com/platform/dao/enums/SbInfoStopDetailTypeEnum.java
  13. 26 0
      platform-dao/src/main/java/com/platform/dao/mapper/customize/CustomFieldTemplateDataMapper.java
  14. 26 0
      platform-dao/src/main/java/com/platform/dao/mapper/customize/CustomFieldTemplateMapper.java
  15. 26 0
      platform-dao/src/main/java/com/platform/dao/mapper/sb/SbInfoStopDetailMapper.java
  16. 1 0
      platform-dao/src/main/java/com/platform/dao/mapper/store/InStoreDetailMapper.java
  17. 1 0
      platform-dao/src/main/java/com/platform/dao/util/TreeUtil.java
  18. 8 0
      platform-dao/src/main/java/com/platform/dao/vo/ArticleVO.java
  19. 87 0
      platform-dao/src/main/java/com/platform/dao/vo/export/customize/ExportCustomFieldTemplateDataVO.java
  20. 87 0
      platform-dao/src/main/java/com/platform/dao/vo/export/customize/ExportCustomFieldTemplateVO.java
  21. 134 0
      platform-dao/src/main/java/com/platform/dao/vo/export/sb/ExportSbInfoStopDetailVO.java
  22. 72 0
      platform-dao/src/main/java/com/platform/dao/vo/query/customize/CustomFieldTemplateDataVO.java
  23. 72 0
      platform-dao/src/main/java/com/platform/dao/vo/query/customize/CustomFieldTemplateVO.java
  24. 104 0
      platform-dao/src/main/java/com/platform/dao/vo/query/sb/SbInfoStopDetailVO.java
  25. 63 0
      platform-dao/src/main/java/com/platform/dao/vo/report/StoreInAndOutReportVO.java
  26. 1 2
      platform-dao/src/main/resources/application-daoDev.yml
  27. 13 9
      platform-dao/src/main/resources/application-daoTest.yml
  28. 80 0
      platform-dao/src/main/resources/mapper/customize/CustomFieldTemplateDataMapper.xml
  29. 80 0
      platform-dao/src/main/resources/mapper/customize/CustomFieldTemplateMapper.xml
  30. 1 1
      platform-dao/src/main/resources/mapper/operate/ArticleMapper.xml
  31. 139 0
      platform-dao/src/main/resources/mapper/sb/SbInfoStopDetailMapper.xml
  32. 6 0
      platform-dao/src/main/resources/mapper/store/InStoreFormMapper.xml
  33. 6 0
      platform-dao/src/main/resources/mapper/store/OutStoreFormMapper.xml
  34. 180 0
      platform-rest/src/main/java/com/platform/rest/controller/customize/CustomFieldTemplateController.java
  35. 154 0
      platform-rest/src/main/java/com/platform/rest/controller/customize/CustomFieldTemplateDataController.java
  36. 92 2
      platform-rest/src/main/java/com/platform/rest/controller/report/StoreReportController.java
  37. 171 0
      platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoStopDetailController.java
  38. 2 2
      platform-rest/src/main/java/com/platform/rest/task/SparePartInfoTask.java
  39. 2 2
      platform-rest/src/main/resources/application-test.yml
  40. 1 32
      platform-rest/src/main/resources/templates/repairCheckEmail.ftl
  41. 2 32
      platform-rest/src/main/resources/templates/repairEmail.ftl
  42. 1 32
      platform-rest/src/main/resources/templates/repairEmailFirst.ftl
  43. 1 32
      platform-rest/src/main/resources/templates/repairEmailOverTimeFirst.ftl
  44. 1 32
      platform-rest/src/main/resources/templates/repairEmailOverTimeSecond.ftl
  45. 1 32
      platform-rest/src/main/resources/templates/repairEmailOverTimeThird.ftl
  46. 1 32
      platform-rest/src/main/resources/templates/repairEmailSecond.ftl
  47. 36 0
      platform-service/src/main/java/com/platform/service/customize/CustomFieldTemplateDataService.java
  48. 36 0
      platform-service/src/main/java/com/platform/service/customize/CustomFieldTemplateService.java
  49. 58 0
      platform-service/src/main/java/com/platform/service/customize/impl/CustomFieldTemplateDataServiceImpl.java
  50. 58 0
      platform-service/src/main/java/com/platform/service/customize/impl/CustomFieldTemplateServiceImpl.java
  51. 7 1
      platform-service/src/main/java/com/platform/service/fill/impl/FillExecuteServiceImpl.java
  52. 7 2
      platform-service/src/main/java/com/platform/service/operate/impl/ArticleServiceImpl.java
  53. 37 0
      platform-service/src/main/java/com/platform/service/sb/SbInfoStopDetailService.java
  54. 79 0
      platform-service/src/main/java/com/platform/service/sb/impl/SbInfoStopDetailServiceImpl.java
  55. 1 1
      platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartInfoServiceImpl.java
  56. 7 2
      platform-service/src/main/java/com/platform/service/store/StoreMonthReportService.java
  57. 4 0
      platform-service/src/main/java/com/platform/service/store/impl/InStoreDetailServiceImpl.java
  58. 115 18
      platform-service/src/main/java/com/platform/service/store/impl/StoreMonthReportServiceImpl.java

+ 90 - 0
platform-dao/src/main/java/com/platform/dao/dto/customize/CustomFieldTemplateDTO.java

@@ -0,0 +1,90 @@
+package com.platform.dao.dto.customize;
+
+import com.platform.common.bean.BaseDTO;
+import com.platform.common.validation.group.UpdateGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 自定义报表DTO
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CustomFieldTemplateDTO extends BaseDTO implements Serializable {
+
+      /**
+     * 模板id
+     */
+        @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
+    private String id;
+          /**
+     * 模板内容
+     */
+          private String content;
+          /**
+     * 类型
+     */
+          private Integer type;
+          /**
+     * 备注
+     */
+          private String remark;
+          /**
+     * 创建日期
+     */
+        private LocalDateTime createdTime;
+      /**
+       * 创建日期开始
+       */
+      private LocalDateTime createdTimeStart;
+      /**
+       * 创建日期结束
+       */
+      private LocalDateTime createdTimeEnd;
+          /**
+     * 更新日期
+     */
+        private LocalDateTime updateTime;
+      /**
+       * 更新日期开始
+       */
+      private LocalDateTime updateTimeStart;
+      /**
+       * 更新日期结束
+       */
+      private LocalDateTime updateTimeEnd;
+          /**
+     * 创建人
+     */
+          private String createdUserId;
+          /**
+     * 创建人名称
+     */
+          private String createdUserName;
+          /**
+     * 更新人
+     */
+          private String updateUserId;
+          /**
+     * 更新人名称
+     */
+          private String updateUserName;
+          /**
+     * 二级类别
+     */
+          private String secondTypeId;
+        /**
+     * 关键字
+     */
+  private String keyword;
+
+}

+ 90 - 0
platform-dao/src/main/java/com/platform/dao/dto/customize/CustomFieldTemplateDataDTO.java

@@ -0,0 +1,90 @@
+package com.platform.dao.dto.customize;
+
+import com.platform.common.bean.BaseDTO;
+import com.platform.common.validation.group.UpdateGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 自定义报表DTO
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CustomFieldTemplateDataDTO extends BaseDTO implements Serializable {
+
+      /**
+     * id
+     */
+        @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
+    private String id;
+          /**
+     * 类型
+     */
+          private Integer type;
+          /**
+     * 所属对象id
+     */
+          private String objId;
+          /**
+     * 模板数据
+     */
+          private String data;
+          /**
+     * 备注
+     */
+          private String remark;
+          /**
+     * 创建日期
+     */
+        private LocalDateTime createdTime;
+      /**
+       * 创建日期开始
+       */
+      private LocalDateTime createdTimeStart;
+      /**
+       * 创建日期结束
+       */
+      private LocalDateTime createdTimeEnd;
+          /**
+     * 更新日期
+     */
+        private LocalDateTime updateTime;
+      /**
+       * 更新日期开始
+       */
+      private LocalDateTime updateTimeStart;
+      /**
+       * 更新日期结束
+       */
+      private LocalDateTime updateTimeEnd;
+          /**
+     * 创建人
+     */
+          private String createdUserId;
+          /**
+     * 创建人名称
+     */
+          private String createdUserName;
+          /**
+     * 更新人
+     */
+          private String updateUserId;
+          /**
+     * 更新人名称
+     */
+          private String updateUserName;
+        /**
+     * 关键字
+     */
+  private String keyword;
+
+}

+ 142 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoStopDetailDTO.java

@@ -0,0 +1,142 @@
+package com.platform.dao.dto.sb;
+
+import com.platform.common.bean.BaseDTO;
+import com.platform.common.validation.group.UpdateGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 设备停用记录表DTO
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class SbInfoStopDetailDTO extends BaseDTO implements Serializable {
+
+      /**
+     * $column.comments
+     */
+        @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
+    private String id;
+          /**
+     * $column.comments
+     */
+          private String no;
+          /**
+     * 设备Id
+     */
+          private String sbId;
+          /**
+     * $column.comments
+     */
+          private Integer repairId;
+          /**
+     * $column.comments
+     */
+          private String userId;
+          /**
+     * 类型
+     */
+          private Integer type;
+          /**
+     * $column.comments
+     */
+        private LocalDate applyDate;
+      /**
+       * $column.comments开始
+       */
+      private LocalDate applyDateStart;
+      /**
+       * $column.comments结束
+       */
+      private LocalDate applyDateEnd;
+          /**
+     * $column.comments
+     */
+        private LocalDate startDate;
+      /**
+       * $column.comments开始
+       */
+      private LocalDate startDateStart;
+      /**
+       * $column.comments结束
+       */
+      private LocalDate startDateEnd;
+          /**
+     * $column.comments
+     */
+        private LocalDate stopDate;
+      /**
+       * $column.comments开始
+       */
+      private LocalDate stopDateStart;
+      /**
+       * $column.comments结束
+       */
+      private LocalDate stopDateEnd;
+          /**
+     * $column.comments
+     */
+          private String content;
+          /**
+     * 状态
+     */
+          private Integer status;
+          /**
+     * $column.comments
+     */
+          private String remark;
+          /**
+     * $column.comments
+     */
+        private LocalDateTime createdTime;
+      /**
+       * $column.comments开始
+       */
+      private LocalDateTime createdTimeStart;
+      /**
+       * $column.comments结束
+       */
+      private LocalDateTime createdTimeEnd;
+          /**
+     * $column.comments
+     */
+        private LocalDateTime updateTime;
+      /**
+       * $column.comments开始
+       */
+      private LocalDateTime updateTimeStart;
+      /**
+       * $column.comments结束
+       */
+      private LocalDateTime updateTimeEnd;
+          /**
+     * $column.comments
+     */
+          private String createdUserId;
+          /**
+     * $column.comments
+     */
+          private String createdUserName;
+          /**
+     * $column.comments
+     */
+          private String updateUserId;
+          /**
+     * $column.comments
+     */
+          private String updateUserName;
+        /**
+     * 关键字
+     */
+  private String keyword;
+
+}

+ 10 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/InStoreFormDTO.java

@@ -29,6 +29,16 @@ public class InStoreFormDTO extends BaseDTO implements Serializable {
      */
     @Transient
     private String useCompany;
+
+    /**
+     * 搜索开始时间
+     */
+    private LocalDateTime searchStartTime;
+
+    /**
+     * 搜索结束时间
+     */
+    private LocalDateTime searchEndTime;
     /**
      * 使用项目部
      */

+ 10 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/OutStoreFormDTO.java

@@ -29,6 +29,16 @@ public class OutStoreFormDTO extends BaseDTO implements Serializable {
      */
     @Transient
     private String useCompany;
+
+    /**
+     * 搜索开始时间
+     */
+    private LocalDateTime searchStartTime;
+
+    /**
+     * 搜索结束时间
+     */
+    private LocalDateTime searchEndTime;
     /**
      * 使用项目部
      */

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/StoreCheckJobDTO.java

@@ -31,6 +31,7 @@ public class StoreCheckJobDTO extends BaseDTO implements Serializable {
     @Id
     private String id;
 
+
     /**
      * 计划id
      */

+ 77 - 0
platform-dao/src/main/java/com/platform/dao/entity/customize/CustomFieldTemplate.java

@@ -0,0 +1,77 @@
+package com.platform.dao.entity.customize;
+
+import lombok.Data;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+import lombok.experimental.Accessors;
+import com.platform.common.bean.DataScope;
+import javax.persistence.Transient;
+
+/**
+ * @Description 自定义报表实体类
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_custom_field_template")
+public class CustomFieldTemplate implements Serializable{
+
+    /**
+     * 模板id
+     */
+        @Id
+    private String id;
+    /**
+     * 模板内容
+     */
+    private String content;
+    /**
+     * 类型
+     */
+    private Integer type;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 创建日期
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 更新日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 创建人
+     */
+    private String createdUserId;
+    /**
+     * 创建人名称
+     */
+    private String createdUserName;
+    /**
+     * 更新人
+     */
+    private String updateUserId;
+    /**
+     * 更新人名称
+     */
+    private String updateUserName;
+    /**
+     * 二级类别
+     */
+    private String secondTypeId;
+
+   /**
+    * 数据权限
+    */
+    @Transient
+    private DataScope dataScope;
+
+}

+ 77 - 0
platform-dao/src/main/java/com/platform/dao/entity/customize/CustomFieldTemplateData.java

@@ -0,0 +1,77 @@
+package com.platform.dao.entity.customize;
+
+import lombok.Data;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+import lombok.experimental.Accessors;
+import com.platform.common.bean.DataScope;
+import javax.persistence.Transient;
+
+/**
+ * @Description 自定义报表实体类
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_custom_field_template_data")
+public class CustomFieldTemplateData implements Serializable{
+
+    /**
+     * id
+     */
+        @Id
+    private String id;
+    /**
+     * 类型
+     */
+    private Integer type;
+    /**
+     * 所属对象id
+     */
+    private String objId;
+    /**
+     * 模板数据
+     */
+    private String data;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 创建日期
+     */
+    private LocalDateTime createdTime;
+    /**
+     * 更新日期
+     */
+    private LocalDateTime updateTime;
+    /**
+     * 创建人
+     */
+    private String createdUserId;
+    /**
+     * 创建人名称
+     */
+    private String createdUserName;
+    /**
+     * 更新人
+     */
+    private String updateUserId;
+    /**
+     * 更新人名称
+     */
+    private String updateUserName;
+
+   /**
+    * 数据权限
+    */
+    @Transient
+    private DataScope dataScope;
+
+}

+ 105 - 0
platform-dao/src/main/java/com/platform/dao/entity/sb/SbInfoStopDetail.java

@@ -0,0 +1,105 @@
+package com.platform.dao.entity.sb;
+
+import lombok.Data;
+
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+import lombok.experimental.Accessors;
+import com.platform.common.bean.DataScope;
+import javax.persistence.Transient;
+
+/**
+ * @Description 设备停用记录表实体类
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "t_sb_info_stop_detail")
+public class SbInfoStopDetail implements Serializable{
+
+    /**
+     * $column.comments
+     */
+        @Id
+    private String id;
+    /**
+     * $column.comments
+     */
+    private String no;
+    /**
+     * 设备Id
+     */
+    private String sbId;
+    /**
+     * $column.comments
+     */
+    private Integer repairId;
+    /**
+     * $column.comments
+     */
+    private String userId;
+    /**
+     * 类型:1停机记录,2启动记录
+     */
+    private Integer type;
+    /**
+     * $column.comments
+     */
+    private LocalDate applyDate;
+    /**
+     * $column.comments
+     */
+    private LocalDate startDate;
+    /**
+     * $column.comments
+     */
+    private LocalDate stopDate;
+    /**
+     * $column.comments
+     */
+    private String content;
+    /**
+     * 状态:0:未执行,1执行
+     */
+    private Integer status;
+    /**
+     * $column.comments
+     */
+    private String remark;
+    /**
+     * $column.comments
+     */
+    private LocalDateTime createdTime;
+    /**
+     * $column.comments
+     */
+    private LocalDateTime updateTime;
+    /**
+     * $column.comments
+     */
+    private String createdUserId;
+    /**
+     * $column.comments
+     */
+    private String createdUserName;
+    /**
+     * $column.comments
+     */
+    private String updateUserId;
+    /**
+     * $column.comments
+     */
+    private String updateUserName;
+
+   /**
+    * 数据权限
+    */
+    @Transient
+    private DataScope dataScope;
+
+}

+ 5 - 1
platform-dao/src/main/java/com/platform/dao/enums/ArticleTypeEnum.java

@@ -40,7 +40,11 @@ public enum ArticleTypeEnum {
     /**
      * 信息咨询
      */
-    XXZX(7);
+    XXZX(7),
+    /**
+     * 常用下载
+     */
+    CYXZ(8);
     private Integer value;
 
 }

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/enums/SbInfoStopDetailStatusEnum.java

@@ -0,0 +1,27 @@
+package com.platform.dao.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 设备停机状态表:1未审核,2已审核(变更设备状态)
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum SbInfoStopDetailStatusEnum {
+
+    /**
+     * 1未审核
+     */
+    NOT_EXECUTE(1),
+    /**
+     * 2已审核
+     */
+    EXECUTING(2),
+    ;
+    private final Integer value;
+
+}

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/enums/SbInfoStopDetailTypeEnum.java

@@ -0,0 +1,27 @@
+package com.platform.dao.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 设备停机类型表:维修停机、保养停机、其他停机
+ * @Author chenyuehu
+ * @Date 2020/2/17
+ * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum SbInfoStopDetailTypeEnum {
+
+    /**
+     * 停用
+     */
+    SB_INFO_STOP_DETAIL_TYPE_STOP(1),
+    /**
+     * 启用
+     */
+    SB_INFO_STOP_DETAIL_TYPE_START(2);
+
+    private Integer value;
+
+}

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/mapper/customize/CustomFieldTemplateDataMapper.java

@@ -0,0 +1,26 @@
+package com.platform.dao.mapper.customize;
+
+import com.platform.dao.dto.customize.CustomFieldTemplateDataDTO;
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.entity.customize.CustomFieldTemplateData;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
+import org.springframework.stereotype.Component;
+import java.util.List;
+
+
+/**
+ * @Description 自定义报表 mapper
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface CustomFieldTemplateDataMapper extends MyMapper<CustomFieldTemplateData> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<CustomFieldTemplateDataVO> selectList(CustomFieldTemplateDataDTO dto);
+
+}

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/mapper/customize/CustomFieldTemplateMapper.java

@@ -0,0 +1,26 @@
+package com.platform.dao.mapper.customize;
+
+import com.platform.dao.dto.customize.CustomFieldTemplateDTO;
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.entity.customize.CustomFieldTemplate;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateVO;
+import org.springframework.stereotype.Component;
+import java.util.List;
+
+
+/**
+ * @Description 自定义报表 mapper
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface CustomFieldTemplateMapper extends MyMapper<CustomFieldTemplate> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<CustomFieldTemplateVO> selectList(CustomFieldTemplateDTO dto);
+
+}

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbInfoStopDetailMapper.java

@@ -0,0 +1,26 @@
+package com.platform.dao.mapper.sb;
+
+import com.platform.dao.dto.sb.SbInfoStopDetailDTO;
+import com.platform.dao.config.MyMapper;
+import com.platform.dao.entity.sb.SbInfoStopDetail;
+import com.platform.dao.vo.query.sb.SbInfoStopDetailVO;
+import org.springframework.stereotype.Component;
+import java.util.List;
+
+
+/**
+ * @Description 设备停用记录表 mapper
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Component
+public interface SbInfoStopDetailMapper extends MyMapper<SbInfoStopDetail> {
+    /**
+     * 分页查询
+     * @param dto
+     * @return
+     */
+    List<SbInfoStopDetailVO> selectList(SbInfoStopDetailDTO dto);
+
+}

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/mapper/store/InStoreDetailMapper.java

@@ -30,5 +30,6 @@ public interface InStoreDetailMapper extends MyMapper<InStoreDetail> {
      */
     List<InStoreDetailVO> selectReportList(InStoreDetailDTO dto);
 
+
     void updateBatch(List<InStoreDetail> updateDetailList);
 }

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/util/TreeUtil.java

@@ -16,6 +16,7 @@ import com.platform.dao.entity.upms.SysDict;
 import com.platform.dao.entity.upms.SysMenu;
 import com.platform.dao.pojo.CommonTree;
 import com.platform.dao.pojo.TreeNode;
+import com.platform.dao.vo.query.store.StoreVO;
 import com.platform.dao.vo.sb.SbTypeVO;
 import lombok.experimental.UtilityClass;
 

+ 8 - 0
platform-dao/src/main/java/com/platform/dao/vo/ArticleVO.java

@@ -123,4 +123,12 @@ public class ArticleVO implements Serializable {
      * 成功案例
      */
     List<Article> list6;
+    /**
+     * 信息咨询
+     */
+    List<Article> list7;
+    /**
+     * 常用下载
+     */
+    List<Article> list8;
 }

+ 87 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/customize/ExportCustomFieldTemplateDataVO.java

@@ -0,0 +1,87 @@
+package com.platform.dao.vo.export.customize;
+
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 自定义报表导出VO
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class ExportCustomFieldTemplateDataVO implements Serializable {
+
+    /**
+   * id
+   */
+          @Excel(name = "id", orderNum = "1")
+      private String id;
+    
+    /**
+   * 类型
+   */
+          @Excel(name = "类型", orderNum = "2")
+      private Integer type;
+    
+    /**
+   * 所属对象id
+   */
+          @Excel(name = "所属对象id", orderNum = "3")
+      private String objId;
+    
+    /**
+   * 模板数据
+   */
+          @Excel(name = "模板数据", orderNum = "4")
+      private String data;
+    
+    /**
+   * 备注
+   */
+          @Excel(name = "备注", orderNum = "5")
+      private String remark;
+    
+    /**
+   * 创建日期
+   */
+          @Excel(name = "创建日期", orderNum = "6")
+      private LocalDateTime createdTime;
+    
+    /**
+   * 更新日期
+   */
+          @Excel(name = "更新日期", orderNum = "7")
+      private LocalDateTime updateTime;
+    
+    /**
+   * 创建人
+   */
+          @Excel(name = "创建人", orderNum = "8")
+      private String createdUserId;
+    
+    /**
+   * 创建人名称
+   */
+          @Excel(name = "创建人名称", orderNum = "9")
+      private String createdUserName;
+    
+    /**
+   * 更新人
+   */
+          @Excel(name = "更新人", orderNum = "10")
+      private String updateUserId;
+    
+    /**
+   * 更新人名称
+   */
+          @Excel(name = "更新人名称", orderNum = "11")
+      private String updateUserName;
+    
+  
+}

+ 87 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/customize/ExportCustomFieldTemplateVO.java

@@ -0,0 +1,87 @@
+package com.platform.dao.vo.export.customize;
+
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 自定义报表导出VO
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class ExportCustomFieldTemplateVO implements Serializable {
+
+    /**
+   * 模板id
+   */
+          @Excel(name = "模板id", orderNum = "1")
+      private String id;
+    
+    /**
+   * 模板内容
+   */
+          @Excel(name = "模板内容", orderNum = "2")
+      private String content;
+    
+    /**
+   * 类型
+   */
+          @Excel(name = "类型", orderNum = "3")
+      private Integer type;
+    
+    /**
+   * 备注
+   */
+          @Excel(name = "备注", orderNum = "4")
+      private String remark;
+    
+    /**
+   * 创建日期
+   */
+          @Excel(name = "创建日期", orderNum = "5")
+      private LocalDateTime createdTime;
+    
+    /**
+   * 更新日期
+   */
+          @Excel(name = "更新日期", orderNum = "6")
+      private LocalDateTime updateTime;
+    
+    /**
+   * 创建人
+   */
+          @Excel(name = "创建人", orderNum = "7")
+      private String createdUserId;
+    
+    /**
+   * 创建人名称
+   */
+          @Excel(name = "创建人名称", orderNum = "8")
+      private String createdUserName;
+    
+    /**
+   * 更新人
+   */
+          @Excel(name = "更新人", orderNum = "9")
+      private String updateUserId;
+    
+    /**
+   * 更新人名称
+   */
+          @Excel(name = "更新人名称", orderNum = "10")
+      private String updateUserName;
+    
+    /**
+   * 二级类别
+   */
+          @Excel(name = "二级类别", orderNum = "11")
+      private String secondTypeId;
+    
+  
+}

+ 134 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/sb/ExportSbInfoStopDetailVO.java

@@ -0,0 +1,134 @@
+package com.platform.dao.vo.export.sb;
+
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 设备停用记录表导出VO
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class ExportSbInfoStopDetailVO implements Serializable {
+
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "1")
+      private String id;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "2")
+      private String no;
+    
+    /**
+   * 设备Id
+   */
+          @Excel(name = "设备Id", orderNum = "3")
+      private String sbId;
+      /**
+       * 设备Id -名称
+       */
+      @Excel(name = "设备Id", orderNum = "3")
+      private String sbInfoName;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "4")
+      private Integer repairId;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "5")
+      private String userId;
+    
+    /**
+   * 类型
+   */
+          @Excel(name = "类型", orderNum = "6")
+      private Integer type;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "7")
+      private LocalDate applyDate;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "8")
+      private LocalDate startDate;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "9")
+      private LocalDate stopDate;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "10")
+      private String content;
+    
+    /**
+   * 状态
+   */
+          @Excel(name = "状态", orderNum = "11")
+      private Integer status;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "12")
+      private String remark;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "13")
+      private LocalDateTime createdTime;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "14")
+      private LocalDateTime updateTime;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "15")
+      private String createdUserId;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "16")
+      private String createdUserName;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "17")
+      private String updateUserId;
+    
+    /**
+   * $column.comments
+   */
+          @Excel(name = "$column.comments", orderNum = "18")
+      private String updateUserName;
+    
+  
+}

+ 72 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/customize/CustomFieldTemplateDataVO.java

@@ -0,0 +1,72 @@
+package com.platform.dao.vo.query.customize;
+
+import lombok.Data;
+import com.platform.common.bean.BaseVO;
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 自定义报表VO结果类
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CustomFieldTemplateDataVO extends BaseVO implements Serializable{
+
+    /**
+     * id
+     */
+        private String id;
+        /**
+     * 类型
+     */
+        private Integer type;
+        /**
+     * 所属对象id
+     */
+        private String objId;
+        /**
+     * 模板数据
+     */
+        private String data;
+        /**
+     * 备注
+     */
+        private String remark;
+        /**
+     * 创建日期
+     */
+        private LocalDateTime createdTime;
+        /**
+     * 更新日期
+     */
+        private LocalDateTime updateTime;
+        /**
+     * 创建人
+     */
+        private String createdUserId;
+        /**
+     * 创建人名称
+     */
+        private String createdUserName;
+        /**
+     * 更新人
+     */
+        private String updateUserId;
+        /**
+     * 更新人名称
+     */
+        private String updateUserName;
+    
+
+
+}

+ 72 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/customize/CustomFieldTemplateVO.java

@@ -0,0 +1,72 @@
+package com.platform.dao.vo.query.customize;
+
+import lombok.Data;
+import com.platform.common.bean.BaseVO;
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 自定义报表VO结果类
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class CustomFieldTemplateVO extends BaseVO implements Serializable{
+
+    /**
+     * 模板id
+     */
+        private String id;
+        /**
+     * 模板内容
+     */
+        private String content;
+        /**
+     * 类型
+     */
+        private Integer type;
+        /**
+     * 备注
+     */
+        private String remark;
+        /**
+     * 创建日期
+     */
+        private LocalDateTime createdTime;
+        /**
+     * 更新日期
+     */
+        private LocalDateTime updateTime;
+        /**
+     * 创建人
+     */
+        private String createdUserId;
+        /**
+     * 创建人名称
+     */
+        private String createdUserName;
+        /**
+     * 更新人
+     */
+        private String updateUserId;
+        /**
+     * 更新人名称
+     */
+        private String updateUserName;
+        /**
+     * 二级类别
+     */
+        private String secondTypeId;
+    
+
+
+}

+ 104 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/sb/SbInfoStopDetailVO.java

@@ -0,0 +1,104 @@
+package com.platform.dao.vo.query.sb;
+
+import lombok.Data;
+import com.platform.common.bean.BaseVO;
+import com.platform.common.bean.BaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import javax.validation.constraints.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.time.LocalDate;
+
+/**
+ * @Description 设备停用记录表VO结果类
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class SbInfoStopDetailVO extends BaseVO implements Serializable{
+
+    /**
+     * $column.comments
+     */
+        private String id;
+        /**
+     * $column.comments
+     */
+        private String no;
+        /**
+     * 设备Id
+     */
+        private String sbId;
+    /**
+     * 设备Id -名称
+     */
+    private String sbInfoName;
+        /**
+     * $column.comments
+     */
+        private Integer repairId;
+        /**
+     * $column.comments
+     */
+        private String userId;
+        /**
+     * 类型
+     */
+        private Integer type;
+        /**
+     * $column.comments
+     */
+        private LocalDate applyDate;
+        /**
+     * $column.comments
+     */
+        private LocalDate startDate;
+        /**
+     * $column.comments
+     */
+        private LocalDate stopDate;
+        /**
+     * $column.comments
+     */
+        private String content;
+        /**
+     * 状态
+     */
+        private Integer status;
+        /**
+     * $column.comments
+     */
+        private String remark;
+        /**
+     * $column.comments
+     */
+        private LocalDateTime createdTime;
+        /**
+     * $column.comments
+     */
+        private LocalDateTime updateTime;
+        /**
+     * $column.comments
+     */
+        private String createdUserId;
+        /**
+     * $column.comments
+     */
+        private String createdUserName;
+        /**
+     * $column.comments
+     */
+        private String updateUserId;
+        /**
+     * $column.comments
+     */
+        private String updateUserName;
+    
+
+
+}

+ 63 - 0
platform-dao/src/main/java/com/platform/dao/vo/report/StoreInAndOutReportVO.java

@@ -0,0 +1,63 @@
+package com.platform.dao.vo.report;
+
+import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.query.store.InStoreDetailVO;
+import com.platform.dao.vo.query.store.InStoreFormVO;
+import com.platform.dao.vo.query.store.OutStoreDetailVO;
+import com.platform.dao.vo.query.store.OutStoreFormVO;
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class StoreInAndOutReportVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 月份
+     */
+    @Excel(name = "年", orderNum = "1")
+    private Integer year;
+    /**
+     * 月份
+     */
+    @Excel(name = "月份", orderNum = "2")
+    private Integer month;
+    /**
+     * 入库数量
+     */
+    @Excel(name = "入库数量", orderNum = "3")
+    private Integer inStoreNum;
+    /**
+     * 出库数量
+     */
+    @Excel(name = "出库数量", orderNum = "4")
+    private Integer outStoreNum;
+    /**
+     * 入库金额
+     */
+    @Excel(name = "入库金额", orderNum = "5")
+    private Double inStorePrice;
+    /**
+     * 出库金额
+     */
+    @Excel(name = "出库金额", orderNum = "6")
+    private Double outStorePrice;
+
+    /**
+     * 入库明细列表
+     */
+    List<InStoreDetailVO> inDetailList;
+
+    /**
+     * 出库明细列表
+     */
+    List<OutStoreDetailVO> outDetailList;
+
+}

+ 1 - 2
platform-dao/src/main/resources/application-daoDev.yml

@@ -5,9 +5,8 @@ spring:
         driver-class-name: com.mysql.cj.jdbc.Driver
         url: jdbc:mysql://123.60.19.203:5006/hitch-sb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
         username: root
-        # password: mysql?123!@MYSQL
+        # password: mysql?MYSQLmoniu123
         password: mysql?MYSQLmoniu123
-        # password: sbgld@QYKH@$_e^mysqlv
         filters: wall,stat
         filter:
           stat:

+ 13 - 9
platform-dao/src/main/resources/application-daoTest.yml

@@ -3,12 +3,11 @@ spring:
     druid:
       master:
         driver-class-name: com.mysql.cj.jdbc.Driver
-        #url: jdbc:mysql://123.60.19.203:5006/qykh_wms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
-        #username: sb-test
-        #password: sb?MYSQL716
-        url: jdbc:mysql://59.110.28.5:3306/hitch-sb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
-        username: sbgl
-        password: sbgl@QYKH@$_^mysql
+        url: jdbc:mysql://123.60.19.203:5006/hitch-sb-demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
+        username: root
+        # password: mysql?123!@MYSQL
+        password: mysql?MYSQLmoniu123
+        # password: sbgld@QYKH@$_e^mysqlv
         filters: wall,stat
         filter:
           stat:
@@ -35,9 +34,10 @@ spring:
         validation-query: SELECT 'x'
       slave:
         driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://123.60.19.203:5006/qykh_sb_rl?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
-        username: sb-test
-        password: sb?MYSQL716
+        url: jdbc:mysql://123.60.19.203:5006/hitch-sb-demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
+        username: root
+        #password: mysql?123!@MYSQL
+        password: mysql?MYSQLmoniu123
         filters: wall,stat
         filter:
           stat:
@@ -103,3 +103,7 @@ quartz:
       validationQuery: select 0
       connection-provider:
         class: com.platform.dao.quartz.DruidConnectionProvider
+
+logging:
+  level:
+    com.platform.dao.mapper: DEBUG

+ 80 - 0
platform-dao/src/main/resources/mapper/customize/CustomFieldTemplateDataMapper.xml

@@ -0,0 +1,80 @@
+<?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.platform.dao.mapper.customize.CustomFieldTemplateDataMapper">
+    <sql id="Base_Column_List">
+                             fieldTemplateData.id,
+                                     fieldTemplateData.type,
+                                     fieldTemplateData.obj_id,
+                                     fieldTemplateData.data,
+                                     fieldTemplateData.remark,
+                                     fieldTemplateData.created_time,
+                                     fieldTemplateData.update_time,
+                                     fieldTemplateData.created_user_id,
+                                     fieldTemplateData.created_user_name,
+                                     fieldTemplateData.update_user_id,
+                                     fieldTemplateData.update_user_name
+                        </sql>
+    <sql id="Ref_Column_List">
+                                                                         fieldTemplateData.type,
+                                     fieldTemplateData.obj_id,
+                                     fieldTemplateData.data,
+                                     fieldTemplateData.remark,
+                                                                                                                                                                                                                                                                                                </sql>
+    <sql id="List_Condition">
+                                    <if test="id != null and id != ''">
+                    and fieldTemplateData.id = #{id}
+                </if>
+                                                <if test="type != null">
+                    and fieldTemplateData.type = #{type}
+                </if>
+                                                <if test="objId != null and objId != ''">
+                    and fieldTemplateData.obj_id = #{objId}
+                </if>
+                                                <if test="data != null and data != ''">
+                    and fieldTemplateData.data = #{data}
+                </if>
+                                                <if test="remark != null and remark != ''">
+                    and fieldTemplateData.remark = #{remark}
+                </if>
+                                                <if test="createdTimeStart != null">
+                    and fieldTemplateData.created_time <![CDATA[>=]]>; #{createdTimeStart}
+                </if>
+                <if test="createdTimeEnd != null">
+                    and fieldTemplateData.created_time <![CDATA[<=]]> #{createdTimeEnd}
+                </if>
+                <if test="createdTime != null">
+                    and fieldTemplateData.created_time = #{createdTime}
+                </if>
+                                                <if test="updateTimeStart != null">
+                    and fieldTemplateData.update_time <![CDATA[>=]]>; #{updateTimeStart}
+                </if>
+                <if test="updateTimeEnd != null">
+                    and fieldTemplateData.update_time <![CDATA[<=]]> #{updateTimeEnd}
+                </if>
+                <if test="updateTime != null">
+                    and fieldTemplateData.update_time = #{updateTime}
+                </if>
+                                                <if test="createdUserId != null and createdUserId != ''">
+                    and fieldTemplateData.created_user_id = #{createdUserId}
+                </if>
+                                                <if test="createdUserName != null and createdUserName != ''">
+                    and fieldTemplateData.created_user_name = #{createdUserName}
+                </if>
+                                                <if test="updateUserId != null and updateUserId != ''">
+                    and fieldTemplateData.update_user_id = #{updateUserId}
+                </if>
+                                                <if test="updateUserName != null and updateUserName != ''">
+                    and fieldTemplateData.update_user_name = #{updateUserName}
+                </if>
+                            <if test="keyword != null and keyword != ''">
+            and fieldTemplateData.id like concat(concat('%',#{keyword}),'%')
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.customize.CustomFieldTemplateDataDTO" resultType="com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO">
+        select fieldTemplateData.*
+                                                                                                                                                                                                                                            from t_custom_field_template_data as fieldTemplateData
+                                                                                                                                                                                                                                            <where>
+            <include refid="List_Condition" />
+        </where>
+    </select>
+</mapper>

+ 80 - 0
platform-dao/src/main/resources/mapper/customize/CustomFieldTemplateMapper.xml

@@ -0,0 +1,80 @@
+<?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.platform.dao.mapper.customize.CustomFieldTemplateMapper">
+    <sql id="Base_Column_List">
+                             fieldTemplate.id,
+                                     fieldTemplate.content,
+                                     fieldTemplate.type,
+                                     fieldTemplate.remark,
+                                     fieldTemplate.created_time,
+                                     fieldTemplate.update_time,
+                                     fieldTemplate.created_user_id,
+                                     fieldTemplate.created_user_name,
+                                     fieldTemplate.update_user_id,
+                                     fieldTemplate.update_user_name,
+                                     fieldTemplate.second_type_id
+                        </sql>
+    <sql id="Ref_Column_List">
+                                                                         fieldTemplate.content,
+                                     fieldTemplate.type,
+                                     fieldTemplate.remark,
+                                                                                                                                                                                                                                                                                                             fieldTemplate.second_type_id
+                                </sql>
+    <sql id="List_Condition">
+                                    <if test="id != null and id != ''">
+                    and fieldTemplate.id = #{id}
+                </if>
+                                                <if test="content != null and content != ''">
+                    and fieldTemplate.content = #{content}
+                </if>
+                                                <if test="type != null">
+                    and fieldTemplate.type = #{type}
+                </if>
+                                                <if test="remark != null and remark != ''">
+                    and fieldTemplate.remark = #{remark}
+                </if>
+                                                <if test="createdTimeStart != null">
+                    and fieldTemplate.created_time <![CDATA[>=]]>; #{createdTimeStart}
+                </if>
+                <if test="createdTimeEnd != null">
+                    and fieldTemplate.created_time <![CDATA[<=]]> #{createdTimeEnd}
+                </if>
+                <if test="createdTime != null">
+                    and fieldTemplate.created_time = #{createdTime}
+                </if>
+                                                <if test="updateTimeStart != null">
+                    and fieldTemplate.update_time <![CDATA[>=]]>; #{updateTimeStart}
+                </if>
+                <if test="updateTimeEnd != null">
+                    and fieldTemplate.update_time <![CDATA[<=]]> #{updateTimeEnd}
+                </if>
+                <if test="updateTime != null">
+                    and fieldTemplate.update_time = #{updateTime}
+                </if>
+                                                <if test="createdUserId != null and createdUserId != ''">
+                    and fieldTemplate.created_user_id = #{createdUserId}
+                </if>
+                                                <if test="createdUserName != null and createdUserName != ''">
+                    and fieldTemplate.created_user_name = #{createdUserName}
+                </if>
+                                                <if test="updateUserId != null and updateUserId != ''">
+                    and fieldTemplate.update_user_id = #{updateUserId}
+                </if>
+                                                <if test="updateUserName != null and updateUserName != ''">
+                    and fieldTemplate.update_user_name = #{updateUserName}
+                </if>
+                                                <if test="secondTypeId != null and secondTypeId != ''">
+                    and fieldTemplate.second_type_id = #{secondTypeId}
+                </if>
+                            <if test="keyword != null and keyword != ''">
+            and fieldTemplate.id like concat(concat('%',#{keyword}),'%')
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.customize.CustomFieldTemplateDTO" resultType="com.platform.dao.vo.query.customize.CustomFieldTemplateVO">
+        select fieldTemplate.*
+                                                                                                                                                                                                                                            from t_custom_field_template as fieldTemplate
+                                                                                                                                                                                                                                            <where>
+            <include refid="List_Condition" />
+        </where>
+    </select>
+</mapper>

+ 1 - 1
platform-dao/src/main/resources/mapper/operate/ArticleMapper.xml

@@ -16,7 +16,7 @@
         and A.title like concat('%',#{keyword},'%')
         </if>
         <if test="parentId != null and parentId != ''">
-            and A.parent_id = parentId
+            and A.parent_id = #{parentId}
         </if>
     </select>
 </mapper>

+ 139 - 0
platform-dao/src/main/resources/mapper/sb/SbInfoStopDetailMapper.xml

@@ -0,0 +1,139 @@
+<?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.platform.dao.mapper.sb.SbInfoStopDetailMapper">
+    <sql id="Base_Column_List">
+        stopDetail.id,
+                                     stopDetail.no,
+                                     stopDetail.sb_id,
+                                     stopDetail.repair_id,
+                                     stopDetail.user_id,
+                                     stopDetail.type,
+                                     stopDetail.apply_date,
+                                     stopDetail.start_date,
+                                     stopDetail.stop_date,
+                                     stopDetail.content,
+                                     stopDetail.status,
+                                     stopDetail.remark,
+                                     stopDetail.created_time,
+                                     stopDetail.update_time,
+                                     stopDetail.created_user_id,
+                                     stopDetail.created_user_name,
+                                     stopDetail.update_user_id,
+                                     stopDetail.update_user_name
+    </sql>
+    <sql id="Ref_Column_List">
+        stopDetail.no,
+                                     stopDetail.sb_id,
+                                     stopDetail.repair_id,
+                                     stopDetail.user_id,
+                                     stopDetail.type,
+                                     stopDetail.apply_date,
+                                     stopDetail.start_date,
+                                     stopDetail.stop_date,
+                                     stopDetail.content,
+                                     stopDetail.status,
+                                     stopDetail.remark,
+    </sql>
+    <sql id="List_Condition">
+        <if test="id != null and id != ''">
+            and stopDetail.id = #{id}
+        </if>
+        <if test="no != null and no != ''">
+            and stopDetail.no = #{no}
+        </if>
+        <if test="sbId != null and sbId != ''">
+            and stopDetail.sb_id = #{sbId}
+        </if>
+        <if test="repairId != null">
+            and stopDetail.repair_id = #{repairId}
+        </if>
+        <if test="userId != null and userId != ''">
+            and stopDetail.user_id = #{userId}
+        </if>
+        <if test="type != null">
+            and stopDetail.type = #{type}
+        </if>
+        <if test="applyDateStart != null">
+            and stopDetail.apply_date <![CDATA[>=]]>; #{applyDateStart}
+        </if>
+        <if test="applyDateEnd != null">
+            and stopDetail.apply_date <![CDATA[<=]]> #{applyDateEnd}
+        </if>
+        <if test="applyDate != null">
+            and stopDetail.apply_date = #{applyDate}
+        </if>
+        <if test="startDateStart != null">
+            and stopDetail.start_date <![CDATA[>=]]>; #{startDateStart}
+        </if>
+        <if test="startDateEnd != null">
+            and stopDetail.start_date <![CDATA[<=]]> #{startDateEnd}
+        </if>
+        <if test="startDate != null">
+            and stopDetail.start_date = #{startDate}
+        </if>
+        <if test="stopDateStart != null">
+            and stopDetail.stop_date <![CDATA[>=]]>; #{stopDateStart}
+        </if>
+        <if test="stopDateEnd != null">
+            and stopDetail.stop_date <![CDATA[<=]]> #{stopDateEnd}
+        </if>
+        <if test="stopDate != null">
+            and stopDetail.stop_date = #{stopDate}
+        </if>
+        <if test="content != null and content != ''">
+            and stopDetail.content = #{content}
+        </if>
+        <if test="status != null">
+            and stopDetail.status = #{status}
+        </if>
+        <if test="remark != null and remark != ''">
+            and stopDetail.remark = #{remark}
+        </if>
+        <if test="createdTimeStart != null">
+            and stopDetail.created_time <![CDATA[>=]]>; #{createdTimeStart}
+        </if>
+        <if test="createdTimeEnd != null">
+            and stopDetail.created_time <![CDATA[<=]]> #{createdTimeEnd}
+        </if>
+        <if test="createdTime != null">
+            and stopDetail.created_time = #{createdTime}
+        </if>
+        <if test="updateTimeStart != null">
+            and stopDetail.update_time <![CDATA[>=]]>; #{updateTimeStart}
+        </if>
+        <if test="updateTimeEnd != null">
+            and stopDetail.update_time <![CDATA[<=]]> #{updateTimeEnd}
+        </if>
+        <if test="updateTime != null">
+            and stopDetail.update_time = #{updateTime}
+        </if>
+        <if test="createdUserId != null and createdUserId != ''">
+            and stopDetail.created_user_id = #{createdUserId}
+        </if>
+        <if test="createdUserName != null and createdUserName != ''">
+            and stopDetail.created_user_name = #{createdUserName}
+        </if>
+        <if test="updateUserId != null and updateUserId != ''">
+            and stopDetail.update_user_id = #{updateUserId}
+        </if>
+        <if test="updateUserName != null and updateUserName != ''">
+            and stopDetail.update_user_name = #{updateUserName}
+        </if>
+        <if test="keyword != null and keyword != ''">
+            and (stopDetail.id like concat(concat('%',#{keyword}),'%')
+            or t1.no like concat(concat('%',#{keyword}),'%')
+            or t1.name like concat(concat('%',#{keyword}),'%')
+            )
+        </if>
+    </sql>
+    <select id="selectList" parameterType="com.platform.dao.dto.sb.SbInfoStopDetailDTO"
+            resultType="com.platform.dao.vo.query.sb.SbInfoStopDetailVO">
+        select stopDetail.*
+        ,t1.name as sbInfoName
+        from t_sb_info_stop_detail as stopDetail
+        LEFT JOIN t_sb_info t1 on stopDetail.sb_id = t1.id
+        <where>
+            <include refid="List_Condition"/>
+        </where>
+    </select>
+</mapper>

+ 6 - 0
platform-dao/src/main/resources/mapper/store/InStoreFormMapper.xml

@@ -106,6 +106,12 @@
         <if test="updateTime != null">
             and instoreform.update_time = #{updateTime}
         </if>
+        <if test="searchStartTime != null">
+            and instoreform.created_time <![CDATA[ >= ]]> #{searchStartTime}
+        </if>
+        <if test="searchEndTime != null">
+            and instoreform.created_time <![CDATA[ <= ]]> #{searchEndTime}
+        </if>
         <if test="keyword != null and keyword != ''">
             and (
             store.name like concat('%',#{keyword},'%')

+ 6 - 0
platform-dao/src/main/resources/mapper/store/OutStoreFormMapper.xml

@@ -92,6 +92,12 @@
         <if test="keyword != null and keyword != ''">
             and outstoreform.out_no like concat('%',#{keyword},'%')
         </if>
+        <if test="searchStartTime != null">
+            and outstoreform.created_time <![CDATA[ >= ]]> #{searchStartTime}
+        </if>
+        <if test="searchEndTime != null">
+            and outstoreform.created_time <![CDATA[ <= ]]> #{searchEndTime}
+        </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.store.OutStoreFormDTO"
             resultType="com.platform.dao.vo.query.store.OutStoreFormVO">

+ 180 - 0
platform-rest/src/main/java/com/platform/rest/controller/customize/CustomFieldTemplateController.java

@@ -0,0 +1,180 @@
+package com.platform.rest.controller.customize;
+
+import com.platform.common.util.R;
+import com.platform.dao.dto.customize.CustomFieldTemplateDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplate;
+import com.platform.service.customize.CustomFieldTemplateService;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.customize.ExportCustomFieldTemplateVO;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateVO;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.rest.log.annotation.SysLog;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description 自定义报表 控制器
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/customize/fieldTemplate")
+public class CustomFieldTemplateController {
+
+  private final  CustomFieldTemplateService customFieldTemplateService;
+
+  /**
+   * 通过id查询单条记录
+   *
+   * content
+   * [
+   *        {
+   * 		"label": "货品名称",
+   * 		"fieldName": "productName",
+   * 		"type": "input",// select picker
+   * 		"required": true,
+   * 		"sort": 1,// 排序
+   * 		"rows": 3,
+   * 		"minLength": 5,
+   * 		"maxLength": 20,
+   * 		"defaultValue": "apple Mac",
+   * 		"readOnly": false,
+   * 		"options": [
+   *            {
+   * 				"value": "1",
+   * 				"name": "看书"
+   *            },
+   *            {
+   * 				"value": "2",
+   * 				"name": "羽毛球"
+   *            }
+   * 		]
+   *    }
+   * ]
+   *
+   * @param id 主键
+   * @return R
+   */
+  @GetMapping("/{id}")
+  public R<CustomFieldTemplate> getById(@PathVariable("id") String id){
+      return new R<>(customFieldTemplateService.getModelById(id));
+  }
+
+  /**
+   * 新增记录
+   *
+   * @param customFieldTemplateDTO 自定义报表DTO
+   * @return R
+   */
+  @SysLog("新增自定义报表")
+  @PostMapping
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplate-add')")
+  public R save(@Validated({AddGroup.class}) @RequestBody CustomFieldTemplateDTO customFieldTemplateDTO) {
+      return new R<>(customFieldTemplateService.saveModelByDTO(customFieldTemplateDTO));
+  }
+
+  /**
+   * 修改记录
+   *
+   * @param customFieldTemplateDTO 自定义报表DTO
+   * @return R
+   */
+  @SysLog("修改自定义报表")
+  @PutMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplate-edit')")
+  public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody CustomFieldTemplateDTO customFieldTemplateDTO) {
+      customFieldTemplateService.modModelByDTO(customFieldTemplateDTO);
+      return new R<>();
+  }
+
+
+                        /**
+       * 根据主键 修改select类型值
+       * @param id
+       * @param type
+       * @return R
+       */
+      @SysLog("修改自定义报表")
+      @PutMapping("/type/{id}/{type}")
+      @PreAuthorize("@pms.hasPermission('customize-fieldTemplate-edit')")
+      public R updateTypeById(@PathVariable("id") String id,Integer type) {
+          customFieldTemplateService.updateTypeById(id,type);
+        return new R<>();
+      }
+                                                      
+  /**
+   * 通过id删除一条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @SysLog("删除自定义报表")
+  @DeleteMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplate-del')")
+  public R removeById(@PathVariable String id){
+    customFieldTemplateService.deleteByPrimaryKey(id);
+    return new R<>();
+  }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除自定义报表")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('customize-fieldTemplate-del')")
+    public R removeIds(@RequestBody List<String> ids){
+        customFieldTemplateService.batchDelete(ids);
+        return new R<>();
+    }
+
+  /**
+   * 获取分页
+   *
+   * @param pageNum 当前页码
+   * @param pageSize 每页条数
+   * @param customFieldTemplateDTO 自定义报表DTO
+   * @return R
+   */
+  @GetMapping("/page")
+  public R<AbstractPageResultBean<CustomFieldTemplateVO>> query(CustomFieldTemplateDTO customFieldTemplateDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+      return new R<>(customFieldTemplateService.selectPageList(customFieldTemplateDTO, pageNum, pageSize));
+  }
+
+  /**
+   * 获取列表
+   *
+   * @param customFieldTemplateDTO 自定义报表DTO
+   * @return R
+   */
+  @GetMapping("")
+  public R query(CustomFieldTemplateDTO customFieldTemplateDTO) {
+      return new R<>(customFieldTemplateService.getModelListByDTO(customFieldTemplateDTO));
+  }
+
+  /**
+     * 自定义报表导出
+     *
+     * @param customFieldTemplateDTO 自定义报表DTO
+     * @return R
+     */
+  @GetMapping("/export")
+  @SysLog("自定义报表导出")
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplate-export')")
+  public void export(HttpServletResponse response, CustomFieldTemplateDTO customFieldTemplateDTO) {
+    List<CustomFieldTemplate> list = customFieldTemplateService.getModelListByDTO(customFieldTemplateDTO);
+    ExcelUtil.exportResponseDict(response, ExportCustomFieldTemplateVO.class, BeanConverterUtil.copyListProperties(list, ExportCustomFieldTemplateVO.class), "自定义报表");
+  }
+
+}

+ 154 - 0
platform-rest/src/main/java/com/platform/rest/controller/customize/CustomFieldTemplateDataController.java

@@ -0,0 +1,154 @@
+package com.platform.rest.controller.customize;
+
+import com.platform.common.util.R;
+import com.platform.dao.dto.customize.CustomFieldTemplateDataDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplateData;
+import com.platform.service.customize.CustomFieldTemplateDataService;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.customize.ExportCustomFieldTemplateDataVO;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.rest.log.annotation.SysLog;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description 自定义报表 控制器
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/customize/fieldTemplateData")
+public class CustomFieldTemplateDataController {
+
+  private final  CustomFieldTemplateDataService customFieldTemplateDataService;
+
+  /**
+   * 通过id查询单条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @GetMapping("/{id}")
+  public R<CustomFieldTemplateData> getById(@PathVariable("id") String id){
+      return new R<>(customFieldTemplateDataService.getModelById(id));
+  }
+
+  /**
+   * 新增记录
+   *
+   * @param customFieldTemplateDataDTO 自定义报表DTO
+   * @return R
+   */
+  @SysLog("新增自定义报表")
+  @PostMapping
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplateData-add')")
+  public R save(@Validated({AddGroup.class}) @RequestBody CustomFieldTemplateDataDTO customFieldTemplateDataDTO) {
+      return new R<>(customFieldTemplateDataService.saveModelByDTO(customFieldTemplateDataDTO));
+  }
+
+  /**
+   * 修改记录
+   *
+   * @param customFieldTemplateDataDTO 自定义报表DTO
+   * @return R
+   */
+  @SysLog("修改自定义报表")
+  @PutMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplateData-edit')")
+  public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody CustomFieldTemplateDataDTO customFieldTemplateDataDTO) {
+      customFieldTemplateDataService.modModelByDTO(customFieldTemplateDataDTO);
+      return new R<>();
+  }
+
+
+                  /**
+       * 根据主键 修改select类型值
+       * @param id
+       * @param type
+       * @return R
+       */
+      @SysLog("修改自定义报表")
+      @PutMapping("/Type/{id}")
+      @PreAuthorize("@pms.hasPermission('customize-fieldTemplateData-edit')")
+      public R updateTypeById(@PathVariable("id") String id,Integer type) {
+          customFieldTemplateDataService.updateTypeById(id,type);
+        return new R<>();
+      }
+                                                            
+  /**
+   * 通过id删除一条记录
+   *
+   * @param id 主键
+   * @return R
+   */
+  @SysLog("删除自定义报表")
+  @DeleteMapping("/{id}")
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplateData-del')")
+  public R removeById(@PathVariable String id){
+    customFieldTemplateDataService.deleteByPrimaryKey(id);
+    return new R<>();
+  }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除自定义报表")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('customize-fieldTemplateData-del')")
+    public R removeIds(@RequestBody List<String> ids){
+        customFieldTemplateDataService.batchDelete(ids);
+        return new R<>();
+    }
+
+  /**
+   * 获取分页
+   *
+   * @param pageNum 当前页码
+   * @param pageSize 每页条数
+   * @param customFieldTemplateDataDTO 自定义报表DTO
+   * @return R
+   */
+  @GetMapping("/page")
+  public R<AbstractPageResultBean<CustomFieldTemplateDataVO>> query(CustomFieldTemplateDataDTO customFieldTemplateDataDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+      return new R<>(customFieldTemplateDataService.selectPageList(customFieldTemplateDataDTO, pageNum, pageSize));
+  }
+
+  /**
+   * 获取列表
+   *
+   * @param customFieldTemplateDataDTO 自定义报表DTO
+   * @return R
+   */
+  @GetMapping("")
+  public R query(CustomFieldTemplateDataDTO customFieldTemplateDataDTO) {
+      return new R<>(customFieldTemplateDataService.getModelListByDTO(customFieldTemplateDataDTO));
+  }
+
+  /**
+     * 自定义报表导出
+     *
+     * @param customFieldTemplateDataDTO 自定义报表DTO
+     * @return R
+     */
+  @GetMapping("/export")
+  @SysLog("自定义报表导出")
+  @PreAuthorize("@pms.hasPermission('customize-fieldTemplateData-export')")
+  public void export(HttpServletResponse response, CustomFieldTemplateDataDTO customFieldTemplateDataDTO) {
+    List<CustomFieldTemplateData> list = customFieldTemplateDataService.getModelListByDTO(customFieldTemplateDataDTO);
+    ExcelUtil.exportResponseDict(response, ExportCustomFieldTemplateDataVO.class, BeanConverterUtil.copyListProperties(list, ExportCustomFieldTemplateDataVO.class), "自定义报表");
+  }
+
+}

+ 92 - 2
platform-rest/src/main/java/com/platform/rest/controller/report/StoreReportController.java

@@ -1,23 +1,34 @@
 package com.platform.rest.controller.report;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.util.DateUtils;
 import com.platform.common.util.R;
-import com.platform.dao.dto.store.InStoreDetailDTO;
-import com.platform.dao.dto.store.SpareStoreDTO;
+import com.platform.dao.dto.check.CheckJobDTO;
+import com.platform.dao.dto.store.*;
 import com.platform.dao.entity.store.InStoreDetail;
 import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.check.ExportCheckJobVO;
 import com.platform.dao.vo.export.store.ExportInStoreDetailVO;
+import com.platform.dao.vo.export.store.ExportOutStoreDetailVO;
+import com.platform.dao.vo.query.check.CheckJobVO;
 import com.platform.dao.vo.query.store.InStoreDetailVO;
+import com.platform.dao.vo.query.store.InStoreFormVO;
+import com.platform.dao.vo.query.store.OutStoreDetailVO;
 import com.platform.dao.vo.query.store.StoreVO;
+import com.platform.dao.vo.report.CheckJobReportVO;
+import com.platform.dao.vo.report.StoreInAndOutReportVO;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.store.InStoreDetailService;
 import com.platform.service.store.SpareStoreService;
+import com.platform.service.store.StoreMonthReportService;
 import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDate;
 import java.util.List;
 
 /**
@@ -32,6 +43,7 @@ import java.util.List;
 public class StoreReportController {
 
   private final SpareStoreService spareStoreService;
+  private final StoreMonthReportService storeMonthReportService;
 
   /**
    * 根据传入类别,进行数据查询
@@ -46,4 +58,82 @@ public class StoreReportController {
       return new R<>(spareStoreService.selectFinanceReportList(projectId, spareStoreDTO, type));
   }
 
+  @GetMapping("/export")
+  @SysLog("出库入库每月统计报表导出")
+  public void export(HttpServletResponse response, InStoreFormDTO dto, @RequestParam(required = false) Integer year, @RequestParam(required = false) LocalDate startMonth, @RequestParam(required = false) LocalDate endMonth) {
+    List<StoreInAndOutReportVO> list = storeMonthReportService.getMonthReport(dto, year, startMonth, endMonth);
+    String fileName = "";
+    if (year == null) {
+      fileName = DateUtils.dateToString(startMonth, DateUtils.PATTERN_YMD) + "-" + DateUtils.dateToString(endMonth, DateUtils.PATTERN_YMD) + "-出库入库数据统计报表";
+    } else {
+      fileName = year + "年-出库入库数据统计报表";
+    }
+    ExcelUtil.exportResponseDict(response, StoreInAndOutReportVO.class, list, fileName);
+  }
+
+  @GetMapping("/export/in/month")
+  @SysLog("仓库每月明细导出")
+  public void export(HttpServletResponse response, InStoreFormDTO dto, @RequestParam(required = false) Integer year,
+                     @RequestParam(required = false) LocalDate startMonth, @RequestParam(required = false) LocalDate endMonth,
+                     @RequestParam(required = false) Integer month,@RequestParam(required = false) Integer number) {
+    List<StoreInAndOutReportVO> list = storeMonthReportService.getMonthReport(dto, year, startMonth, endMonth);
+    String fileName = "";
+    if (CollectionUtil.isNotEmpty(list)) {
+      for (StoreInAndOutReportVO vo : list) {
+        if (vo.getMonth() == month) {
+          if(number.equals(1)){
+            fileName = year + "-" + month + "-入库数据统计明细";
+            List<InStoreDetailVO> detailList = vo.getInDetailList();
+            if (CollectionUtil.isNotEmpty(detailList)) {
+              ExcelUtil.exportResponseDict(response, ExportInStoreDetailVO.class, BeanConverterUtil.copyListProperties(detailList, ExportInStoreDetailVO.class), fileName);
+            }
+          }else {
+            fileName = year + "-" + month + "-出库数据统计明细";
+            List<OutStoreDetailVO> detailList = vo.getOutDetailList();
+            if (CollectionUtil.isNotEmpty(detailList)) {
+              ExcelUtil.exportResponseDict(response, ExportOutStoreDetailVO.class, BeanConverterUtil.copyListProperties(detailList, ExportOutStoreDetailVO.class), fileName);
+            }
+          }
+
+        }
+      }
+    }
+  }
+
+//  @GetMapping("/export/out/month")
+//  @SysLog("仓库每月出库明细导出")
+//  public void exportOut(HttpServletResponse response, InStoreFormDTO dto, @RequestParam(required = false) Integer year,
+//                     @RequestParam(required = false) LocalDate startMonth, @RequestParam(required = false) LocalDate endMonth,
+//                     @RequestParam(required = false) Integer month) {
+//    List<StoreInAndOutReportVO> list = storeMonthReportService.getMonthReport(dto, year, startMonth, endMonth);
+//    String fileName = "";
+//    fileName = year + "-" + month + "-出库数据统计明细";
+//    if (CollectionUtil.isNotEmpty(list)) {
+//      for (StoreInAndOutReportVO vo : list) {
+//        if (vo.getMonth() == month) {
+//          List<OutStoreDetailVO> detailList = vo.getOutDetailList();
+//          if (CollectionUtil.isNotEmpty(detailList)) {
+//            ExcelUtil.exportResponseDict(response, ExportOutStoreDetailVO.class, BeanConverterUtil.copyListProperties(detailList, ExportOutStoreDetailVO.class), fileName);
+//          }
+//        }
+//      }
+//    }
+//  }
+
+
+  /**
+   * 仓库每月入库总数量以及金额报表
+   *
+   * @param dto  查询条件
+   * @param year 查询年份
+   * @return R
+   */
+  @SysLog("仓库入库总数量以及金额报表")
+  @GetMapping("")
+  public R getMonthReportByYear(InStoreFormDTO inStoreFormDTO, @RequestParam(required = false) Integer year, @RequestParam(required = false) LocalDate startMonth, @RequestParam(required = false) LocalDate endMonth) {
+    return new R(storeMonthReportService.getMonthReport(inStoreFormDTO, year, startMonth, endMonth));
+  }
+
+
+
 }

+ 171 - 0
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoStopDetailController.java

@@ -0,0 +1,171 @@
+package com.platform.rest.controller.sb;
+
+import com.platform.common.util.R;
+import com.platform.dao.dto.sb.SbInfoStopDetailDTO;
+import com.platform.dao.entity.sb.SbInfoStopDetail;
+import com.platform.service.sb.SbInfoStopDetailService;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.sb.ExportSbInfoStopDetailVO;
+import com.platform.dao.vo.query.sb.SbInfoStopDetailVO;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.rest.log.annotation.SysLog;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description 设备停用记录表 控制器
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/sb/stop-details")
+public class SbInfoStopDetailController {
+
+    private final SbInfoStopDetailService sbInfoStopDetailService;
+
+    /**
+     * 通过id查询单条记录
+     *
+     * @param id 主键
+     * @return R
+     */
+    @GetMapping("/{id}")
+    public R<SbInfoStopDetail> getById(@PathVariable("id") String id) {
+        return new R<>(sbInfoStopDetailService.getModelById(id));
+    }
+
+    /**
+     * 新增记录
+     *
+     * @param sbInfoStopDetailDTO 设备停用记录表DTO
+     * @return R
+     */
+    @SysLog("新增设备停用记录表")
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-add')")
+    public R save(@Validated({AddGroup.class}) @RequestBody SbInfoStopDetailDTO sbInfoStopDetailDTO) {
+        return new R<>(sbInfoStopDetailService.saveModelByDTO(sbInfoStopDetailDTO));
+    }
+
+    /**
+     * 修改记录
+     *
+     * @param sbInfoStopDetailDTO 设备停用记录表DTO
+     * @return R
+     */
+    @SysLog("修改设备停用记录表")
+    @PutMapping("/{id}")
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-edit')")
+    public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody SbInfoStopDetailDTO sbInfoStopDetailDTO) {
+        sbInfoStopDetailService.modModelByDTO(sbInfoStopDetailDTO);
+        return new R<>();
+    }
+
+
+    /**
+     * 根据主键 修改select类型值
+     *
+     * @param id
+     * @param type
+     * @return R
+     */
+    @SysLog("修改设备停用记录表")
+    @PutMapping("/type/{id}")
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-edit')")
+    public R updateTypeById(@PathVariable("id") String id, Integer type) {
+        sbInfoStopDetailService.updateTypeById(id, type);
+        return new R<>();
+    }
+
+    /**
+     * 根据主键 修改select类型值
+     *
+     * @param id
+     * @param status
+     * @return R
+     */
+    @SysLog("修改设备停用记录表")
+    @PutMapping("/status/{id}")
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-edit')")
+    public R updateStatusById(@PathVariable("id") String id, Integer status) {
+        sbInfoStopDetailService.updateStatusById(id, status);
+        return new R<>();
+    }
+
+    /**
+     * 通过id删除一条记录
+     *
+     * @param id 主键
+     * @return R
+     */
+    @SysLog("删除设备停用记录表")
+    @DeleteMapping("/{id}")
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-del')")
+    public R removeById(@PathVariable String id) {
+        sbInfoStopDetailService.deleteByPrimaryKey(id);
+        return new R<>();
+    }
+
+    /**
+     * 批量记录
+     *
+     * @param ids 主键
+     * @return R
+     */
+    @SysLog("批量删除设备停用记录表")
+    @DeleteMapping("")
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-del')")
+    public R removeIds(@RequestBody List<String> ids) {
+        sbInfoStopDetailService.batchDelete(ids);
+        return new R<>();
+    }
+
+    /**
+     * 获取分页
+     *
+     * @param pageNum             当前页码
+     * @param pageSize            每页条数
+     * @param sbInfoStopDetailDTO 设备停用记录表DTO
+     * @return R
+     */
+    @GetMapping("/page")
+    public R<AbstractPageResultBean<SbInfoStopDetailVO>> query(SbInfoStopDetailDTO sbInfoStopDetailDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        return new R<>(sbInfoStopDetailService.selectPageList(sbInfoStopDetailDTO, pageNum, pageSize));
+    }
+
+    /**
+     * 获取列表
+     *
+     * @param sbInfoStopDetailDTO 设备停用记录表DTO
+     * @return R
+     */
+    @GetMapping("")
+    public R query(SbInfoStopDetailDTO sbInfoStopDetailDTO) {
+        return new R<>(sbInfoStopDetailService.getModelListByDTO(sbInfoStopDetailDTO));
+    }
+
+    /**
+     * 设备停用记录表导出
+     *
+     * @param sbInfoStopDetailDTO 设备停用记录表DTO
+     * @return R
+     */
+    @GetMapping("/export")
+    @SysLog("设备停用记录表导出")
+    @PreAuthorize("@pms.hasPermission('sb-stop-details-export')")
+    public void export(HttpServletResponse response, SbInfoStopDetailDTO sbInfoStopDetailDTO) {
+        List<SbInfoStopDetail> list = sbInfoStopDetailService.getModelListByDTO(sbInfoStopDetailDTO);
+        ExcelUtil.exportResponseDict(response, ExportSbInfoStopDetailVO.class, BeanConverterUtil.copyListProperties(list, ExportSbInfoStopDetailVO.class), "设备停用记录表");
+    }
+
+}

+ 2 - 2
platform-rest/src/main/java/com/platform/rest/task/SparePartInfoTask.java

@@ -27,8 +27,8 @@ public class SparePartInfoTask {
     /**
      * 预测的保养不足的问题
      */
-    public void genCheckStockWarn () {
+   /* public void genCheckStockWarn () {
         sparePartInfoService.genCheckStockWarn();
-    }
+    }*/
 
 }

+ 2 - 2
platform-rest/src/main/resources/application-test.yml

@@ -1,6 +1,6 @@
 server:
   # 端口号
-  port: 5002
+  port: 5000
 
 
 security:
@@ -11,7 +11,7 @@ security:
       scope: server
     resource:
       loadBalanced: true
-      token-info-uri: http://localhost:5001/oauth/check_token
+      token-info-uri: http://localhost:5000/oauth/check_token
 
 spring:
   application:

+ 1 - 32
platform-rest/src/main/resources/templates/repairCheckEmail.ftl

@@ -1,32 +1 @@
-<div>维修审核通知</div>
-<div>报修单已经完成,等待您的审批处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+报修单已经完成,等待您的审批处理.:维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}

+ 2 - 32
platform-rest/src/main/resources/templates/repairEmail.ftl

@@ -1,32 +1,2 @@
-<div>维修通知</div>
-<div>有新的报修单等待处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+有新的报修单等待处理.维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}
+

+ 1 - 32
platform-rest/src/main/resources/templates/repairEmailFirst.ftl

@@ -1,32 +1 @@
-<div>维修一级上报预警</div>
-<div>有新的报修单第一维修员超时未接单,等待您的处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+有新的报修单第一维修员超时未接单,等待您的处理.:维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}

+ 1 - 32
platform-rest/src/main/resources/templates/repairEmailOverTimeFirst.ftl

@@ -1,32 +1 @@
-<div>维修超过3小时未完成</div>
-<div>有报修单维修超过3小时未完成,等待您的处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+有报修单维修超过3小时未完成,等待您的处理.维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}

+ 1 - 32
platform-rest/src/main/resources/templates/repairEmailOverTimeSecond.ftl

@@ -1,32 +1 @@
-<div>维修超过8小时未完成</div>
-<div>有报修单维修超过8小时未完成,等待您的处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+有报修单维修超过8小时未完成,等待您的处理.维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}

+ 1 - 32
platform-rest/src/main/resources/templates/repairEmailOverTimeThird.ftl

@@ -1,32 +1 @@
-<div>维修超过24小时未完成</div>
-<div>有报修单维修超过24小时未完成,等待您的处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+有报修单维修超过24小时未完成,等待您的处理.:维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}

+ 1 - 32
platform-rest/src/main/resources/templates/repairEmailSecond.ftl

@@ -1,32 +1 @@
-<div>维修二级上报预警</div>
-<div>有新的报修单第二维修员超时未接单,等待您的处理:
-    <table border="1">
-        <tr>
-            <td>维修单号</td>
-            <td>${no}</td>
-        </tr>
-        <tr>
-            <td>设备名称</td>
-            <td>${sbName}</td>
-        </tr>
-        <tr>
-            <td>设备编号</td>
-            <td>${sbNo}</td>
-        </tr>
-        <tr>
-            <td>设备使用位置</td>
-            <td>${sbCph}</td>
-        </tr>
-        <tr>
-            <td>报修人</td>
-            <td>${actualUser}</td>
-        </tr>
-        <tr>
-            <td>故障描述</td>
-            <td>${repairDesc}</td>
-        </tr>
-    </table>
-</div>
-<div>
-    <a target="_blank" href="${url}">点击链接跳转处理报修单</a>
-</div>
+有新的报修单第二维修员超时未接单,等待您的处理.:维修单号:${no},设备名称:${sbName},设备编号:${sbNo},位置:${sbCph},报修人:${actualUser},故障描述:${repairDesc}

+ 36 - 0
platform-service/src/main/java/com/platform/service/customize/CustomFieldTemplateDataService.java

@@ -0,0 +1,36 @@
+package com.platform.service.customize;
+
+import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
+import com.platform.dao.dto.customize.CustomFieldTemplateDataDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplateData;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.service.base.IBaseService;
+import java.util.List;
+
+/**
+ * @Description 自定义报表 service
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface CustomFieldTemplateDataService extends IBaseService<CustomFieldTemplateData, CustomFieldTemplateDataDTO> {
+
+   /**
+    * 批量删除
+    *
+    * @param ids :
+    * @return :
+    */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<CustomFieldTemplateDataVO> selectPageList(CustomFieldTemplateDataDTO record, int pageNum, int pageSize);
+
+                        void updateTypeById(String id,Integer type);
+                                                                                                                        }

+ 36 - 0
platform-service/src/main/java/com/platform/service/customize/CustomFieldTemplateService.java

@@ -0,0 +1,36 @@
+package com.platform.service.customize;
+
+import com.platform.dao.vo.query.customize.CustomFieldTemplateVO;
+import com.platform.dao.dto.customize.CustomFieldTemplateDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplate;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.service.base.IBaseService;
+import java.util.List;
+
+/**
+ * @Description 自定义报表 service
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface CustomFieldTemplateService extends IBaseService<CustomFieldTemplate, CustomFieldTemplateDTO> {
+
+   /**
+    * 批量删除
+    *
+    * @param ids :
+    * @return :
+    */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<CustomFieldTemplateVO> selectPageList(CustomFieldTemplateDTO record, int pageNum, int pageSize);
+
+                                    void updateTypeById(String id,Integer type);
+                                                                                                            }

+ 58 - 0
platform-service/src/main/java/com/platform/service/customize/impl/CustomFieldTemplateDataServiceImpl.java

@@ -0,0 +1,58 @@
+package com.platform.service.customize.impl;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.bean.MyPage;
+import com.github.pagehelper.PageHelper;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
+import com.platform.dao.dto.customize.CustomFieldTemplateDataDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplateData;
+import com.platform.dao.mapper.customize.CustomFieldTemplateDataMapper;
+import com.platform.service.customize.CustomFieldTemplateDataService;
+import org.springframework.stereotype.Service;
+import com.platform.service.base.impl.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Description 自定义报表 service 实现类
+ * @Author xc
+ * @Date 2022-04-25 16:02:39
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("customFieldTemplateDataService")
+public class CustomFieldTemplateDataServiceImpl extends BaseServiceImpl<CustomFieldTemplateDataMapper, CustomFieldTemplateData, CustomFieldTemplateDataDTO> implements CustomFieldTemplateDataService {
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<CustomFieldTemplateData> weekend = new Weekend<>(CustomFieldTemplateData.class);
+        WeekendCriteria<CustomFieldTemplateData, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(CustomFieldTemplateData::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public AbstractPageResultBean<CustomFieldTemplateDataVO> selectPageList(CustomFieldTemplateDataDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    @Override
+    public AbstractPageResultBean<CustomFieldTemplateData> selectPageInfo(CustomFieldTemplateDataDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+                                    @Override
+            @Transactional(rollbackFor = Exception.class)
+            public void updateTypeById(String id,Integer type) {
+                CustomFieldTemplateData updInfo = new CustomFieldTemplateData();
+                updInfo.setId(id);
+                updInfo.setType(type);
+                mapper.updateByPrimaryKeySelective(updInfo);
+            }
+                                                                                                                        }

+ 58 - 0
platform-service/src/main/java/com/platform/service/customize/impl/CustomFieldTemplateServiceImpl.java

@@ -0,0 +1,58 @@
+package com.platform.service.customize.impl;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.bean.MyPage;
+import com.github.pagehelper.PageHelper;
+import com.platform.dao.vo.query.customize.CustomFieldTemplateVO;
+import com.platform.dao.dto.customize.CustomFieldTemplateDTO;
+import com.platform.dao.entity.customize.CustomFieldTemplate;
+import com.platform.dao.mapper.customize.CustomFieldTemplateMapper;
+import com.platform.service.customize.CustomFieldTemplateService;
+import org.springframework.stereotype.Service;
+import com.platform.service.base.impl.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Description 自定义报表 service 实现类
+ * @Author xc
+ * @Date 2022-04-25 16:02:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("customFieldTemplateService")
+public class CustomFieldTemplateServiceImpl extends BaseServiceImpl<CustomFieldTemplateMapper, CustomFieldTemplate, CustomFieldTemplateDTO> implements CustomFieldTemplateService {
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<CustomFieldTemplate> weekend = new Weekend<>(CustomFieldTemplate.class);
+        WeekendCriteria<CustomFieldTemplate, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(CustomFieldTemplate::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public AbstractPageResultBean<CustomFieldTemplateVO> selectPageList(CustomFieldTemplateDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    @Override
+    public AbstractPageResultBean<CustomFieldTemplate> selectPageInfo(CustomFieldTemplateDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+                                                @Override
+            @Transactional(rollbackFor = Exception.class)
+            public void updateTypeById(String id,Integer type) {
+                CustomFieldTemplate updInfo = new CustomFieldTemplate();
+                updInfo.setId(id);
+                updInfo.setType(type);
+                mapper.updateByPrimaryKeySelective(updInfo);
+            }
+                                                                                                            }

+ 7 - 1
platform-service/src/main/java/com/platform/service/fill/impl/FillExecuteServiceImpl.java

@@ -98,8 +98,14 @@ public class FillExecuteServiceImpl extends BaseServiceImpl<FillExecuteMapper, F
             }
         }
         SbInfo sbInfo = sbInfoMapper.selectByPrimaryKey(sbId);
+
         SbModel sbModel = sbModelMapper.selectByPrimaryKey(sbInfo.getModelId());
-        Integer sbUseType = sbModel.getUseType();
+        Integer sbUseType = 0;
+        if(sbModel == null){
+             sbUseType = sbInfo.getUseType();
+        }else{
+            sbUseType = sbModel.getUseType();
+        }
         List<FillExecuteVO> fillInfos = fillGatherMapper.selectFillInfoByCodeIdUseType(new FillGatherDTO().setCodeId(sbUseType).setUseType(useType));
         if (CollectionUtil.isEmpty(fillInfos)) {
             throw new BusinessException("该设备没有配置填报项,请核对填报配置与设备类型");

+ 7 - 2
platform-service/src/main/java/com/platform/service/operate/impl/ArticleServiceImpl.java

@@ -91,6 +91,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleMapper, Article,
         types.add(ArticleTypeEnum.XXJX.getValue());
         types.add(ArticleTypeEnum.HYZX.getValue());
         types.add(ArticleTypeEnum.CGAL.getValue());
+        types.add(ArticleTypeEnum.CYXZ.getValue());
         record.setTypes(types);
         List<Article> list = mapper.selectArticleFrontInfo(record);
         ArticleVO vo = new ArticleVO();
@@ -101,6 +102,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleMapper, Article,
         List<Article> list5 = new ArrayList<Article>();
         List<Article> list6 = new ArrayList<Article>();
         List<Article> list7 = new ArrayList<Article>();
+        List<Article> list8 = new ArrayList<Article>();
         list.forEach(item->{
             if(ArticleTypeEnum.JJFA.getValue().equals(item.getType())){
                 list1.add(item);
@@ -114,8 +116,10 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleMapper, Article,
                 list5.add(item);
             }else if(ArticleTypeEnum.CGAL.getValue().equals(item.getType())){
                 list6.add(item);
-            }else{
+            }else if(ArticleTypeEnum.XXZX.getValue().equals(item.getType())){
                 list7.add(item);
+            }else if(ArticleTypeEnum.CYXZ.getValue().equals(item.getType())){
+                list8.add(item);
             }
         });
         vo.setList1(list1);
@@ -124,7 +128,8 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleMapper, Article,
         vo.setList4(list4);
         vo.setList5(list5);
         vo.setList6(list6);
-        vo.setList6(list7);
+        vo.setList7(list7);
+        vo.setList8(list8);
         return vo;
     }
 

+ 37 - 0
platform-service/src/main/java/com/platform/service/sb/SbInfoStopDetailService.java

@@ -0,0 +1,37 @@
+package com.platform.service.sb;
+
+import com.platform.dao.vo.query.sb.SbInfoStopDetailVO;
+import com.platform.dao.dto.sb.SbInfoStopDetailDTO;
+import com.platform.dao.entity.sb.SbInfoStopDetail;
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.service.base.IBaseService;
+import java.util.List;
+
+/**
+ * @Description 设备停用记录表 service
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+public interface SbInfoStopDetailService extends IBaseService<SbInfoStopDetail, SbInfoStopDetailDTO> {
+
+   /**
+    * 批量删除
+    *
+    * @param ids :
+    * @return :
+    */
+    int batchDelete(List<String> ids);
+
+    /**
+     * 分页查询
+     * @param record
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    AbstractPageResultBean<SbInfoStopDetailVO> selectPageList(SbInfoStopDetailDTO record, int pageNum, int pageSize);
+
+                                                                        void updateTypeById(String id,Integer type);
+                                                                    void updateStatusById(String id,Integer status);
+                                                                                                }

+ 79 - 0
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoStopDetailServiceImpl.java

@@ -0,0 +1,79 @@
+package com.platform.service.sb.impl;
+
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.bean.MyPage;
+import com.github.pagehelper.PageHelper;
+import com.platform.dao.vo.query.sb.SbInfoStopDetailVO;
+import com.platform.dao.dto.sb.SbInfoStopDetailDTO;
+import com.platform.dao.entity.sb.SbInfoStopDetail;
+import com.platform.dao.mapper.sb.SbInfoStopDetailMapper;
+import com.platform.service.sb.SbInfoStopDetailService;
+import org.springframework.stereotype.Service;
+import com.platform.service.base.impl.BaseServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Description 设备停用记录表 service 实现类
+ * @Author xc
+ * @Date 2022-04-24 09:33:28
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@AllArgsConstructor
+@Service("sbInfoStopDetailService")
+public class SbInfoStopDetailServiceImpl extends BaseServiceImpl<SbInfoStopDetailMapper, SbInfoStopDetail, SbInfoStopDetailDTO> implements SbInfoStopDetailService {
+
+    @Override
+    public int batchDelete(List<String> ids) {
+        Weekend<SbInfoStopDetail> weekend = new Weekend<>(SbInfoStopDetail.class);
+        WeekendCriteria<SbInfoStopDetail, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andIn(SbInfoStopDetail::getId, ids);
+        mapper.deleteByExample(weekend);
+        return 1;
+    }
+
+    @Override
+    public AbstractPageResultBean<SbInfoStopDetailVO> selectPageList(SbInfoStopDetailDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+    /**
+     * 判定类型是否存在:
+     *
+     * @param id
+     * @param type
+     */
+    @Override
+    public void updateTypeById(String id, Integer type) {
+        SbInfoStopDetail sbInfoStopDetail = new SbInfoStopDetail();
+        sbInfoStopDetail.setId(id);
+        sbInfoStopDetail.setType(type);
+        mapper.updateByPrimaryKeySelective(sbInfoStopDetail);
+    }
+
+    /**
+     * 判定类型是否存在
+     *
+     * @param id
+     * @param status
+     */
+    @Override
+    public void updateStatusById(String id, Integer status) {
+        SbInfoStopDetail sbInfoStopDetail = new SbInfoStopDetail();
+        sbInfoStopDetail.setId(id);
+        sbInfoStopDetail.setStatus(status);
+        mapper.updateByPrimaryKeySelective(sbInfoStopDetail);
+    }
+
+    @Override
+    public AbstractPageResultBean<SbInfoStopDetail> selectPageInfo(SbInfoStopDetailDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        return new MyPage(mapper.selectList(record));
+    }
+
+}

+ 1 - 1
platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartInfoServiceImpl.java

@@ -682,7 +682,7 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
         List<String> ids = detailList.stream().map(SbModelSpareBomDTO::getId).collect(Collectors.toList());
         ids = ids.stream().filter(item -> StringUtils.isNotBlank(item)).collect(Collectors.toList());
         if (!CollectionUtils.isEmpty(ids) && ids.size() > 0) {
-            detailWeekend.weekendCriteria().andNotIn(SbModelSpareBom::getId, ids);
+            detailWeekend.weekendCriteria().andNotIn(SbModelSpareBom::getId, ids).andEqualTo(SbModelSpareBom::getSpareId, model.getId());
             sbModelSpareBomMapper.deleteByExample(detailWeekend);
         } else {
             // 全部刪除:说明id为空,全部删除了

+ 7 - 2
platform-service/src/main/java/com/platform/service/store/StoreMonthReportService.java

@@ -1,14 +1,17 @@
 package com.platform.service.store;
 
 import com.platform.common.bean.AbstractPageResultBean;
-import com.platform.dao.dto.store.StoreDTO;
-import com.platform.dao.dto.store.StoreMonthReportDTO;
+import com.platform.dao.dto.check.CheckJobDTO;
+import com.platform.dao.dto.store.*;
 import com.platform.dao.entity.store.Store;
 import com.platform.dao.entity.store.StoreMonthReport;
 import com.platform.dao.vo.query.store.StoreVO;
+import com.platform.dao.vo.report.CheckJobReportVO;
+import com.platform.dao.vo.report.StoreInAndOutReportVO;
 import com.platform.service.base.IBaseService;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.time.LocalDate;
 import java.util.List;
 
 /**
@@ -22,4 +25,6 @@ public interface StoreMonthReportService extends IBaseService<StoreMonthReport,
     void genTask();
 
     AbstractPageResultBean<StoreMonthReport> selectPageList(StoreMonthReportDTO storeDTO, int pageNum, int pageSize);
+    List<StoreInAndOutReportVO> getMonthReport(InStoreFormDTO inStoreFormDTO, Integer month, LocalDate startMonth, LocalDate endMonth);
+
 }

+ 4 - 0
platform-service/src/main/java/com/platform/service/store/impl/InStoreDetailServiceImpl.java

@@ -15,6 +15,7 @@ import com.platform.dao.enums.DeptNatureEnum;
 import com.platform.dao.mapper.store.InStoreDetailMapper;
 import com.platform.dao.mapper.upms.SysDeptMapper;
 import com.platform.dao.vo.query.store.InStoreDetailVO;
+import com.platform.dao.vo.query.store.InStoreFormVO;
 import com.platform.dao.vo.query.upms.SysDeptVO;
 import com.platform.service.store.InStoreDetailService;
 import com.platform.service.upms.SysDeptService;
@@ -48,6 +49,9 @@ public class InStoreDetailServiceImpl extends BaseServiceImpl<InStoreDetailMappe
         return 1;
     }
 
+
+
+
     @Override
     public AbstractPageResultBean<InStoreDetailVO> selectPageList(InStoreDetailDTO record, int pageNum, int pageSize) {
         // 登录人自己负责的项目列表

+ 115 - 18
platform-service/src/main/java/com/platform/service/store/impl/StoreMonthReportServiceImpl.java

@@ -6,41 +6,34 @@ import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.enums.DataFilterTypeEnum;
 import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
-import com.platform.common.util.DateUtils;
-import com.platform.common.util.IdGeneratorUtils;
-import com.platform.common.util.SecurityUtils;
-import com.platform.common.util.StringUtils;
+import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
+import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.dto.sqarepartmanage.SpareTypeDTO;
-import com.platform.dao.dto.store.StoreDTO;
-import com.platform.dao.dto.store.StoreMonthReportDTO;
+import com.platform.dao.dto.store.*;
 import com.platform.dao.dto.upms.SysDeptDTO;
 import com.platform.dao.entity.sqarepartmanage.SpareType;
-import com.platform.dao.entity.store.SpareBackDetail;
-import com.platform.dao.entity.store.SpareStore;
-import com.platform.dao.entity.store.Store;
-import com.platform.dao.entity.store.StoreMonthReport;
+import com.platform.dao.entity.store.*;
 import com.platform.dao.entity.upms.ScheduleJobLog;
 import com.platform.dao.entity.upms.SysDept;
 import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.entity.upms.SysUserDept;
-import com.platform.dao.enums.DeptNatureEnum;
-import com.platform.dao.enums.StoreLevelEnum;
+import com.platform.dao.enums.*;
 import com.platform.dao.mapper.sqarepartmanage.SpareTypeMapper;
-import com.platform.dao.mapper.store.SpareStoreMapper;
-import com.platform.dao.mapper.store.StoreMapper;
-import com.platform.dao.mapper.store.StoreMonthReportMapper;
+import com.platform.dao.mapper.store.*;
 import com.platform.dao.mapper.upms.ScheduleJobLogMapper;
 import com.platform.dao.mapper.upms.SysDeptMapper;
 import com.platform.dao.mapper.upms.SysUserMapper;
 import com.platform.dao.util.CustomExcelImportUtil;
 import com.platform.dao.util.UserUtil;
-import com.platform.dao.vo.query.store.StoreVO;
+import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.query.store.*;
 import com.platform.dao.vo.query.upms.SysDeptVO;
+import com.platform.dao.vo.report.CheckJobReportVO;
+import com.platform.dao.vo.report.StoreInAndOutReportVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.sqarepartmanage.SpareTypeService;
-import com.platform.service.store.StoreMonthReportService;
-import com.platform.service.store.StoreService;
+import com.platform.service.store.*;
 import com.platform.service.upms.SysDeptService;
 import com.platform.service.upms.SysUserDeptService;
 import com.platform.service.util.ExecuteSql;
@@ -53,10 +46,12 @@ import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.temporal.TemporalAdjusters;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description 仓库信息 service 实现类
@@ -72,6 +67,11 @@ public class StoreMonthReportServiceImpl extends BaseServiceImpl<StoreMonthRepor
     private SysDeptMapper sysDeptMapper;
     private SpareTypeService spareTypeService;
     private ScheduleJobLogMapper ScheduleJobLogMapper;
+    private InStoreFormMapper inStoreFormMapper;
+    private OutStoreFormMapper outStoreFormMapper;
+    private  InStoreDetailMapper inStoreDetailMapper;
+    private OutStoreDetailMapper outStoreDetailMapper;
+
     /**
      * 每月1号凌晨1分开始统计,统计当前库存总额,统计
      */
@@ -222,4 +222,101 @@ public class StoreMonthReportServiceImpl extends BaseServiceImpl<StoreMonthRepor
         PageHelper.startPage(pageNum, pageSize);
         return new MyPage(mapper.selectList(storeDTO));
     }
+
+    @Override
+    public List<StoreInAndOutReportVO> getMonthReport(InStoreFormDTO inStoreFormDTO, Integer searchYear , LocalDate startMonth, LocalDate endMonth) {
+        List<Map<String, LocalDateTime>> monthStartAndEndList = new ArrayList<Map<String, LocalDateTime>>();
+        LocalDateTime searchStartTime = null;
+        LocalDateTime searchEndTime = null;
+        if(searchYear != null){
+            LocalDate localDate = LocalDate.now();
+            int year = localDate.getYear();
+            // 如2021-10-15号码,则month=10,需要计算到11月份,需要加1
+            int month = localDate.getMonthValue();
+            if(searchYear<year){
+                month = 12;
+                year = searchYear;
+            }
+            monthStartAndEndList = DateUtils.getMonthStartAndEndByYear(year, month);
+            // 当前年份只统计到当前月,历史年份统计全年
+            searchStartTime = DateUtils.getFirstDayOfThisYear(year);
+            searchEndTime = DateUtils.getLastDayOfMonth(year, month);
+        }else{
+            monthStartAndEndList = DateUtils.getMonthStartAndEndByYear(startMonth, endMonth);
+            searchStartTime = DateUtils.getFirstDayOfMonth(startMonth);
+            searchEndTime = DateUtils.getLastDayOfMonth(endMonth);
+        }
+
+        // 总数
+        inStoreFormDTO.setSearchStartTime(searchStartTime);
+        inStoreFormDTO.setSearchEndTime(searchEndTime);
+//        inStoreFormDTO.setType(CheckStandardTypeEnum.POLLING.getValue());
+        List<InStoreFormVO> inStoreFormVOList = inStoreFormMapper.selectList(inStoreFormDTO);
+        OutStoreFormDTO outStoreFormDTO=new OutStoreFormDTO();
+        outStoreFormDTO.setStoreId(inStoreFormDTO.getStoreId());
+        outStoreFormDTO.setSearchEndTime(inStoreFormDTO.getSearchEndTime());
+        outStoreFormDTO.setSearchStartTime(inStoreFormDTO.getSearchStartTime());
+        List<OutStoreFormVO> outStoreFormVOList = outStoreFormMapper.selectList(outStoreFormDTO);
+
+
+        List<StoreInAndOutReportVO> result = new ArrayList<StoreInAndOutReportVO>();
+        for(Map<String, LocalDateTime> map: monthStartAndEndList){
+            StoreInAndOutReportVO vo = new StoreInAndOutReportVO();
+            List<InStoreDetailVO> inStoreDetailVOS = new ArrayList<InStoreDetailVO>();
+            List<OutStoreDetailVO> outStoreDetailVOS = new ArrayList<OutStoreDetailVO>();
+            vo.setYear(map.get("searchStartTimeMonth").getYear());
+            vo.setMonth(map.get("searchStartTimeMonth").getMonthValue());
+            int inStoreNum = 0;
+            Double inStorePrice=0.0;
+            for(InStoreFormVO inStoreForm: inStoreFormVOList){
+                if(inStoreForm.getCreatedTime().toLocalDate().isAfter(map.get("searchStartTimeMonth").toLocalDate()) && inStoreForm.getCreatedTime().toLocalDate().isBefore(map.get("searchEndTimeMonth").toLocalDate()) && inStoreForm.getStatus().equals(InStoreStatusEnum.EXECUTING.getValue())){
+                    InStoreDetailDTO inStoreDetailDTO=new InStoreDetailDTO();
+                    inStoreDetailDTO.setInNo(inStoreForm.getInNo());
+                    List<InStoreDetailVO> inStoreDetailVOList=inStoreDetailMapper.selectList(inStoreDetailDTO);
+                    if(inStoreDetailVOList!=null){
+                        for(InStoreDetailVO ISVO:inStoreDetailVOList){
+                            inStoreDetailVOS.add(ISVO);
+                        }
+                    }
+                    inStoreNum ++;
+                    BigDecimal s=inStoreForm.getTotalPrice();
+                    if(inStoreForm.getTotalPrice()==null){
+                        s=new BigDecimal(0);
+                    }
+
+                    inStorePrice+=s.doubleValue();
+                }
+            }
+            int outStoreNum = 0;
+            Double outStorePrice=0.0;
+            for(OutStoreFormVO outStoreForm: outStoreFormVOList){
+                if(outStoreForm.getCreatedTime().toLocalDate().isAfter(map.get("searchStartTimeMonth").toLocalDate()) && outStoreForm.getCreatedTime().toLocalDate().isBefore(map.get("searchEndTimeMonth").toLocalDate()) && outStoreForm.getStatus().equals(OutStoreStatusEnum.EXECUTING.getValue())){
+                    outStoreNum ++;
+                    OutStoreDetailDTO outStoreDetailDTO=new OutStoreDetailDTO();
+                    outStoreDetailDTO.setOutNo(outStoreForm.getOutNo());
+                    List<OutStoreDetailVO> outStoreDetailVOList=outStoreDetailMapper.selectList(outStoreDetailDTO);
+                    if(outStoreDetailVOList!=null){
+                        for(OutStoreDetailVO OSVO:outStoreDetailVOList){
+                            outStoreDetailVOS.add(OSVO);
+                        }
+                    }
+                    BigDecimal s=outStoreForm.getTotalPrice();
+                    if(outStoreForm.getTotalPrice()==null){
+                        s=new BigDecimal(0);
+                    }
+
+                    outStorePrice+=s.doubleValue();
+                }
+            }
+            vo.setInStoreNum(inStoreNum);
+            vo.setInStorePrice(inStorePrice);
+            vo.setOutStoreNum(outStoreNum);
+            vo.setOutStorePrice(outStorePrice);
+            vo.setInDetailList(inStoreDetailVOS);
+            vo.setOutDetailList(outStoreDetailVOS);
+
+            result.add(vo);
+        }
+        return result;
+    }
 }