Commit 6dd8d1c6 by 李小惠

修改装备统计报表,新增人员统计报表接口

parent bffded32
...@@ -4,9 +4,6 @@ import lombok.Data; ...@@ -4,9 +4,6 @@ import lombok.Data;
@Data @Data
public class FinalTjOrgPoliceDto { public class FinalTjOrgPoliceDto {
private String policeId;
private String policeName;
private String policeCode;
private Integer num; private Integer num;
private Integer inNum; private Integer inNum;
private Integer outNum; private Integer outNum;
......
...@@ -53,4 +53,5 @@ public class TjOrgEqsDto { ...@@ -53,4 +53,5 @@ public class TjOrgEqsDto {
private Integer destructionNumber; private Integer destructionNumber;
} }
...@@ -6,6 +6,7 @@ import lombok.Data; ...@@ -6,6 +6,7 @@ import lombok.Data;
public class TjOrgPoliceDto { public class TjOrgPoliceDto {
private String policeId; private String policeId;
private String policeName; private String policeName;
private String policeCode;
private String sizeId; private String sizeId;
private String sizeName; private String sizeName;
private String typeId; private String typeId;
......
...@@ -8,6 +8,7 @@ import java.util.List; ...@@ -8,6 +8,7 @@ import java.util.List;
public class TjOrgEqsReq extends BaseRequest { public class TjOrgEqsReq extends BaseRequest {
//组织机构 //组织机构
private Long orgId; private Long orgId;
private Long parentOrgId;
List<String> typeIdsList; List<String> typeIdsList;
private List<String> sizeNameList; private List<String> sizeNameList;
......
...@@ -8,7 +8,8 @@ import java.util.List; ...@@ -8,7 +8,8 @@ import java.util.List;
@Data @Data
public class TjOrgPoliceReq extends BaseRequest { public class TjOrgPoliceReq extends BaseRequest {
private Long orgId; private Long orgId;
private String policeId;
private String policeName; private String policeName;
List<String> typeIdsList; // List<String> typeIdsList;
private List<String> sizeNameList; // private List<String> sizeNameList;
} }
...@@ -54,6 +54,13 @@ public class TjController { ...@@ -54,6 +54,13 @@ public class TjController {
public ApiRes<FinalTjOrgEqsDto> TjOrgEqsSum(@RequestBody TjOrgEqsReq req){ public ApiRes<FinalTjOrgEqsDto> TjOrgEqsSum(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.TjOrgEqsSum(req)); return ApiRes.success(tjService.TjOrgEqsSum(req));
} }
//第二层数据
@PostMapping("/TjOrgEqsSecondList")
@ApiOperation("装备统计报表二层数据")
public ApiRes<List<TjOrgEqsDto>> TjOrgEqsSecondList(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.TjOrgEqsSecondList(req));
}
//装备统计报表(点击+后里面的数据) //装备统计报表(点击+后里面的数据)
@PostMapping("/TjOrgEqsDetailPage") @PostMapping("/TjOrgEqsDetailPage")
@ApiOperation("/查询组织机构下的装备统计明细分页") @ApiOperation("/查询组织机构下的装备统计明细分页")
...@@ -157,11 +164,11 @@ public class TjController { ...@@ -157,11 +164,11 @@ public class TjController {
} }
//人员统计报表(点击+后里面的数据) //人员统计报表(点击+后里面的数据)
@PostMapping("/TjOrgPoliceDetailPage") // @PostMapping("/TjOrgPoliceDetailPage")
@ApiOperation("/查询组织机构下的人员统计明细") // @ApiOperation("/查询组织机构下的人员统计明细")
public ApiRes<PageResult<TjOrgPoliceDto>> TjOrgPoliceDetailPage(@RequestBody TjOrgPoliceReq req){ // public ApiRes<PageResult<TjOrgPoliceDto>> TjOrgPoliceDetailPage(@RequestBody TjOrgPoliceReq req){
return ApiRes.success(tjService.TjOrgPoliceDetailPage(req)); // return ApiRes.success(tjService.TjOrgPoliceDetailPage(req));
} // }
@PostMapping("/TjOrgPoliceDetailList") @PostMapping("/TjOrgPoliceDetailList")
@ApiOperation("/查询组织机构下的人员统计明细") @ApiOperation("/查询组织机构下的人员统计明细")
public ApiRes<List<TjOrgPoliceDto>> TjOrgPoliceDetailList(@RequestBody TjOrgPoliceReq req){ public ApiRes<List<TjOrgPoliceDto>> TjOrgPoliceDetailList(@RequestBody TjOrgPoliceReq req){
......
...@@ -53,7 +53,7 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -53,7 +53,7 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
List<TjOrgEqsDto> selectViewOrgeqsSum(); List<TjOrgEqsDto> selectViewOrgeqsSum();
void useViewOrgeqs(@Param("sql") String sql); void useViewOrgeqs(@Param("sql") String sql,@Param("orgId") Long orgId);
//获取合计 //获取合计
FinalTjOrgEqsDto getSumByViewOrgeqsSum(); FinalTjOrgEqsDto getSumByViewOrgeqsSum();
...@@ -81,4 +81,8 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -81,4 +81,8 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
List<InventoryDto> GetDetailByTerms(@Param("req") InventoryReq req, List<InventoryDto> GetDetailByTerms(@Param("req") InventoryReq req,
@Param("pageNo") Long pageNo, @Param("pageNo") Long pageNo,
@Param("pageSize") Long pageSize); @Param("pageSize") Long pageSize);
void useViewOrgIdInSubordinate(@Param("sql") String sql);
void useViewOrgIdInLevel(@Param("sql") String sql,@Param("orgId") Long orgId);
} }
\ No newline at end of file
...@@ -23,7 +23,7 @@ public interface PoliceEquipmentMapper extends BaseMapper<PoliceEquipment> { ...@@ -23,7 +23,7 @@ public interface PoliceEquipmentMapper extends BaseMapper<PoliceEquipment> {
FinalTjOrgPoliceDto TjOrgPoliceSum(@Param("req") TjOrgPoliceReq req); FinalTjOrgPoliceDto TjOrgPoliceSum(@Param("req") TjOrgPoliceReq req);
int TjOrgPoliceDetailSum(@Param("req") TjOrgPoliceReq req); // int TjOrgPoliceDetailSum(@Param("req") TjOrgPoliceReq req);
List<TjOrgPoliceDto> TjOrgPoliceDetail(@Param("req") TjOrgPoliceReq req,@Param("pageNo") Long pageNo,@Param("pageSize") Long pageSize); List<TjOrgPoliceDto> TjOrgPoliceDetail(@Param("req") TjOrgPoliceReq req,@Param("pageNo") Long pageNo,@Param("pageSize") Long pageSize);
} }
......
...@@ -51,7 +51,9 @@ public interface TjService { ...@@ -51,7 +51,9 @@ public interface TjService {
FinalTjOrgPoliceDto TjOrgPoliceSum(TjOrgPoliceReq req); FinalTjOrgPoliceDto TjOrgPoliceSum(TjOrgPoliceReq req);
PageResult<TjOrgPoliceDto> TjOrgPoliceDetailPage(TjOrgPoliceReq req); // PageResult<TjOrgPoliceDto> TjOrgPoliceDetailPage(TjOrgPoliceReq req);
List<TjOrgPoliceDto> TjOrgPoliceDetailList(TjOrgPoliceReq req); List<TjOrgPoliceDto> TjOrgPoliceDetailList(TjOrgPoliceReq req);
List<TjOrgEqsDto> TjOrgEqsSecondList(TjOrgEqsReq req);
} }
...@@ -388,6 +388,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -388,6 +388,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}).collect(Collectors.toList()); }).collect(Collectors.toList());
return updateBatchById(collect); return updateBatchById(collect);
} }
// } // }
// else { // else {
// List<Inventory> list = list(createWrapper(req)); // List<Inventory> list = list(createWrapper(req));
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.dto.EqsSumDto; import com.junmp.jyzb.api.bean.dto.EqsSumDto;
...@@ -126,26 +127,10 @@ public class TjServiceImpl implements TjService { ...@@ -126,26 +127,10 @@ public class TjServiceImpl implements TjService {
// List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList()); // List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
// List<String> sizeNameList = req.getSizeNameList(); // List<String> sizeNameList = req.getSizeNameList();
//将前端传递的值进行处理并且执行存储过程 //将前端传递的值进行处理并且执行存储过程
String sql="and (org_id="+req.getOrgId()+" or org_parent_id = "+req.getOrgId()+")"; String sql = setSql(req);
if (!ObjectUtil.isEmpty(req.getTypeIdsList()) && req.getTypeIdsList().size()>0){ // System.out.println("sql = " + sql);
sql+="and type_id in (";
for (String typeId:req.getTypeIdsList()) {
sql+=typeId+",";
}
sql = sql.substring(0, sql.length() - 1);
sql+=")";
}
if (!ObjectUtil.isEmpty(req.getSizeNameList()) && req.getSizeNameList().size()>0){
sql+="and size_name in (";
for (String sizeName:req.getSizeNameList()) {
sql+="'"+sizeName+"',";
}
sql = sql.substring(0, sql.length() - 1);
sql+=")";
}
System.out.println("sql = " + sql);
//执行存储过程 //执行存储过程
inventorySummaryMapper.useViewOrgeqs(sql); inventorySummaryMapper.useViewOrgeqs(sql,req.getOrgId());
//查询视图 //查询视图
List<TjOrgEqsDto> tjOrgEqsDtoList = inventorySummaryMapper.selectViewOrgeqsSum(); List<TjOrgEqsDto> tjOrgEqsDtoList = inventorySummaryMapper.selectViewOrgeqsSum();
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
...@@ -172,6 +157,47 @@ public class TjServiceImpl implements TjService { ...@@ -172,6 +157,47 @@ public class TjServiceImpl implements TjService {
@Override @Override
public FinalTjOrgEqsDto TjOrgEqsSum(TjOrgEqsReq req) { public FinalTjOrgEqsDto TjOrgEqsSum(TjOrgEqsReq req) {
//将前端传递的值进行处理并且执行存储过程 //将前端传递的值进行处理并且执行存储过程
String sql = setSql(req);
// System.out.println("sql = " + sql);
//执行存储过程
inventorySummaryMapper.useViewOrgeqs(sql,req.getOrgId());
//在内存foreach还是去数据库再去查询一次
FinalTjOrgEqsDto finalTjOrgEqsDto=inventorySummaryMapper.getSumByViewOrgeqsSum();
if (ObjectUtil.isNotNull(finalTjOrgEqsDto)) {
return finalTjOrgEqsDto;
}else {
return new FinalTjOrgEqsDto();
}
}
@Override
public List<TjOrgEqsDto> TjOrgEqsSecondList(TjOrgEqsReq req) {
List<TjOrgEqsDto> tjOrgEqsDtoList=new ArrayList<>();
String sql = setSql(req);
if (req.getOrgId()== req.getParentOrgId()){
inventorySummaryMapper.useViewOrgIdInLevel(sql,req.getOrgId());
}else {
inventorySummaryMapper.useViewOrgIdInSubordinate(sql);
}
//查询视图
tjOrgEqsDtoList = inventorySummaryMapper.selectViewOrgeqsSum();
if (CollectionUtil.isNotEmpty(tjOrgEqsDtoList)){
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
tjOrgEqsDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getTotalNumber() == 0);
//将组织机构进行排序后再进行返回
Comparator<TjOrgEqsDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgEqsDtoList, orgComparator);
}
return tjOrgEqsDtoList;
}
private String setSql(TjOrgEqsReq req){
String sql="and (org_id="+req.getOrgId()+" or org_parent_id = "+req.getOrgId()+")"; String sql="and (org_id="+req.getOrgId()+" or org_parent_id = "+req.getOrgId()+")";
if (!ObjectUtil.isEmpty(req.getTypeIdsList()) && req.getTypeIdsList().size()>0){ if (!ObjectUtil.isEmpty(req.getTypeIdsList()) && req.getTypeIdsList().size()>0){
sql+="and type_id in ("; sql+="and type_id in (";
...@@ -189,21 +215,9 @@ public class TjServiceImpl implements TjService { ...@@ -189,21 +215,9 @@ public class TjServiceImpl implements TjService {
sql = sql.substring(0, sql.length() - 1); sql = sql.substring(0, sql.length() - 1);
sql+=")"; sql+=")";
} }
System.out.println("sql = " + sql); return sql;
//执行存储过程
inventorySummaryMapper.useViewOrgeqs(sql);
//在内存foreach还是去数据库再去查询一次
FinalTjOrgEqsDto finalTjOrgEqsDto=inventorySummaryMapper.getSumByViewOrgeqsSum();
if (ObjectUtil.isNotNull(finalTjOrgEqsDto)) {
return finalTjOrgEqsDto;
}else {
return new FinalTjOrgEqsDto();
}
} }
//查看装备统计详情 //查看装备统计详情
@Override @Override
public PageResult<InventorySumDto> TjOrgEqsDetailPage(TjOrgEqsReq req) { public PageResult<InventorySumDto> TjOrgEqsDetailPage(TjOrgEqsReq req) {
...@@ -445,23 +459,25 @@ public class TjServiceImpl implements TjService { ...@@ -445,23 +459,25 @@ public class TjServiceImpl implements TjService {
} }
} }
@Override // @Override
public PageResult<TjOrgPoliceDto> TjOrgPoliceDetailPage(TjOrgPoliceReq req) { // public PageResult<TjOrgPoliceDto> TjOrgPoliceDetailPage(TjOrgPoliceReq req) {
if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) { // if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) {
req.setPageNo(1L); // req.setPageNo(1L);
req.setPageSize(10L); // req.setPageSize(10L);
} // }
int size = policeEquipmentMapper.TjOrgPoliceDetailSum(req); // int size = policeEquipmentMapper.TjOrgPoliceDetailSum(req);
List<TjOrgPoliceDto> returnList=policeEquipmentMapper.TjOrgPoliceDetail(req,(req.getPageNo()-1)* req.getPageSize(),req.getPageSize()); // List<TjOrgPoliceDto> returnList=policeEquipmentMapper.TjOrgPoliceDetail(req,(req.getPageNo()-1)* req.getPageSize(),req.getPageSize());
Page<TjOrgPoliceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()); // Page<TjOrgPoliceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page.setTotal(size); // page.setTotal(size);
page.setRecords(returnList); // page.setRecords(returnList);
return PageResultFactory.createPageResult(page); // return PageResultFactory.createPageResult(page);
} // }
@Override @Override
public List<TjOrgPoliceDto> TjOrgPoliceDetailList(TjOrgPoliceReq req) { public List<TjOrgPoliceDto> TjOrgPoliceDetailList(TjOrgPoliceReq req) {
List<TjOrgPoliceDto> returnList=policeEquipmentMapper.TjOrgPoliceDetail(req,null,null); List<TjOrgPoliceDto> returnList=policeEquipmentMapper.TjOrgPoliceDetail(req,null,null);
return returnList; return returnList;
} }
} }
...@@ -38,12 +38,12 @@ ...@@ -38,12 +38,12 @@
<update id="setSizeName"> <update id="setSizeName">
update vie_price_sum_summary update vie_price_sum_summary
set size_name=#{sizeName} set size_name=#{sizeName}
where size_id ={sizeId} where size_id =#{sizeId}
</update> </update>
<update id="setTypeName"> <update id="setTypeName">
update vie_price_sum_summary update vie_price_sum_summary
set type_name=#{typeName} set type_name=#{typeName}
where type_id ={typeId} where type_id =#{typeId}
</update> </update>
<delete id="deleteAll"> <delete id="deleteAll">
delete from vie_equipment_count_summary where delete from vie_equipment_count_summary where
......
...@@ -407,9 +407,15 @@ ...@@ -407,9 +407,15 @@
</insert> </insert>
<insert id="useViewOrgeqs" statementType="CALLABLE"> <insert id="useViewOrgeqs" statementType="CALLABLE">
{CALL view_orgeqs(#{sql,mode=IN})} {CALL view_orgeqs(#{sql,mode=IN},#{orgId,mode=IN})}
</insert> </insert>
<insert id="useViewOrgIdInSubordinate" parameterType="java.lang.String">
{CALL view_orgIdInSubordinate(#{sql,mode=IN})}
</insert>
<insert id="useViewOrgIdInLevel">
{CALL view_orgIdInLevel(#{sql,mode=IN},#{orgId,mode=IN})}
</insert>
<select id="getSumByViewOrgeqsSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgEqsDto"> <select id="getSumByViewOrgeqsSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgEqsDto">
select sum(total_number) as total_number, select sum(total_number) as total_number,
...@@ -687,4 +693,5 @@ ...@@ -687,4 +693,5 @@
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -21,6 +21,52 @@ ...@@ -21,6 +21,52 @@
update_time,create_time update_time,create_time
</sql> </sql>
<select id="TjOrgPolice" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPoliceDto"> <select id="TjOrgPolice" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPoliceDto">
SELECT pe.police_id,max(pe.police_name) as police_name,sum(pe.num) as num,
sum(pe.in_num) as in_num,sum(pe.out_num) as out_num,max(p.police_code) as police_code
FROM `base_police_equipment` pe join base_policeman p on p.id=pe.police_id
where pe.org_id=#{req.orgId}
<if test="req.policeName !=null and req.policeName != ''">
and pe.police_name like CONCAT('%', #{req.policeName}, '%')
</if>
GROUP BY pe.police_id
</select>
<select id="getCount" resultType="java.lang.Integer"
parameterType="com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq">
select count(*) FROM(
SELECT pe.police_id,max(pe.police_name) as police_name,sum(pe.num) as num,
sum(pe.in_num) as in_num,sum(pe.out_num) as out_num,max(p.police_code) as police_code
FROM `base_police_equipment` pe join base_policeman p on p.id=pe.police_id
where pe.org_id=#{req.orgId}
<if test="req.policeName !=null and req.policeName != ''">
and pe.police_name like CONCAT('%', #{req.policeName}, '%')
</if>
GROUP BY pe.police_id
) as a
</select>
<select id="TjOrgPoliceSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgPoliceDto"
parameterType="com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq">
select sum(num) as num,sum(in_num)as in_num,sum(out_num) as out_num FROM
(
SELECT police_id,max(police_name) as police_name,
sum(num) as num,sum(in_num) as in_num,sum(out_num) as out_num
FROM `base_police_equipment`
where org_id=#{req.orgId}
<if test="req.policeName !=null and req.policeName != ''">
and police_name like CONCAT('%', #{req.policeName}, '%')
</if>
GROUP BY police_id
) as a
</select>
<select id="TjOrgPoliceDetail" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPoliceDto">
SELECT MAX(police_id) as police_id,max(police_name) as police_name,size_id,max(size_name) as size_name,
type_id,max(type_name) as type_name,sum(num) as num,sum(in_num) as in_num,
sum(out_num) as out_num,GROUP_CONCAT(DISTINCT location_name) AS location_name
FROM `base_police_equipment`
where org_id=#{req.orgId} and police_id=#{req.policeId}
GROUP BY size_id, type_id
ORDER BY type_id
<if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' ">
limit #{pageNo},#{pageSize}
</if>
</select> </select>
</mapper> </mapper>
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<update id="setSizeName"> <update id="setSizeName">
update vie_equipment_count_summary update vie_equipment_count_summary
set size_name=#{sizeName} set size_name=#{sizeName}
where size_id ={sizeId} where size_id =#{sizeId}
</update> </update>
<update id="setTypeName"> <update id="setTypeName">
update vie_equipment_count_summary update vie_equipment_count_summary
set type_name=#{typeName} set type_name=#{typeName}
where type_id ={typeId} where type_id =#{typeId}
</update> </update>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论