Commit 55ab604d by 赵剑炜

单警柜方法修改

parent 513e7626
......@@ -133,10 +133,13 @@ public class Cabinet implements Serializable {
private String policeName;
private Long policeId;
private String policeId;
private Integer number;
private String boxId;
private String containType;
private String boxState;
private String equipmentConfig;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -185,35 +185,36 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
return new ArrayList<>();
}
for (Cabinet cabinet : list) {
CabinetDto cabinetDto = new CabinetDto();
BeanPlusUtil.copyProperties(cabinet, cabinetDto);
List<CabinetBox> list1;
list1 = cabinetBoxService.list(
new LambdaQueryWrapper<CabinetBox>()
.eq(CabinetBox::getCabinetId, cabinet.getId())
// 使用 Stream API 对数据进行分组和排序
Map<String, List<Cabinet>> groupedCabinets = list.stream()
.collect(Collectors.groupingBy(Cabinet::getId));
groupedCabinets.forEach((id, cabinets) -> {
// 对每个分组内的数据按照 num 字段升序排序
List<Cabinet> sortedCabinets = cabinets.stream()
.sorted(Comparator.comparingInt(Cabinet::getNum))
.collect(Collectors.toList());
.orderByAsc(CabinetBox::getNum) // 根据 Num 字段升序排序
);
// 创建 CabinetDto 对象并设置属性
CabinetDto cabinetDto = new CabinetDto();
BeanPlusUtil.copyProperties(sortedCabinets.get(0), cabinetDto);
List<CabinetBoxDto> cabinetBoxList = new ArrayList<>();
for (CabinetBox cabinetBox : list1) {
for (Cabinet cabinet : sortedCabinets) {
CabinetBoxDto cabinetBoxDto = new CabinetBoxDto();
BeanPlusUtil.copyProperties(cabinetBox, cabinetBoxDto);
// 查询箱门绑定的警员id和姓名
// List<Policeman> policeList=cabinetBoxPoliceMapper.selectByBoxId(cabinetBox.getId());
// if (policeList.size() != 0) {
// Policeman policeman = policeList.get(0);
// cabinetBoxDto.setPoliceId(policeman.getId());
// cabinetBoxDto.setPoliceName(policeman.getName());
// }
cabinetBoxDto.setNum(cabinetBox.getNum());
BeanPlusUtil.copyProperties(cabinet, cabinetBoxDto);
cabinetBoxDto.setNum(cabinet.getNumber());
cabinetBoxDto.setPoliceId(cabinet.getPoliceId());
cabinetBoxDto.setId(cabinet.getBoxId());
// 设置其他属性...
cabinetBoxList.add(cabinetBoxDto);
}
cabinetDto.setCabinetBoxList(cabinetBoxList);
cabinetList.add(cabinetDto); // 添加到cabinetList中
}
cabinetList.add(cabinetDto);
});
return cabinetList;
}
......
......@@ -254,7 +254,8 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
BeanPlusUtil.copyProperties(one, policemanDto);
//将箱门信息展示:
List<CabinetBoxPolice> list = cabinetBoxPoliceService.list(new LambdaQueryWrapper<CabinetBoxPolice>()
.eq(CabinetBoxPolice::getPoliceId, req.getId()));
.eq(CabinetBoxPolice::getPoliceId, req.getId())
);
List<String> soloList=new ArrayList<>();
List<String> publicList=new ArrayList<>();
String soloName="";
......
......@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.CabinetMapper">
<resultMap id="cabinetResultMap" type="com.junmp.jyzb.entity.Cabinet">
<id property="id" column="id" />
<result property="id" column="id" />
<result property="cabinetNum" column="cabinet_num" />
<result property="name" column="name" />
<result property="orgIdInt" column="org_id_int" />
......@@ -18,10 +18,12 @@
<result property="createUser" column="create_user" />
<result property="policeName" column="police_name" />
<result property="policeId" column="police_id" />
<result property="boxId" column="box_id" />
<result property="containType" column="contain_type" />
<result property="boxState" column="box_state" />
<result property="equipmentConfig" column="equipment_config" />
<result property="number" column="number" />
<result property="updateUser" column="update_user" />
<!-- <collection property="list" ofType="com.junmp.jyzb.entity.CabinetBox" column="cabinet_id"-->
<!-- select="com.junmp.jyzb.mapper.CabinetBoxMapper.selectById">-->
<!-- </collection>-->
</resultMap>
......@@ -75,15 +77,14 @@
</foreach>
</select>
<select id="getAllCabinetsWithSingleCabinet" resultType="com.junmp.jyzb.entity.Cabinet">
SELECT c.*, cb.num as number,bp.`name` as police_name,bp.id as police_id
SELECT c.*,c.id as id,cb.id as box_id,cb.contain_type,cb.state as box_state,
cb.equipment_config, cb.num as number,bp.`name` as police_name,bp.id as police_id
FROM base_cabinet c
JOIN pub_org o ON c.org_id_int = o.org_id
LEFT JOIN base_cabinet_box cb ON cb.cabinet_id = c.id
LEFT JOIN base_cabinet_box_police ccp ON ccp.cabinet_box_id = cb.id
LEFT JOIN base_policeman bp ON bp.id = ccp.police_id
WHERE c.org_id_int = #{orgId} and cb.num is not null;
</select>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论