Browse Source

出库单

andy 3 years ago
parent
commit
f923603a89

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/order/WmsDocOrderHeaderController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.warewms.order;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
+import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 出库单头Controller
+ * 
+ * @author ruoyi
+ * @date 2022-10-18
+ */
+@RestController
+@RequestMapping("/docOrder/docOrder")
+public class WmsDocOrderHeaderController extends BaseController
+{
+    @Autowired
+    private IWmsDocOrderHeaderService wmsDocOrderHeaderService;
+
+    /**
+     * 查询出库单头列表
+     */
+    @PreAuthorize("@ss.hasPermi('docOrder:docOrder:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        startPage();
+        List<WmsDocOrderHeader> list = wmsDocOrderHeaderService.selectWmsDocOrderHeaderList(wmsDocOrderHeader);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出出库单头列表
+     */
+    @PreAuthorize("@ss.hasPermi('docOrder:docOrder:export')")
+    @Log(title = "出库单头", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        List<WmsDocOrderHeader> list = wmsDocOrderHeaderService.selectWmsDocOrderHeaderList(wmsDocOrderHeader);
+        ExcelUtil<WmsDocOrderHeader> util = new ExcelUtil<WmsDocOrderHeader>(WmsDocOrderHeader.class);
+        util.exportExcel(response, list, "出库单头数据");
+    }
+
+    /**
+     * 获取出库单头详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('docOrder:docOrder:query')")
+    @GetMapping(value = "/{orderNo}")
+    public AjaxResult getInfo(@PathVariable("orderNo") String orderNo)
+    {
+        return AjaxResult.success(wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo));
+    }
+
+    /**
+     * 新增出库单头
+     */
+    @PreAuthorize("@ss.hasPermi('docOrder:docOrder:add')")
+    @Log(title = "出库单头", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        return toAjax(wmsDocOrderHeaderService.insertWmsDocOrderHeader(wmsDocOrderHeader));
+    }
+
+    /**
+     * 修改出库单头
+     */
+    @PreAuthorize("@ss.hasPermi('docOrder:docOrder:edit')")
+    @Log(title = "出库单头", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        return toAjax(wmsDocOrderHeaderService.updateWmsDocOrderHeader(wmsDocOrderHeader));
+    }
+
+    /**
+     * 删除出库单头
+     */
+    @PreAuthorize("@ss.hasPermi('docOrder:docOrder:remove')")
+    @Log(title = "出库单头", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{orderNos}")
+    public AjaxResult remove(@PathVariable String[] orderNos)
+    {
+        return toAjax(wmsDocOrderHeaderService.deleteWmsDocOrderHeaderByOrderNos(orderNos));
+    }
+}

+ 44 - 0
ruoyi-ui/src/api/docOrder/docOrder.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询出库单头列表
+export function listDocOrder(query) {
+  return request({
+    url: '/docOrder/docOrder/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询出库单头详细
+export function getDocOrder(orderNo) {
+  return request({
+    url: '/docOrder/docOrder/' + orderNo,
+    method: 'get'
+  })
+}
+
+// 新增出库单头
+export function addDocOrder(data) {
+  return request({
+    url: '/docOrder/docOrder',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改出库单头
+export function updateDocOrder(data) {
+  return request({
+    url: '/docOrder/docOrder',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除出库单头
+export function delDocOrder(orderNo) {
+  return request({
+    url: '/docOrder/docOrder/' + orderNo,
+    method: 'delete'
+  })
+}

+ 517 - 0
ruoyi-ui/src/views/docOrder/index.vue

@@ -0,0 +1,517 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="货主代码" prop="customerId">
+        <el-input
+          v-model="queryParams.customerId"
+          placeholder="请输入货主代码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单据状态" prop="orderStatus">
+        <el-select v-model="queryParams.orderStatus" placeholder="请选择单据状态" clearable size="small">
+          <el-option
+            v-for="dict in dict.type.so_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="单据类型" prop="orderType">
+        <el-select v-model="queryParams.orderType" placeholder="请选择单据类型" clearable size="small">
+          <el-option
+            v-for="dict in dict.type.so_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="客户单号1" prop="soReference1">
+        <el-input
+          v-model="queryParams.soReference1"
+          placeholder="请输入客户单号1"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="客户单号2" prop="soReference2">
+        <el-input
+          v-model="queryParams.soReference2"
+          placeholder="请输入客户单号2"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="客户单号3" prop="soReference3">
+        <el-input
+          v-model="queryParams.soReference3"
+          placeholder="请输入客户单号3"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="单据操作优先级" prop="priority">
+        <el-input
+          v-model="queryParams.priority"
+          placeholder="请输入单据操作优先级"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="收货单位名称" prop="consigneeName">
+        <el-input
+          v-model="queryParams.consigneeName"
+          placeholder="请输入收货单位名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['docOrder:docOrder:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['docOrder:docOrder:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['docOrder:docOrder:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['docOrder:docOrder:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="docOrderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="出库单号" align="center" prop="orderNo" />
+      <el-table-column label="货主代码" align="center" prop="customerId" />
+      <el-table-column label="单据状态" align="center" prop="orderStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.so_status" :value="scope.row.orderStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="单据类型" align="center" prop="orderType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.so_type" :value="scope.row.orderType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="客户单号1" align="center" prop="soReference1" />
+      <el-table-column label="客户单号2" align="center" prop="soReference2" />
+      <el-table-column label="客户单号3" align="center" prop="soReference3" />
+      <el-table-column label="单据操作优先级" align="center" prop="priority" />
+      <el-table-column label="收货单位名称" align="center" prop="consigneeName" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['docOrder:docOrder:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['docOrder:docOrder:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改出库单头对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="货主代码" prop="customerId">
+          <el-input v-model="form.customerId" placeholder="请输入货主代码" />
+        </el-form-item>
+        <el-form-item label="单据状态" prop="orderStatus">
+          <el-select v-model="form.orderStatus" placeholder="请选择单据状态">
+            <el-option
+              v-for="dict in dict.type.so_status"
+              :key="dict.value"
+              :label="dict.label"
+:value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="单据类型" prop="orderType">
+          <el-select v-model="form.orderType" placeholder="请选择单据类型">
+            <el-option
+              v-for="dict in dict.type.so_type"
+              :key="dict.value"
+              :label="dict.label"
+:value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="客户单号1" prop="soReference1">
+          <el-input v-model="form.soReference1" placeholder="请输入客户单号1" />
+        </el-form-item>
+        <el-form-item label="客户单号2" prop="soReference2">
+          <el-input v-model="form.soReference2" placeholder="请输入客户单号2" />
+        </el-form-item>
+        <el-form-item label="客户单号3" prop="soReference3">
+          <el-input v-model="form.soReference3" placeholder="请输入客户单号3" />
+        </el-form-item>
+        <el-form-item label="单据操作优先级" prop="priority">
+          <el-input v-model="form.priority" placeholder="请输入单据操作优先级" />
+        </el-form-item>
+        <el-form-item label="收货单位名称" prop="consigneeName">
+          <el-input v-model="form.consigneeName" placeholder="请输入收货单位名称" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="仓库id" prop="warehouseId">
+          <el-input v-model="form.warehouseId" placeholder="请输入仓库id" />
+        </el-form-item>
+        <el-form-item label="目标货柜(移转目标刀具柜)" prop="userdefine1">
+          <el-input v-model="form.userdefine1" placeholder="请输入目标货柜(移转目标刀具柜)" />
+        </el-form-item>
+        <el-form-item label="预留字段2" prop="userdefine2">
+          <el-input v-model="form.userdefine2" placeholder="请输入预留字段2" />
+        </el-form-item>
+        <el-form-item label="预留字段3" prop="userdefine3">
+          <el-input v-model="form.userdefine3" placeholder="请输入预留字段3" />
+        </el-form-item>
+        <el-form-item label="预留字段4" prop="userdefine4">
+          <el-input v-model="form.userdefine4" placeholder="请输入预留字段4" />
+        </el-form-item>
+        <el-form-item label="预留字段5" prop="userdefine5">
+          <el-input v-model="form.userdefine5" placeholder="请输入预留字段5" />
+        </el-form-item>
+        <el-form-item label="拣货时保存之前状态" prop="userdefine6">
+          <el-input v-model="form.userdefine6" placeholder="请输入拣货时保存之前状态" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="addTime">
+          <el-date-picker clearable size="small"
+            v-model="form.addTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择${comment}">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="${comment}" prop="addWho">
+          <el-input v-model="form.addWho" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="editTime">
+          <el-date-picker clearable size="small"
+            v-model="form.editTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择${comment}">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="${comment}" prop="editWho">
+          <el-input v-model="form.editWho" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi01">
+          <el-input v-model="form.hEdi01" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi02">
+          <el-input v-model="form.hEdi02" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi03">
+          <el-input v-model="form.hEdi03" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi04">
+          <el-input v-model="form.hEdi04" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi05">
+          <el-input v-model="form.hEdi05" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi06">
+          <el-input v-model="form.hEdi06" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi07">
+          <el-input v-model="form.hEdi07" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi08">
+          <el-input v-model="form.hEdi08" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi09">
+          <el-input v-model="form.hEdi09" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi10">
+          <el-input v-model="form.hEdi10" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi11">
+          <el-input v-model="form.hEdi11" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi12">
+          <el-input v-model="form.hEdi12" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi13">
+          <el-input v-model="form.hEdi13" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi14">
+          <el-input v-model="form.hEdi14" placeholder="请输入${comment}" />
+        </el-form-item>
+        <el-form-item label="${comment}" prop="hEdi15">
+          <el-input v-model="form.hEdi15" placeholder="请输入${comment}" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listDocOrder, getDocOrder, delDocOrder, addDocOrder, updateDocOrder } from "@/api/docOrder/docOrder";
+
+export default {
+  name: "DocOrder",
+  dicts: ['so_status', 'so_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 出库单头表格数据
+      docOrderList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        customerId: null,
+        orderStatus: null,
+        orderType: null,
+        soReference1: null,
+        soReference2: null,
+        soReference3: null,
+        priority: null,
+        consigneeName: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        customerId: [
+          { required: true, message: "货主代码不能为空", trigger: "blur" }
+        ],
+        orderStatus: [
+          { required: true, message: "单据状态不能为空", trigger: "change" }
+        ],
+        addTime: [
+          { required: true, message: "$comment不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询出库单头列表 */
+    getList() {
+      this.loading = true;
+      listDocOrder(this.queryParams).then(response => {
+        this.docOrderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        orderNo: null,
+        customerId: null,
+        orderStatus: null,
+        orderType: null,
+        soReference1: null,
+        soReference2: null,
+        soReference3: null,
+        priority: null,
+        consigneeId: null,
+        consigneeName: null,
+        cusCountry: null,
+        cusProvince: null,
+        cusCity: null,
+        cusDistrict: null,
+        cusAddress: null,
+        cusContact: null,
+        cusPostcode: null,
+        cusEmail: null,
+        carrierId: null,
+        shipmentTime: null,
+        carrierName: null,
+        deliveryNo: null,
+        ediSendFlag: null,
+        remark: null,
+        warehouseId: null,
+        userdefine1: null,
+        userdefine2: null,
+        userdefine3: null,
+        userdefine4: null,
+        userdefine5: null,
+        userdefine6: null,
+        addTime: null,
+        addWho: null,
+        editTime: null,
+        editWho: null,
+        hEdi01: null,
+        hEdi02: null,
+        hEdi03: null,
+        hEdi04: null,
+        hEdi05: null,
+        hEdi06: null,
+        hEdi07: null,
+        hEdi08: null,
+        hEdi09: null,
+        hEdi10: null,
+        hEdi11: null,
+        hEdi12: null,
+        hEdi13: null,
+        hEdi14: null,
+        hEdi15: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.orderNo)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加出库单头";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const orderNo = row.orderNo || this.ids
+      getDocOrder(orderNo).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改出库单头";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.orderNo != null) {
+            updateDocOrder(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDocOrder(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const orderNos = row.orderNo || this.ids;
+      this.$modal.confirm('是否确认删除出库单头编号为"' + orderNos + '"的数据项?').then(function() {
+        return delDocOrder(orderNos);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('docOrder/docOrder/export', {
+        ...this.queryParams
+      }, `docOrder_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 673 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/domain/WmsDocOrderHeader.java

@@ -0,0 +1,673 @@
+package com.ruoyi.ams.order.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 出库单头对象 wms_doc_order_header
+ * 
+ * @author ruoyi
+ * @date 2022-10-18
+ */
+public class WmsDocOrderHeader extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 出库单号 */
+    private String orderNo;
+
+    /** 货主代码 */
+    @Excel(name = "货主代码")
+    private String customerId;
+
+    /** 单据状态 */
+    @Excel(name = "单据状态")
+    private String orderStatus;
+
+    /** 单据类型 */
+    @Excel(name = "单据类型")
+    private String orderType;
+
+    /** 客户单号1 */
+    @Excel(name = "客户单号1")
+    private String soReference1;
+
+    /** 客户单号2 */
+    @Excel(name = "客户单号2")
+    private String soReference2;
+
+    /** 客户单号3 */
+    @Excel(name = "客户单号3")
+    private String soReference3;
+
+    /** 单据操作优先级(按天) */
+    @Excel(name = "单据操作优先级", readConverterExp = "按=天")
+    private String priority;
+
+    /** 收货单位id */
+    private String consigneeId;
+
+    /** 收货单位名称 */
+    @Excel(name = "收货单位名称")
+    private String consigneeName;
+
+    /** 国家 */
+    private String cusCountry;
+
+    /** 省 */
+    private String cusProvince;
+
+    /** 市 */
+    private String cusCity;
+
+    /** 区 */
+    private String cusDistrict;
+
+    /** 收货地址 */
+    private String cusAddress;
+
+    /** 收货联系人 */
+    private String cusContact;
+
+    /** 收货地址邮编 */
+    private String cusPostcode;
+
+    /** 收货联系人邮箱 */
+    private String cusEmail;
+
+    /** 发运单位id */
+    private String carrierId;
+
+    /** 订单发运时间 */
+    private Date shipmentTime;
+
+    /** 发运单位名称 */
+    private String carrierName;
+
+    /** 发运单号 */
+    private String deliveryNo;
+
+    /** 上游单据回传标识 */
+    private String ediSendFlag;
+
+    /** 仓库id */
+    private String warehouseId;
+
+    /** 目标货柜(移转目标刀具柜) */
+    private String userdefine1;
+
+    /** 预留字段2 */
+    private String userdefine2;
+
+    /** 预留字段3 */
+    private String userdefine3;
+
+    /** 预留字段4 */
+    private String userdefine4;
+
+    /** 预留字段5 */
+    private String userdefine5;
+
+    /** 拣货时保存之前状态 */
+    private String userdefine6;
+
+    /** $column.columnComment */
+    private Date addTime;
+
+    /** $column.columnComment */
+    private String addWho;
+
+    /** $column.columnComment */
+    private Date editTime;
+
+    /** $column.columnComment */
+    private String editWho;
+
+    /** $column.columnComment */
+    private String hEdi01;
+
+    /** $column.columnComment */
+    private String hEdi02;
+
+    /** $column.columnComment */
+    private String hEdi03;
+
+    /** $column.columnComment */
+    private String hEdi04;
+
+    /** $column.columnComment */
+    private String hEdi05;
+
+    /** $column.columnComment */
+    private String hEdi06;
+
+    /** $column.columnComment */
+    private String hEdi07;
+
+    /** $column.columnComment */
+    private String hEdi08;
+
+    /** $column.columnComment */
+    private BigDecimal hEdi09;
+
+    /** $column.columnComment */
+    private BigDecimal hEdi10;
+
+    /** $column.columnComment */
+    private String hEdi11;
+
+    /** $column.columnComment */
+    private String hEdi12;
+
+    /** $column.columnComment */
+    private String hEdi13;
+
+    /** $column.columnComment */
+    private String hEdi14;
+
+    /** $column.columnComment */
+    private String hEdi15;
+
+    public void setOrderNo(String orderNo) 
+    {
+        this.orderNo = orderNo;
+    }
+
+    public String getOrderNo() 
+    {
+        return orderNo;
+    }
+    public void setCustomerId(String customerId) 
+    {
+        this.customerId = customerId;
+    }
+
+    public String getCustomerId() 
+    {
+        return customerId;
+    }
+    public void setOrderStatus(String orderStatus) 
+    {
+        this.orderStatus = orderStatus;
+    }
+
+    public String getOrderStatus() 
+    {
+        return orderStatus;
+    }
+    public void setOrderType(String orderType) 
+    {
+        this.orderType = orderType;
+    }
+
+    public String getOrderType() 
+    {
+        return orderType;
+    }
+    public void setSoReference1(String soReference1) 
+    {
+        this.soReference1 = soReference1;
+    }
+
+    public String getSoReference1() 
+    {
+        return soReference1;
+    }
+    public void setSoReference2(String soReference2) 
+    {
+        this.soReference2 = soReference2;
+    }
+
+    public String getSoReference2() 
+    {
+        return soReference2;
+    }
+    public void setSoReference3(String soReference3) 
+    {
+        this.soReference3 = soReference3;
+    }
+
+    public String getSoReference3() 
+    {
+        return soReference3;
+    }
+    public void setPriority(String priority) 
+    {
+        this.priority = priority;
+    }
+
+    public String getPriority() 
+    {
+        return priority;
+    }
+    public void setConsigneeId(String consigneeId) 
+    {
+        this.consigneeId = consigneeId;
+    }
+
+    public String getConsigneeId() 
+    {
+        return consigneeId;
+    }
+    public void setConsigneeName(String consigneeName) 
+    {
+        this.consigneeName = consigneeName;
+    }
+
+    public String getConsigneeName() 
+    {
+        return consigneeName;
+    }
+    public void setCusCountry(String cusCountry) 
+    {
+        this.cusCountry = cusCountry;
+    }
+
+    public String getCusCountry() 
+    {
+        return cusCountry;
+    }
+    public void setCusProvince(String cusProvince) 
+    {
+        this.cusProvince = cusProvince;
+    }
+
+    public String getCusProvince() 
+    {
+        return cusProvince;
+    }
+    public void setCusCity(String cusCity) 
+    {
+        this.cusCity = cusCity;
+    }
+
+    public String getCusCity() 
+    {
+        return cusCity;
+    }
+    public void setCusDistrict(String cusDistrict) 
+    {
+        this.cusDistrict = cusDistrict;
+    }
+
+    public String getCusDistrict() 
+    {
+        return cusDistrict;
+    }
+    public void setCusAddress(String cusAddress) 
+    {
+        this.cusAddress = cusAddress;
+    }
+
+    public String getCusAddress() 
+    {
+        return cusAddress;
+    }
+    public void setCusContact(String cusContact) 
+    {
+        this.cusContact = cusContact;
+    }
+
+    public String getCusContact() 
+    {
+        return cusContact;
+    }
+    public void setCusPostcode(String cusPostcode) 
+    {
+        this.cusPostcode = cusPostcode;
+    }
+
+    public String getCusPostcode() 
+    {
+        return cusPostcode;
+    }
+    public void setCusEmail(String cusEmail) 
+    {
+        this.cusEmail = cusEmail;
+    }
+
+    public String getCusEmail() 
+    {
+        return cusEmail;
+    }
+    public void setCarrierId(String carrierId) 
+    {
+        this.carrierId = carrierId;
+    }
+
+    public String getCarrierId() 
+    {
+        return carrierId;
+    }
+    public void setShipmentTime(Date shipmentTime) 
+    {
+        this.shipmentTime = shipmentTime;
+    }
+
+    public Date getShipmentTime() 
+    {
+        return shipmentTime;
+    }
+    public void setCarrierName(String carrierName) 
+    {
+        this.carrierName = carrierName;
+    }
+
+    public String getCarrierName() 
+    {
+        return carrierName;
+    }
+    public void setDeliveryNo(String deliveryNo) 
+    {
+        this.deliveryNo = deliveryNo;
+    }
+
+    public String getDeliveryNo() 
+    {
+        return deliveryNo;
+    }
+    public void setEdiSendFlag(String ediSendFlag) 
+    {
+        this.ediSendFlag = ediSendFlag;
+    }
+
+    public String getEdiSendFlag() 
+    {
+        return ediSendFlag;
+    }
+    public void setWarehouseId(String warehouseId) 
+    {
+        this.warehouseId = warehouseId;
+    }
+
+    public String getWarehouseId() 
+    {
+        return warehouseId;
+    }
+    public void setUserdefine1(String userdefine1) 
+    {
+        this.userdefine1 = userdefine1;
+    }
+
+    public String getUserdefine1() 
+    {
+        return userdefine1;
+    }
+    public void setUserdefine2(String userdefine2) 
+    {
+        this.userdefine2 = userdefine2;
+    }
+
+    public String getUserdefine2() 
+    {
+        return userdefine2;
+    }
+    public void setUserdefine3(String userdefine3) 
+    {
+        this.userdefine3 = userdefine3;
+    }
+
+    public String getUserdefine3() 
+    {
+        return userdefine3;
+    }
+    public void setUserdefine4(String userdefine4) 
+    {
+        this.userdefine4 = userdefine4;
+    }
+
+    public String getUserdefine4() 
+    {
+        return userdefine4;
+    }
+    public void setUserdefine5(String userdefine5) 
+    {
+        this.userdefine5 = userdefine5;
+    }
+
+    public String getUserdefine5() 
+    {
+        return userdefine5;
+    }
+    public void setUserdefine6(String userdefine6) 
+    {
+        this.userdefine6 = userdefine6;
+    }
+
+    public String getUserdefine6() 
+    {
+        return userdefine6;
+    }
+    public void setAddTime(Date addTime) 
+    {
+        this.addTime = addTime;
+    }
+
+    public Date getAddTime() 
+    {
+        return addTime;
+    }
+    public void setAddWho(String addWho) 
+    {
+        this.addWho = addWho;
+    }
+
+    public String getAddWho() 
+    {
+        return addWho;
+    }
+    public void setEditTime(Date editTime) 
+    {
+        this.editTime = editTime;
+    }
+
+    public Date getEditTime() 
+    {
+        return editTime;
+    }
+    public void setEditWho(String editWho) 
+    {
+        this.editWho = editWho;
+    }
+
+    public String getEditWho() 
+    {
+        return editWho;
+    }
+    public void sethEdi01(String hEdi01) 
+    {
+        this.hEdi01 = hEdi01;
+    }
+
+    public String gethEdi01() 
+    {
+        return hEdi01;
+    }
+    public void sethEdi02(String hEdi02) 
+    {
+        this.hEdi02 = hEdi02;
+    }
+
+    public String gethEdi02() 
+    {
+        return hEdi02;
+    }
+    public void sethEdi03(String hEdi03) 
+    {
+        this.hEdi03 = hEdi03;
+    }
+
+    public String gethEdi03() 
+    {
+        return hEdi03;
+    }
+    public void sethEdi04(String hEdi04) 
+    {
+        this.hEdi04 = hEdi04;
+    }
+
+    public String gethEdi04() 
+    {
+        return hEdi04;
+    }
+    public void sethEdi05(String hEdi05) 
+    {
+        this.hEdi05 = hEdi05;
+    }
+
+    public String gethEdi05() 
+    {
+        return hEdi05;
+    }
+    public void sethEdi06(String hEdi06) 
+    {
+        this.hEdi06 = hEdi06;
+    }
+
+    public String gethEdi06() 
+    {
+        return hEdi06;
+    }
+    public void sethEdi07(String hEdi07) 
+    {
+        this.hEdi07 = hEdi07;
+    }
+
+    public String gethEdi07() 
+    {
+        return hEdi07;
+    }
+    public void sethEdi08(String hEdi08) 
+    {
+        this.hEdi08 = hEdi08;
+    }
+
+    public String gethEdi08() 
+    {
+        return hEdi08;
+    }
+    public void sethEdi09(BigDecimal hEdi09) 
+    {
+        this.hEdi09 = hEdi09;
+    }
+
+    public BigDecimal gethEdi09() 
+    {
+        return hEdi09;
+    }
+    public void sethEdi10(BigDecimal hEdi10) 
+    {
+        this.hEdi10 = hEdi10;
+    }
+
+    public BigDecimal gethEdi10() 
+    {
+        return hEdi10;
+    }
+    public void sethEdi11(String hEdi11) 
+    {
+        this.hEdi11 = hEdi11;
+    }
+
+    public String gethEdi11() 
+    {
+        return hEdi11;
+    }
+    public void sethEdi12(String hEdi12) 
+    {
+        this.hEdi12 = hEdi12;
+    }
+
+    public String gethEdi12() 
+    {
+        return hEdi12;
+    }
+    public void sethEdi13(String hEdi13) 
+    {
+        this.hEdi13 = hEdi13;
+    }
+
+    public String gethEdi13() 
+    {
+        return hEdi13;
+    }
+    public void sethEdi14(String hEdi14) 
+    {
+        this.hEdi14 = hEdi14;
+    }
+
+    public String gethEdi14() 
+    {
+        return hEdi14;
+    }
+    public void sethEdi15(String hEdi15) 
+    {
+        this.hEdi15 = hEdi15;
+    }
+
+    public String gethEdi15() 
+    {
+        return hEdi15;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("orderNo", getOrderNo())
+            .append("customerId", getCustomerId())
+            .append("orderStatus", getOrderStatus())
+            .append("orderType", getOrderType())
+            .append("soReference1", getSoReference1())
+            .append("soReference2", getSoReference2())
+            .append("soReference3", getSoReference3())
+            .append("priority", getPriority())
+            .append("consigneeId", getConsigneeId())
+            .append("consigneeName", getConsigneeName())
+            .append("cusCountry", getCusCountry())
+            .append("cusProvince", getCusProvince())
+            .append("cusCity", getCusCity())
+            .append("cusDistrict", getCusDistrict())
+            .append("cusAddress", getCusAddress())
+            .append("cusContact", getCusContact())
+            .append("cusPostcode", getCusPostcode())
+            .append("cusEmail", getCusEmail())
+            .append("carrierId", getCarrierId())
+            .append("shipmentTime", getShipmentTime())
+            .append("carrierName", getCarrierName())
+            .append("deliveryNo", getDeliveryNo())
+            .append("ediSendFlag", getEdiSendFlag())
+            .append("remark", getRemark())
+            .append("warehouseId", getWarehouseId())
+            .append("userdefine1", getUserdefine1())
+            .append("userdefine2", getUserdefine2())
+            .append("userdefine3", getUserdefine3())
+            .append("userdefine4", getUserdefine4())
+            .append("userdefine5", getUserdefine5())
+            .append("userdefine6", getUserdefine6())
+            .append("addTime", getAddTime())
+            .append("addWho", getAddWho())
+            .append("editTime", getEditTime())
+            .append("editWho", getEditWho())
+            .append("hEdi01", gethEdi01())
+            .append("hEdi02", gethEdi02())
+            .append("hEdi03", gethEdi03())
+            .append("hEdi04", gethEdi04())
+            .append("hEdi05", gethEdi05())
+            .append("hEdi06", gethEdi06())
+            .append("hEdi07", gethEdi07())
+            .append("hEdi08", gethEdi08())
+            .append("hEdi09", gethEdi09())
+            .append("hEdi10", gethEdi10())
+            .append("hEdi11", gethEdi11())
+            .append("hEdi12", gethEdi12())
+            .append("hEdi13", gethEdi13())
+            .append("hEdi14", gethEdi14())
+            .append("hEdi15", gethEdi15())
+            .toString();
+    }
+}

+ 61 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/mapper/WmsDocOrderHeaderMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ams.order.mapper;
+
+import java.util.List;
+import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
+
+/**
+ * 出库单头Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-10-18
+ */
+public interface WmsDocOrderHeaderMapper 
+{
+    /**
+     * 查询出库单头
+     * 
+     * @param orderNo 出库单头主键
+     * @return 出库单头
+     */
+     WmsDocOrderHeader selectWmsDocOrderHeaderByOrderNo(String orderNo);
+
+    /**
+     * 查询出库单头列表
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 出库单头集合
+     */
+     List<WmsDocOrderHeader> selectWmsDocOrderHeaderList(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 新增出库单头
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 结果
+     */
+     int insertWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 修改出库单头
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 结果
+     */
+     int updateWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 删除出库单头
+     * 
+     * @param orderNo 出库单头主键
+     * @return 结果
+     */
+     int deleteWmsDocOrderHeaderByOrderNo(String orderNo);
+
+    /**
+     * 批量删除出库单头
+     * 
+     * @param orderNos 需要删除的数据主键集合
+     * @return 结果
+     */
+     int deleteWmsDocOrderHeaderByOrderNos(String[] orderNos);
+}

+ 69 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/service/IWmsDocOrderHeaderService.java

@@ -0,0 +1,69 @@
+package com.ruoyi.ams.order.service;
+
+import java.util.List;
+import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
+
+/**
+ * 出库单头Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-10-18
+ */
+public interface IWmsDocOrderHeaderService 
+{
+    /**
+     * 查询出库单头
+     * 
+     * @param orderNo 出库单头主键
+     * @return 出库单头
+     */
+     WmsDocOrderHeader selectWmsDocOrderHeaderByOrderNo(String orderNo);
+
+    /**
+     * 查询出库单头列表
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 出库单头集合
+     */
+     List<WmsDocOrderHeader> selectWmsDocOrderHeaderList(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 查询出库单头
+     *
+     * @param wmsDocOrderHeader 出库单头
+     * @return 出库单头集合
+     */
+    WmsDocOrderHeader selectWmsDocOrderHeaderByModel(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 新增出库单头
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 结果
+     */
+     int insertWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 修改出库单头
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 结果
+     */
+     int updateWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader);
+
+    /**
+     * 批量删除出库单头
+     * 
+     * @param orderNos 需要删除的出库单头主键集合
+     * @return 结果
+     */
+     int deleteWmsDocOrderHeaderByOrderNos(String[] orderNos);
+
+    /**
+     * 删除出库单头信息
+     * 
+     * @param orderNo 出库单头主键
+     * @return 结果
+     */
+     int deleteWmsDocOrderHeaderByOrderNo(String orderNo);
+}

+ 110 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/service/impl/WmsDocOrderHeaderServiceImpl.java

@@ -0,0 +1,110 @@
+package com.ruoyi.ams.order.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.ams.order.mapper.WmsDocOrderHeaderMapper;
+import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
+import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
+
+/**
+ * 出库单头Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2022-10-18
+ */
+@Service
+public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService 
+{
+    @Autowired
+    private WmsDocOrderHeaderMapper wmsDocOrderHeaderMapper;
+
+    /**
+     * 查询出库单头
+     * 
+     * @param orderNo 出库单头主键
+     * @return 出库单头
+     */
+    @Override
+    public WmsDocOrderHeader selectWmsDocOrderHeaderByOrderNo(String orderNo)
+    {
+        return wmsDocOrderHeaderMapper.selectWmsDocOrderHeaderByOrderNo(orderNo);
+    }
+
+    /**
+     * 查询出库单头列表
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 出库单头
+     */
+    @Override
+    public List<WmsDocOrderHeader> selectWmsDocOrderHeaderList(WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        return wmsDocOrderHeaderMapper.selectWmsDocOrderHeaderList(wmsDocOrderHeader);
+    }
+
+    /**
+     * 查询出库单头
+     *
+     * @param wmsDocOrderHeader 出库单头
+     * @return 出库单头
+     */
+    @Override
+    public WmsDocOrderHeader selectWmsDocOrderHeaderByModel(WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        List<WmsDocOrderHeader> list = wmsDocOrderHeaderMapper.selectWmsDocOrderHeaderList(wmsDocOrderHeader);
+        if (list!=null && list.size()>0) {
+            return list.get(0);
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * 新增出库单头
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 结果
+     */
+    @Override
+    public int insertWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        return wmsDocOrderHeaderMapper.insertWmsDocOrderHeader(wmsDocOrderHeader);
+    }
+
+    /**
+     * 修改出库单头
+     * 
+     * @param wmsDocOrderHeader 出库单头
+     * @return 结果
+     */
+    @Override
+    public int updateWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader)
+    {
+        return wmsDocOrderHeaderMapper.updateWmsDocOrderHeader(wmsDocOrderHeader);
+    }
+
+    /**
+     * 批量删除出库单头
+     * 
+     * @param orderNos 需要删除的出库单头主键
+     * @return 结果
+     */
+    @Override
+    public int deleteWmsDocOrderHeaderByOrderNos(String[] orderNos)
+    {
+        return wmsDocOrderHeaderMapper.deleteWmsDocOrderHeaderByOrderNos(orderNos);
+    }
+
+    /**
+     * 删除出库单头信息
+     * 
+     * @param orderNo 出库单头主键
+     * @return 结果
+     */
+    @Override
+    public int deleteWmsDocOrderHeaderByOrderNo(String orderNo)
+    {
+        return wmsDocOrderHeaderMapper.deleteWmsDocOrderHeaderByOrderNo(orderNo);
+    }
+}

File diff suppressed because it is too large
+ 257 - 0
warewms-ams/src/main/resources/mapper/docOrder/WmsDocOrderHeaderMapper.xml