rev:日库存统计增加:入库数、出库数
This commit is contained in:
@@ -110,7 +110,15 @@ public class StIvtStructivtDaily implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal warehousing_qty;
|
private BigDecimal warehousing_qty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入库数
|
||||||
|
*/
|
||||||
|
private BigDecimal in_qty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库数
|
||||||
|
*/
|
||||||
|
private BigDecimal out_qty;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,10 +23,16 @@ public interface StIvtStructivtDailyMapper extends BaseMapper<StIvtStructivtDail
|
|||||||
List<Map> selectStructivt(@Param("table") String table);
|
List<Map> selectStructivt(@Param("table") String table);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 大屏数据 - 近一周工段产量
|
* 获取历史库存
|
||||||
* @param list /
|
* @param list /
|
||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
List<JSONObject> getHistoryivt(@Param("chanList") List<String> list, @Param("query") Map json);
|
List<JSONObject> getHistoryivt(@Param("chanList") List<String> list, @Param("query") Map json);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当天出入库数量
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
List<JSONObject> getIoNum(@Param("query") Map json);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,4 +29,58 @@
|
|||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getIoNum" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
|
SELECT
|
||||||
|
dis.material_id,
|
||||||
|
SUM(dis.plan_qty) AS io_num
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdis_yl dis
|
||||||
|
LEFT JOIN st_ivt_iostorinv_yl mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||||
|
WHERE
|
||||||
|
mst.is_delete = '0'
|
||||||
|
and LEFT(mst.confirm_time,10) = CURDATE()
|
||||||
|
|
||||||
|
<if test="query.io_type != null and query.io_type != ''">
|
||||||
|
and mst.io_type = #{query.io_type}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
group by dis.material_id
|
||||||
|
|
||||||
|
UNION
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
dis.material_id,
|
||||||
|
SUM(dis.plan_qty) AS io_num
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinvdis_cp dis
|
||||||
|
LEFT JOIN st_ivt_iostorinv_cp mst ON dis.iostorinv_id = mst.iostorinv_id
|
||||||
|
WHERE
|
||||||
|
mst.is_delete = '0'
|
||||||
|
and LEFT(mst.confirm_time,10) = CURDATE()
|
||||||
|
|
||||||
|
<if test="query.io_type != null and query.io_type != ''">
|
||||||
|
and mst.io_type = #{query.io_type}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
group by dis.material_id
|
||||||
|
|
||||||
|
UNION
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
mst.material_id,
|
||||||
|
SUM(mst.plan_qty) AS io_num
|
||||||
|
FROM
|
||||||
|
st_ivt_iostorinv_bcp mst
|
||||||
|
WHERE
|
||||||
|
mst.is_delete = '0'
|
||||||
|
and LEFT(mst.update_time,10) = CURDATE()
|
||||||
|
|
||||||
|
<if test="query.io_type != null and query.io_type != ''">
|
||||||
|
and mst.io_type = #{query.io_type}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
group by mst.material_id
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package org.nl.wms.masterdata_manage.storage.service.dailyStructivt.impl;
|
|||||||
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -15,6 +17,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -48,6 +51,35 @@ public class StIvtStructivtDailyServiceImpl extends ServiceImpl<StIvtStructivtDa
|
|||||||
list.addAll(dailyList);
|
list.addAll(dailyList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 统计今日入库数、出库数
|
||||||
|
*/
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
// 入库数
|
||||||
|
param.put("io_type", "0");
|
||||||
|
List<JSONObject> inNumList = this.baseMapper.getIoNum(param);
|
||||||
|
|
||||||
|
// 出库数
|
||||||
|
param.put("io_type", "1");
|
||||||
|
List<JSONObject> outNumList = this.baseMapper.getIoNum(param);
|
||||||
|
|
||||||
|
// 整理数据
|
||||||
|
for (StIvtStructivtDaily dao : list) {
|
||||||
|
|
||||||
|
List<JSONObject> jsonIn = inNumList.stream()
|
||||||
|
.filter(row -> row.getString("material_id").equals(dao.getMaterial_id()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
dao.setIn_qty(ObjectUtil.isNotEmpty(jsonIn) ? jsonIn.get(0).getBigDecimal("io_num") : BigDecimal.valueOf(0));
|
||||||
|
|
||||||
|
List<JSONObject> jsonOut = outNumList.stream()
|
||||||
|
.filter(row -> row.getString("material_id").equals(dao.getMaterial_id()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
dao.setOut_qty(ObjectUtil.isNotEmpty(jsonOut) ? jsonOut.get(0).getBigDecimal("io_num") : BigDecimal.valueOf(0));
|
||||||
|
}
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(list)){
|
if (!CollectionUtils.isEmpty(list)){
|
||||||
List<StIvtStructivtDaily> errorData = list.stream().filter(stIvtStructivtDaily -> StringUtils.isEmpty(stIvtStructivtDaily.getStor_id()) || StringUtils.isEmpty(stIvtStructivtDaily.getMaterial_id())).collect(Collectors.toList());
|
List<StIvtStructivtDaily> errorData = list.stream().filter(stIvtStructivtDaily -> StringUtils.isEmpty(stIvtStructivtDaily.getStor_id()) || StringUtils.isEmpty(stIvtStructivtDaily.getMaterial_id())).collect(Collectors.toList());
|
||||||
if (!CollectionUtils.isEmpty(errorData)){
|
if (!CollectionUtils.isEmpty(errorData)){
|
||||||
|
|||||||
@@ -87,7 +87,7 @@
|
|||||||
<pagination />
|
<pagination />
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<hr/>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :lg="24">
|
<el-col :xs="24" :sm="24" :lg="24">
|
||||||
<div class="chart-wrapper">
|
<div class="chart-wrapper">
|
||||||
|
|||||||
Reference in New Issue
Block a user