按维修类型汇总导出

This commit is contained in:
lujiang 2024-10-15 20:21:37 +08:00
parent 58dbab7973
commit 9d9574011d
7 changed files with 87 additions and 2 deletions

View File

@ -10,6 +10,7 @@ import com.ics.admin.service.IRepairService;
import com.ics.admin.utils.EasyPoiUtils; import com.ics.admin.utils.EasyPoiUtils;
import com.ics.admin.utils.ExcelView; import com.ics.admin.utils.ExcelView;
import com.ics.admin.vo.RepairExportVo; import com.ics.admin.vo.RepairExportVo;
import com.ics.admin.vo.RepairTypeExportVo;
import com.ics.common.core.controller.BaseController; import com.ics.common.core.controller.BaseController;
import com.ics.common.core.domain.R; import com.ics.common.core.domain.R;
import com.ics.common.utils.DateUtils; import com.ics.common.utils.DateUtils;
@ -317,15 +318,41 @@ public class RepairIOController extends BaseController {
repair.getParams().put("beginTime", start); repair.getParams().put("beginTime", start);
repair.getParams().put("endTime", end); repair.getParams().put("endTime", end);
List<RepairExportVo> list = repairIOSerice.exportRepair(repair); List<RepairExportVo> list = repairIOSerice.exportRepair(repair);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM月dd日 HH:mm"); //SimpleDateFormat dateFormat = new SimpleDateFormat("MM月dd日 HH:mm");
Context context = new Context(); Context context = new Context();
context.putVar("startDate", repair.getBeginTime()); context.putVar("startDate", repair.getBeginTime());
context.putVar("endDate", repair.getEndTime()); context.putVar("endDate", repair.getEndTime());
context.putVar("list", list); context.putVar("list", list);
context.putVar("dateFormat", dateFormat); //context.putVar("dateFormat", dateFormat);
new ExcelView("excel/工单导出模版.xls", "零星维修进度情况跟踪表.xls", context); new ExcelView("excel/工单导出模版.xls", "零星维修进度情况跟踪表.xls", context);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
/**
* 按维修类型汇总 导出
* 查询条件
* beginTime : 工单创建日期范围开始时间;格式示例 2024-08-22成对出现
* endTime : 工单创建日期范围结束时间;格式示例 2024-08-25成对出现
*/
@RequiresPermissions(value = {"repair:manage:operator"})
@RequestMapping("/exportCategory")
public void exportCategory(Repair repair) {
Date start, end;
try {
start = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, repair.getBeginTime() + " 00:00:00");
end = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, repair.getEndTime() + " 23:59:59");
repair.getParams().put("beginTime", start);
repair.getParams().put("endTime", end);
List<RepairTypeExportVo> list = repairIOSerice.categoryExport(repair);
Context context = new Context();
context.putVar("startDate", repair.getBeginTime());
context.putVar("endDate", repair.getEndTime());
context.putVar("list", list);
new ExcelView("excel/按维修类型汇总模版.xls", "按维修类型汇总.xls", context);
} catch (Exception e) {
e.printStackTrace();
}
}
} }

View File

@ -3,6 +3,7 @@ package com.ics.admin.mapper;
import com.ics.admin.domain.Repair; import com.ics.admin.domain.Repair;
import com.ics.admin.vo.RepairCheckVo; import com.ics.admin.vo.RepairCheckVo;
import com.ics.admin.vo.RepairExportVo; import com.ics.admin.vo.RepairExportVo;
import com.ics.admin.vo.RepairTypeExportVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -42,4 +43,10 @@ public interface RepairCheckMapper {
* @return * @return
*/ */
List<RepairExportVo> exportList(Repair repair); List<RepairExportVo> exportList(Repair repair);
/**
* 故障类型分类统计 导出
* @return
*/
List<RepairTypeExportVo> categoryExport(Repair repair);
} }

View File

@ -6,6 +6,7 @@ import com.ics.admin.domain.RepairAddressFloor;
import com.ics.admin.domain.RepairDevice; import com.ics.admin.domain.RepairDevice;
import com.ics.admin.domain.RepairDeviceType; import com.ics.admin.domain.RepairDeviceType;
import com.ics.admin.vo.RepairExportVo; import com.ics.admin.vo.RepairExportVo;
import com.ics.admin.vo.RepairTypeExportVo;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -35,4 +36,9 @@ public interface IRepairIOSerice {
* @return * @return
*/ */
List<RepairExportVo> exportRepair(Repair repair); List<RepairExportVo> exportRepair(Repair repair);
/**
* 故障类型分类统计
*/
List<RepairTypeExportVo> categoryExport(Repair repair);
} }

View File

@ -13,6 +13,7 @@ import com.ics.admin.mapper.RepairDeviceTypeMapper;
import com.ics.admin.service.IRepairIOSerice; import com.ics.admin.service.IRepairIOSerice;
import com.ics.admin.vo.RepairCheckVo; import com.ics.admin.vo.RepairCheckVo;
import com.ics.admin.vo.RepairExportVo; import com.ics.admin.vo.RepairExportVo;
import com.ics.admin.vo.RepairTypeExportVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -90,4 +91,9 @@ public class RepairIOSericeImpl implements IRepairIOSerice {
} }
return list; return list;
} }
@Override
public List<RepairTypeExportVo> categoryExport(Repair repair) {
return repairCheckMapper.categoryExport(repair);
}
} }

View File

@ -0,0 +1,27 @@
package com.ics.admin.vo;
import lombok.Data;
import java.io.Serializable;
/**
* created at 2024-10-15 19:39
*
* @author lujiang
* @version 1.0.0
* @since 1.0.0
*/
@Data
public class RepairTypeExportVo implements Serializable {
private static final long serialVersionUID = -202410151940L;
private String name;//类型名称
private Integer zs;//总数
private Integer sh;//待审核
private Integer wait;//待派单
private Integer process;//维修中
private Integer end;//已经结单
private Integer evaled;//已评价
}

View File

@ -69,4 +69,16 @@
order by rep.create_time order by rep.create_time
</select> </select>
<!-- 故障类型分类统计 -->
<select id="categoryExport" parameterType="com.ics.admin.domain.Repair" resultType="com.ics.admin.vo.RepairTypeExportVo">
select dt.name, count(rep.id) zs,
sum(case when `status` = 5 then 1 else 0 end) sh,
sum(case when `status` = 1 then 1 else 0 end) `wait`,
sum(case when `status` = 7 then 1 else 0 end) process,
sum(case when `status` = 9 or `status` = 13 then 1 else 0 end) `end`,
sum(case when `status`= 13 then 1 else 0 end) evaled
from ics_repair_device_type dt left join ics_repair rep on dt.id=rep.type_id and rep.delete_flag=0 and dt.delete_flag=0
<if test="params.beginTime != null and params.endTime != null"> and rep.create_time between #{params.beginTime} and #{params.endTime}</if>
group by dt.name order by dt.id
</select>
</mapper> </mapper>