Commit 55ab604d by 赵剑炜

单警柜方法修改

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