From 665ffec07abac9fa14e7613fe1c73922a537ff77 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 06 五月 2025 16:00:19 +0800
Subject: [PATCH] art: 设备管理-看板接口-维修统计接口

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairStatistics.java            |   29 +++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java         |   10 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml         |   19 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java       |   63 +++++++++---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java            |   12 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java |   29 +++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentStatusStatistics.java            |    6 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java                           |   94 ++++++++++++++++++
 8 files changed, 238 insertions(+), 24 deletions(-)

diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
index 92f023e..fa4d9a8 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
@@ -6,11 +6,10 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
+import java.time.YearMonth;
 import java.time.ZoneId;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 import org.jeecg.common.constant.SymbolConstant;
 import org.springframework.util.StringUtils;
@@ -783,4 +782,91 @@
     public static Date localDateToDate(LocalDate localDate) {
         return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
     }
+
+    /**
+     * 鑾峰彇鏈湀绗竴澶�
+     *
+     * @return
+     */
+    public static LocalDate getFirstOfMonth() {
+        LocalDate localDate = LocalDate.now();
+        return localDate.withDayOfMonth(1);
+    }
+
+    /**
+     * 鑾峰彇鏈湀绗竴澶�
+     *
+     * @return
+     */
+    public static LocalDate getFirstOfMonth(LocalDate localDate) {
+        return localDate.withDayOfMonth(1);
+    }
+
+    /**
+     * 鑾峰彇涓や釜鏈堜唤涓棿鐨勬墍鏈夋湀浠斤紝鍖呭惈寮�濮嬪拰缁撴潫鏈堜唤
+     *
+     * @param startMonth
+     * @param endMonth
+     * @return
+     */
+    public static List<String> getMonthsBetween(String startMonth, String endMonth) {
+        List<String> months = new ArrayList<>();
+
+        // 瀹氫箟鏃ユ湡鏍煎紡
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+
+        // 瑙f瀽璧峰鍜岀粨鏉熸湀浠�
+        YearMonth start = YearMonth.parse(startMonth, formatter);
+        YearMonth end = YearMonth.parse(endMonth, formatter);
+
+        // 纭繚start <= end 濡傛灉涓嶆槸 鍒欒繘琛屼氦鎹�
+        if (start.isAfter(end)) {
+            YearMonth temp = start;
+            start = end;
+            end = temp;
+        }
+
+        // 寰幆娣诲姞鏈堜唤
+        YearMonth current = start;
+        while (!current.isAfter(end)) {
+            months.add(current.format(formatter));
+            current = current.plusMonths(1);
+        }
+
+        return months;
+    }
+
+    /**
+     * 鑾峰彇涓や釜鏈堜唤涓棿鐨勬墍鏈夋湀浠斤紝鍖呭惈寮�濮嬪拰缁撴潫鏈堜唤
+     *
+     * @param startMonth
+     * @param endMonth
+     * @return
+     */
+    public static List<String> getMonthsBetween(LocalDate startMonth, LocalDate endMonth) {
+        List<String> months = new ArrayList<>();
+
+        // 瀹氫箟鏃ユ湡鏍煎紡
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+
+        // 瑙f瀽璧峰鍜岀粨鏉熸湀浠�
+        YearMonth start = YearMonth.of(startMonth.getYear(), startMonth.getMonth());
+        YearMonth end = YearMonth.of(endMonth.getYear(), endMonth.getMonth());
+
+        // 纭繚start <= end 濡傛灉涓嶆槸 鍒欒繘琛屼氦鎹�
+        if (start.isAfter(end)) {
+            YearMonth temp = start;
+            start = end;
+            end = temp;
+        }
+
+        // 寰幆娣诲姞鏈堜唤
+        YearMonth current = start;
+        while (!current.isAfter(end)) {
+            months.add(current.format(formatter));
+            current = current.plusMonths(1);
+        }
+
+        return months;
+    }
 }
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
index 70b8ebd..109ffa9 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
@@ -4,56 +4,87 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
 import org.jeecg.modules.eam.constant.EquipmentRepairStatus;
 import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
