Commit f7e6543a by zhangtw

统计api

parent 8d10b3c4
......@@ -7,9 +7,12 @@ import java.util.Date;
public class InboundDetailsVO {
private static final long serialVersionUID = 1L;
@Excel(name = "物料sapNo")
private String materialId;
@Excel(name = "物料SAP")
private String sapNo;
@Excel(name = "物料名")
private String materialName;
......@@ -171,10 +174,19 @@ public class InboundDetailsVO {
this.locationName = locationName;
}
public String getSapNo() {
return sapNo;
}
public void setSapNo(String sapNo) {
this.sapNo = sapNo;
}
@Override
public String toString() {
return "InboundDetailsVO{" +
"materialId='" + materialId + '\'' +
", sapNo='" + sapNo + '\'' +
", materialName='" + materialName + '\'' +
", orderId='" + orderId + '\'' +
", batchId='" + batchId + '\'' +
......
......@@ -243,7 +243,7 @@ public class InboundOrdersServiceImpl implements IInboundOrdersService
"orderId", "systemNo", "orderTypeId", "batchId"); // 排除主表字段
// 填充明细必填字段
itemDO.setId(UUID.randomUUID().toString());
itemDO.setMaterialId(vo.getSapNo());
itemDO.setMaterialId(vo.getId());
itemDO.setOrderId(orderId); // 关联入库单号
itemDO.setBatchId(mainDO.getBatchId());
itemDO.setInboundOrderId(mainDO.getId()); // 关联主表ID(核心!)
......
......@@ -105,7 +105,7 @@
ii.inbound_order_id,
m.material_name
FROM inbound_order_items ii
LEFT JOIN materials m ON ii.material_id = m.sap_no
LEFT JOIN materials m ON ii.material_id = m.id
left join warehouses w on ii.warehouse_id = w.id
left join storage_locations sl on ii.location_id = sl.id
<where>
......@@ -311,6 +311,7 @@
<resultMap id="InboundDetailsResultMap" type="com.ruoyi.inventory.domain.vo.InboundDetailsVO">
<!-- 基础字段映射 -->
<result column="material_id" property="materialId" jdbcType="VARCHAR" />
<result column="sap_no" property="sapNo" jdbcType="VARCHAR" />
<result column="material_name" property="materialName" jdbcType="VARCHAR" />
<result column="order_id" property="orderId" jdbcType="VARCHAR" />
<result column="batch_id" property="batchId" jdbcType="VARCHAR" />
......@@ -339,6 +340,7 @@
<select id="selectInboundDetailsVOBySapNo" resultMap="InboundDetailsResultMap" parameterType="com.ruoyi.inventory.domain.vo.InboundDetailsVO">
SELECT
ioi.material_id,
ms.sap_no,
ms.material_name,
ioi.order_id,
ioi.batch_id,
......@@ -355,13 +357,13 @@
io.inbound_date
FROM inbound_orders io
INNER JOIN inbound_order_items ioi ON io.id = ioi.inbound_order_id
INNER JOIN materials ms ON ms.sap_no = ioi.material_id
INNER JOIN materials ms ON ms.id = ioi.material_id
inner join warehouses w on ioi.warehouse_id = w.id
inner join storage_locations sl on ioi.location_id = sl.id
<where>
io.order_status = 2
<if test="materialId != null and materialId != ''">
AND ioi.material_id = #{materialId}
<if test="sapNo != null and sapNo != ''">
AND ms.sap_no = #{sapNo}
</if>
<if test="materialName != null and materialName != ''">
AND ms.material_name LIKE CONCAT('%', #{materialName}, '%')
......
......@@ -112,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from inbound_order_items as ioi
left join warehouses as w on ioi.warehouse_id = w.id
left join storage_locations as sl on ioi.location_id = sl.id
left join materials as m on ioi.material_id = m.sap_no
left join materials as m on ioi.material_id = m.id
where ioi.inbound_order_id = #{id}
</select>
......@@ -244,8 +244,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result column="total_money" property="totalMoney" jdbcType="DECIMAL"/>
</resultMap>
<select id="countInboundMaterialQuantity" resultMap="InboundMaterialTotalResultMap" parameterType="String">
select ioi.material_name,sum(ioi.actual_quantity) as total_quantity
from inbound_order as io
select m.material_name,sum(ioi.actual_quantity) as total_quantity
from inbound_orders as io
inner join inbound_order_items as ioi on io.id = ioi.inbound_order_id
inner join materials as m on ioi.material_id = m.id
where io.order_status = 2
......@@ -254,8 +254,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
limit 10
</select>
<select id="countInboundMaterialMoney" resultMap="InboundMaterialTotalResultMap" parameterType="String">
select ioi.material_name,sum(ioi.actual_quantity * ioi.unit_price) as total_money
from inbound_order as io
select m.material_name,sum(ioi.actual_quantity * ioi.unit_price) as total_money
from inbound_orders as io
inner join inbound_order_items as ioi on io.id = ioi.inbound_order_id
inner join materials as m on ioi.material_id = m.id
where io.order_status = 2
......
......@@ -328,13 +328,14 @@ and inventory_status = '1'
</resultMap>
<select id="selectInventoryExceedWarnList" resultMap="InventoryExceedWarnResultMap">
select m.material_name,mc.category_name,m.sap_no,
COALESCE(i.quantity, 0) AS quantity,
sum(COALESCE(i.quantity, 0)) AS quantity,
COALESCE(m.min_stock_level, 0) AS min_stock_level,
COALESCE(m.max_stock_level, 9999) AS max_stock_level
from materials as m
inner join inventory as i on i.material_id = m.id
inner join materials_category as mc on m.category_code = mc.id
where COALESCE(i.quantity, 0) &gt; COALESCE(m.max_stock_level, 999999)
or COALESCE(i.quantity, 0) &lt; COALESCE(m.min_stock_level, 0)
inner join materials_category as mc on m.category_code = mc.category_code
where (COALESCE(i.quantity, 0) &gt; COALESCE(m.max_stock_level, 999999)) or (COALESCE(i.quantity, 0) &lt; COALESCE(m.min_stock_level, 0))
and m.is_used = 1
group by m.id
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论