Commit 4d03ec75 by zhangtw

入库统计页面优化

parent cf620699
...@@ -49,12 +49,19 @@ export function delInbound_items(id) { ...@@ -49,12 +49,19 @@ export function delInbound_items(id) {
method: 'delete' method: 'delete'
}) })
} }
// 统计入库单明细 // 统计入库单明细
export function inbound_details(query){ export function inbound_details(query){
return request({ return request({
url: '/inventory/inbound_items/details', url: '/inventory/inbound_items/detailsList',
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 明细关联信息
export function details_information(materialId){
return request({
url: 'inventory/inbound_items/detailsInformation',
method: 'get',
params: materialId
})
}
...@@ -806,7 +806,7 @@ export default { ...@@ -806,7 +806,7 @@ export default {
errors.push(`第${index + 1}行:货物不能为空`) errors.push(`第${index + 1}行:货物不能为空`)
} }
if (parseFloat(item.actualQuantity) <= 0) { if (parseFloat(item.actualQuantity) <= 0) {
errors.push(`第${index + 1}实际数量必须大于0`) errors.push(`第${index + 1}行:实际数量必须大于0`)
} }
}) })
return errors return errors
......
...@@ -262,7 +262,8 @@ export default { ...@@ -262,7 +262,8 @@ export default {
}, },
rules: { rules: {
categoryCode: [{required: true, message:'请输入物料分类编码',trigger:'blur'}], 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 ...@@ -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')") @PreAuthorize("@ss.hasPermi('inventory:inbound_items:list')")
@GetMapping("/details") @GetMapping("/detailsList")
public TableDataInfo itemDetails(InboundDetailsVO inboundDetailsVO) throws Exception public TableDataInfo itemDetails(InboundDetailsVO inboundDetailsVO) throws Exception
{ {
startPage(); startPage();
System.out.println(inboundDetailsVO);
List<InboundDetailsVO> list = inboundOrderItemsService.selectInboundDetailsVOBySapNo(inboundDetailsVO); List<InboundDetailsVO> list = inboundOrderItemsService.selectInboundDetailsVOBySapNo(inboundDetailsVO);
return getDataTable(list); 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主表类中) * (暂无用,入库导入功能统一写在inbound主表类中)
*/ */
......
package com.ruoyi.inventory.domain.vo; package com.ruoyi.inventory.domain.vo;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date; import java.util.Date;
@Data
public class InboundDetailsVO { public class InboundDetailsVO {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 基础物料字段
private String materialId; private String materialId;
@Excel(name = "物料SAP") @Excel(name = "物料SAP")
...@@ -16,21 +18,44 @@ public class InboundDetailsVO { ...@@ -16,21 +18,44 @@ public class InboundDetailsVO {
@Excel(name = "物料名") @Excel(name = "物料名")
private String materialName; 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 = "入库单号") @Excel(name = "入库单号")
private String orderId; private String orderId;
@Excel(name = "批次ID") @Excel(name = "批次ID")
private String batchId; private String batchId;
// @Excel(name = "仓库ID")
private String warehouseId; private String warehouseId;
@Excel(name = "仓库名") @Excel(name = "仓库名")
private String warehousesName; private String warehousesName;
// @Excel(name = "库位ID")
private String locationId; private String locationId;
@Excel(name = "库位名称") // 补充Excel注解
private String locationName; private String locationName;
@Excel(name = "入库数量") @Excel(name = "入库数量")
...@@ -51,175 +76,11 @@ public class InboundDetailsVO { ...@@ -51,175 +76,11 @@ public class InboundDetailsVO {
@Excel(name = "备注") @Excel(name = "备注")
private String remark; private String remark;
@Excel(name = "入库时间") @Excel(name = "入库时间") // 补充日期格式化
private Date inboundDate; 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() { // 查询条件字段(无需Excel注解)
return materialName; private Date inboundDateStart;
}
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;
}
public Long getActualQuantity() { private Date inboundDateEnd;
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 +
'}';
}
} }
...@@ -69,8 +69,19 @@ public interface InboundOrderItemsMapper ...@@ -69,8 +69,19 @@ public interface InboundOrderItemsMapper
public int deleteInboundOrderItemsByIds(String[] ids); public int deleteInboundOrderItemsByIds(String[] ids);
/** /**
* 导出入库单明细
* @return 结果
*/
public List<InboundDetailsVO> exportInboundDetails(InboundDetailsVO inboundDetailsVO);
/**
* 统计入库单明细 * 统计入库单明细
* @return 结果 * @return 结果
*/ */
public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO); public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO);
/**
* 查看明细相关单号批次号等信息
* @return 结果
*/
public List<InboundDetailsVO> selectDetailsByMaterialId(InboundDetailsVO inboundDetailsVO);
} }
...@@ -79,8 +79,20 @@ public interface IInboundOrderItemsService ...@@ -79,8 +79,20 @@ public interface IInboundOrderItemsService
public String importInboundOrderItems(List<InboundOrderItems> inboundOrderItems, Boolean isUpdateSupport, String operName); public String importInboundOrderItems(List<InboundOrderItems> inboundOrderItems, Boolean isUpdateSupport, String operName);
/** /**
* 导出入库单明细
* @return 结果
*/
public List<InboundDetailsVO> exportInboundDetails(InboundDetailsVO inboundDetailsVO);
/**
* 统计入库单明细 * 统计入库单明细
* @return 结果 * @return 结果
*/ */
public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO); public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO);
/**
* 查看明细相关单号批次号等信息
* @return 结果
*/
public List<InboundDetailsVO> selectDetailsByMaterialId(InboundDetailsVO inboundDetailsVO);
} }
...@@ -179,7 +179,17 @@ public class InboundOrderItemsServiceImpl implements IInboundOrderItemsService ...@@ -179,7 +179,17 @@ public class InboundOrderItemsServiceImpl implements IInboundOrderItemsService
} }
@Override @Override
public List<InboundDetailsVO> exportInboundDetails(InboundDetailsVO inboundDetailsVO) {
return inboundOrderItemsMapper.exportInboundDetails(inboundDetailsVO);
}
@Override
public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO) { public List<InboundDetailsVO> selectInboundDetailsVOBySapNo(InboundDetailsVO inboundDetailsVO) {
return inboundOrderItemsMapper.selectInboundDetailsVOBySapNo(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" ...@@ -38,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectMaterialsVo"> <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> </sql>
<select id="selectMaterialsList" parameterType="Materials" resultMap="MaterialsResult"> <select id="selectMaterialsList" parameterType="Materials" resultMap="MaterialsResult">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论