Browse Source

[feat]仓库管理:

出库单
新增出库单前端列表页面warehouseOutOrder.html
新增出库单Controller
新增出库单Mapper
新增出库单Mapper.xml
新增出库单Service
新增出库单ServiceImpl
完成数据填充,页面展示,条件查询操作
修改售后管理 后端类名,避免重复
WarehouseOutOrderController  -> AftersalesWarehouseOutController
IWarehouseOutOrderService -> IAftersalesWarehouseOutService
IWarehouseOutOrderServiceImpl -> IAftersalesWarehouseOutServiceImpl
dev
liuxiaoxu 5 months ago
parent
commit
b58f8f5d90
  1. 10
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesWarehouseOutController.java
  2. 6
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesWarehouseOutService.java
  3. 10
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesWarehouseOutServiceImpl.java
  4. 151
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseOutOrderController.java
  5. 85
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseOutOrder.java
  6. 42
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseOutOrderMapper.java
  7. 75
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseOutOrderService.java
  8. 126
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java
  9. 31
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseOutOrderMapper.xml
  10. 2
      ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/returnAfterStorageDetail.html
  11. 252
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/add.html
  12. 253
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/edit.html
  13. 184
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/warehouseOutOrder.html

10
ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/WarehouseOutOrderController.java → ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesWarehouseOutController.java

