修改 出入库分页查询, 按日期倒叙
This commit is contained in:
parent
44b3cd0341
commit
2500704516
@ -11,9 +11,6 @@ import java.util.List;
|
|||||||
@Data
|
@Data
|
||||||
public class FactoryDataDetailRespVO {
|
public class FactoryDataDetailRespVO {
|
||||||
|
|
||||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000078")
|
@Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000078")
|
||||||
private Long factoryId;
|
private Long factoryId;
|
||||||
|
|
||||||
|
@ -191,23 +191,24 @@ public class FactoryDataServiceImpl implements FactoryDataService {
|
|||||||
|
|
||||||
groupedByFactoryIdAndDate.forEach((factoryId, dateMap) -> {
|
groupedByFactoryIdAndDate.forEach((factoryId, dateMap) -> {
|
||||||
|
|
||||||
dateMap.forEach((date, infoList) -> {
|
//按日期倒叙 并遍历
|
||||||
|
dateMap.entrySet().stream().sorted(Map.Entry.comparingByKey())
|
||||||
|
.forEach((date) -> {
|
||||||
|
|
||||||
FactoryDataDetailRespVO dataDetailRespVO = new FactoryDataDetailRespVO();
|
FactoryDataDetailRespVO dataDetailRespVO = new FactoryDataDetailRespVO();
|
||||||
|
|
||||||
dataDetailRespVO.setId(respVOS.get(0).getId() + 1);
|
|
||||||
dataDetailRespVO.setFactoryId(factoryId);
|
dataDetailRespVO.setFactoryId(factoryId);
|
||||||
dataDetailRespVO.setFactoryName(factoryMap.get(factoryId).getName());
|
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.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.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);
|
dataDetailRespVO.setIsEdit(1);
|
||||||
|
|
||||||
|
@ -11,13 +11,12 @@
|
|||||||
|
|
||||||
<select id="selectDetailPage" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataDetailRespVO">
|
<select id="selectDetailPage" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataDetailRespVO">
|
||||||
SELECT
|
SELECT
|
||||||
id,
|
|
||||||
factory_id,
|
factory_id,
|
||||||
date,
|
date,
|
||||||
square_num,
|
SUM(CASE WHEN data_type = 2 THEN total_num END) AS inTotalNum,
|
||||||
damage_num,
|
SUM(CASE WHEN data_type = 1 THEN square_num END) AS squareNum,
|
||||||
CASE WHEN data_type = 1 THEN total_num END AS outTotalNum,
|
SUM(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 = 1 or data_type = 2 THEN damage_num END) AS damageNum
|
||||||
FROM
|
FROM
|
||||||
sf_factory_data
|
sf_factory_data
|
||||||
<where>
|
<where>
|
||||||
@ -45,7 +44,8 @@
|
|||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
ORDER BY id DESC
|
GROUP BY factory_id,date
|
||||||
|
ORDER BY date DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDataSum" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataTotalVO">
|
<select id="selectDataSum" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.factorydata.vo.FactoryDataTotalVO">
|
||||||
|
Loading…
Reference in New Issue
Block a user