Browse Source

[fix] 仓库管理

修改仓库委内入库前端详情页面布局
修改 入库-生产订单(委内入库) 物料详情列表后端接口方法
修改委内加工入库生成品质单 修改一些字段的添加
修改 仓库委内入库前端页面布局
生产委内加工的时候新加物料入库部门字段
入库订单新增 修改保存入库-生产订单(委内入库)后端接口
委内加工品质单开始品质 的时候 生成 入库单号
dev
liuxiaoxu 4 months ago
parent
commit
899a9cc781
  1. 2
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpInboundOrderServiceImpl.java
  2. 4
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java
  3. 14
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java
  4. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java
  5. 81
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java
  6. 146
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storageMakeIn.html
  7. 155
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storageMakeInDetail.html
  8. 4
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storageOrder.html

2
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpInboundOrderServiceImpl.java

@ -215,7 +215,7 @@ public class ErpInboundOrderServiceImpl implements IErpInboundOrderService
qualityOrderDetail.setMaterialBrand(sysMakeorderBom.getBrand());
qualityOrderDetail.setMaterialDescribe(sysMakeorderBom.getDescribe());
qualityOrderDetail.setMaterialProcessMethod(sysMakeorderBom.getProcessMethod());
qualityOrderDetail.setMaterialDeptType(sysMakeorderBom.getMaterialType());
qualityOrderDetail.setMaterialDeptType(sysMakeorderBom.getWarehouseDept());
qualityOrderDetail.setMaterialPhotourl(sysMakeorderBom.getPhotoUrl());
qualityOrderDetail.setMaterialUnit(sysMakeorderBom.getUnit());
qualityOrderDetail.setMaterialType(sysMakeorderBom.getMaterialType());

4
ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java

