Prechádzať zdrojové kódy

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun

ccjgmwz 3 rokov pred
rodič
commit
d9589d474f
17 zmenil súbory, kde vykonal 438 pridanie a 3 odobranie
  1. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java
  2. 21 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ClockInfoController.java
  3. 11 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ExpenseInfoController.java
  4. 11 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WeighingManagementController.java
  5. 119 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ClockInfo.java
  6. 15 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ExpenseInfo.java
  7. 28 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java
  8. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ClockInfoMapper.java
  9. 8 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ExpenseInfoMapper.java
  10. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IClockInfoService.java
  11. 6 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IExpenseInfoService.java
  12. 7 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWeighingManagementService.java
  13. 20 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ClockInfoServiceImpl.java
  14. 31 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ExpenseInfoServiceImpl.java
  15. 92 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WeighingManagementServiceImpl.java
  16. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ClockInfoMapper.xml
  17. 31 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ExpenseInfoMapper.xml

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java

@@ -53,7 +53,7 @@ public class GeneratorCodeByTables {
     }
 
     public static void main(String[] args) throws IOException {
-        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","expense_allocation_info");
+        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","clock_info");
     }
 
     /**

+ 21 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ClockInfoController.java

@@ -0,0 +1,21 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 记录打卡信息 前端控制器
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-11
+ */
+@RestController
+@RequestMapping("/clockInfo")
+public class ClockInfoController {
+
+}
+

+ 11 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ExpenseInfoController.java

@@ -4,6 +4,7 @@ package com.yh.saas.plugin.yiliangyiyun.controller;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ExpenseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.service.IExpenseInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -94,7 +95,16 @@ public class ExpenseInfoController {
         return expenseInfoService.selectWarehousingOrder(contractNo,warehouseName,receiptDocDate);
     }
 
-
+    /**
+     * 费用管理图表
+     *
+     * @param compId
+     * @return
+     */
+    @GetMapping("/expenseChart")
+    public List<ExpenseInfo> expenseChart(String compId, int year){
+        return expenseInfoService.expenseChart(compId,year);
+    }
 
 }
 

+ 11 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WeighingManagementController.java