@ -2,10 +2,9 @@ package com.ruoyi.aftersales.controller;
import java.util.List; import java.util.List;
import com.ruoyi.aftersales.domain.AftersalesOrder;
import com.ruoyi.aftersales.domain.vo.SelectDeviceVO;
import com.ruoyi.aftersales.domain.vo.SelectMaterialsVO; import com.ruoyi.aftersales.domain.vo.SelectMaterialsVO;
import com.ruoyi.aftersales.domain.vo.SelectShippingDeviceVO; import com.ruoyi.aftersales.domain.vo.SelectShippingDeviceVO;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -17,8 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.aftersales.domain.WarehouseOutOrder; import com.ruoyi.aftersales.service.IAftersalesWarehouseOutService;
import com.ruoyi.aftersales.service.IWarehouseOutOrderService;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
@ -32,12 +30,12 @@ import com.ruoyi.common.core.page.TableDataInfo;
*/ */
@Controller @Controller
@RequestMapping("/aftersales/warehouseOutOrder") @RequestMapping("/aftersales/warehouseOutOrder")
public class WarehouseOutOrderController extends BaseController public class AftersalesWarehouseOutController extends BaseController
{ {
private String prefix = "aftersales/warehouseOutOrder"; private String prefix = "aftersales/warehouseOutOrder";
@Autowired @Autowired
private IWarehouseOutOrderService warehouseOutOrderService; private IAftersalesWarehouseOutService warehouseOutOrderService;
@RequiresPermissions("aftersales:warehouseOutOrder:view") @RequiresPermissions("aftersales:warehouseOutOrder:view")
@GetMapping() @GetMapping()

6
ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IWarehouseOutOrderService.java → ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesWarehouseOutService.java

@ -1,10 +1,10 @@
package com.ruoyi.aftersales.service; package com.ruoyi.aftersales.service;
import java.util.List; import java.util.List;
import com.ruoyi.aftersales.domain.WarehouseOutOrder;
import com.ruoyi.aftersales.domain.vo.SelectDeviceVO;
import com.ruoyi.aftersales.domain.vo.SelectMaterialsVO; import com.ruoyi.aftersales.domain.vo.SelectMaterialsVO;
import com.ruoyi.aftersales.domain.vo.SelectShippingDeviceVO; import com.ruoyi.aftersales.domain.vo.SelectShippingDeviceVO;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
/** /**
* 出库单Service接口 * 出库单Service接口
@ -12,7 +12,7 @@ import com.ruoyi.aftersales.domain.vo.SelectShippingDeviceVO;
* @author 刘晓旭 * @author 刘晓旭
* @date 2024-04-23 * @date 2024-04-23
*/ */
public interface IWarehouseOutOrderService public interface IAftersalesWarehouseOutService
{ {
/** /**
* 查询出库单 * 查询出库单

10
ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/WarehouseOutOrderServiceImpl.java → ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesWarehouseOutServiceImpl.java

@ -12,14 +12,12 @@ import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysSalesOrderChild; import com.ruoyi.system.domain.SysSalesOrderChild;
import com.ruoyi.system.mapper.SysSalesOrderChildMapper; import com.ruoyi.system.mapper.SysSalesOrderChildMapper;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
import com.ruoyi.warehouse.mapper.WarehouseOutOrderMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.implementation.bytecode.Throw;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.aftersales.mapper.WarehouseOutOrderMapper; import com.ruoyi.aftersales.service.IAftersalesWarehouseOutService;
import com.ruoyi.aftersales.domain.WarehouseOutOrder;
import com.ruoyi.aftersales.service.IWarehouseOutOrderService;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
/** /**
@ -30,7 +28,7 @@ import com.ruoyi.common.core.text.Convert;
*/ */
@Service @Service
@Slf4j @Slf4j
public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService public class AftersalesWarehouseOutServiceImpl implements IAftersalesWarehouseOutService
{ {
@Autowired @Autowired
private WarehouseOutOrderMapper warehouseOutOrderMapper; private WarehouseOutOrderMapper warehouseOutOrderMapper;

151
ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseOutOrderController.java

@ -0,0 +1,151 @@
package com.ruoyi.warehouse.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
import com.ruoyi.warehouse.service.IWarehouseOutOrderService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 仓库出库单Controller
*
* @author 刘晓旭
* @date 2024-06-04
*/
@Controller
@RequestMapping("/warehouse/warehouseOutOrder")
public class WarehouseOutOrderController extends BaseController
{
private String prefix = "warehouse/warehouseOutOrder";
@Autowired
private IWarehouseOutOrderService warehouseOutOrderService;
@RequiresPermissions("warehouse:warehouseOutOrder:view")
@GetMapping()
public String warehouseOutOrder()
{
return prefix + "/warehouseOutOrder";
}
/**
* 查询仓库出库单列表
*/
@RequiresPermissions("warehouse:warehouseOutOrder:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WarehouseOutOrder warehouseOutOrder)
{
startPage();
List<WarehouseOutOrder> list = warehouseOutOrderService.selectWarehouseOutOrderList(warehouseOutOrder);
return getDataTable(list);
}
/**
* 导出仓库出库单列表
*/
@RequiresPermissions("warehouse:warehouseOutOrder:export")
@Log(title = "仓库出库单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WarehouseOutOrder warehouseOutOrder)
{
List<WarehouseOutOrder> list = warehouseOutOrderService.selectWarehouseOutOrderList(warehouseOutOrder);
ExcelUtil<WarehouseOutOrder> util = new ExcelUtil<WarehouseOutOrder>(WarehouseOutOrder.class);
return util.exportExcel(list, "仓库出库单数据");
}
/**
* 新增仓库出库单
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存仓库出库单
*/
@RequiresPermissions("warehouse:warehouseOutOrder:add")
@Log(title = "仓库出库单", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WarehouseOutOrder warehouseOutOrder)
{
return toAjax(warehouseOutOrderService.insertWarehouseOutOrder(warehouseOutOrder));
}
/**
* 修改仓库出库单
*/
@GetMapping("/edit/{outOrderId}")
public String edit(@PathVariable("outOrderId") Long outOrderId, ModelMap mmap)
{
WarehouseOutOrder warehouseOutOrder = warehouseOutOrderService.selectWarehouseOutOrderById(outOrderId);
mmap.put("warehouseOutOrder", warehouseOutOrder);
return prefix + "/edit";
}
/**
* 修改保存仓库出库单
*/
@RequiresPermissions("warehouse:warehouseOutOrder:edit")
@Log(title = "仓库出库单", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WarehouseOutOrder warehouseOutOrder)
{
return toAjax(warehouseOutOrderService.updateWarehouseOutOrder(warehouseOutOrder));
}
/**
* 删除仓库出库单
*/
@RequiresPermissions("warehouse:warehouseOutOrder:remove")
@Log(title = "仓库出库单", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(warehouseOutOrderService.deleteWarehouseOutOrderByIds(ids));
}
/**
* 作废仓库出库单
*/
@RequiresPermissions("warehouse:warehouseOutOrder:cancel")
@Log(title = "仓库出库单", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(warehouseOutOrderService.cancelWarehouseOutOrderById(id));
}
/**
* 恢复仓库出库单
*/
@RequiresPermissions("warehouse:warehouseOutOrder:restore")
@Log(title = "仓库出库单", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(warehouseOutOrderService.restoreWarehouseOutOrderById(id));
}
}

85
ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/WarehouseOutOrder.java → ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseOutOrder.java

@ -1,4 +1,4 @@
package com.ruoyi.aftersales.domain; package com.ruoyi.warehouse.domain;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -8,10 +8,10 @@ import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* 出库单对象 warehouse_out_order * 仓库出库单对象 warehouse_out_order
* *
* @author 刘晓旭 * @author 刘晓旭
* @date 2024-04-23 * @date 2024-06-04
*/ */
public class WarehouseOutOrder extends BaseEntity public class WarehouseOutOrder extends BaseEntity
{ {
@ -42,15 +42,21 @@ public class WarehouseOutOrder extends BaseEntity
@Excel(name = "订单类型") @Excel(name = "订单类型")
private String warehouseOrderType; private String warehouseOrderType;
/** 委外单号 */
private String outMakeCode;
/** 出库类型 */ /** 出库类型 */
@Excel(name = "出库类型")
private String warehouseOutType; private String warehouseOutType;
/** 请购单号 */
private String requisitioningCode;
/** 业务人员 */ /** 业务人员 */
@Excel(name = "业务人员") @Excel(name = "业务人员")
private String businessName; private String businessName;
/** 售后人员 */ /** 售后人员 */
@Excel(name = "售后人员")
private String aftersalesName; private String aftersalesName;
/** 仓库员 */ /** 仓库员 */
@ -75,6 +81,7 @@ public class WarehouseOutOrder extends BaseEntity
private Integer enterpriseSum; private Integer enterpriseSum;
/** 出库数 */ /** 出库数 */
@Excel(name = "出库数")
private Integer outOrderSum; private Integer outOrderSum;
/** 出库对象 */ /** 出库对象 */
@ -94,27 +101,30 @@ public class WarehouseOutOrder extends BaseEntity
/** 申请人员 */ /** 申请人员 */
private String applyName; private String applyName;
/** 供应商ID */
private String supplierCode;
/** 计划交付时间 */ /** 计划交付时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划交付时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date planDeliveryTime; private Date planDeliveryTime;
/** 供应商名称 */
private String supplierName;
/** 交付条件 */ /** 交付条件 */
@Excel(name = "交付条件")
private String deliveryCondition; private String deliveryCondition;
/** 收货地址 */ /** 收货地址 */
@Excel(name = "收货地址")
private String deliveryAddress; private String deliveryAddress;
/** 联系人 */ /** 联系人 */
@Excel(name = "联系人")
private String deliveryName; private String deliveryName;
/** 联系电话 */ /** 联系电话 */
@Excel(name = "联系电话")
private String deliveryNumber; private String deliveryNumber;
/** 送货日期 */
private Date deliveryDate;
public void setOutOrderId(Long outOrderId) public void setOutOrderId(Long outOrderId)
{ {
this.outOrderId = outOrderId; this.outOrderId = outOrderId;
@ -178,6 +188,15 @@ public class WarehouseOutOrder extends BaseEntity
{ {
return warehouseOrderType; return warehouseOrderType;
} }
public void setOutMakeCode(String outMakeCode)
{
this.outMakeCode = outMakeCode;
}
public String getOutMakeCode()
{
return outMakeCode;
}
public void setWarehouseOutType(String warehouseOutType) public void setWarehouseOutType(String warehouseOutType)
{ {
this.warehouseOutType = warehouseOutType; this.warehouseOutType = warehouseOutType;
@ -187,6 +206,15 @@ public class WarehouseOutOrder extends BaseEntity
{ {
return warehouseOutType; return warehouseOutType;
} }
public void setRequisitioningCode(String requisitioningCode)
{
this.requisitioningCode = requisitioningCode;
}
public String getRequisitioningCode()
{
return requisitioningCode;
}
public void setBusinessName(String businessName) public void setBusinessName(String businessName)
{ {
this.businessName = businessName; this.businessName = businessName;
@ -313,6 +341,15 @@ public class WarehouseOutOrder extends BaseEntity
{ {
return applyName; return applyName;
} }
public void setSupplierCode(String supplierCode)
{
this.supplierCode = supplierCode;
}
public String getSupplierCode()
{
return supplierCode;
}
public void setPlanDeliveryTime(Date planDeliveryTime) public void setPlanDeliveryTime(Date planDeliveryTime)
{ {
this.planDeliveryTime = planDeliveryTime; this.planDeliveryTime = planDeliveryTime;
@ -322,6 +359,15 @@ public class WarehouseOutOrder extends BaseEntity
{ {
return planDeliveryTime; return planDeliveryTime;
} }
public void setSupplierName(String supplierName)
{
this.supplierName = supplierName;
}
public String getSupplierName()
{
return supplierName;
}
public void setDeliveryCondition(String deliveryCondition) public void setDeliveryCondition(String deliveryCondition)
{ {
this.deliveryCondition = deliveryCondition; this.deliveryCondition = deliveryCondition;
@ -349,15 +395,24 @@ public class WarehouseOutOrder extends BaseEntity
{ {
return deliveryName; return deliveryName;
} }
public void setDeliveryNumber(String deliveryNumber) public void setDeliveryNumber(String deliveryNumber)
{ {
this.deliveryNumber = deliveryNumber; this.deliveryNumber = deliveryNumber;
} }
public String getDeliveryNumber() public String getDeliveryNumber()
{ {
return deliveryNumber; return deliveryNumber;
} }
public void setDeliveryDate(Date deliveryDate)
{
this.deliveryDate = deliveryDate;
}
public Date getDeliveryDate()
{
return deliveryDate;
}
@Override @Override
public String toString() { public String toString() {
@ -369,7 +424,9 @@ public class WarehouseOutOrder extends BaseEntity
.append("relatedOrderCode", getRelatedOrderCode()) .append("relatedOrderCode", getRelatedOrderCode())
.append("salesOrderCode", getSalesOrderCode()) .append("salesOrderCode", getSalesOrderCode())
.append("warehouseOrderType", getWarehouseOrderType()) .append("warehouseOrderType", getWarehouseOrderType())
.append("outMakeCode", getOutMakeCode())
.append("warehouseOutType", getWarehouseOutType()) .append("warehouseOutType", getWarehouseOutType())
.append("requisitioningCode", getRequisitioningCode())
.append("businessName", getBusinessName()) .append("businessName", getBusinessName())
.append("aftersalesName", getAftersalesName()) .append("aftersalesName", getAftersalesName())
.append("warehouseName", getWarehouseName()) .append("warehouseName", getWarehouseName())
@ -384,15 +441,19 @@ public class WarehouseOutOrder extends BaseEntity
.append("customerId", getCustomerId()) .append("customerId", getCustomerId())
.append("customerName", getCustomerName()) .append("customerName", getCustomerName())
.append("applyName", getApplyName()) .append("applyName", getApplyName())
.append("supplierCode", getSupplierCode())
.append("planDeliveryTime", getPlanDeliveryTime()) .append("planDeliveryTime", getPlanDeliveryTime())
.append("supplierName", getSupplierName())
.append("deliveryCondition", getDeliveryCondition()) .append("deliveryCondition", getDeliveryCondition())
.append("deliveryAddress", getDeliveryAddress()) .append("deliveryAddress", getDeliveryAddress())
.append("deliveryName", getDeliveryName()) .append("deliveryName", getDeliveryName())
.append("deliveryNumber", getDeliveryNumber()) .append("deliveryNumber", getDeliveryNumber())
.append("createBy", getCreateBy()) .append("createBy", getCreateBy())
.append("createTime", getCreateTime()) .append("createTime", getCreateTime())
.append("deliveryDate", getDeliveryDate())
.append("updateBy", getUpdateBy()) .append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime()) .append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString(); .toString();
} }
} }

42
ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/WarehouseOutOrderMapper.java → ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseOutOrderMapper.java

@ -1,58 +1,58 @@
package com.ruoyi.aftersales.mapper; package com.ruoyi.warehouse.mapper;
import java.util.List; import java.util.List;
import com.ruoyi.aftersales.domain.WarehouseOutOrder; import com.ruoyi.warehouse.domain.WarehouseOutOrder;
/** /**
* 出库单Mapper接口 * 仓库出库单Mapper接口
* *
* @author 刘晓旭 * @author 刘晓旭
* @date 2024-04-23 * @date 2024-06-04
*/ */
public interface WarehouseOutOrderMapper public interface WarehouseOutOrderMapper
{ {
/** /**
* 查询出库单 * 查询仓库出库单
* *
* @param outOrderId 出库单ID * @param outOrderId 仓库出库单ID
* @return 出库单 * @return 仓库出库单
*/ */
public WarehouseOutOrder selectWarehouseOutOrderById(Long outOrderId); public WarehouseOutOrder selectWarehouseOutOrderById(Long outOrderId);
/** /**
* 查询出库单列表 * 查询仓库出库单列表
* *
* @param warehouseOutOrder 出库单 * @param warehouseOutOrder 仓库出库单
* @return 出库单集合 * @return 仓库出库单集合
*/ */
public List<WarehouseOutOrder> selectWarehouseOutOrderList(WarehouseOutOrder warehouseOutOrder); public List<WarehouseOutOrder> selectWarehouseOutOrderList(WarehouseOutOrder warehouseOutOrder);
/** /**
* 新增出库单 * 新增仓库出库单
* *
* @param warehouseOutOrder 出库单 * @param warehouseOutOrder 仓库出库单
* @return 结果 * @return 结果
*/ */
public int insertWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder); public int insertWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder);
/** /**
* 修改出库单 * 修改仓库出库单
* *
* @param warehouseOutOrder 出库单 * @param warehouseOutOrder 仓库出库单
* @return 结果 * @return 结果
*/ */
public int updateWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder); public int updateWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder);
/** /**
* 删除出库单 * 删除仓库出库单
* *
* @param outOrderId 出库单ID * @param outOrderId 仓库出库单ID
* @return 结果 * @return 结果
*/ */
public int deleteWarehouseOutOrderById(Long outOrderId); public int deleteWarehouseOutOrderById(Long outOrderId);
/** /**
* 批量删除出库单 * 批量删除仓库出库单
* *
* @param outOrderIds 需要删除的数据ID * @param outOrderIds 需要删除的数据ID
* @return 结果 * @return 结果
@ -60,17 +60,17 @@ public interface WarehouseOutOrderMapper
public int deleteWarehouseOutOrderByIds(String[] outOrderIds); public int deleteWarehouseOutOrderByIds(String[] outOrderIds);
/** /**
* 作废出库单 * 作废仓库出库单
* *
* @param outOrderId 出库单ID * @param outOrderId 仓库出库单ID
* @return 结果 * @return 结果
*/ */
public int cancelWarehouseOutOrderById(Long outOrderId); public int cancelWarehouseOutOrderById(Long outOrderId);
/** /**
* 恢复出库单 * 恢复仓库出库单
* *
* @param outOrderId 出库单ID * @param outOrderId 仓库出库单ID
* @return 结果 * @return 结果
*/ */
public int restoreWarehouseOutOrderById(Long outOrderId); public int restoreWarehouseOutOrderById(Long outOrderId);

75
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseOutOrderService.java

@ -0,0 +1,75 @@
package com.ruoyi.warehouse.service;
import java.util.List;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
/**
* 仓库出库单Service接口
*
* @author 刘晓旭
* @date 2024-06-04
*/
public interface IWarehouseOutOrderService
{
/**
* 查询仓库出库单
*
* @param outOrderId 仓库出库单ID
* @return 仓库出库单
*/
public WarehouseOutOrder selectWarehouseOutOrderById(Long outOrderId);
/**
* 查询仓库出库单列表
*
* @param warehouseOutOrder 仓库出库单
* @return 仓库出库单集合
*/
public List<WarehouseOutOrder> selectWarehouseOutOrderList(WarehouseOutOrder warehouseOutOrder);
/**
* 新增仓库出库单
*
* @param warehouseOutOrder 仓库出库单
* @return 结果
*/
public int insertWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder);
/**
* 修改仓库出库单
*
* @param warehouseOutOrder 仓库出库单
* @return 结果
*/
public int updateWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder);
/**
* 批量删除仓库出库单
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWarehouseOutOrderByIds(String ids);
/**
* 删除仓库出库单信息
*
* @param outOrderId 仓库出库单ID
* @return 结果
*/
public int deleteWarehouseOutOrderById(Long outOrderId);
/**
* 作废仓库出库单
* @param outOrderId 仓库出库单ID
* @return
*/
int cancelWarehouseOutOrderById(Long outOrderId);
/**
* 恢复仓库出库单
* @param outOrderId 仓库出库单ID
* @return
*/
int restoreWarehouseOutOrderById(Long outOrderId);
}

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

@ -0,0 +1,126 @@
package com.ruoyi.warehouse.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.warehouse.mapper.WarehouseOutOrderMapper;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
import com.ruoyi.warehouse.service.IWarehouseOutOrderService;
import com.ruoyi.common.core.text.Convert;
/**
* 仓库出库单Service业务层处理
*
* @author 刘晓旭
* @date 2024-06-04
*/
@Service
public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
{
@Autowired
private WarehouseOutOrderMapper warehouseOutOrderMapper;
/**
* 查询仓库出库单
*
* @param outOrderId 仓库出库单ID
* @return 仓库出库单
*/
@Override
public WarehouseOutOrder selectWarehouseOutOrderById(Long outOrderId)
{
return warehouseOutOrderMapper.selectWarehouseOutOrderById(outOrderId);
}
/**
* 查询仓库出库单列表
*
* @param warehouseOutOrder 仓库出库单
* @return 仓库出库单
*/
@Override
public List<WarehouseOutOrder> selectWarehouseOutOrderList(WarehouseOutOrder warehouseOutOrder)
{
return warehouseOutOrderMapper.selectWarehouseOutOrderList(warehouseOutOrder);
}
/**
* 新增仓库出库单
*
* @param warehouseOutOrder 仓库出库单
* @return 结果
*/
@Override
public int insertWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder)
{
String loginName = ShiroUtils.getLoginName();
warehouseOutOrder.setCreateBy(loginName);
warehouseOutOrder.setCreateTime(DateUtils.getNowDate());
return warehouseOutOrderMapper.insertWarehouseOutOrder(warehouseOutOrder);
}
/**
* 修改仓库出库单
*
* @param warehouseOutOrder 仓库出库单
* @return 结果
*/
@Override
public int updateWarehouseOutOrder(WarehouseOutOrder warehouseOutOrder)
{
String loginName = ShiroUtils.getLoginName();
warehouseOutOrder.setUpdateBy(loginName);
warehouseOutOrder.setUpdateTime(DateUtils.getNowDate());
return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder);
}
/**
* 删除仓库出库单对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWarehouseOutOrderByIds(String ids)
{
return warehouseOutOrderMapper.deleteWarehouseOutOrderByIds(Convert.toStrArray(ids));
}
/**
* 删除仓库出库单信息
*
* @param outOrderId 仓库出库单ID
* @return 结果
*/
@Override
public int deleteWarehouseOutOrderById(Long outOrderId)
{
return warehouseOutOrderMapper.deleteWarehouseOutOrderById(outOrderId);
}
/**
* 作废仓库出库单
*
* @param outOrderId 仓库出库单ID
* @return 结果
*/
@Override
public int cancelWarehouseOutOrderById(Long outOrderId)
{
return warehouseOutOrderMapper.cancelWarehouseOutOrderById(outOrderId);
}
/**
* 恢复仓库出库单信息
*
* @param outOrderId 仓库出库单ID
* @return 结果
*/
@Override
public int restoreWarehouseOutOrderById(Long outOrderId)
{
return warehouseOutOrderMapper.restoreWarehouseOutOrderById(outOrderId);
}
}

31
ruoyi-admin/src/main/resources/mapper/aftersales/WarehouseOutOrderMapper.xml → ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseOutOrderMapper.xml

@ -2,7 +2,7 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.aftersales.mapper.WarehouseOutOrderMapper"> <mapper namespace="com.ruoyi.warehouse.mapper.WarehouseOutOrderMapper">
<resultMap type="WarehouseOutOrder" id="WarehouseOutOrderResult"> <resultMap type="WarehouseOutOrder" id="WarehouseOutOrderResult">
<result property="outOrderId" column="out_order_id" /> <result property="outOrderId" column="out_order_id" />
@ -12,7 +12,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="relatedOrderCode" column="related_order_code" /> <result property="relatedOrderCode" column="related_order_code" />
<result property="salesOrderCode" column="sales_order_code" /> <result property="salesOrderCode" column="sales_order_code" />
<result property="warehouseOrderType" column="warehouse_order_type" /> <result property="warehouseOrderType" column="warehouse_order_type" />
<result property="outMakeCode" column="out_make_code" />
<result property="warehouseOutType" column="warehouse_out_type" /> <result property="warehouseOutType" column="warehouse_out_type" />
<result property="requisitioningCode" column="requisitioning_code" />
<result property="businessName" column="business_name" /> <result property="businessName" column="business_name" />
<result property="aftersalesName" column="aftersales_name" /> <result property="aftersalesName" column="aftersales_name" />
<result property="warehouseName" column="warehouse_name" /> <result property="warehouseName" column="warehouse_name" />
@ -27,19 +29,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="customerId" column="customer_id" /> <result property="customerId" column="customer_id" />
<result property="customerName" column="customer_name" /> <result property="customerName" column="customer_name" />
<result property="applyName" column="apply_name" /> <result property="applyName" column="apply_name" />
<result property="supplierCode" column="supplier_code" />
<result property="planDeliveryTime" column="plan_delivery_time" /> <result property="planDeliveryTime" column="plan_delivery_time" />
<result property="supplierName" column="supplier_name" />
<result property="deliveryCondition" column="delivery_condition" /> <result property="deliveryCondition" column="delivery_condition" />
<result property="deliveryAddress" column="delivery_address" /> <result property="deliveryAddress" column="delivery_address" />
<result property="deliveryName" column="delivery_name" /> <result property="deliveryName" column="delivery_name" />
<result property="deliveryNumber" column="delivery_number" /> <result property="deliveryNumber" column="delivery_number" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="deliveryDate" column="delivery_date" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap> </resultMap>
<sql id="selectWarehouseOutOrderVo"> <sql id="selectWarehouseOutOrderVo">
select out_order_id, out_order_code, make_no, warehouse_out_status, related_order_code, sales_order_code, warehouse_order_type, warehouse_out_type, business_name, aftersales_name, warehouse_name, shipping_device_id, material_no, material_name, material_sum, enterprise_sum, out_order_sum, out_order_name, out_order_time, customer_id, customer_name, apply_name, plan_delivery_time, delivery_condition, delivery_address, delivery_name, delivery_number, create_by, create_time, update_by, update_time from warehouse_out_order select out_order_id, out_order_code, make_no, warehouse_out_status, related_order_code, sales_order_code, warehouse_order_type, out_make_code, warehouse_out_type, requisitioning_code, business_name, aftersales_name, warehouse_name, shipping_device_id, material_no, material_name, material_sum, enterprise_sum, out_order_sum, out_order_name, out_order_time, customer_id, customer_name, apply_name, supplier_code, plan_delivery_time, supplier_name, delivery_condition, delivery_address, delivery_name, delivery_number, create_by, create_time, delivery_date, update_by, update_time, remark from warehouse_out_order
</sql> </sql>
<select id="selectWarehouseOutOrderList" parameterType="WarehouseOutOrder" resultMap="WarehouseOutOrderResult"> <select id="selectWarehouseOutOrderList" parameterType="WarehouseOutOrder" resultMap="WarehouseOutOrderResult">
@ -49,9 +55,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="warehouseOutStatus != null and warehouseOutStatus != ''"> and warehouse_out_status = #{warehouseOutStatus}</if> <if test="warehouseOutStatus != null and warehouseOutStatus != ''"> and warehouse_out_status = #{warehouseOutStatus}</if>
<if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code = #{relatedOrderCode}</if> <if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code = #{relatedOrderCode}</if>
<if test="warehouseOrderType != null and warehouseOrderType != ''"> and warehouse_order_type = #{warehouseOrderType}</if> <if test="warehouseOrderType != null and warehouseOrderType != ''"> and warehouse_order_type = #{warehouseOrderType}</if>
<if test="outMakeCode != null and outMakeCode != ''"> and out_make_code = #{outMakeCode}</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if> <if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if> <if test="applyName != null and applyName != ''"> and apply_name like concat('%', #{applyName}, '%')</if>
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if> <if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
<if test="deliveryDate != null "> and delivery_date = #{deliveryDate}</if>
</where> </where>
</select> </select>
@ -69,7 +78,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="relatedOrderCode != null">related_order_code,</if> <if test="relatedOrderCode != null">related_order_code,</if>
<if test="salesOrderCode != null">sales_order_code,</if> <if test="salesOrderCode != null">sales_order_code,</if>
<if test="warehouseOrderType != null">warehouse_order_type,</if> <if test="warehouseOrderType != null">warehouse_order_type,</if>
<if test="outMakeCode != null">out_make_code,</if>
<if test="warehouseOutType != null">warehouse_out_type,</if> <if test="warehouseOutType != null">warehouse_out_type,</if>
<if test="requisitioningCode != null">requisitioning_code,</if>
<if test="businessName != null">business_name,</if> <if test="businessName != null">business_name,</if>
<if test="aftersalesName != null">aftersales_name,</if> <if test="aftersalesName != null">aftersales_name,</if>
<if test="warehouseName != null">warehouse_name,</if> <if test="warehouseName != null">warehouse_name,</if>
@ -84,15 +95,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="customerId != null">customer_id,</if> <if test="customerId != null">customer_id,</if>
<if test="customerName != null">customer_name,</if> <if test="customerName != null">customer_name,</if>
<if test="applyName != null">apply_name,</if> <if test="applyName != null">apply_name,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="planDeliveryTime != null">plan_delivery_time,</if> <if test="planDeliveryTime != null">plan_delivery_time,</if>
<if test="supplierName != null">supplier_name,</if>
<if test="deliveryCondition != null">delivery_condition,</if> <if test="deliveryCondition != null">delivery_condition,</if>
<if test="deliveryAddress != null">delivery_address,</if> <if test="deliveryAddress != null">delivery_address,</if>
<if test="deliveryName != null">delivery_name,</if> <if test="deliveryName != null">delivery_name,</if>
<if test="deliveryNumber != null">delivery_number,</if> <if test="deliveryNumber != null">delivery_number,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="deliveryDate != null">delivery_date,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="outOrderCode != null">#{outOrderCode},</if> <if test="outOrderCode != null">#{outOrderCode},</if>
@ -101,7 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="relatedOrderCode != null">#{relatedOrderCode},</if> <if test="relatedOrderCode != null">#{relatedOrderCode},</if>
<if test="salesOrderCode != null">#{salesOrderCode},</if> <if test="salesOrderCode != null">#{salesOrderCode},</if>
<if test="warehouseOrderType != null">#{warehouseOrderType},</if> <if test="warehouseOrderType != null">#{warehouseOrderType},</if>
<if test="outMakeCode != null">#{outMakeCode},</if>
<if test="warehouseOutType != null">#{warehouseOutType},</if> <if test="warehouseOutType != null">#{warehouseOutType},</if>
<if test="requisitioningCode != null">#{requisitioningCode},</if>
<if test="businessName != null">#{businessName},</if> <if test="businessName != null">#{businessName},</if>
<if test="aftersalesName != null">#{aftersalesName},</if> <if test="aftersalesName != null">#{aftersalesName},</if>
<if test="warehouseName != null">#{warehouseName},</if> <if test="warehouseName != null">#{warehouseName},</if>
@ -116,15 +133,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="customerId != null">#{customerId},</if> <if test="customerId != null">#{customerId},</if>
<if test="customerName != null">#{customerName},</if> <if test="customerName != null">#{customerName},</if>
<if test="applyName != null">#{applyName},</if> <if test="applyName != null">#{applyName},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="planDeliveryTime != null">#{planDeliveryTime},</if> <if test="planDeliveryTime != null">#{planDeliveryTime},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="deliveryCondition != null">#{deliveryCondition},</if> <if test="deliveryCondition != null">#{deliveryCondition},</if>
<if test="deliveryAddress != null">#{deliveryAddress},</if> <if test="deliveryAddress != null">#{deliveryAddress},</if>
<if test="deliveryName != null">#{deliveryName},</if> <if test="deliveryName != null">#{deliveryName},</if>
<if test="deliveryNumber != null">#{deliveryNumber},</if> <if test="deliveryNumber != null">#{deliveryNumber},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="deliveryDate != null">#{deliveryDate},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim> </trim>
</insert> </insert>
@ -137,7 +158,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="relatedOrderCode != null">related_order_code = #{relatedOrderCode},</if> <if test="relatedOrderCode != null">related_order_code = #{relatedOrderCode},</if>
<if test="salesOrderCode != null">sales_order_code = #{salesOrderCode},</if> <if test="salesOrderCode != null">sales_order_code = #{salesOrderCode},</if>
<if test="warehouseOrderType != null">warehouse_order_type = #{warehouseOrderType},</if> <if test="warehouseOrderType != null">warehouse_order_type = #{warehouseOrderType},</if>
<if test="outMakeCode != null">out_make_code = #{outMakeCode},</if>
<if test="warehouseOutType != null">warehouse_out_type = #{warehouseOutType},</if> <if test="warehouseOutType != null">warehouse_out_type = #{warehouseOutType},</if>
<if test="requisitioningCode != null">requisitioning_code = #{requisitioningCode},</if>
<if test="businessName != null">business_name = #{businessName},</if> <if test="businessName != null">business_name = #{businessName},</if>
<if test="aftersalesName != null">aftersales_name = #{aftersalesName},</if> <if test="aftersalesName != null">aftersales_name = #{aftersalesName},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if> <if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
@ -152,15 +175,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="customerId != null">customer_id = #{customerId},</if> <if test="customerId != null">customer_id = #{customerId},</if>
<if test="customerName != null">customer_name = #{customerName},</if> <if test="customerName != null">customer_name = #{customerName},</if>
<if test="applyName != null">apply_name = #{applyName},</if> <if test="applyName != null">apply_name = #{applyName},</if>
<if test="supplierCode != null">supplier_code = #{supplierCode},</if>
<if test="planDeliveryTime != null">plan_delivery_time = #{planDeliveryTime},</if> <if test="planDeliveryTime != null">plan_delivery_time = #{planDeliveryTime},</if>
<if test="supplierName != null">supplier_name = #{supplierName},</if>
<if test="deliveryCondition != null">delivery_condition = #{deliveryCondition},</if> <if test="deliveryCondition != null">delivery_condition = #{deliveryCondition},</if>
<if test="deliveryAddress != null">delivery_address = #{deliveryAddress},</if> <if test="deliveryAddress != null">delivery_address = #{deliveryAddress},</if>
<if test="deliveryName != null">delivery_name = #{deliveryName},</if> <if test="deliveryName != null">delivery_name = #{deliveryName},</if>
<if test="deliveryNumber != null">delivery_number = #{deliveryNumber},</if> <if test="deliveryNumber != null">delivery_number = #{deliveryNumber},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="deliveryDate != null">delivery_date = #{deliveryDate},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim> </trim>
where out_order_id = #{outOrderId} where out_order_id = #{outOrderId}
</update> </update>

2
ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/returnAfterStorageDetail.html

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<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 :: datetimepicker-css" /> <th:block th:include="include :: datetimepicker-css" />
</head> </head>
<body class="white-bg"> <body class="white-bg">

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

@ -0,0 +1,252 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增仓库出库单')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehouseOutOrder-add">
<div class="form-group">
<label class="col-sm-3 control-label">出库单号:</label>
<div class="col-sm-8">
<input name="outOrderCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联生产订单号:</label>
<div class="col-sm-8">
<input name="makeNo" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库状态:</label>
<div class="col-sm-8">
<select name="warehouseOutStatus" class="form-control m-b" th:with="type=${@dict.getType('warehouse_out_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联销售订单编号:</label>
<div class="col-sm-8">
<input name="salesOrderCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单类型:</label>
<div class="col-sm-8">
<select name="warehouseOrderType" class="form-control m-b" th:with="type=${@dict.getType('warehouse_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">委外单号:</label>
<div class="col-sm-8">
<input name="outMakeCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库类型:</label>
<div class="col-sm-8">
<select name="warehouseOutType" class="form-control m-b" th:with="type=${@dict.getType('warehouse_out_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8">
<input name="requisitioningCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务人员:</label>
<div class="col-sm-8">
<input name="businessName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">售后人员:</label>
<div class="col-sm-8">
<input name="aftersalesName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库员:</label>
<div class="col-sm-8">
<input name="warehouseName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出货设备id:</label>
<div class="col-sm-8">
<input name="shippingDeviceId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">料号:</label>
<div class="col-sm-8">
<input name="materialNo" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料合计:</label>
<div class="col-sm-8">
<input name="materialSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量合计:</label>
<div class="col-sm-8">
<input name="enterpriseSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库数:</label>
<div class="col-sm-8">
<input name="outOrderSum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库对象:</label>
<div class="col-sm-8">
<input name="outOrderName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="outOrderTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户ID:</label>
<div class="col-sm-8">
<input name="customerId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请人员:</label>
<div class="col-sm-8">
<input name="applyName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商ID:</label>
<div class="col-sm-8">
<input name="supplierCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">计划交付时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="planDeliveryTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商名称:</label>
<div class="col-sm-8">
<input name="supplierName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交付条件:</label>
<div class="col-sm-8">
<input name="deliveryCondition" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">收货地址:</label>
<div class="col-sm-8">
<input name="deliveryAddress" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="deliveryName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="deliveryNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<input name="remark" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "warehouse/warehouseOutOrder"
$("#form-warehouseOutOrder-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-warehouseOutOrder-add').serialize());
}
}
$("input[name='outOrderTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='planDeliveryTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deliveryDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

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

@ -0,0 +1,253 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改仓库出库单')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehouseOutOrder-edit" th:object="${warehouseOutOrder}">
<input name="outOrderId" th:field="*{outOrderId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">出库单号:</label>
<div class="col-sm-8">
<input name="outOrderCode" th:field="*{outOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联生产订单号:</label>
<div class="col-sm-8">
<input name="makeNo" th:field="*{makeNo}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库状态:</label>
<div class="col-sm-8">
<select name="warehouseOutStatus" class="form-control m-b" th:with="type=${@dict.getType('warehouse_out_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{warehouseOutStatus}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联销售订单编号:</label>
<div class="col-sm-8">
<input name="salesOrderCode" th:field="*{salesOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单类型:</label>
<div class="col-sm-8">
<select name="warehouseOrderType" class="form-control m-b" th:with="type=${@dict.getType('warehouse_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{warehouseOrderType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">委外单号:</label>
<div class="col-sm-8">
<input name="outMakeCode" th:field="*{outMakeCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库类型:</label>
<div class="col-sm-8">
<select name="warehouseOutType" class="form-control m-b" th:with="type=${@dict.getType('warehouse_out_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{warehouseOutType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8">
<input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务人员:</label>
<div class="col-sm-8">
<input name="businessName" th:field="*{businessName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">售后人员:</label>
<div class="col-sm-8">
<input name="aftersalesName" th:field="*{aftersalesName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库员:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出货设备id:</label>
<div class="col-sm-8">
<input name="shippingDeviceId" th:field="*{shippingDeviceId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">料号:</label>
<div class="col-sm-8">
<input name="materialNo" th:field="*{materialNo}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料合计:</label>
<div class="col-sm-8">
<input name="materialSum" th:field="*{materialSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量合计:</label>
<div class="col-sm-8">
<input name="enterpriseSum" th:field="*{enterpriseSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库数:</label>
<div class="col-sm-8">
<input name="outOrderSum" th:field="*{outOrderSum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库对象:</label>
<div class="col-sm-8">
<input name="outOrderName" th:field="*{outOrderName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出库时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="outOrderTime" th:value="${#dates.format(warehouseOutOrder.outOrderTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户ID:</label>
<div class="col-sm-8">
<input name="customerId" th:field="*{customerId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" th:field="*{customerName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请人员:</label>
<div class="col-sm-8">
<input name="applyName" th:field="*{applyName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商ID:</label>
<div class="col-sm-8">
<input name="supplierCode" th:field="*{supplierCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">计划交付时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="planDeliveryTime" th:value="${#dates.format(warehouseOutOrder.planDeliveryTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商名称:</label>
<div class="col-sm-8">
<input name="supplierName" th:field="*{supplierName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交付条件:</label>
<div class="col-sm-8">
<input name="deliveryCondition" th:field="*{deliveryCondition}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">收货地址:</label>
<div class="col-sm-8">
<input name="deliveryAddress" th:field="*{deliveryAddress}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="deliveryName" th:field="*{deliveryName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="deliveryNumber" th:field="*{deliveryNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryDate" th:value="${#dates.format(warehouseOutOrder.deliveryDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<input name="remark" th:field="*{remark}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "warehouse/warehouseOutOrder";
$("#form-warehouseOutOrder-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-warehouseOutOrder-edit').serialize());
}
}
$("input[name='outOrderTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='planDeliveryTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deliveryDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

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

@ -0,0 +1,184 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('仓库出库单列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>出库单号:</label>
<input type="text" name="outOrderCode"/>
</li>
<li>
<label>出库状态:</label>
<select name="warehouseOutStatus" th:with="type=${@dict.getType('warehouse_out_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>关联订单号:</label>
<input type="text" name="relatedOrderCode"/>
</li>
<li>
<label>申请人员:</label>
<input type="text" name="applyName"/>
</li>
<li>
<label>仓库员:</label>
<input type="text" name="warehouseName"/>
</li>
<li>
<label>订单类型:</label>
<select name="warehouseOrderType" th:with="type=${@dict.getType('warehouse_order_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>录入时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="warehouse:warehouseOutOrder:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('warehouse:warehouseOutOrder:edit')}]];
var warehouseOutStatusDatas = [[${@dict.getType('warehouse_out_status')}]];
var warehouseOrderTypeDatas = [[${@dict.getType('warehouse_order_type')}]];
var warehouseOutTypeDatas = [[${@dict.getType('warehouse_out_type')}]];
var prefix = ctx + "warehouse/warehouseOutOrder";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
modalName: "仓库出库单",
columns: [{
checkbox: true
},
{
title: '出库单Id',
field: 'outOrderId',
visible: false
},
{
title: '出库单号',
field: 'outOrderCode',
},
{
title: '出库状态',
field: 'warehouseOutStatus',
formatter: function(value, row, index) {
return $.table.selectDictLabel(warehouseOutStatusDatas, value);
}
},
{
title: '关联订单号',
field: 'relatedOrderCode',
},
{
title: '订单类型',
field: 'warehouseOrderType',
formatter: function(value, row, index) {
return $.table.selectDictLabel(warehouseOrderTypeDatas, value);
}
},
{
title: '出库类型',
field: 'warehouseOutType',
formatter: function(value, row, index) {
return $.table.selectDictLabel(warehouseOutTypeDatas, value);
}
},
{
title: '业务员',
field: 'businessName',
},
{
title: '物料合计',
field: 'materialSum',
},
{
title: '数量合计',
field: 'enterpriseSum',
},
{
title: '出库数',
field: 'outOrderSum',
},
{
title: '出库时间',
field: 'outOrderTime',
},
{
title: '录入人',
field: 'createBy',
},
{
title: '录入时间',
field: 'createTime',
},
{
title: '仓库员',
field: 'warehouseName',
},
{
title: '更新人',
field: 'updateBy',
},
{
title: '上次更新时间',
field: 'updateTime',
},
{
title: '备注',
field: 'remark',
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outOrderId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
Loading…
Cancel
Save