@ -320,6 +320,10 @@ public class QualityOrderServiceImpl implements IQualityOrderService
qualityOrder.setUpdateBy(loginName);
qualityOrder.setUpdateTime(new Date());
qualityOrder.setQualityEmployee(loginName);
//生成入库单号
String warehouseStorageCode = redisCache.generateBillNo("RK");
qualityOrder.setInStorageCode(warehouseStorageCode);
List<QualityOrderDetail> qualityOrderDetailList = qualityOrder.getQualityOrderDetailList();
if (CollectionUtils.isEmpty(qualityOrderDetailList)){

14
ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java

@ -4,6 +4,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail;
import com.ruoyi.warehouse.service.IWarehouseStorageOrderDetailService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -564,7 +565,7 @@ public class WarehouseStorageOrderController extends BaseController
@ResponseBody
public AjaxResult storageMakeInSave(@RequestBody WarehouseStorageOrder warehouseStorageOrder)
{
return toAjax(warehouseStorageOrderService.updateStorageMake(warehouseStorageOrder));
return toAjax(warehouseStorageOrderService.updateStorageMakeIn(warehouseStorageOrder));
}
/**
@ -591,14 +592,15 @@ public class WarehouseStorageOrderController extends BaseController
}
/**
* 入库-生产订单(委内入库) 客户物料详情列表
* 入库-生产订单(委内入库) 物料详情列表
*/
@ResponseBody
@RequestMapping("/storageMakeInDetailList")
public Map<String,List<WarehouseStorageOrderDetail>> storageMakeInDetail(String warehouseStorageCode){
List<WarehouseStorageOrderDetail> allDetails = storageOrderDetailService.selectStorageOrderDetailListByCode(warehouseStorageCode);
Map<String, List<WarehouseStorageOrderDetail>> groupedDetails = allDetails.stream().collect(Collectors.groupingBy(WarehouseStorageOrderDetail::getCustomerId));
return groupedDetails;
public TableDataInfo storageMakeInDetailList(WarehouseStorageOrder warehouseStorageOrder){
startPage();
String warehouseStorageCode = warehouseStorageOrder.getWarehouseStorageCode();
List<WarehouseStorageOrderDetail> list = storageOrderDetailService.selectStorageOrderDetailListByCode(warehouseStorageCode);
return getDataTable(list) ;
}

5
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java

@ -113,4 +113,9 @@ public interface IWarehouseStorageOrderService
* 通过委内加工入库单品质后生成入库单
* */
int insertWarehouseStorageOrderByMakeInQualityOrder(QualityOrder tempQualityOrder, List<QualityOrderDetail> qualityOrderDetailList);
/*
* 修改保存入库-生产订单(委内入库)
* */
int updateStorageMakeIn(WarehouseStorageOrder warehouseStorageOrder);
}

81
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java

@ -403,6 +403,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
String warehouseStorageCode = redisCache.generateBillNo("RK");
warehouseStorageOrder.setWarehouseStorageCode(warehouseStorageCode);
warehouseStorageOrder.setRelatedOrderCode(tempQualityOrder.getRelatedOrderCode());
//暂收设置为全部品质
warehouseStorageOrder.setWarehouseQualityStatus("2");
warehouseStorageOrder.setWarehouseStorageStatus("2");
warehouseStorageOrder.setWarehouseStorageType("2");
warehouseStorageOrder.setWarehouseOrderType("1");
@ -418,9 +420,12 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
WarehouseStorageOrderDetail warehouseStorageOrderDetail = new WarehouseStorageOrderDetail();
warehouseStorageOrderDetail.setWarehouseStorageCode(warehouseStorageCode);
warehouseStorageOrderDetail.setRelatedOrderCode(tempQualityOrder.getRelatedOrderCode());
warehouseStorageOrderDetail.setWarehouseOrderType("2");
warehouseStorageOrderDetail.setWarehouseQualityStatus("2");
warehouseStorageOrderDetail.setWarehouseStorageStatus("2");
warehouseStorageOrderDetail.setWarehouseStorageType("2");
warehouseStorageOrderDetail.setWarehouseOrderType("1");
//当作委内入库数
warehouseStorageOrderDetail.setMakeStorageNum(qualityOrderDetail.getMakeInNum());
warehouseStorageOrderDetail.setMaterialNo(qualityOrderDetail.getMaterialNo());
warehouseStorageOrderDetail.setMaterialName(qualityOrderDetail.getMaterialName());
warehouseStorageOrderDetail.setMaterialBrand(qualityOrderDetail.getMaterialBrand());
@ -437,6 +442,80 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
return warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder);
}
/*
* 修改保存入库-生产订单(委内入库)
* */
@Transactional(rollbackFor = Exception.class)
@Override
public int updateStorageMakeIn(WarehouseStorageOrder warehouseStorageOrder) {
String loginName = ShiroUtils.getLoginName();
//假设全部入库
warehouseStorageOrder.setWarehouseStorageStatus("4");
warehouseStorageOrder.setUpdateBy(loginName);
warehouseStorageOrder.setUpdateTime(new Date());
//记录一下入库时间
warehouseStorageOrder.setStorageTime(new Date());
String warehouseCode = warehouseStorageOrder.getWarehouseCode();
String warehouseName = warehouseStorageOrder.getWarehouseName();
if (StringUtils.isNotEmpty(warehouseCode)){
warehouseStorageOrder.setWarehouseCode(warehouseCode);
}
if (StringUtils.isNotEmpty(warehouseName)){
warehouseStorageOrder.setWarehouseName(warehouseName);
}
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList();
if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){
log.warn("入库单详情数据为空:{}",warehouseStorageOrderDetailList);
throw new BusinessException("入库单详情数据为空");
}
//入库数
Integer storageNum = 0;
// 检查storageNum是否含有null值
boolean hasThisStorageNumNull = warehouseStorageOrderDetailList.stream()
.anyMatch(item -> item.getStorageNum() == null);
if (hasThisStorageNumNull) {
throw new BusinessException("存在入库数为空,请检查!");
}
// 计算各个字段的总和
storageNum = warehouseStorageOrderDetailList.stream()
.mapToInt(WarehouseStorageOrderDetail::getStorageNum)
.sum();
//插入主表入库数量
warehouseStorageOrder.setStorageNum(storageNum);
// //更新生产单数据
// int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder, warehouseStorageOrderDetailList);
// if (updateMakeOrderResult <= 0){
// throw new BusinessException("更新生产订单失败,未影响任何行");
// }
for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : warehouseStorageOrderDetailList) {
//更新入库单详情的数据
warehouseStorageOrderDetail.setUpdateBy(loginName);
warehouseStorageOrderDetail.setUpdateTime(new Date());
//更新已入库数
warehouseStorageOrderDetail.setHasStorageNum(warehouseStorageOrderDetail.getStorageNum());
int updateWarehouseStorageOrderDetailResult = storageOrderDetailMapper.updateWarehouseStorageOrderDetail(warehouseStorageOrderDetail);
if (updateWarehouseStorageOrderDetailResult <= 0){
throw new BusinessException("更新仓库入库单详情失败,未影响任何行");
}
}
//更新入库单的数据
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder);
if (updateResult <= 0){
log.warn("更新入库单失败,未影响任何行");
}
return updateResult;
}
/**
* 修改保存暂收-采购单(采购入库) 子表数据
* */

