Commit 4d03ec75 by zhangtw

入库统计页面优化

parent cf620699
......@@ -49,12 +49,19 @@ export function delInbound_items(id) {
method: 'delete'
})
}
// 统计入库单明细
export function inbound_details(query){
return request({
url: '/inventory/inbound_items/details',
url: '/inventory/inbound_items/detailsList',
method: 'get',
params: query
})
}
// 明细关联信息
export function details_information(materialId){
return request({
url: 'inventory/inbound_items/detailsInformation',
method: 'get',
params: materialId
})
}
......@@ -806,7 +806,7 @@ export default {
errors.push(`第${index + 1}行:货物不能为空`)
}
if (parseFloat(item.actualQuantity) <= 0) {
errors.push(`第${index + 1}实际数量必须大于0`)
errors.push(`第${index + 1}行:实际数量必须大于0`)
}
})
return errors
......
......@@ -262,7 +262,8 @@ export default {
},
rules: {
categoryCode: [{required: true, message:'请输入物料分类编码',trigger:'blur'}],
categoryName: [{required: true, message:'请输入物料分类名称', trigger:'blur'}]
categoryName: [{required: true, message:'请输入物料分类名称', trigger:'blur'}],
sortNo: [{ pattern: /^[0-9]\d*$/, message: '排序号必须为正整数', trigger: 'blur' }]
}
}
},
......
......@@ -119,19 +119,42 @@ public class InboundOrderItemsController extends BaseController
}
/**
* 导出入库单明细列表
*/
@PreAuthorize("@ss.hasPermi('inventory:inbound_items:export')")
@Log(title = "入库单明细", businessType = BusinessType.EXPORT)
@PostMapping("/exportDetails")
public void exportDetails(HttpServletResponse response, InboundDetailsVO inboundDetailsVO)
{
List<InboundDetailsVO> list = inboundOrderItemsService.exportInboundDetails(inboundDetailsVO);
ExcelUtil<InboundDetailsVO> util = new ExcelUtil<InboundDetailsVO>(InboundDetailsVO.class);
util.exportExcel(response, list, "入库单明细数据");
}
/**
* 统计入库单物料明细
*/
@PreAuthorize("@ss.hasPermi('inventory:inbound_items:list')")
@GetMapping("/details")
@GetMapping("/detailsList")
public TableDataInfo itemDetails(InboundDetailsVO inboundDetailsVO) throws Exception
{
startPage();
System.out.println(inboundDetailsVO);
List<InboundDetailsVO> list = inboundOrderItemsService.selectInboundDetailsVOBySapNo(inboundDetailsVO);
return getDataTable(list);
}
/**
* 查看明细关联单号批次
*/
@PreAuthorize("@ss.hasPermi('inventory:inbound_items:list')")
@GetMapping("/detailsInformation")
public TableDataInfo itemDetailsByMaterialId(InboundDetailsVO inboundDetailsVO) throws Exception
{
startPage();
List<InboundDetailsVO> list = inboundOrderItemsService.selectDetailsByMaterialId(inboundDetailsVO);
return getDataTable(list);
}
/**
* 导入入库单物料明细
* (暂无用,入库导入功能统一写在inbound主表类中)
*/
......
package com.ruoyi.inventory.domain.vo;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class InboundDetailsVO {
private static final long serialVersionUID = 1L;
// 基础物料字段
private String materialId;
@Excel(name = "物料SAP")
......@@ -16,21 +18,44 @@ public class InboundDetailsVO {
@Excel(name = "物料名")
private String materialName;
// 新增:TS编码(来自第一个SQL的m.ts_code)
@Excel(name = "TS编码")
private String tsCode;
// 新增:危险等级ID(来自第一个SQL的m.hazard_id)
@Excel(name = "危险等级ID")
private String hazardId;
// 新增:物料规格(来自第一个SQL的m.specification)
@Excel(name = "物料规格")
private String specification;
// 新增:物料单位(来自第一个SQL的m.material_unit)
@Excel(name = "物料单位")
private String materialUnit;
// 新增:单重(来自第一个SQL的m.unit_weight)
@Excel(name = "物料单重")
private Double unitWeight;
// 新增:计划入库数量(来自第一个SQL的SUM(ioi.planned_quantity))
@Excel(name = "计划入库数量")
private Long plannedQuantity;
@Excel(name = "入库单号")
private String orderId;
@Excel(name = "批次ID")
private String batchId;
// @Excel(name = "仓库ID")
private String warehouseId;
@Excel(name = "仓库名")
private String warehousesName;
// @Excel(name = "库位ID")
private String locationId;
@Excel(name = "库位名称") // 补充Excel注解
private String locationName;
@Excel(name = "入库数量")
......@@ -51,175 +76,11 @@ public class InboundDetailsVO {
@Excel(name = "备注")
private String remark;
@Excel(name = "入库时间")
@Excel(name = "入库时间") // 补充日期格式化
private Date inboundDate;
// 开始入库日期结束日库日期,仅作查询
private Date inboundDateStart;
private Date inboundDateEnd;
public String getMaterialId() {
return materialId;
}
public void setMaterialId(String materialId) {
this.materialId = materialId;
}
public String getMaterialName() {
return materialName;
}
public void setMaterialName(String materialName) {
this.materialName = materialName;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public String getBatchId() {
return batchId;
}
public void setBatchId(String batchId) {
this.batchId = batchId;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
public String getLocationId() {
return locationId;
}
public void setLocationId(String locationId) {
this.locationId = locationId;
}
// 查询条件字段(无需Excel注解)
private Date inboundDateStart;
public Long getActualQuantity() {
return actualQuantity;
}
public void setActualQuantity(Long actualQuantity) {
this.actualQuantity = actualQuantity;
}
public Long getActualPackages() {
return actualPackages;
}
public void setActualPackages(Long actualPackages) {
this.actualPackages = actualPackages;
}
public String getLabelColor() {
return labelColor;
}
public void setLabelColor(String labelColor) {
this.labelColor = labelColor;
}
public Double getUnitPrice() {
return unitPrice;
}
public void setUnitPrice(Double unitPrice) {
this.unitPrice = unitPrice;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Double getTotalPrice() {
return totalPrice;
}
public void setTotalPrice(Double totalPrice) {
this.totalPrice = totalPrice;
}
public Date getInboundDate() {
return inboundDate;
}
public void setInboundDate(Date inboundDate) {
this.inboundDate = inboundDate;
}
public String getWarehousesName() {
return warehousesName;
}
public void setWarehousesName(String warehousesName) {
this.warehousesName = warehousesName;
}
public String getLocationName() {
return locationName;
}
public void setLocationName(String locationName) {
this.locationName = locationName;
}
public String getSapNo() {
return sapNo;
}
public void setSapNo(String sapNo) {
this.sapNo = sapNo;
}
public Date getInboundDateStart() {
return inboundDateStart;
}
public void setInboundDateStart(Date inboundDateStart) {
this.inboundDateStart = inboundDateStart;
}
public Date getInboundDateEnd() {
return inboundDateEnd;
}
public void setInboundDateEnd(Date inboundDateEnd) {
this.inboundDateEnd = inboundDateEnd;
}
@Override
public String toString() {
return "InboundDetailsVO{" +
"materialId='" + materialId + '\'' +
", sapNo='" + sapNo + '\'' +
", materialName='" + materialName + '\'' +
", orderId='" + orderId + '\'' +
", batchId='" + batchId + '\'' +
", warehouseId='" + warehouseId + '\'' +
", warehousesName='" + warehousesName + '\'' +
", locationId='" + locationId + '\'' +
", locationName='" + locationName + '\'' +
", actualQuantity=" + actualQuantity +
", actualPackages=" + actualPackages +
", labelColor='" + labelColor + '\'' +
", unitPrice=" + unitPrice +
", totalPrice=" + totalPrice +
", remark='" + remark + '\'' +
", inboundDate=" + inboundDate +
'}';
}
private Date inboundDateEnd;
}
......@@ -69,8 +69,19 @@ public interface InboundOrderItemsMapper
public int deleteInboundOrderItemsByIds(String[] ids);
/**
* 导出入库单明细
* @return 结果
*/
public List<InboundDetailsVO> exportInboundDetails(InboundDetailsVO inboundDetailsVO);
/**
* 统计入库单明细
* @return 结果
*/
public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO);
/**
* 查看明细相关单号批次号等信息
* @return 结果
*/
public List<InboundDetailsVO> selectDetailsByMaterialId(InboundDetailsVO inboundDetailsVO);
}
......@@ -79,8 +79,20 @@ public interface IInboundOrderItemsService
public String importInboundOrderItems(List<InboundOrderItems> inboundOrderItems, Boolean isUpdateSupport, String operName);
/**
* 导出入库单明细
* @return 结果
*/
public List<InboundDetailsVO> exportInboundDetails(InboundDetailsVO inboundDetailsVO);
/**
* 统计入库单明细
* @return 结果
*/
public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO);
/**
* 查看明细相关单号批次号等信息
* @return 结果
*/
public List<InboundDetailsVO> selectDetailsByMaterialId(InboundDetailsVO inboundDetailsVO);
}
......@@ -179,7 +179,17 @@ public class InboundOrderItemsServiceImpl implements IInboundOrderItemsService
}
@Override
public List<InboundDetailsVO> exportInboundDetails(InboundDetailsVO inboundDetailsVO) {
return inboundOrderItemsMapper.exportInboundDetails(inboundDetailsVO);
}
@Override
public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO) {
return inboundOrderItemsMapper.selectInboundDetailsVOBySapNo(inboundDetailsVO);
}
@Override
public List<InboundDetailsVO> selectDetailsByMaterialId(InboundDetailsVO inboundDetailsVO) {
return inboundOrderItemsMapper.selectDetailsByMaterialId(inboundDetailsVO);
}
}
......@@ -38,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectMaterialsVo">
select id, material_code, material_name,material_ename, sap_no, ts_code, category_code, hazard_id, specification, material_unit, unit_weight, package_weight, total_weight, volume, shelf_life_days, storage_temperature, special_requirements, is_batch_managed, is_serial_managed, min_stock_level, max_stock_level, is_used, is_active, risk_level, sort_no, create_time, create_user_code, update_time, update_user_code from materials
select id, material_code, material_name, material_ename, sap_no, ts_code, category_code, hazard_id, specification, material_unit, unit_weight, package_weight, total_weight, volume, shelf_life_days, storage_temperature, special_requirements, is_batch_managed, is_serial_managed, min_stock_level, max_stock_level, is_used, is_active, risk_level, sort_no, create_time, create_user_code, update_time, update_user_code from materials
</sql>
<select id="selectMaterialsList" parameterType="Materials" resultMap="MaterialsResult">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论