@@ -117,6 +117,7 @@ public class WeighingManagementController {
     public WeighingManagement getQRcode(WeighingManagement weighingManagement) {
         return weighingManagementService.getQRcode(weighingManagement);
     }
+
     /**
      * 退回
      * @param weighingManagement
@@ -127,6 +128,16 @@ public class WeighingManagementController {
         return weighingManagementService.weightReturn(weighingManagement);
     }
 
+    /**
+     * 出库管理检斤退回
+     * @param weighingManagement
+     * @return
+     */
+    @PostMapping("/api/outWeightReturn")
+    public String outWeightReturn(@RequestBody WeighingManagement weighingManagement) {
+        return weighingManagementService.outWeightReturn(weighingManagement);
+    }
+
     /**
      * 换仓
      * @param weighingManagement

+ 119 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ClockInfo.java

@@ -0,0 +1,119 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import java.util.Date;
+import java.io.Serializable;
+
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 记录打卡信息
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("clock_info")
+public class ClockInfo extends BaseModel<ClockInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 公司id
+     */
+    private String compId;
+    /**
+     * 请假id
+     */
+    private String leaveId;
+    /**
+     * 用户id
+     */
+    private String commonId;
+    /**
+     * 部门
+     */
+    private String dept;
+    /**
+     * 手机号
+     */
+    private String phone;
+    /**
+     * 员工姓名
+     */
+    private String empName;
+    /**
+     * 打卡原因(1上班/下班3其他)
+     */
+    private String clockType;
+    /**
+     * 打卡距离
+     */
+    private Double clockDistance;
+    /**
+     * 目标位置
+     */
+    private String targetLocation;
+    /**
+     * 其他原因
+     */
+    private String otherReasons;
+    /**
+     * 上班打卡时间
+     */
+    private Date toClockDate;
+    /**
+     * 下班打卡时间
+     */
+    private Date offClockDate;
+    /**
+     * 请假类型
+     */
+    private String leaveType;
+    /**
+     * 补卡原因(1上班/下班3其他)
+     */
+    private String supplementClockType;
+    /**
+     * 申请理由
+     */
+    private String reasonForApplication;
+    /**
+     * 补卡状态
+     */
+    private String status;
+    /**
+     * 状态标识
+     */
+    private String statusFlag;
+    /**
+     * 审核状态
+     */
+    private String approveStatus;
+    /**
+     * 工作流ID
+     */
+    private String workflowId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 15 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ExpenseInfo.java

@@ -203,6 +203,21 @@ public class ExpenseInfo extends BaseModel<ExpenseInfo> {
      */
     @TableField(exist = false)
     private String flag;
+    /**
+     * 收入
+     */
+    @TableField(exist = false)
+    private String income;
+    /**
+     * 支出
+     */
+    @TableField(exist = false)
+    private String expenditure;
+    /**
+     * 月份
+     */
+    @TableField(exist = false)
+    private String month;
     /**
      * 开始时间
      */

+ 28 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java

@@ -218,6 +218,34 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
     @TableField(exist = false)
     private String searchKeyWord;
 
+    /**
+     * 剩余(吨)
+     */
+    @TableField(exist = false)
+    private Double surplus;
+    /**
+     * 利润(万元)
+     */
+    @TableField(exist = false)
+    private Double profit;
+    /**
+     * 销售额(万元)
+     */
+    @TableField(exist = false)
+    private Double salesVolume;
+    /**
+     * 收购量(吨)
+     */
+    @TableField(exist = false)
+    private Double acquisitionWeight;
+    /**
+     * 销量(吨)
+     */
+    @TableField(exist = false)
+    private Double saleWeight;
+
+
+
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ClockInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ClockInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 记录打卡信息 Mapper 接口
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-11
+ */
+public interface ClockInfoMapper extends BaseMapper<ClockInfo> {
+
+}

+ 8 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/ExpenseInfoMapper.java

@@ -31,4 +31,12 @@ public interface ExpenseInfoMapper extends BaseMapper<ExpenseInfo> {
      */
     List<ExpenseInfo> getListByCondition(Map<String, Object> pageView);
 
+    /**
+     * 根据条件查询费用列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<ExpenseInfo> getExpenseChartListByCondition(Map<String, Object> pageView);
+
 }

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IClockInfoService.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ClockInfo;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 记录打卡信息 服务类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-11
+ */
+public interface IClockInfoService extends IService<ClockInfo> {
+
+}

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IExpenseInfoService.java

@@ -64,4 +64,10 @@ public interface IExpenseInfoService extends IService<ExpenseInfo> {
      *查看入库单数据
      */
     List<WarehousingOrder> selectWarehousingOrder(String contractNo, String warehouseName, String receiptDocDate);
+    /**
+     * 费用管理图表
+     * @param compId
+     * @return
+     */
+    List<ExpenseInfo> expenseChart(String compId,int year);
 }

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWeighingManagementService.java

@@ -72,6 +72,13 @@ public interface IWeighingManagementService extends IService<WeighingManagement>
      */
     String weightReturn(WeighingManagement weighingManagement);
 
+    /**
+     * 出库管理检斤退回
+     * @param
+     * @return
+     */
+    String outWeightReturn(WeighingManagement weighingManagement);
+
     /**
      * 换仓
      * @param

+ 20 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ClockInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.ClockInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.ClockInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IClockInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 记录打卡信息 服务实现类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2022-06-11
+ */
+@Service
+public class ClockInfoServiceImpl extends ServiceImpl<ClockInfoMapper, ClockInfo> implements IClockInfoService {
+
+}

+ 31 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ExpenseInfoServiceImpl.java

@@ -18,6 +18,7 @@ import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.ExpenseAllocationInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.ExpenseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ExpenseInfoMapper;
@@ -31,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -305,6 +307,35 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
         return warehousingOrderList;
     }
 
+
+    /**
+     * 费用管理图表
+     * @param compId
+     * @param year
+     * @return
+     */
+    @Override
+    public List<ExpenseInfo> expenseChart(String compId, int year) {
+        Map<String, Object> pageView = new HashMap<>();
+        //  公司ID
+        pageView.put("compId", compId);
+        Calendar calendar = Calendar.getInstance();
+        calendar.clear();
+        calendar.set(Calendar.YEAR, year);
+        Date currYearFirst = calendar.getTime();
+        String startDate = new SimpleDateFormat("yyyy-MM-dd 00:00:00").format(currYearFirst);
+        Calendar calendar1 = Calendar.getInstance();
+        calendar1.clear();
+        calendar1.set(Calendar.YEAR, year);
+        calendar1.roll(Calendar.DAY_OF_YEAR, -1);
+        Date currYearFirst1 = calendar1.getTime();
+        String endDate = new SimpleDateFormat("yyyy-MM-dd 23:59:59").format(currYearFirst1);
+        pageView.put("startDate", startDate);
+        pageView.put("endDate", endDate);
+        List<ExpenseInfo> dataList = baseMapper.getExpenseChartListByCondition(pageView);
+        return dataList;
+    }
+
     private List<String> getResourceIdList() {
         User currentUser = AuthSecurityUtils.getCurrentUserInfo();
         // 当前登录人主要角色

+ 92 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WeighingManagementServiceImpl.java

@@ -65,6 +65,10 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
     private ICommonStaffService staffService;
     @Autowired
     private QRCodeUtil qrCodeUtil;
+    @Autowired
+    private IStockSaleReceiptReportService stockSaleReceiptReportService;
+
+
     /**
      * 检斤管理列表
      * @param weighingManagement
@@ -630,7 +634,7 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
                                 .eq("car_no",warehouseInOutInfo.getCarNo())
                                 .eq("delete_flag","0"));
                         if(tranCarInfo != null){
-                            tranCarInfo.setSubmit("1");
+                            tranCarInfo.setSubmit("2");
                             //汽运状态改为已装车
                             tranCarInfo.setStatus(StatusEnum.LOADED.getName());
                             tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
@@ -652,6 +656,93 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
         return "OK";
     }
 
+
+    /**
+     * 出库管理检斤退回
+     * @param
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String outWeightReturn(WeighingManagement weighingManagement) {
+        //查询检斤信息表
+        WeighingManagement weighingManagement1 = this.selectById(weighingManagement.getId());
+        //状态改为已称皮重
+        weighingManagement1.setStatus(StatusEnum.TARED.getName());
+        weighingManagement1.setStatusFlag(StatusEnum.TARED.getFlag());
+        //更新检斤信息
+        this.updateById(weighingManagement1);
+        //查询出入库表
+        WarehouseInOutInfo warehouseInOutInfo = warehouseInOutInfoService.selectById(weighingManagement1.getWarehouseInOutId());
+        if(weighingManagement1.getWarehouseInOutId() != null){
+            if(warehouseInOutInfo!= null){
+                //状态改为已暂存
+                warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
+                //更新出入库表信息
+                warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                //查询仓位库存信息
+                WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                        .eq("position_id",warehouseInOutInfo.getPositionId())
+                        .eq("delete_flag","0"));
+                if(warehousePositionStorageInfo != null){
+                    //更新仓位库存信息
+                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + weighingManagement1.getNetWeight()/1000);
+                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                }
+            }
+        }
+        //移库出库
+        if(weighingManagement1 != null && "2".equals(weighingManagement1.getServiceManagementType()) && "移库出库".equals(weighingManagement1.getInOutType())){
+
+            if(warehouseInOutInfo.getCarId() != null ){
+                //查询派车信息表
+                TranCarInfo tranCarInfo = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
+                        .eq("car_no",warehouseInOutInfo.getCarNo())
+                        .eq("delete_flag","0"));
+                if(tranCarInfo != null){
+                    tranCarInfo.setSubmit("1");
+                    //汽运状态改为已装车
+                    tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                    tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                    //更新派车信息表
+                    tranCarInfoService.updateById(tranCarInfo);
+                }
+            }
+        }
+        //销售出库
+        else if(weighingManagement1 != null && "2".equals(weighingManagement1.getServiceManagementType()) && "销售出库".equals(weighingManagement1.getInOutType())){
+
+            if(weighingManagement1.getWarehouseInOutId() != null){
+                if(warehouseInOutInfo != null){
+                    if(warehouseInOutInfo.getCarId() != null ){
+                        //查询派车信息表
+                        TranCarInfo tranCarInfo = tranCarInfoService.selectOne(new EntityWrapper<TranCarInfo>()
+                                .eq("car_no",warehouseInOutInfo.getCarNo())
+                                .eq("delete_flag","0"));
+                        if(tranCarInfo != null){
+                            tranCarInfo.setSubmit("1");
+                            //汽运状态改为已装车
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            //更新派车信息表
+                            tranCarInfoService.updateById(tranCarInfo);
+                        }
+                    }
+                    //查询销售出库报表
+                    StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+                            .eq("warehouse_record_id",warehouseInOutInfo.getId())
+                            .eq("delete_flag","0"));
+                    if(stockSaleReceiptReport != null){
+                        stockSaleReceiptReport.setDeleteFlag("1");
+                        stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
+                    }
+                }
+            }
+        }
+        return "OK";
+    }
+
     /**
      * 换仓
      * @param

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ClockInfoMapper.xml

@@ -0,0 +1,5 @@
+<?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.yh.saas.plugin.yiliangyiyun.mapper.ClockInfoMapper">
+
+</mapper>

+ 31 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ExpenseInfoMapper.xml

@@ -72,4 +72,35 @@
             LIMIT ${startRecord}, ${pageSize}
         </if>
     </select>
+    <!-- 获得费用管理柱形图 -->
+    <select id="getExpenseChartListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.ExpenseInfo">
+        SELECT MONTH
+            ( a.create_date ) as month,
+            sum( b.amount_money ) as income,
+            sum( c.amount_money ) as expenditure
+        FROM
+            expense_info a
+            LEFT JOIN expense_info b ON b.id = a.id
+            AND b.delete_flag = 0
+            AND b.expenses_type = '1'
+            LEFT JOIN expense_info c ON c.id = a.id
+            AND c.delete_flag = 0
+            AND c.expenses_type = '2'
+        WHERE
+            a.delete_flag = 0
+            AND a.comp_id= #{compId}
+        <if test="startDate != null">
+            AND (DATE_FORMAT(a.create_date ,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(a.create_date ,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        GROUP BY
+            MONTH ( a.create_date )
+        ORDER BY
+            MONTH ( a.create_date ) ASC
+    </select>
 </mapper>