146
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storageMakeIn.html

@ -13,7 +13,7 @@
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-temporaryPurchaseWarehouse-edit" th:object="${warehouseStorageOrder}">
<form class="form-horizontal m" id="form-storageMakeIn-edit" th:object="${warehouseStorageOrder}">
<input name="warehouseStorageId" th:field="*{warehouseStorageId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
@ -74,11 +74,11 @@
</div>
</div>
<!--物料信息-->
<div class="container">
<!--客户物料相关-->
<div class="row">
<div class="col-sm-12" id="tablesContainer">
<!-- 表格将在这里动态生成 -->
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
@ -92,61 +92,57 @@
var warehouseStorageCode = [[${warehouseStorageOrder.warehouseStorageCode}]]
var warehouseCode = [[${warehouseStorageOrder.warehouseCode}]]
var prefix = ctx + "warehouse/storageOrder";
$("#form-temporaryPurchaseWarehouse-edit").validate({
$("#form-storageMakeIn-edit").validate({
focusCleanup: true
});
//生成的不同table的id集合
var tableDatas = [];
// 新增提交
function submitHandler() {
const storageOrderData = $("#form-temporaryPurchaseWarehouse-edit").serializeArray().reduce((obj, item) => {
// 获取表单数据
const storageMakeInData = $("#form-storageMakeIn-edit").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
// 初始化一个数组用于存放所有表格的数据
let allMaterialDataList = [];
for(let i in tableDatas){
$('#' + tableDatas[i]).each(function() {
const tableData = $(this).bootstrapTable('getData');
console.log(JSON.stringify(tableData));
// 将表数据转换成与qualityReportData格式一致的数组
var materialDataList = tableData.map(function (item) {
// 根据实际字段名调整
return {
"customerId": item.customerId,
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
"qualityHasQualifiedNum": item.qualityHasQualifiedNum,
"hasStorageNum": item.hasStorageNum,
"makeStorageNum": item.makeStorageNum,
"storageNum": item.storageNum,
"storageLocation": item.storageLocation,
// ...其他字段
};
});
allMaterialDataList = allMaterialDataList.concat(materialDataList);
});
}
// 获取bootstrap-table的数据,这里假设你使用bootstrap-table的API获取所有数据
var table = $('#bootstrap-table').bootstrapTable('getData');
// 将表数据转换成与complaintNoticeData格式一致的数组
var materialDataList = table.map(function(item) {
// 根据实际字段名调整
return {
"warehouseStorageDetailId":item.warehouseStorageDetailId,
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
"qualityHasQualifiedNum": item.qualityHasQualifiedNum,
"hasStorageNum": item.hasStorageNum,
"makeStorageNum": item.makeStorageNum,
"storageNum": item.storageNum,
"storageLocation": item.storageLocation,
// ...其他字段
};
});
const combinedData = Object.assign({}, storageOrderData, {
warehouseStorageOrderDetailList: allMaterialDataList
const combinedData = Object.assign({}, storageMakeInData, {
warehouseStorageOrderDetailList: materialDataList,
});
// 合并表单数据和表格数据
// const combinedData = Object.assign({}, ...complaintNoticeData.array(item => ({ [item.name]: item.value })), ...materialData);
console.log(combinedData)
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/storageMake", jsonData);
$.operate.saveJson(prefix + "/storageMakeIn", jsonData);
}
$("input[name='arrivedTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
@ -159,44 +155,24 @@
autoclose: true
});
$(function() {
// 假设qualityOrderCode已经定义或者可以通过某种方式获取到
var warehouseStorageCode = [[${warehouseStorageOrder.warehouseStorageCode}]]; // 这里需要实际赋值,比如从前端某个地方读取
$.getJSON(prefix + "/storageMakeInDetailList?warehouseStorageCode=" + warehouseStorageCode, function(data) {
for (var customerId in data) {
if (data.hasOwnProperty(customerId)) {
var customerData = data[customerId];
createTableForCustomer(customerId, customerData);
}
}
});
});
function createTableForCustomer(customerId, customerData) {
var tableId = 'bootstrap-table-' + customerId.replace(/[^a-z0-9]/gi, '_').toLowerCase();
tableDatas.push(tableId);
var $tableWrapper = $('<div class="table-responsive mt-3"></div>');
// 确保customerData至少有一条记录,并从中提取客户详细信息
var customerInfo = customerData.length > 0 ? customerData[0] : {}; // 默认为空对象,以防数据不存在
// 构建含有额外客户信息的标题字符串
var headerTitle ='客户'+'</br>'+customerId + ' - ' + (customerInfo.customerName || 'N/A') +
' </br> ' + (customerInfo.customerContactPeople || 'N/A') +
' - ' + (customerInfo.customerContactNumber || 'N/A') +
' - ' + (customerInfo.customerCompanyAddress || 'N/A');
var $header = $('<h4>' + headerTitle + '</h4>');
var $table = $('<table id="' + tableId + '" class="table table-striped table-bordered"></table>');
$table.bootstrapTable({
data: customerData,
//物料信息展示列表
$(function() {
var options = {
modalName: "选择物料",
url: prefix + "/storageMakeInDetailList",
queryParams: queryParams,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
pagination: false, // 设置不分页
columns: [{
checkbox: true
},
{
title: '客户ID',
field: 'customerId',
title: '入库单详情Id',
field: 'warehouseStorageDetailId',
visible: false
},
{
@ -230,10 +206,6 @@
title: '物料加工方式',
field: 'materialProcessMethod',
},
{
title: '订单数',
field: 'makeTotal',
},
{
title: '品质已合格数',
field: 'qualityHasQualifiedNum',
@ -243,7 +215,7 @@
field: 'hasStorageNum',
},
{
title: '生产入库数',
title: '委内入库数',
field: 'makeStorageNum',
},
{
@ -265,14 +237,20 @@
field: 'storageLocation',
editable: true
}]
});
};
$.table.init(options);
})
$tableWrapper.append($header).append($table);
$('#tablesContainer').append($tableWrapper);
function queryParams(params) {
var curParams = {
// 传递参数查询参数
warehouseStorageCode: warehouseStorageCode
};
console.log(curParams);
return curParams;
}
//根据仓库ID查询仓库名称
$(document).ready(function() {
// 初始化时默认加载仓库ID列表

155
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storageMakeInDetail.html

@ -13,7 +13,7 @@
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-temporaryPurchaseWarehouse-edit" th:object="${warehouseStorageOrder}">
<form class="form-horizontal m" id="form-storageMakeInDetail-edit" th:object="${warehouseStorageOrder}">
<input name="warehouseStorageId" th:field="*{warehouseStorageId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
@ -74,11 +74,11 @@
</div>
</div>
<!--物料信息-->
<div class="container">
<!--客户物料相关-->
<div class="row">
<div class="col-sm-12" id="tablesContainer">
<!-- 表格将在这里动态生成 -->
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
@ -92,61 +92,53 @@
var warehouseStorageCode = [[${warehouseStorageOrder.warehouseStorageCode}]]
var warehouseCode = [[${warehouseStorageOrder.warehouseCode}]]
var prefix = ctx + "warehouse/storageOrder";
$("#form-temporaryPurchaseWarehouse-edit").validate({
$("#form-storageMakeInDetail-edit").validate({
focusCleanup: true
});
//生成的不同table的id集合
var tableDatas = [];
// 新增提交
function submitHandler() {
const storageOrderData = $("#form-temporaryPurchaseWarehouse-edit").serializeArray().reduce((obj, item) => {
// 获取表单数据
const storageMakeInData = $("#form-storageMakeInDetail-edit").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
// 初始化一个数组用于存放所有表格的数据
let allMaterialDataList = [];
for(let i in tableDatas){
$('#' + tableDatas[i]).each(function() {
const tableData = $(this).bootstrapTable('getData');
console.log(JSON.stringify(tableData));
// 将表数据转换成与qualityReportData格式一致的数组
var materialDataList = tableData.map(function (item) {
// 根据实际字段名调整
return {
"customerId": item.customerId,
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
"qualityHasQualifiedNum": item.qualityHasQualifiedNum,
"hasStorageNum": item.hasStorageNum,
"makeStorageNum": item.makeStorageNum,
"storageNum": item.storageNum,
"storageLocation": item.storageLocation,
// ...其他字段
};
});
allMaterialDataList = allMaterialDataList.concat(materialDataList);
});
}
// 获取bootstrap-table的数据,这里假设你使用bootstrap-table的API获取所有数据
var table = $('#bootstrap-table').bootstrapTable('getData');
const combinedData = Object.assign({}, storageOrderData, {
warehouseStorageOrderDetailList: allMaterialDataList
// 将表数据转换成与complaintNoticeData格式一致的数组
var materialDataList = table.map(function(item) {
// 根据实际字段名调整
return {
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
"qualityHasQualifiedNum": item.qualityHasQualifiedNum,
"hasStorageNum": item.hasStorageNum,
"makeStorageNum": item.makeStorageNum,
"storageNum": item.storageNum,
"storageLocation": item.storageLocation,
// ...其他字段
};
});
const combinedData = Object.assign({}, storageMakeInData, {
warehouseStorageOrderDetailList: materialDataList,
});
// 合并表单数据和表格数据
// const combinedData = Object.assign({}, ...complaintNoticeData.array(item => ({ [item.name]: item.value })), ...materialData);
console.log(combinedData)
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/storageMake", jsonData);
$.operate.saveJson(prefix + "/storageMakeInDetail", jsonData);
}
$("input[name='arrivedTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
@ -159,46 +151,20 @@
autoclose: true
});
//物料信息展示列表
$(function() {
// 假设qualityOrderCode已经定义或者可以通过某种方式获取到
var warehouseStorageCode = [[${warehouseStorageOrder.warehouseStorageCode}]]; // 这里需要实际赋值,比如从前端某个地方读取
$.getJSON(prefix + "/storageMakeInDetailList?warehouseStorageCode=" + warehouseStorageCode, function(data) {
for (var customerId in data) {
if (data.hasOwnProperty(customerId)) {
var customerData = data[customerId];
createTableForCustomer(customerId, customerData);
}
}
});
});
function createTableForCustomer(customerId, customerData) {
var tableId = 'bootstrap-table-' + customerId.replace(/[^a-z0-9]/gi, '_').toLowerCase();
tableDatas.push(tableId);
var $tableWrapper = $('<div class="table-responsive mt-3"></div>');
// 确保customerData至少有一条记录,并从中提取客户详细信息
var customerInfo = customerData.length > 0 ? customerData[0] : {}; // 默认为空对象,以防数据不存在
// 构建含有额外客户信息的标题字符串
var headerTitle ='客户'+'</br>'+customerId + ' - ' + (customerInfo.customerName || 'N/A') +
' </br> ' + (customerInfo.customerContactPeople || 'N/A') +
' - ' + (customerInfo.customerContactNumber || 'N/A') +
' - ' + (customerInfo.customerCompanyAddress || 'N/A');
var $header = $('<h4>' + headerTitle + '</h4>');
var $table = $('<table id="' + tableId + '" class="table table-striped table-bordered"></table>');
$table.bootstrapTable({
data: customerData,
var options = {
modalName: "选择物料",
url: prefix + "/storageMakeInDetailList",
queryParams: queryParams,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
pagination: false, // 设置不分页
columns: [{
checkbox: true
},
{
title: '客户ID',
field: 'customerId',
visible: false
},
{
title: '料号',
field: 'materialNo'
@ -230,10 +196,6 @@
title: '物料加工方式',
field: 'materialProcessMethod',
},
{
title: '订单数',
field: 'makeTotal',
},
{
title: '品质已合格数',
field: 'qualityHasQualifiedNum',
@ -243,25 +205,42 @@
field: 'hasStorageNum',
},
{
title: '生产入库数',
title: '委内入库数',
field: 'makeStorageNum',
},
{
title: '入库数',
field: 'storageNum',
editable:{
type: 'text',
mode:'inline',
validate: function (v) {
if (!v) return '数量不能为空';
if (isNaN(v)) return '数量必须是数字';
var processBadNum = parseInt(v);
if (processBadNum <= 0) return '数量必须是正整数';
}
}
},
{
title: '存放位置',
field: 'storageLocation',
editable: true
}]
});
};
$.table.init(options);
})
$tableWrapper.append($header).append($table);
$('#tablesContainer').append($tableWrapper);
function queryParams(params) {
var curParams = {
// 传递参数查询参数
warehouseStorageCode: warehouseStorageCode
};
console.log(curParams);
return curParams;
}
//根据仓库ID查询仓库名称
$(document).ready(function() {
// 初始化时默认加载仓库ID列表

4
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storageOrder.html

@ -312,12 +312,12 @@
}
/*入库-生产订单(委内入库)*/
if ( row.warehouseStorageType == 2 && row.warehouseDeptType == 1 && row.warehouseOrderType == 1 && (row.warehouseStorageStatus == 2 || row.warehouseStorageStatus == 3) ){
if ( row.warehouseStorageType == 2 && row.warehouseOrderType == 1 && (row.warehouseStorageStatus == 2 || row.warehouseStorageStatus == 3) ){
actions.push('<a class="btn btn-success btn-xs ' + storageMakeInFlag + '" href="javascript:void(0)" onclick="storageMakeIn(\'' + row.warehouseStorageId + '\')"><i class="fa fa-edit"></i>入库</a> ');
}
/*入库-生产订单(委内入库) 详情*/
if ( row.warehouseStorageType == 2 && row.warehouseDeptType == 1 && row.warehouseOrderType == 1 && (row.warehouseStorageStatus == 2 || row.warehouseStorageStatus == 3 || row.warehouseStorageStatus == 4)){
if ( row.warehouseStorageType == 2 && row.warehouseOrderType == 1 && (row.warehouseStorageStatus == 2 || row.warehouseStorageStatus == 3 || row.warehouseStorageStatus == 4)){
actions.push('<a class="btn btn-success btn-xs ' + storageMakeInDetailFlag + '" href="javascript:void(0)" onclick="storageMakeInDetail(\'' + row.warehouseStorageId + '\')"><i class="fa fa-edit"></i>详情</a> ');
}

Loading…
Cancel
Save