Commit 8f65ec0f authored by 张森's avatar 张森

备品备件问题需求开发 - 卡片备品备件统计API修改 、 导出API添加筛选条件

parent d539b6ea
...@@ -169,16 +169,55 @@ public class WlSpareEquipmentController extends BaseController { ...@@ -169,16 +169,55 @@ public class WlSpareEquipmentController extends BaseController {
@ApiOperation(value = "数据导出", notes = "数据导出") @ApiOperation(value = "数据导出", notes = "数据导出")
@PostMapping(value = "/export") @PostMapping(value = "/export")
public void export(HttpServletResponse response, @RequestBody WlSpareEquipment dto) { public void export(HttpServletResponse response, @RequestBody WlSpareEquipment dto) {
LambdaQueryWrapper<WlSpareEquipment> lambda = new LambdaQueryWrapper<>(); List<WlSpareEquipment> exportList = new ArrayList<>();
lambda.eq(WlSpareEquipment::getIsDelete, false); String[] result = hierarchy.split(",");
lambda.ne(WlSpareEquipment::getStockNum, 0); Map<Integer, Integer> map = new HashMap<>();
List<WlSpareEquipment> wlSpareEquipments = wlSpareEquipmentMapper.selectList(lambda); for (int i = 0; i < result.length; i++) {
List<WlSpareEquipmentExportVo> exportList = new ArrayList<>(); map.put(i, Integer.valueOf(result[i]));
wlSpareEquipments.forEach(item -> { }
if (StringUtil.isNotEmpty(dto.getEquipmentClassificationCode())) {
QueryWrapper<EquipmentCategory> equipmentCategoryQueryWrapper = new QueryWrapper<>();
equipmentCategoryQueryWrapper.eq("code", dto.getEquipmentClassificationCode());
equipmentCategoryQueryWrapper.eq("industry_code", dto.getIndustryCode());
List<EquipmentCategory> equipmentCategoryList = equipmentCategoryService.list(equipmentCategoryQueryWrapper);
if (CollectionUtils.isEmpty(equipmentCategoryList)) {
throw new RuntimeException("装备定义code有误");
}
EquipmentCategory equipmentCategory = equipmentCategoryList.get(0);
int inhierarchy = 1;
int flag = 0;
for (int i = 0; i < result.length + 1; i++) {
//进来先判断是否默认就是空,如果为空第一层
if (equipmentCategory.getParentId() == null) {
//判断是否是最下面的子节点
if (i >= 4) {
inhierarchy = 8;
} else {
inhierarchy = map.get(i);
}
flag = i;
break;
} else {
//查找到循环几次为空
equipmentCategory = equipmentCategoryService.getById(equipmentCategory.getParentId());
}
}
if (flag == 0) {
String classificationCode = dto.getEquipmentClassificationCode().replaceAll("0+$", "");
exportList = wlSpareEquipmentService.exportList(dto, inhierarchy, classificationCode);
} else {
String classificationCode = dto.getEquipmentClassificationCode().replaceAll("0+$", "");
exportList = wlSpareEquipmentService.exportList(dto, inhierarchy, classificationCode.length() % 2 == 0 ? classificationCode : classificationCode + "0");
}
} else {
exportList = wlSpareEquipmentService.exportList(dto, 0, null);
}
List<WlSpareEquipmentExportVo> exportVoList = new ArrayList<>();
exportVoList.forEach(item -> {
WlSpareEquipmentExportVo exportVo = new WlSpareEquipmentExportVo(); WlSpareEquipmentExportVo exportVo = new WlSpareEquipmentExportVo();
BeanUtils.copyProperties(item, exportVo, "single"); BeanUtils.copyProperties(item, exportVo, "single");
exportVo.setSingle(SingleEnum.DXGL.getKey().equals(item.getSingle()) ? "单项管理" : "批量管理"); exportVo.setSingle(SingleEnum.DXGL.getKey().equals(item.getSingle()) ? "单项管理" : "批量管理");
exportList.add(exportVo); exportVoList.add(exportVo);
}); });
ExcelUtil.createTemplate(response, "消防装备备品备件", "备品备件信息", exportList, WlSpareEquipmentExportVo.class, null, false); ExcelUtil.createTemplate(response, "消防装备备品备件", "备品备件信息", exportList, WlSpareEquipmentExportVo.class, null, false);
} }
......
...@@ -17,4 +17,8 @@ public interface WlSpareEquipmentMapper extends BaseMapper<WlSpareEquipment> { ...@@ -17,4 +17,8 @@ public interface WlSpareEquipmentMapper extends BaseMapper<WlSpareEquipment> {
List<Map<String, Object>> countSpareEquip(@Param("bizOrgCode") String bizOrgCode); List<Map<String, Object>> countSpareEquip(@Param("bizOrgCode") String bizOrgCode);
List<WlSpareEquipment> exportList(@Param("dto") WlSpareEquipment dto,
@Param("hierarchy") int hierarchy,
@Param("codeHead") String codeHead);
} }
...@@ -32,4 +32,6 @@ public interface WlSpareEquipmentService { ...@@ -32,4 +32,6 @@ public interface WlSpareEquipmentService {
List<EquipmentCategory> getEquipmentTypeAndCount(String bizOrgCode); List<EquipmentCategory> getEquipmentTypeAndCount(String bizOrgCode);
List<Map<String, Object>> countSpareEquip(String bizOrgCode); List<Map<String, Object>> countSpareEquip(String bizOrgCode);
List<WlSpareEquipment> exportList(WlSpareEquipment dto, int hierarchy, String codeHead);
} }
...@@ -326,4 +326,9 @@ public class WlSpareEquipmentServiceImpl extends ServiceImpl<WlSpareEquipmentMap ...@@ -326,4 +326,9 @@ public class WlSpareEquipmentServiceImpl extends ServiceImpl<WlSpareEquipmentMap
public List<Map<String, Object>> countSpareEquip(String bizOrgCode) { public List<Map<String, Object>> countSpareEquip(String bizOrgCode) {
return wlSpareEquipmentMapper.countSpareEquip(bizOrgCode); return wlSpareEquipmentMapper.countSpareEquip(bizOrgCode);
} }
@Override
public List<WlSpareEquipment> exportList(WlSpareEquipment dto, int hierarchy, String codeHead) {
return wlSpareEquipmentMapper.exportList(dto, hierarchy, codeHead);
}
} }
...@@ -33,19 +33,51 @@ ...@@ -33,19 +33,51 @@
<select id="countSpareEquip" resultType="java.util.Map"> <select id="countSpareEquip" resultType="java.util.Map">
select select
equip_model_name as equipModelName, a.equip_model_name AS `name`,
equip_model_id as equipModelId, sum( a.stock_num ) AS `value`,
equip_model_code as equipModelId, a.unit AS unit,
sum( stock_num ) AS spareEquipNum IFNULL( ifnull( b.img, b.shbz_img ), '' ) AS icon,
a.equip_model_id AS equipmentModelId,
a.equip_model_code AS equipmentModelCode
FROM FROM
wl_spare_equipment wl_spare_equipment a
LEFT JOIN wl_equipment b ON b.id = a.equip_model_id
<where> <where>
is_delete = 0 a.is_delete = 0
<if test="bizOrgCode != '' and bizOrgCode != null"> <if test="bizOrgCode != '' and bizOrgCode != null">
AND `biz_org_code` LIKE concat(#{bizOrgCode}, '%') AND a.`biz_org_code` LIKE concat(#{bizOrgCode}, '%')
</if> </if>
</where> </where>
GROUP BY GROUP BY
equip_model_id a.equip_model_id
</select>
<select id="exportList" resultType="com.yeejoin.equipmanage.common.entity.WlSpareEquipment">
SELECT
*
FROM wl_spare_equipment
<where>
is_delete = 0
AND stock_num > 0
<if test="dto.bizOrgCode != null and dto.bizOrgCode != ''">
AND `biz_org_code` LIKE concat(#{dto.bizOrgCode}, '%')
</if>
<if test="dto.name != null and dto.name != ''">
AND `name` LIKE CONCAT('%', #{dto.name}, '%')
</if>
<if test="dto.code != null and dto.code != ''">
AND `equip_model_code` LIKE concat('%', #{dto.code}, '%')
</if>
<if test="codeHead != null and codeHead != ''">
AND LEFT (equip_model_code, #{hierarchy}) = #{codeHead}
</if>
<if test="dto.manufacturerId != null">
AND manufacturer_id = #{dto.manufacturerId}
</if>
<if test="dto.warehouseStructureId != null">
AND warehouse_structure_id = #{dto.warehouseStructureId}
</if>
</where>
ORDER BY create_date DESC
</select> </select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment