Browse Source

[feat]

仓库管理 出库单
修改出库单列表页面委外出库和请购出库按钮显示条件,添加部分出库状态;
修改委外出库和员工领料出库页面实际出库数输入框初始化空值;
修改根据出库单号、关联单号、料号查询出库单详情mapper方法,添加判空条件;
修改委外出库和员工领料出库service方法,关联库存;
dev
王晓迪 2 months ago
parent
commit
b9908008d8
  1. 263
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java
  2. 8
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseOutOrderDetailMapper.xml
  3. 18
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/outsourceOutWarehouse.html
  4. 14
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/requisitioningOutWarehouse.html
  5. 4
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/warehouseOutOrder.html

263
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java

@ -98,7 +98,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
private WarehouseInventoryInquiryDetailMapper inventoryInquiryDetailMapper; private WarehouseInventoryInquiryDetailMapper inventoryInquiryDetailMapper;
@Autowired @Autowired
private OutsourceRequisitionMapper requisitionMapper; private OutsourceRequisitionMapper outRequisitionMapper;
@Autowired @Autowired
private BaseEmpRequisiteOrderMapper empRequisiteOrderMapper; private BaseEmpRequisiteOrderMapper empRequisiteOrderMapper;
@ -1284,91 +1284,89 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
if (warehouseOutOrder == null) { if (warehouseOutOrder == null) {
throw new BusinessException("更新出库单信息失败:缺少必要参数"); throw new BusinessException("更新出库单信息失败:缺少必要参数");
} }
WarehouseOutOrder oldOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderByCode(warehouseOutOrder.getOutOrderCode());
List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList(); List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList();
if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){ if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){
log.warn("保存委外单出库,物料列表信息为空:{}",warehouseOutOrder);
throw new BusinessException("出库单详情数据为空"); throw new BusinessException("出库单详情数据为空");
}else { }
// 检查outOrderSum是否含有null值
List<WarehouseOutOrderDetail> filtList = warehouseOutOrderDetailList.stream()
.filter(item ->item.getActualOutOrderSum() != null).collect(Collectors.toList());
if (filtList.size()==0) {
throw new BusinessException("实际出库数不能全为空,请检查!");
}
// 检查总出库数是否超出申请数
for (WarehouseOutOrderDetail detail: filtList) {
int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0);
int allOutNum = hasOutNum + detail.getActualOutOrderSum();
int applyNum = Optional.ofNullable(detail.getApplyOutOrderSum()).orElse(0);
if(allOutNum > applyNum){
throw new BusinessException("物料"+detail.getMaterialNo()+"总出库数超出申请出库数,请检查!");
}
}
int updateRows = 0; int updateRows = 0;
for (WarehouseOutOrderDetail warehouseOutOrderDetail : warehouseOutOrderDetailList) { for (WarehouseOutOrderDetail detail : filtList) {
warehouseOutOrderDetail.setUpdateBy(loginName); detail.setUpdateBy(loginName);
warehouseOutOrderDetail.setUpdateTime(DateUtils.getNowDate()); detail.setUpdateTime(DateUtils.getNowDate());
warehouseOutOrderDetail.setRemark(warehouseOutOrder.getRemark()); detail.setRemark(warehouseOutOrder.getRemark());
//设置已出库数 //设置已出库数
warehouseOutOrderDetail.setHasOutOrderSum(warehouseOutOrderDetail.getActualOutOrderSum()); int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0);
//设置仓库员 hasOutNum = hasOutNum + detail.getActualOutOrderSum();
warehouseOutOrderDetail.setWarehouseName(loginName); detail.setHasOutOrderSum(hasOutNum);
//更新数据库记录 detail.setWarehouseName(loginName);
updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(warehouseOutOrderDetail); updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(detail);
if (updateRows <= 0){ if (updateRows <= 0){
throw new BusinessException("更新出库单详情数据失败"); throw new BusinessException("更新出库单详情数据失败");
}else { }
// 更新库存查询记录,新增库存历史 //更新库存查询记录,新增库存历史
String materialNo = warehouseOutOrderDetail.getMaterialNo(); String materialNo = detail.getMaterialNo();
WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
if(inventoryInquiry == null){ if(inventoryInquiry == null){
throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据"); throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据");
}else{ }
int inquiryUpdateResult = updateWarehouseInventoryInquiry(warehouseOutOrder,warehouseOutOrderDetail,inventoryInquiry); int inquiryUpdateResult = updateWarehouseInventoryInquiry(oldOutOrder,detail,inventoryInquiry);
if (inquiryUpdateResult <= 0){ if (inquiryUpdateResult <= 0){
throw new BusinessException("更新库存查询数据失败"); throw new BusinessException("更新库存查询数据失败");
} }
} }
}
}
}
warehouseOutOrder.setUpdateBy(loginName);
warehouseOutOrder.setUpdateTime(DateUtils.getNowDate());
//表明已出库
warehouseOutOrder.setWarehouseOutStatus("7");
//设置出库时间
warehouseOutOrder.setOutOrderTime(DateUtils.getNowDate());
//设置仓库员
warehouseOutOrder.setWarehouseName(loginName);
//计算出库单主表的出库数 //计算出库单主表的出库数
Integer outOrderSum = 0; Integer outOrderSum = oldOutOrder.getOutOrderSum() != null ? oldOutOrder.getOutOrderSum() : 0;
// 检查outOrderSum是否含有null值
boolean hasOutOrderSumNull = warehouseOutOrderDetailList.stream()
.anyMatch(item -> item.getActualOutOrderSum() == null);
if (hasOutOrderSumNull) {
throw new BusinessException("存在实际出库数为空,请检查!");
}
// 检查outOrderSum是否含有null值
boolean hasOutOrderSumOver = warehouseOutOrderDetailList.stream()
.anyMatch(item -> item.getActualOutOrderSum() > item.getApplyOutOrderSum());
if (hasOutOrderSumOver) {
throw new BusinessException("存在实际出库数大于申请出库数,请检查!");
}
// 计算各个字段的总和 // 计算各个字段的总和
outOrderSum = warehouseOutOrderDetailList.stream() Integer detailOutOrderSum = filtList.stream()
.mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum) .mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum)
.sum(); .sum();
//设置出库单主表的出库数 outOrderSum = outOrderSum + detailOutOrderSum;
warehouseOutOrder.setOutOrderSum(outOrderSum);
// 更新委外领料单 //更新委外领料单
OutsourceRequisitionVO temp = new OutsourceRequisitionVO(); OutsourceRequisitionVO temp = new OutsourceRequisitionVO();
temp.setOutsourceRequisitionNo(warehouseOutOrder.getRelatedOrderCode()); temp.setOutsourceRequisitionNo(oldOutOrder.getRelatedOrderCode());
List<OutsourceRequisitionVO> outRequisitions = requisitionMapper.selectOutsourceRequisitionList(temp); List<OutsourceRequisitionVO> outsourceRequisitions = outRequisitionMapper.selectOutsourceRequisitionList(temp);
OutsourceRequisitionVO requisitionVO = outRequisitions.get(0); OutsourceRequisitionVO outRequisition = outsourceRequisitions.get(0);
requisitionVO.setRequisitionStatus("2");
requisitionVO.setUpdateTime(DateUtils.getNowDate()); //设置出库单主表的出库数
requisitionVO.setUpdateBy(ShiroUtils.getLoginName()); oldOutOrder.setOutOrderSum(outOrderSum);
int updateResult = requisitionMapper.updateOutsourceRequisition(requisitionVO); if(outOrderSum == oldOutOrder.getEnterpriseSum()){
oldOutOrder.setWarehouseOutStatus("7");//已出库
outRequisition.setRequisitionStatus("2");//全部领料
}else if(outOrderSum < oldOutOrder.getEnterpriseSum()){
oldOutOrder.setWarehouseOutStatus("5");//部分出库
outRequisition.setRequisitionStatus("1");//部分领料
}
outRequisition.setUpdateTime(DateUtils.getNowDate());
outRequisition.setUpdateBy(ShiroUtils.getLoginName());
int updateResult = outRequisitionMapper.updateOutsourceRequisition(outRequisition);
if(updateResult<=0){ if(updateResult<=0){
throw new BusinessException("更新委外领料单失败!"); throw new BusinessException("更新委外领料单失败!");
} }
oldOutOrder.setUpdateBy(loginName);
return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); oldOutOrder.setUpdateTime(DateUtils.getNowDate());
oldOutOrder.setOutOrderTime(DateUtils.getNowDate());
oldOutOrder.setWarehouseName(loginName);
return warehouseOutOrderMapper.updateWarehouseOutOrder(oldOutOrder);
} }
// 请购单-出库 // 员工领料单-出库
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int updateRequisitionOutWarehouse(WarehouseOutOrder warehouseOutOrder) { public int updateRequisitionOutWarehouse(WarehouseOutOrder warehouseOutOrder) {
@ -1377,87 +1375,86 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
if (warehouseOutOrder == null) { if (warehouseOutOrder == null) {
throw new BusinessException("更新出库单信息失败:缺少必要参数"); throw new BusinessException("更新出库单信息失败:缺少必要参数");
} }
WarehouseOutOrder oldOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderByCode(warehouseOutOrder.getOutOrderCode());
List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList(); List<WarehouseOutOrderDetail> warehouseOutOrderDetailList = warehouseOutOrder.getWarehouseOutOrderDetailList();
if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){ if (CollectionUtils.isEmpty(warehouseOutOrderDetailList)){
log.warn("保存请购单出库,物料列表信息为空:{}",warehouseOutOrder);
throw new BusinessException("出库单详情数据为空"); throw new BusinessException("出库单详情数据为空");
}else { }
// 检查outOrderSum是否含有null值
List<WarehouseOutOrderDetail> filtList = warehouseOutOrderDetailList.stream()
.filter(item ->item.getActualOutOrderSum() != null).collect(Collectors.toList());
if (filtList.size()==0) {
throw new BusinessException("实际出库数不能全为空,请检查!");
}
// 检查总出库数是否超出申请数
for (WarehouseOutOrderDetail detail: filtList) {
int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0);
int allOutNum = hasOutNum + detail.getActualOutOrderSum();
int applyNum = Optional.ofNullable(detail.getApplyOutOrderSum()).orElse(0);
if(allOutNum > applyNum){
throw new BusinessException("物料"+detail.getMaterialNo()+"总出库数超出申请出库数,请检查!");
}
}
int updateRows = 0; int updateRows = 0;
for (WarehouseOutOrderDetail warehouseOutOrderDetail : warehouseOutOrderDetailList) { for (WarehouseOutOrderDetail detail : filtList) {
warehouseOutOrderDetail.setUpdateBy(loginName); detail.setUpdateBy(loginName);
warehouseOutOrderDetail.setUpdateTime(DateUtils.getNowDate()); detail.setUpdateTime(DateUtils.getNowDate());
warehouseOutOrderDetail.setRemark(warehouseOutOrder.getRemark()); detail.setRemark(warehouseOutOrder.getRemark());
//设置已出库数 //设置已出库数
warehouseOutOrderDetail.setHasOutOrderSum(warehouseOutOrderDetail.getActualOutOrderSum()); int hasOutNum = Optional.ofNullable(detail.getHasOutOrderSum()).orElse(0);
//设置仓库员 hasOutNum = hasOutNum + detail.getActualOutOrderSum();
warehouseOutOrderDetail.setWarehouseName(loginName); detail.setHasOutOrderSum(hasOutNum);
//更新数据库记录 detail.setWarehouseName(loginName);
updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(warehouseOutOrderDetail); updateRows += outOrderDetailMapper.updateWarehouseOutOrderDetail(detail);
if (updateRows <= 0){ if (updateRows <= 0){
throw new BusinessException("更新出库单详情数据失败"); throw new BusinessException("更新出库单详情数据失败");
}else { }
// 更新库存查询记录,新增库存历史 //更新库存查询记录,新增库存历史
String materialNo = warehouseOutOrderDetail.getMaterialNo(); String materialNo = detail.getMaterialNo();
WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo);
if(inventoryInquiry == null){ if(inventoryInquiry == null){
throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据"); throw new BusinessException("更新库存查询数据失败!该物料不存在库存数据");
}else{ }
int inquiryUpdateResult = updateWarehouseInventoryInquiry(warehouseOutOrder,warehouseOutOrderDetail,inventoryInquiry); int inquiryUpdateResult = updateWarehouseInventoryInquiry(oldOutOrder,detail,inventoryInquiry);
if (inquiryUpdateResult <= 0){ if (inquiryUpdateResult <= 0){
throw new BusinessException("更新库存查询数据失败"); throw new BusinessException("更新库存查询数据失败");
} }
} }
}
}
}
warehouseOutOrder.setUpdateBy(loginName);
warehouseOutOrder.setUpdateTime(DateUtils.getNowDate());
//表明已出库
warehouseOutOrder.setWarehouseOutStatus("7");
//设置出库时间
warehouseOutOrder.setOutOrderTime(DateUtils.getNowDate());
//设置仓库员
warehouseOutOrder.setWarehouseName(loginName);
//计算出库单主表的出库数 //计算出库单主表的出库数
Integer outOrderSum = 0; Integer outOrderSum = oldOutOrder.getOutOrderSum() != null ? oldOutOrder.getOutOrderSum() : 0;
// 检查outOrderSum是否含有null值
boolean hasOutOrderSumNull = warehouseOutOrderDetailList.stream()
.anyMatch(item -> item.getActualOutOrderSum() == null);
if (hasOutOrderSumNull) {
throw new BusinessException("存在实际出库数为空,请检查!");
}
// 检查outOrderSum是否含有null值
boolean hasOutOrderSumOver = warehouseOutOrderDetailList.stream()
.anyMatch(item -> item.getActualOutOrderSum() > item.getApplyOutOrderSum());
if (hasOutOrderSumOver) {
throw new BusinessException("存在实际出库数大于申请出库数,请检查!");
}
// 计算各个字段的总和 // 计算各个字段的总和
outOrderSum = warehouseOutOrderDetailList.stream() Integer detailOutOrderSum = filtList.stream()
.mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum) .mapToInt(WarehouseOutOrderDetail::getActualOutOrderSum)
.sum(); .sum();
//设置出库单主表的出库数 outOrderSum = outOrderSum + detailOutOrderSum;
warehouseOutOrder.setOutOrderSum(outOrderSum);
// 更新员工领料单 //更新员工领料单
BaseEmpRequisiteOrderVO temp = new BaseEmpRequisiteOrderVO(); BaseEmpRequisiteOrderVO temp = new BaseEmpRequisiteOrderVO();
temp.setRequisitieCode(warehouseOutOrder.getRelatedOrderCode()); temp.setRequisitieCode(oldOutOrder.getRelatedOrderCode());
List<BaseEmpRequisiteOrderVO> empRequisiteOrderVOS = empRequisiteOrderMapper.selectBaseEmpRequisiteOrderList(temp); List<BaseEmpRequisiteOrderVO> empRequisiteOrderVOS = empRequisiteOrderMapper.selectBaseEmpRequisiteOrderList(temp);
BaseEmpRequisiteOrderVO requisitionVO = empRequisiteOrderVOS.get(0); BaseEmpRequisiteOrderVO requisitionVO = empRequisiteOrderVOS.get(0);
requisitionVO.setRequisitieStatus("2");
//设置出库单主表的出库数
oldOutOrder.setOutOrderSum(outOrderSum);
if(outOrderSum == oldOutOrder.getEnterpriseSum()){
oldOutOrder.setWarehouseOutStatus("7");//已出库
requisitionVO.setRequisitieStatus("2");//全部领料
}else if(outOrderSum < oldOutOrder.getEnterpriseSum()){
oldOutOrder.setWarehouseOutStatus("5");//部分出库
requisitionVO.setRequisitieStatus("1");//部分领料
}
requisitionVO.setUpdateTime(DateUtils.getNowDate()); requisitionVO.setUpdateTime(DateUtils.getNowDate());
requisitionVO.setUpdateBy(ShiroUtils.getLoginName()); requisitionVO.setUpdateBy(ShiroUtils.getLoginName());
int updateResult = empRequisiteOrderMapper.updateBaseEmpRequisiteOrder(requisitionVO); int updateResult = empRequisiteOrderMapper.updateBaseEmpRequisiteOrder(requisitionVO);
if(updateResult<=0){ if(updateResult<=0){
throw new BusinessException("更新员工领料单失败!"); throw new BusinessException("更新员工领料单失败!");
} }
return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); oldOutOrder.setUpdateBy(loginName);
oldOutOrder.setUpdateTime(DateUtils.getNowDate());
oldOutOrder.setOutOrderTime(DateUtils.getNowDate());
oldOutOrder.setWarehouseName(loginName);
return warehouseOutOrderMapper.updateWarehouseOutOrder(oldOutOrder);
} }
//新增出库单明细(员工领料) //新增出库单明细(员工领料)
private void CreateOutOrderDetailByRequisiteOrderChildList(BaseEmpRequisiteOrderVO baseEmpRequisiteOrderVO, String outOrderCode) { private void CreateOutOrderDetailByRequisiteOrderChildList(BaseEmpRequisiteOrderVO baseEmpRequisiteOrderVO, String outOrderCode) {
@ -1479,6 +1476,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
warehouseOutOrderDetail.setEnterpriseSum(Math.toIntExact(child.getMaterialNum())); warehouseOutOrderDetail.setEnterpriseSum(Math.toIntExact(child.getMaterialNum()));
warehouseOutOrderDetail.setMakeNum(Math.toIntExact(child.getMaterialNum())); warehouseOutOrderDetail.setMakeNum(Math.toIntExact(child.getMaterialNum()));
warehouseOutOrderDetail.setApplyOutOrderSum(Math.toIntExact(child.getMaterialNum())); warehouseOutOrderDetail.setApplyOutOrderSum(Math.toIntExact(child.getMaterialNum()));
warehouseOutOrderDetail.setHasOutOrderSum(0);
warehouseOutOrderDetail.setWarehouseOrderType("2"); warehouseOutOrderDetail.setWarehouseOrderType("2");
warehouseOutOrderDetail.setWarehouseOutType("2"); warehouseOutOrderDetail.setWarehouseOutType("2");
warehouseOutOrderDetail.setCreateTime(DateUtils.getNowDate()); warehouseOutOrderDetail.setCreateTime(DateUtils.getNowDate());
@ -1507,6 +1505,7 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
String materialNo = outOrderDetail.getMaterialNo(); String materialNo = outOrderDetail.getMaterialNo();
Long outOrderId = warehouseOutOrder.getOutOrderId(); Long outOrderId = warehouseOutOrder.getOutOrderId();
WarehouseOutOrder oldWarehouseOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderById(outOrderId); WarehouseOutOrder oldWarehouseOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderById(outOrderId);
String outOrderCode = oldWarehouseOutOrder.getOutOrderCode();
//更新锁定数 //更新锁定数
Integer lockStockNum = inventoryInquiry.getLockStockNum(); Integer lockStockNum = inventoryInquiry.getLockStockNum();
int outNum = outOrderDetail.getActualOutOrderSum(); int outNum = outOrderDetail.getActualOutOrderSum();
@ -1556,13 +1555,37 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
if (insertDetailResult <= 0){ if (insertDetailResult <= 0){
throw new BusinessException("新增库存履历失败!"); throw new BusinessException("新增库存履历失败!");
} }
}else if ("2".equals(oldWarehouseOutOrder.getWarehouseOrderType())){ //员工领料单
WarehouseInventoryInquiryDetail inquiryDetail = createInquiryDetail(materialNo,outOrderCode,outOrderDetail.getActualOutOrderSum());
inquiryDetail.setInquiryWarehouseType("10");//员工领料
inquiryDetail.setInquiryOrderType("10");//员工领料单
inquiryDetail.setInquiryBusinessType("7");//员工服务
int insertDetailResult = inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail);
if (insertDetailResult <= 0){
throw new BusinessException("新增库存履历失败!");
}
}else if ("3".equals(oldWarehouseOutOrder.getWarehouseOrderType())){ //委外领料单
WarehouseInventoryInquiryDetail inquiryDetail = createInquiryDetail(materialNo,outOrderCode,outOrderDetail.getActualOutOrderSum());
inquiryDetail.setInquiryWarehouseType("12");//委外领料
inquiryDetail.setInquiryOrderType("12");//委外领料单
inquiryDetail.setInquiryBusinessType("2");//委外
int insertDetailResult = inventoryInquiryDetailMapper.insertWarehouseInventoryInquiryDetail(inquiryDetail);
if (insertDetailResult <= 0){
throw new BusinessException("新增库存履历失败!");
}
} }
return inquiryUpdateResult; return inquiryUpdateResult;
} }
/** 生成库存履历*/
public WarehouseInventoryInquiryDetail createInquiryDetail(String materialNo, String relatedCode, Integer outNum){
WarehouseInventoryInquiryDetail inquiryDetail = new WarehouseInventoryInquiryDetail();
inquiryDetail.setMaterialNo(materialNo);
inquiryDetail.setInventoryHistoricalTime(DateUtils.getNowDate());
inquiryDetail.setCorrelationCode(relatedCode);
inquiryDetail.setIncreaseDecreaseNum(outNum);
inquiryDetail.setInventoryIncreaseDecrease("0");//减少
inquiryDetail.setCreateTime(DateUtils.getNowDate());
inquiryDetail.setCreateBy(ShiroUtils.getLoginName());
return inquiryDetail;
}
} }

