修改 出入库分页查询, 按日期倒叙
This commit is contained in:
parent
44b3cd0341
commit
2500704516
@ -11,9 +11,6 @@ import java.util.List;
|
||||
@Data
|
||||
public class FactoryDataDetailRespVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000078")
|
||||
private Long factoryId;
|
||||
|
||||
|
@ -191,23 +191,24 @@ public class FactoryDataServiceImpl implements FactoryDataService {
|
||||
|
||||
groupedByFactoryIdAndDate.forEach((factoryId, dateMap) -> {
|
||||
|
||||
dateMap.forEach((date, infoList) -> {
|
||||
//按日期倒叙 并遍历
|
||||
dateMap.entrySet().stream().sorted(Map.Entry.comparingByKey())
|
||||
.forEach((date) -> {
|
||||
|
||||
FactoryDataDetailRespVO dataDetailRespVO = new FactoryDataDetailRespVO();
|
||||
|
||||
dataDetailRespVO.setId(respVOS.get(0).getId() + 1);
|
||||
dataDetailRespVO.setFactoryId(factoryId);
|
||||
dataDetailRespVO.setFactoryName(factoryMap.get(factoryId).getName());
|
||||
dataDetailRespVO.setDate(date);
|
||||
dataDetailRespVO.setDate(date.getKey());
|
||||
//设置入库总数
|
||||
dataDetailRespVO.setInTotalNum(infoList.stream().filter(info -> info.getInNum() != null).mapToInt(FactoryDataInfoRespVO::getInNum).sum());
|
||||
dataDetailRespVO.setInTotalNum(date.getValue().stream().filter(info -> info.getInNum() != null).mapToInt(FactoryDataInfoRespVO::getInNum).sum());
|
||||
//设置入库平方数
|
||||
dataDetailRespVO.setSquareNum(infoList.stream().map(FactoryDataInfoRespVO::getSquareNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
dataDetailRespVO.setSquareNum(date.getValue().stream().map(FactoryDataInfoRespVO::getSquareNum).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||
//设置出库总数
|
||||
dataDetailRespVO.setOutTotalNum(infoDatas.stream().filter(info -> info.getOutNum() != null).mapToInt(FactoryDataInfoRespVO::getOutNum).sum());
|
||||
//设置 出入库破损总数
|
||||
dataDetailRespVO.setDamageNum(infoDatas.stream().filter(info -> info.getInDamageNum() != null).mapToInt(info -> info.getInDamageNum() + info.getOutDamageNum()).sum());
|
||||
dataDetailRespVO.setItems(infoList);
|
||||
dataDetailRespVO.setItems(date.getValue());
|
||||
//设置 可编辑状态
|
||||
dataDetailRespVO.setIsEdit(1);
|
||||
|
||||
|
@ -11,13 +11,12 @@
|
||||
|
||||
<select id="selectDetailPage" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataDetailRespVO">
|
||||
SELECT
|
||||
id,
|
||||
factory_id,
|
||||
date,
|
||||
square_num,
|
||||
damage_num,
|
||||
CASE WHEN data_type = 1 THEN total_num END AS outTotalNum,
|
||||
CASE WHEN data_type = 2 THEN total_num END AS inTotalNum
|
||||
SUM(CASE WHEN data_type = 2 THEN total_num END) AS inTotalNum,
|
||||
SUM(CASE WHEN data_type = 1 THEN square_num END) AS squareNum,
|
||||
SUM(CASE WHEN data_type = 1 THEN total_num END) AS outTotalNum,
|
||||
SUM(CASE WHEN data_type = 1 or data_type = 2 THEN damage_num END) AS damageNum
|
||||
FROM
|
||||
sf_factory_data
|
||||
<where>
|
||||
@ -45,7 +44,8 @@
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY id DESC
|
||||
GROUP BY factory_id,date
|
||||
ORDER BY date DESC
|
||||
</select>
|
||||
|
||||
<select id="selectDataSum" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataTotalVO">
|
||||
|
Loading…
Reference in New Issue
Block a user