-import org.jeecg.modules.eam.vo.EquipmentMaintenanceStatistics;
+import org.jeecg.modules.eam.service.IEamReportRepairService;
+import org.jeecg.modules.eam.vo.EquipmentRepairStatistics;
+import org.jeecg.modules.eam.vo.EquipmentStatusStatistics;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalDate;
+import java.util.*;
 
 @Slf4j
-@Api(tags="璁惧绠$悊-棣栭〉鐪嬫澘鎺ュ彛")
+@Api(tags = "璁惧绠$悊-棣栭〉鐪嬫澘鎺ュ彛")
 @RestController
 @RequestMapping("/eam/dashboard")
 public class EamDashboardController {
     @Autowired
     private IEamEquipmentService eamEquipmentService;
+    @Autowired
+    private IEamReportRepairService reportRepairService;
 
-    @ApiOperation(value="鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�", notes="鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�")
+    @ApiOperation(value = "鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�", notes = "鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�")
     @GetMapping(value = "/equipmentStatusStatistics")
     public Result<?> equipmentStatusStatistics(@RequestParam(required = false, value = "productionId") String productionId) {
         List<EamEquipment> list = eamEquipmentService.queryByProductionId(productionId);
         //鍒濆鍖栬繑鍥�
-        Map<String, EquipmentMaintenanceStatistics> statisticsMap = new HashMap<>();
-        statisticsMap.put(EquipmentMaintenanceStatus.NORMAL.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.NORMAL.name(), "姝e父"));
-        statisticsMap.put(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), "鐐规"));
-        statisticsMap.put(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), "淇濆吇"));
-        statisticsMap.put(EquipmentRepairStatus.UNDER_REPAIR.name(), new EquipmentMaintenanceStatistics(EquipmentRepairStatus.UNDER_REPAIR.name(), "缁翠慨"));
+        Map<String, EquipmentStatusStatistics> statisticsMap = new HashMap<>();
+        statisticsMap.put(EquipmentMaintenanceStatus.NORMAL.name(), new EquipmentStatusStatistics(EquipmentMaintenanceStatus.NORMAL.name(), "姝e父"));
+        statisticsMap.put(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), new EquipmentStatusStatistics(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), "鐐规"));
+        statisticsMap.put(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), new EquipmentStatusStatistics(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), "淇濆吇"));
+        statisticsMap.put(EquipmentRepairStatus.UNDER_REPAIR.name(), new EquipmentStatusStatistics(EquipmentRepairStatus.UNDER_REPAIR.name(), "缁翠慨"));
 
         for (EamEquipment entity : list) {
-            if(EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getMaintenanceStatus()) && EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) {
+            if (EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getMaintenanceStatus()) && EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) {
                 //姝e父鐘舵��
                 statisticsMap.get(EquipmentMaintenanceStatus.NORMAL.name()).increase();
-            }else if(!EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) {
+            } else if (!EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) {
                 //缁翠慨鐘舵��
                 statisticsMap.get(EquipmentRepairStatus.UNDER_REPAIR.name()).increase();
-            } else if(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(entity.getMaintenanceStatus())) {
+            } else if (EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(entity.getMaintenanceStatus())) {
                 //淇濆吇鐘舵��
                 statisticsMap.get(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()).increase();
             } else {
                 statisticsMap.get(EquipmentMaintenanceStatus.UNDER_INSPECTION.name()).increase();
             }
         }