8
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseOutOrderDetailMapper.xml

@ -84,9 +84,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectOutOrderDetailListByThreeCode" parameterType="WarehouseOutOrderDetail" resultMap="WarehouseOutOrderDetailResult"> <select id="selectOutOrderDetailListByThreeCode" parameterType="WarehouseOutOrderDetail" resultMap="WarehouseOutOrderDetailResult">
<include refid="selectWarehouseOutOrderDetailVo"/> <include refid="selectWarehouseOutOrderDetailVo"/>
where out_order_code = #{outOrderCode} <where>
and related_order_code = #{relatedOrderCode} <if test="outOrderCode != null and outOrderCode != ''">and out_order_code = #{outOrderCode}</if>
and material_no = #{materialNo} <if test="relatedOrderCode != null and relatedOrderCode != ''">and related_order_code = #{relatedOrderCode}</if>
<if test="materialNo != null and materialNo != ''">and material_no = #{materialNo}</if>
</where>
</select> </select>

18
ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/outsourceOutWarehouse.html

@ -110,9 +110,7 @@
showToggle: false, showToggle: false,
showColumns: false, showColumns: false,
pagination: false, // 设置不分页 pagination: false, // 设置不分页
columns: [{ columns: [
checkbox: true
},
{ {
title: '出库单详情ID', title: '出库单详情ID',
field: 'outOrderDetailId', field: 'outOrderDetailId',
@ -165,10 +163,10 @@
return $.table.selectDictLabel(processMethodDatas, value); return $.table.selectDictLabel(processMethodDatas, value);
} }
}, },
{ // {
title: '订单数量', // title: '订单数量',
field: 'makeNum', // field: 'makeNum',
}, // },
{ {
title: '已出库数', title: '已出库数',
field: 'hasOutOrderSum', field: 'hasOutOrderSum',
@ -180,6 +178,12 @@
{ {
title: '实际出库数', title: '实际出库数',
field: 'actualOutOrderSum', field: 'actualOutOrderSum',
formatter: function(value, row, index) {
if(value == null || value == undefined){
return '';
}
return value;
},
editable: { editable: {
type: 'text', type: 'text',
mode:'inline', mode:'inline',

14
ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/requisitioningOutWarehouse.html

@ -2,6 +2,7 @@
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head> <head>
<th:block th:include="include :: header('请购单-出库')" /> <th:block th:include="include :: header('请购单-出库')" />
<th:block th:include="include :: bootstrap-editable-css"/>
<th:block th:include="include :: datetimepicker-css" /> <th:block th:include="include :: datetimepicker-css" />
</head> </head>
<body class="white-bg"> <body class="white-bg">
@ -11,7 +12,7 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">出库单号:</label> <label class="col-sm-3 control-label">出库单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="outOrderCode" th:field="*{outOrderCode}" class="form-control" type="text" disabled> <input name="outOrderCode" th:field="*{outOrderCode}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -25,13 +26,13 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">请购单号:</label> <label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text" disabled> <input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">申请人员:</label> <label class="col-sm-3 control-label">申请人员:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="applyName" th:field="*{applyName}" class="form-control" type="text" disabled> <input name="applyName" th:field="*{applyName}" class="form-control" type="text" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -178,9 +179,14 @@
{ {
title: '实际出库数', title: '实际出库数',
field: 'actualOutOrderSum', field: 'actualOutOrderSum',
formatter: function(value, row, index) {
if(value == null || value == undefined){
return '';
}
return value;
},
editable: { editable: {
type: 'text', type: 'text',
mode:'inline',
validate: function (v,row) { validate: function (v,row) {
if (!v) return '数量不能为空'; if (!v) return '数量不能为空';
if (isNaN(v)) return '数量必须是数字'; if (isNaN(v)) return '数量必须是数字';

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

@ -235,7 +235,7 @@
} }
/*请购单-出库*/ /*请购单-出库*/
if (row.warehouseOutStatus == 4 && row.warehouseOrderType == 2 && row.warehouseOutType == 2){ if ((row.warehouseOutStatus == 4 || row.warehouseOutStatus == 5) && row.warehouseOrderType == 2 && row.warehouseOutType == 2){
actions.push('<a class=" ' + requisitioningOutWarehouseFlag + '" href="javascript:void(0)" onclick="requisitioningOutWarehouse(\'' + row.outOrderId + '\')"><i class="fa fa-edit"></i>出库</a> '); actions.push('<a class=" ' + requisitioningOutWarehouseFlag + '" href="javascript:void(0)" onclick="requisitioningOutWarehouse(\'' + row.outOrderId + '\')"><i class="fa fa-edit"></i>出库</a> ');
} }
@ -265,7 +265,7 @@
} }
/*委外单-出库*/ /*委外单-出库*/
if (row.warehouseOutStatus == 4 && row.warehouseOrderType == 3 && row.warehouseOutType == 3){ if ((row.warehouseOutStatus == 4 || row.warehouseOutStatus == 5) && row.warehouseOrderType == 3 && row.warehouseOutType == 3){
actions.push('<a class="' + outsourceOutWarehouseFlag + '" href="javascript:void(0)" onclick="outsourceOutWarehouse(\'' + row.outOrderId + '\')"><i class="fa fa-edit"></i>出库</a> '); actions.push('<a class="' + outsourceOutWarehouseFlag + '" href="javascript:void(0)" onclick="outsourceOutWarehouse(\'' + row.outOrderId + '\')"><i class="fa fa-edit"></i>出库</a> ');
} }
/*生产单-出库 详情*/ /*生产单-出库 详情*/

Loading…
Cancel
Save