-        List<EquipmentMaintenanceStatistics> resultList = new ArrayList<>(statisticsMap.values());
+        List<EquipmentStatusStatistics> resultList = new ArrayList<>(statisticsMap.values());
+        return Result.ok(resultList);
+    }
+
+    @ApiOperation(value = "鐪嬫澘鎺ュ彛-缁翠慨缁熻", notes = "鐪嬫澘鎺ュ彛-缁翠慨缁熻")
+    @GetMapping(value = "/equipmentRepairStatistics")
+    public Result<?> equipmentRepairStatistics(@RequestParam(required = false, value = "productionId") String productionId) {
+        //缁熻缁撴潫鏃ユ湡
+        LocalDate today = LocalDate.now();
+        LocalDate localDate = today.minusMonths(5);
+        //缁熻寮�濮嬫棩鏈�
+        LocalDate firstOfMonth = DateUtils.getFirstOfMonth(localDate);
+
+        //鍒濆鍖栬繑鍥炲��
+        Map<String, EquipmentRepairStatistics> statisticsMap = new HashMap<>();
+        List<String> monthsBetween = DateUtils.getMonthsBetween(firstOfMonth, today);
+        monthsBetween.forEach(month -> {
+            statisticsMap.put(month, new EquipmentRepairStatistics(month));
+        });
+
+        List<EquipmentRepairStatistics> list = reportRepairService.equipmentRepairStatistics(productionId, firstOfMonth, today);
+        for (EquipmentRepairStatistics statistics : list) {
+            if (statisticsMap.containsKey(statistics.getMonthStr())) {
+                statisticsMap.put(statistics.getMonthStr(), statistics);
+            }
+        }
+        List<EquipmentRepairStatistics> resultList = new ArrayList<>(statisticsMap.values());
+        //鎺掑簭
+        resultList.sort(Comparator.comparing(EquipmentRepairStatistics::getMonthStr));
         return Result.ok(resultList);
     }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
index a86d58c..b507bcc 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
@@ -1,11 +1,12 @@
 package org.jeecg.modules.eam.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.eam.entity.EamReportRepair;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.vo.EquipmentRepairStatistics;
 
 import java.util.List;
 
@@ -25,4 +26,13 @@
      * @return
      */
     IPage<EamReportRepair> pageList(Page<EamReportRepair> page, @Param("eamReportRepair") EamReportRepairQuery eamReportRepairQuery, @Param("userId") String userId, @Param("equipmentIds") List<String> equipmentIds);
+
+    /**
+     * 缁熻缁翠慨
+     * @param productionIds 浣跨敤杞﹂棿 ids
+     * @param start 缁熻寮�濮嬫棩鏈�
+     * @param end 缁熻缁撴潫鏃ユ湡
+     * @return
+     */
+    List<EquipmentRepairStatistics> equipmentRepairStatistics(@Param("productionIds") List<String> productionIds, @Param("start") String start, @Param("end") String end);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
index e95236a..cf05e8a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
@@ -48,4 +48,23 @@
         </where>
         ORDER BY t1.create_time DESC
     </select>
+
+    <select id="equipmentRepairStatistics" resultType="org.jeecg.modules.eam.vo.EquipmentRepairStatistics">
+        select FORMAT(err.create_time, 'yyyy-MM') as monthStr,
+               COUNT(1) as reportNumber,
+               SUM(CASE WHEN err.report_status = 'COMPLETE' THEN 1 ELSE 0 END) as repairedNumber
+        from eam_report_repair err
+        inner join eam_equipment e
+        on err.equipment_id = e.id
+        where err.report_status != 'ABOLISH' and err.del_flag = 0 and e.del_flag = 0
+        <if test="productionIds != null">
+            AND e.org_id IN
+            <foreach collection="productionIds" item="productionId" index="index" open="(" close=")" separator=",">
+                #{productionId}
+            </foreach>
+        </if>
+        and err.create_time &gt;= #{start}
+        and err.create_time &lt; #{end}
+        group by FORMAT(err.create_time, 'yyyy-MM')
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
index 059a9f6..d7e4ae9 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
@@ -7,7 +7,9 @@
 import org.jeecg.modules.eam.entity.EamReportRepair;
 import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
 import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.vo.EquipmentRepairStatistics;
 
+import java.time.LocalDate;
 import java.util.List;
 
 /**
@@ -54,4 +56,12 @@
      */
     boolean edit(EamReportRepair eamReportRepair);
 
+    /**
+     * 鏌ヨ鎶ヤ慨鍒楄〃
+     * @param productionId
+     * @param firstOfMonth
+     * @param today
+     * @return
+     */
+    List<EquipmentRepairStatistics> equipmentRepairStatistics(String productionId, LocalDate firstOfMonth, LocalDate today);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
index faf446f..3f89858 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -1,5 +1,7 @@
 package org.jeecg.modules.eam.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -16,11 +18,15 @@
 import org.jeecg.modules.eam.request.EamReportRepairQuery;
 import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
 import org.jeecg.modules.eam.service.IEamReportRepairService;
+import org.jeecg.modules.eam.vo.EquipmentRepairStatistics;
+import org.jeecg.modules.system.service.IMdcProductionService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.time.LocalDate;
 import java.util.*;
 
 /**
@@ -33,6 +39,8 @@
 
     @Resource
     private IEamEquipmentExtendService eamEquipmentExtendService;
+    @Autowired
+    private IMdcProductionService mdcProductionService;
 
     /**
      * 鍒嗛〉鍒楄〃
@@ -148,4 +156,25 @@
         this.baseMapper.updateById(eamReportRepair);
         return true;
     }
+
+    @Override
+    public List<EquipmentRepairStatistics> equipmentRepairStatistics(String productionId, LocalDate firstOfMonth, LocalDate today) {
+        if (StringUtils.isNotBlank(productionId)) {
+            //杞﹂棿缂栫爜涓嶄负绌�
+            List<String> productIds = mdcProductionService.recursionChildren(productionId);
+            if (CollectionUtil.isEmpty(productIds)) {
+                return Collections.emptyList();
+            }
+            List<EquipmentRepairStatistics> list = this.baseMapper.equipmentRepairStatistics(productIds, firstOfMonth.toString(), today.plusDays(1).toString());
+            if (CollectionUtil.isEmpty(list)) {
+                return Collections.emptyList();
+            }
+            return list;
+        }
+        List<EquipmentRepairStatistics> list = this.baseMapper.equipmentRepairStatistics(null, firstOfMonth.toString(), today.plusDays(1).toString());
+        if (CollectionUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+        return list;
+    }
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairStatistics.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairStatistics.java
new file mode 100644
index 0000000..dd41b55
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairStatistics.java
@@ -0,0 +1,29 @@
+package org.jeecg.modules.eam.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class EquipmentRepairStatistics implements Serializable {
+    /**
+     * 鏈堜唤
+     */
+    private String monthStr;
+    /**
+     * 鎶ヤ慨鏁�
+     */
+    private Integer reportNumber;
+    /**
+     * 缁翠慨鏁�
+     */
+    private Integer repairedNumber;
+
+    public EquipmentRepairStatistics(){}
+
+    public EquipmentRepairStatistics(String monthStr){
+        this.monthStr = monthStr;
+        this.reportNumber = 0;
+        this.repairedNumber = 0;
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentStatusStatistics.java
similarity index 69%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java
rename to lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentStatusStatistics.java
index 0bd09a2..8e82086 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentStatusStatistics.java
@@ -8,7 +8,7 @@
  * 璁惧缁翠繚鐘舵�佺粺璁�
  */
 @Data
-public class EquipmentMaintenanceStatistics implements Serializable {
+public class EquipmentStatusStatistics implements Serializable {
     /**
      * 鐘舵��
      */
@@ -23,9 +23,9 @@
      */
     private String statusText;
 
-    public EquipmentMaintenanceStatistics() {}
+    public EquipmentStatusStatistics() {}
 
-    public EquipmentMaintenanceStatistics(String status, String statusText) {
+    public EquipmentStatusStatistics(String status, String statusText) {
         this.status = status;
         this.statusText = statusText;
     }

--
Gitblit v1.9.3