Merge branch 'refs/heads/master' into dev_1.0.0
commit
6ec773ce3d
|
|
@ -74,8 +74,9 @@ export function exportDeliveryDetail(id) {
|
||||||
export function listProductSn(query) {
|
export function listProductSn(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/inventory/info/vue/list',
|
url: '/inventory/info/vue/list',
|
||||||
method: 'get',
|
method: 'post',
|
||||||
params: query
|
headers: { 'Content-Type': 'multipart/form-data' },
|
||||||
|
data: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改制造商信息对话框 -->
|
<!-- 添加或修改制造商信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="70%" :close-on-click-modal="false" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="200px" style="max-height: 70vh;overflow-y: auto;padding: 10px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="200px" style="max-height: 70vh;overflow-y: auto;padding: 10px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-drawer title="发货单详情" :visible.sync="visible" direction="rtl" size="60%" @close="handleClose" append-to-body>
|
<el-drawer title="发货单详情" :wrapper-closable="false" :visible.sync="visible" direction="rtl" size="60%" @close="handleClose" append-to-body>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="detail" label-width="100px" disabled>
|
<el-form :model="detail" label-width="100px" disabled>
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
@pagination="getList"/>
|
@pagination="getList"/>
|
||||||
|
|
||||||
<!-- 新增/修改对话框 -->
|
<!-- 新增/修改对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="600px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body @close="cancel" class="checkout-dialog">
|
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="80%" append-to-body @close="cancel" class="checkout-dialog">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-drawer :title="title" :visible.sync="open" size="70%" append-to-body @close="cancel">
|
<el-drawer :wrapper-closable="false" :title="title" :visible.sync="open" size="70%" append-to-body @close="cancel">
|
||||||
<el-form ref="form" :model="form" label-width="140px">
|
<el-form ref="form" :model="form" label-width="140px">
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
|
|
|
||||||
|
|
@ -160,7 +160,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 编辑订单执行对话框 -->
|
<!-- 编辑订单执行对话框 -->
|
||||||
<el-dialog title="编辑订单执行" :visible.sync="editDialogVisible" width="70vw" append-to-body destroy-on-close>
|
<el-dialog title="编辑订单执行" :close-on-click-modal="false" :visible.sync="editDialogVisible" width="70vw" append-to-body destroy-on-close>
|
||||||
<edit
|
<edit
|
||||||
v-if="editDialogVisible"
|
v-if="editDialogVisible"
|
||||||
:order-id="currentEditOrderId"
|
:order-id="currentEditOrderId"
|
||||||
|
|
@ -173,7 +173,7 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 签收文件上传对话框 -->
|
<!-- 签收文件上传对话框 -->
|
||||||
<el-dialog title="上传签收文件" :visible.sync="upload.open" width="400px" append-to-body>
|
<el-dialog :close-on-click-modal="false" title="上传签收文件" :visible.sync="upload.open" width="400px" append-to-body>
|
||||||
<el-upload
|
<el-upload
|
||||||
ref="upload"
|
ref="upload"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@
|
||||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
<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="680px" append-to-body>
|
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="680px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
@ -196,12 +196,12 @@
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
|
|
||||||
<!-- 入库记录对话框 -->
|
<!-- 入库记录对话框 -->
|
||||||
<el-dialog title="入库记录" :visible.sync="innerLogVisible" width="70%" append-to-body>
|
<el-dialog :close-on-click-modal="false" title="入库记录" :visible.sync="innerLogVisible" width="70%" append-to-body>
|
||||||
<inner-log v-if="innerLogVisible" :product-code="currentLogProductCode" :warehouse-id="currentLogWarehouseId" />
|
<inner-log v-if="innerLogVisible" :product-code="currentLogProductCode" :warehouse-id="currentLogWarehouseId" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 出库记录对话框 -->
|
<!-- 出库记录对话框 -->
|
||||||
<el-dialog title="出库记录" :visible.sync="outerLogVisible" width="70%" append-to-body>
|
<el-dialog :close-on-click-modal="false" title="出库记录" :visible.sync="outerLogVisible" width="70%" append-to-body>
|
||||||
<outer-log v-if="outerLogVisible" :product-code="currentLogProductCode" :warehouse-id="currentLogWarehouseId" />
|
<outer-log v-if="outerLogVisible" :product-code="currentLogProductCode" :warehouse-id="currentLogWarehouseId" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
<order-select-dialog :visible.sync="orderSelectVisible" @select="handleOrderSelect"/>
|
<order-select-dialog :visible.sync="orderSelectVisible" @select="handleOrderSelect"/>
|
||||||
|
|
||||||
<!-- 新增/修改 Dialog -->
|
<!-- 新增/修改 Dialog -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body :close-on-click-modal="false">
|
<el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="80%" append-to-body >
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px" style="max-height: 70vh;overflow-y: auto">
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px" style="max-height: 70vh;overflow-y: auto">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24"><h3>入库信息</h3></el-col>
|
<el-col :span="24"><h3>入库信息</h3></el-col>
|
||||||
|
|
@ -224,7 +224,7 @@
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog :title="snTitle" :visible.sync="snOpen">
|
<el-dialog :close-on-click-modal="false" :title="snTitle" :visible.sync="snOpen">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8"><span>{{ snLabel }}</span><span style="color: red">*</span></el-col>
|
<el-col :span="8"><span>{{ snLabel }}</span><span style="color: red">*</span></el-col>
|
||||||
<el-col :span="16">
|
<el-col :span="16">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="生成发货单" :visible.sync="visible" width="85%" top="5vh" append-to-body @close="handleCancel">
|
<el-dialog title="生成发货单" :close-on-click-modal="false" :visible.sync="visible" width="85%" top="5vh" append-to-body @close="handleCancel">
|
||||||
<div class="required-delivery-time">
|
<div class="required-delivery-time">
|
||||||
要求发货时间: {{ requiredDeliveryTime }}
|
要求发货时间: {{ requiredDeliveryTime }}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -66,8 +66,8 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table ref="snTable" :data="snList" @selection-change="handleSelectionChange" height="400px">
|
<el-table ref="snTable" :data="snList" @selection-change="handleSelectionChange" height="400px" row-key="productSn">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
|
||||||
<el-table-column label="SN码" prop="productSn" />
|
<el-table-column label="SN码" prop="productSn" />
|
||||||
<el-table-column label="产品编码" prop="productCode" />
|
<el-table-column label="产品编码" prop="productCode" />
|
||||||
<el-table-column label="产品型号" prop="model" />
|
<el-table-column label="产品型号" prop="model" />
|
||||||
|
|
@ -128,6 +128,7 @@ export default {
|
||||||
warehouseId: undefined,
|
warehouseId: undefined,
|
||||||
},
|
},
|
||||||
isImported: false, // Flag to track if data is from import
|
isImported: false, // Flag to track if data is from import
|
||||||
|
isInitialLoad: false,
|
||||||
purchaseOrderSelectVisible: false,
|
purchaseOrderSelectVisible: false,
|
||||||
queryProductType: ['1', '2', '99'],
|
queryProductType: ['1', '2', '99'],
|
||||||
price: null,
|
price: null,
|
||||||
|
|
@ -154,6 +155,7 @@ export default {
|
||||||
this.queryParams.warehouseId = productRow.warehouseId;
|
this.queryParams.warehouseId = productRow.warehouseId;
|
||||||
this.queryParams.pageSize = productRow.quantity - productRow.deliveryGenerateQuantity - productRow.deliveryConfirmQuantity;
|
this.queryParams.pageSize = productRow.quantity - productRow.deliveryGenerateQuantity - productRow.deliveryConfirmQuantity;
|
||||||
|
|
||||||
|
this.isInitialLoad = true;
|
||||||
this.getSnList();
|
this.getSnList();
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
},
|
},
|
||||||
|
|
@ -161,11 +163,14 @@ export default {
|
||||||
listProductSn(this.queryParams).then(response => {
|
listProductSn(this.queryParams).then(response => {
|
||||||
this.snList = response.rows;
|
this.snList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
|
if (this.isInitialLoad) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.$refs.snTable) {
|
if (this.$refs.snTable) {
|
||||||
this.$refs.snTable.toggleAllSelection();
|
this.$refs.snTable.toggleAllSelection();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.isInitialLoad = false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
|
|
@ -184,7 +189,7 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleSelectPurchaseBeforeImport() {
|
handleSelectPurchaseBeforeImport() {
|
||||||
if (((this.productData.orderType || '1') === '1' ) && !(this.outerData.vendorName.startsWith('新华三') && this.productData.productType==='2')) {
|
if (((this.productData.orderType || '1') === '1' ) && !this.outerData.vendorName.startsWith('新华三') ) {
|
||||||
this.purchaseOrderSelectVisible = true;
|
this.purchaseOrderSelectVisible = true;
|
||||||
}else{
|
}else{
|
||||||
this.handleImport()
|
this.handleImport()
|
||||||
|
|
@ -229,6 +234,7 @@ export default {
|
||||||
this.isImported = true;
|
this.isImported = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.$refs.snTable) {
|
if (this.$refs.snTable) {
|
||||||
|
this.$refs.snTable.clearSelection();
|
||||||
this.$refs.snTable.toggleAllSelection();
|
this.$refs.snTable.toggleAllSelection();
|
||||||
this.selectedSnList = this.snList;
|
this.selectedSnList = this.snList;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-drawer :visible.sync="drawerVisible" title="出库单详情" direction="rtl" size="70%">
|
<el-drawer :visible.sync="drawerVisible" :wrapper-closable="false" title="出库单详情" direction="rtl" size="70%">
|
||||||
<div style="padding: 20px;">
|
<div style="padding: 20px;">
|
||||||
<el-descriptions :column="2" border>
|
<el-descriptions :column="2" border>
|
||||||
<el-descriptions-item label="出库单号">{{ details.outerCode }}</el-descriptions-item>
|
<el-descriptions-item label="出库单号">{{ details.outerCode }}</el-descriptions-item>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog :title="title" :visible.sync="visible" width="80%" append-to-body @close="handleCancel">
|
<el-dialog :title="title" :visible.sync="visible" :close-on-click-modal="false" width="80%" append-to-body @close="handleCancel">
|
||||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||||
<!-- 基础信息 -->
|
<!-- 基础信息 -->
|
||||||
<div class="section-title" style="justify-content: center">基础信息</div>
|
<div class="section-title" style="justify-content: center">基础信息</div>
|
||||||
|
|
@ -82,7 +82,7 @@
|
||||||
<delivery-detail :delivery-id="deliveryId" :visible.sync="viewOpen" />
|
<delivery-detail :delivery-id="deliveryId" :visible.sync="viewOpen" />
|
||||||
|
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button v-if="showReturn" type="danger" @click="handleStatusChange(this.form, '4')">退 回</el-button>
|
<el-button v-if="showReturn" type="danger" @click="handleStatusChange(form, '4')">退 回</el-button>
|
||||||
<el-button @click="handleCancel">关 闭</el-button>
|
<el-button @click="handleCancel">关 闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
@ -117,6 +117,7 @@ export default {
|
||||||
getOuter(id).then(response => {
|
getOuter(id).then(response => {
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
this.form = response.data.inventoryOuter;
|
this.form = response.data.inventoryOuter;
|
||||||
|
console.log(this.form)
|
||||||
this.productList = response.data.productVoList || [];
|
this.productList = response.data.productVoList || [];
|
||||||
this.deliveryList = response.data.deliveryList || [];
|
this.deliveryList = response.data.deliveryList || [];
|
||||||
this.showReturn=this.deliveryList.length<=0;
|
this.showReturn=this.deliveryList.length<=0;
|
||||||
|
|
@ -192,7 +193,8 @@ export default {
|
||||||
return changeOuterStatus(row.id, status, row.orderCode);
|
return changeOuterStatus(row.id, status, row.orderCode);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$message.success(`${actionText}成功`);
|
this.$message.success(`${actionText}成功`);
|
||||||
this.getList();
|
this.visible=false;
|
||||||
|
this.$emit('returnSuccess');
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||||
|
|
||||||
<!-- 新增/编辑弹窗 -->
|
<!-- 新增/编辑弹窗 -->
|
||||||
<outer-form ref="form" @success="getList"></outer-form>
|
<outer-form ref="form" @returnSuccess="getList" @success="getList"></outer-form>
|
||||||
|
|
||||||
<!-- 详情抽屉 -->
|
<!-- 详情抽屉 -->
|
||||||
<outer-details ref="details"></outer-details>
|
<outer-details ref="details"></outer-details>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
direction="rtl"
|
direction="rtl"
|
||||||
size="70%"
|
size="70%"
|
||||||
@close="handleClose"
|
@close="handleClose"
|
||||||
|
:wrapper-closable="false"
|
||||||
:with-header="true"
|
:with-header="true"
|
||||||
>
|
>
|
||||||
<div class="drawer-container">
|
<div class="drawer-container">
|
||||||
|
|
|
||||||
|
|
@ -371,6 +371,7 @@ import SelectCustomer from "../../system/customer/selectCustomer.vue";
|
||||||
import SelectPartner from "../../system/partner/selectPartner.vue";
|
import SelectPartner from "../../system/partner/selectPartner.vue";
|
||||||
import SelectUser from "@/views/system/user/selectUser";
|
import SelectUser from "@/views/system/user/selectUser";
|
||||||
import ProductConfig from "./ProductConfig.vue";
|
import ProductConfig from "./ProductConfig.vue";
|
||||||
|
import {isNaN} from "@riophae/vue-treeselect/src/utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectForm",
|
name: "ProjectForm",
|
||||||
|
|
@ -648,8 +649,26 @@ export default {
|
||||||
|
|
||||||
if (this.form.productConfig) {
|
if (this.form.productConfig) {
|
||||||
this.form.softwareProjectProductInfoList = this.form.productConfig.softwareProjectProductInfoList || [];
|
this.form.softwareProjectProductInfoList = this.form.productConfig.softwareProjectProductInfoList || [];
|
||||||
|
let ts = this.form.softwareProjectProductInfoList.filter(item=> item.productBomCode=='');
|
||||||
|
if (ts.length>0){
|
||||||
|
this.$modal.msgWarning("请完善产品配置信息");
|
||||||
|
return
|
||||||
|
|
||||||
|
}
|
||||||
this.form.hardwareProjectProductInfoList = this.form.productConfig.hardwareProjectProductInfoList || [];
|
this.form.hardwareProjectProductInfoList = this.form.productConfig.hardwareProjectProductInfoList || [];
|
||||||
|
let hp = this.form.hardwareProjectProductInfoList.filter(item=> item.productBomCode=='');
|
||||||
|
if (hp.length>0){
|
||||||
|
this.$modal.msgWarning("请完善产品配置信息");
|
||||||
|
return
|
||||||
|
|
||||||
|
}
|
||||||
this.form.maintenanceProjectProductInfoList = this.form.productConfig.maintenanceProjectProductInfoList || [];
|
this.form.maintenanceProjectProductInfoList = this.form.productConfig.maintenanceProjectProductInfoList || [];
|
||||||
|
let mp = this.form.maintenanceProjectProductInfoList.filter(item=> item.productBomCode=='');
|
||||||
|
if (mp.length>0){
|
||||||
|
this.$modal.msgWarning("请完善产品配置信息");
|
||||||
|
return
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.form.id != null) {
|
if (this.form.id != null) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- 添加或修改订单管理对话框 -->
|
<!-- 添加或修改订单管理对话框 -->
|
||||||
<el-dialog :title="dialogTitle" :visible.sync="internalVisible" width="1400px" append-to-body @close="handleClose">
|
<el-dialog :close-on-click-modal="false" :title="dialogTitle" :visible.sync="internalVisible" width="1400px" append-to-body @close="handleClose">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="isOrderApprovedOrInReview">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="isOrderApprovedOrInReview">
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="基础信息" name="basic">
|
<el-tab-pane label="基础信息" name="basic">
|
||||||
|
|
@ -465,6 +465,11 @@ export default {
|
||||||
this.$modal.msgError("折扣不能大于100%");
|
this.$modal.msgError("折扣不能大于100%");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const checkProduct=(list)=>list.every(item => item.productBomCode!=='')
|
||||||
|
if (!checkProduct(this.form.softwareProjectProductInfoList) || !checkProduct(this.form.hardwareProjectProductInfoList) || !checkProduct(this.form.maintenanceProjectProductInfoList)) {
|
||||||
|
this.$modal.msgError("请完善产品信息");
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.form.orderStatus = '0';
|
this.form.orderStatus = '0';
|
||||||
this._performSubmit();
|
this._performSubmit();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- 订单详情抽屉 -->
|
<!-- 订单详情抽屉 -->
|
||||||
<el-drawer :title="title" :visible.sync="internalVisible" direction="rtl" size="70%" @close="handleClose">
|
<el-drawer :title="title" :wrapper-closable="false" :visible.sync="internalVisible" direction="rtl" size="70%" @close="handleClose">
|
||||||
<div style="padding: 20px;">
|
<div style="padding: 20px;">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="true">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="true">
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,7 @@ export default {
|
||||||
/** 查看审批历史 */
|
/** 查看审批历史 */
|
||||||
viewApproveLog(row) {
|
viewApproveLog(row) {
|
||||||
// this.$router.push({ path: '/project/order/approveLog/' + row.id });
|
// this.$router.push({ path: '/project/order/approveLog/' + row.id });
|
||||||
this.msgWarning("查看审批历史功能待实现");
|
this.$modal.msgWarning("查看审批历史功能待实现");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog :title="title" :visible.sync="visible" width="80%" append-to-body @close="handleClose">
|
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="visible" width="80%" append-to-body @close="handleClose">
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||||
<el-form-item label="采购单号" prop="purchaseNo">
|
<el-form-item label="采购单号" prop="purchaseNo">
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改采购单主表对话框 -->
|
<!-- 添加或修改采购单主表对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="80vw" append-to-body >
|
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="80vw" append-to-body >
|
||||||
<purchase-order-detail ref="purchaseOrderDetail" :order-data="currentOrderData"
|
<purchase-order-detail ref="purchaseOrderDetail" :order-data="currentOrderData"
|
||||||
@close="open = false"
|
@close="open = false"
|
||||||
@success="getList">
|
@success="getList">
|
||||||
|
|
@ -204,6 +204,7 @@
|
||||||
<!-- 流程类型选择对话框 -->
|
<!-- 流程类型选择对话框 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="选择流程类型"
|
title="选择流程类型"
|
||||||
|
:close-on-click-modal="false"
|
||||||
:visible.sync="openFlowTypeDialog"
|
:visible.sync="openFlowTypeDialog"
|
||||||
width="30%"
|
width="30%"
|
||||||
append-to-body
|
append-to-body
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改办事处信息对话框 -->
|
<!-- 添加或修改办事处信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="800px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="选择代表处" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
<el-dialog title="选择代表处" :visible.sync="visible" :close-on-click-modal="false" width="800px" append-to-body @close="handleClose">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||||
<el-form-item label="代表处名称" prop="agentName">
|
<el-form-item label="代表处名称" prop="agentName">
|
||||||
<el-input
|
<el-input
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改客户信息对话框 -->
|
<!-- 添加或修改客户信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="800px" :close-on-click-modal="false" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="选择客户" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
<el-dialog title="选择客户" :close-on-click-modal="false" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||||
<el-form-item label="客户名称" prop="customerName">
|
<el-form-item label="客户名称" prop="customerName">
|
||||||
<el-input
|
<el-input
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改代理商管理对话框 -->
|
<!-- 添加或修改代理商管理对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="800px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="选择进货商" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
<el-dialog title="选择进货商" :close-on-click-modal="false" :visible.sync="visible" width="800px" append-to-body @close="handleClose">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||||
<el-form-item label="进货商名称" prop="partnerName">
|
<el-form-item label="进货商名称" prop="partnerName">
|
||||||
<el-input
|
<el-input
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改产品管理对话框 -->
|
<!-- 添加或修改产品管理对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="600px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="选择产品" :visible.sync="visible" width="60%" append-to-body @close="handleClose">
|
<el-dialog title="选择产品" :close-on-click-modal="false" :visible.sync="visible" width="60%" append-to-body @close="handleClose">
|
||||||
<div style="max-height: 60vh; overflow-y: auto;">
|
<div style="max-height: 60vh; overflow-y: auto;">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||||
<el-form-item label="产品编码" prop="productCode">
|
<el-form-item label="产品编码" prop="productCode">
|
||||||
|
|
|
||||||
|
|
@ -152,7 +152,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改仓库基础信息对话框 -->
|
<!-- 添加或修改仓库基础信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
|
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="600px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-form-item label="仓库名称" prop="warehouseName">
|
<el-form-item label="仓库名称" prop="warehouseName">
|
||||||
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称" />
|
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称" />
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ const CompressionPlugin = require('compression-webpack-plugin')
|
||||||
|
|
||||||
const name = process.env.VUE_APP_TITLE || 'UNISSENSE-OMS' // 网页标题
|
const name = process.env.VUE_APP_TITLE || 'UNISSENSE-OMS' // 网页标题
|
||||||
|
|
||||||
const baseUrl = 'http://localhost:28080' // 后端接口
|
const baseUrl = 'http://localhost:28081' // 后端接口
|
||||||
|
|
||||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,9 +71,9 @@ public class VueInventoryInfoController extends BaseController {
|
||||||
List<ProductInfo> list = productInfoService.listInventory(info);
|
List<ProductInfo> list = productInfoService.listInventory(info);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
@GetMapping("/list")
|
@PostMapping("/list")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public TableDataInfo list(InventoryInfo inventoryInfo)
|
public TableDataInfo list( InventoryInfo inventoryInfo)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!inventoryAuthService.authAll()) {
|
if (!inventoryAuthService.authAll()) {
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,8 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
||||||
inventoryOuterDetail.setId(inventoryDelivery.getDetailId());
|
inventoryOuterDetail.setId(inventoryDelivery.getDetailId());
|
||||||
inventoryOuterDetail.setWarehouseId(inventoryDelivery.getWarehouseId());
|
inventoryOuterDetail.setWarehouseId(inventoryDelivery.getWarehouseId());
|
||||||
inventoryOuterDetailMapper.updateInventoryOuterDetail(inventoryOuterDetail);
|
inventoryOuterDetailMapper.updateInventoryOuterDetail(inventoryOuterDetail);
|
||||||
|
|
||||||
|
//todo 限制只能发一次货 防止重复发货
|
||||||
int i = inventoryDeliveryMapper.insertInventoryDelivery(inventoryDelivery);
|
int i = inventoryDeliveryMapper.insertInventoryDelivery(inventoryDelivery);
|
||||||
if (CollUtil.isNotEmpty(detailList)){
|
if (CollUtil.isNotEmpty(detailList)){
|
||||||
for (OmsInventoryDeliveryDetail detail : detailList) {
|
for (OmsInventoryDeliveryDetail detail : detailList) {
|
||||||
|
|
@ -318,6 +320,9 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
||||||
public List<DeliveryInfoVo> getNumberInfo(ApiDataQueryDto dto) {
|
public List<DeliveryInfoVo> getNumberInfo(ApiDataQueryDto dto) {
|
||||||
List<DeliveryInfoVo> resultList = inventoryDeliveryMapper.listSn(dto);
|
List<DeliveryInfoVo> resultList = inventoryDeliveryMapper.listSn(dto);
|
||||||
List<String> orderCodeList = resultList.stream().map(DeliveryInfoVo::getOrderCode).collect(Collectors.toList());
|
List<String> orderCodeList = resultList.stream().map(DeliveryInfoVo::getOrderCode).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isEmpty(orderCodeList)){
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
// 根据订单ID查询合同信息
|
// 根据订单ID查询合同信息
|
||||||
List<ProjectProductInfo> projectProductInfos = projectProductInfoService.selectProjectProductInfoListByOrderCode(orderCodeList);
|
List<ProjectProductInfo> projectProductInfos = projectProductInfoService.selectProjectProductInfoListByOrderCode(orderCodeList);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@ public class OmsInventoryInnerServiceImpl implements IOmsInventoryInnerService {
|
||||||
throw new ServiceException("产品编码对应产品未找到");
|
throw new ServiceException("产品编码对应产品未找到");
|
||||||
}
|
}
|
||||||
Map<String, OmsWarehouseInfo> warehouseInfoMap=Collections.emptyMap();
|
Map<String, OmsWarehouseInfo> warehouseInfoMap=Collections.emptyMap();
|
||||||
if ("2".equalsIgnoreCase(orderType) || (("2".equalsIgnoreCase(productInfos.get(0).getType()) && productInfos.get(0).getVendorName().startsWith("新华三"))) ){
|
if ("2".equalsIgnoreCase(orderType) || (productInfos.get(0).getVendorName().startsWith("新华三")) ){
|
||||||
List<String> warehouseNameList = inventoryInfoExcelDtoList.stream().map(InventoryInfoExcelDto::getWarehouseName).distinct().collect(Collectors.toList());
|
List<String> warehouseNameList = inventoryInfoExcelDtoList.stream().map(InventoryInfoExcelDto::getWarehouseName).distinct().collect(Collectors.toList());
|
||||||
if (warehouseNameList.size() > 1){
|
if (warehouseNameList.size() > 1){
|
||||||
throw new ServiceException("导入清单只能有一个仓库");
|
throw new ServiceException("导入清单只能有一个仓库");
|
||||||
|
|
@ -312,7 +312,7 @@ public class OmsInventoryInnerServiceImpl implements IOmsInventoryInnerService {
|
||||||
info.setModel(productInfos.get(0).getModel());
|
info.setModel(productInfos.get(0).getModel());
|
||||||
info.setProductDesc(productInfos.get(0).getDescription());
|
info.setProductDesc(productInfos.get(0).getDescription());
|
||||||
info.setInnerPrice(item.getInnerPrice());
|
info.setInnerPrice(item.getInnerPrice());
|
||||||
if ("2".equalsIgnoreCase(orderType)|| (("2".equalsIgnoreCase(productInfos.get(0).getType()) && productInfos.get(0).getVendorName().startsWith("新华三"))) ){
|
if ("2".equalsIgnoreCase(orderType)|| ((productInfos.get(0).getVendorName().startsWith("新华三"))) ){
|
||||||
OmsWarehouseInfo omsWarehouseInfo = finalWarehouseInfoMap.get(item.getWarehouseName());
|
OmsWarehouseInfo omsWarehouseInfo = finalWarehouseInfoMap.get(item.getWarehouseName());
|
||||||
info.setWarehouseId(omsWarehouseInfo.getId());
|
info.setWarehouseId(omsWarehouseInfo.getId());
|
||||||
info.setWarehouseName(omsWarehouseInfo.getWarehouseName());
|
info.setWarehouseName(omsWarehouseInfo.getWarehouseName());
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ import com.ruoyi.sip.flowable.domain.Todo;
|
||||||
import com.ruoyi.sip.dto.HomepageQueryDto;
|
import com.ruoyi.sip.dto.HomepageQueryDto;
|
||||||
import com.ruoyi.sip.dto.OrderExcelNumStaticsDto;
|
import com.ruoyi.sip.dto.OrderExcelNumStaticsDto;
|
||||||
import com.ruoyi.sip.dto.StatisticsDetailDto;
|
import com.ruoyi.sip.dto.StatisticsDetailDto;
|
||||||
|
import com.ruoyi.sip.flowable.service.IBuApproveConfigService;
|
||||||
import com.ruoyi.sip.mapper.OmsStockInfoMapper;
|
import com.ruoyi.sip.mapper.OmsStockInfoMapper;
|
||||||
import com.ruoyi.sip.mapper.ProjectInfoMapper;
|
import com.ruoyi.sip.mapper.ProjectInfoMapper;
|
||||||
import com.ruoyi.sip.service.*;
|
import com.ruoyi.sip.service.*;
|
||||||
|
|
@ -50,6 +51,7 @@ import com.ruoyi.sip.flowable.service.TodoCommonTemplate;
|
||||||
import com.ruoyi.sip.flowable.service.TodoService;
|
import com.ruoyi.sip.flowable.service.TodoService;
|
||||||
import com.ruoyi.common.utils.mail.TemplateMailUtil;
|
import com.ruoyi.common.utils.mail.TemplateMailUtil;
|
||||||
import com.ruoyi.sip.vo.OrderInfoVo;
|
import com.ruoyi.sip.vo.OrderInfoVo;
|
||||||
|
import com.ruoyi.system.service.ISysConfigService;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
|
|
@ -61,6 +63,7 @@ import org.flowable.engine.runtime.ProcessInstance;
|
||||||
import org.flowable.task.api.Task;
|
import org.flowable.task.api.Task;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.sip.mapper.ProjectOrderInfoMapper;
|
import com.ruoyi.sip.mapper.ProjectOrderInfoMapper;
|
||||||
import com.ruoyi.common.core.text.Convert;
|
import com.ruoyi.common.core.text.Convert;
|
||||||
|
|
@ -131,6 +134,13 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
||||||
private Integer endHour;
|
private Integer endHour;
|
||||||
@Value("${unis.mail.businessRoleId:103}")
|
@Value("${unis.mail.businessRoleId:103}")
|
||||||
private String businessRoleId;
|
private String businessRoleId;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysConfigService configService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private IBuApproveConfigService approveConfigService;
|
||||||
/**
|
/**
|
||||||
* 查询订单管理
|
* 查询订单管理
|
||||||
*
|
*
|
||||||
|
|
@ -430,12 +440,15 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
||||||
|
|
||||||
String orderFlowKey = ProjectOrderInfo.ProcessTypeEnum.ONLINE.getCode().equals(projectOrderInfo.getProcessType()) ?
|
String orderFlowKey = ProjectOrderInfo.ProcessTypeEnum.ONLINE.getCode().equals(projectOrderInfo.getProcessType()) ?
|
||||||
orderOnlineFlowKey : orderOfflineFlowKey;
|
orderOnlineFlowKey : orderOfflineFlowKey;
|
||||||
|
String amountConfig = configService.selectConfigByKey("order.approve.amount.config");
|
||||||
|
BigDecimal amountConfigNumber = new BigDecimal(amountConfig);
|
||||||
//启动流程
|
//启动流程
|
||||||
todoService.startProcess(getFlowBusinessKey(existProjectOrderInfo.getOrderCode(), projectOrderInfo.getProcessType()), new HashMap<String, Object>() {{
|
todoService.startProcess(getFlowBusinessKey(existProjectOrderInfo.getOrderCode(), projectOrderInfo.getProcessType()), new HashMap<String, Object>() {{
|
||||||
put("processTemplate", projectOrderInfo.getProcessTemplate());
|
put("processTemplate", projectOrderInfo.getProcessTemplate());
|
||||||
put("processType", projectOrderInfo.getProcessType());
|
put("processType", projectOrderInfo.getProcessType());
|
||||||
put("applyUserName", ShiroUtils.getSysUser().getUserName());
|
put("applyUserName", ShiroUtils.getSysUser().getUserName());
|
||||||
put("applyUser", ShiroUtils.getUserId());
|
put("applyUser", ShiroUtils.getUserId());
|
||||||
|
put("skipLeader",projectOrderInfo.getShipmentAmount().compareTo(amountConfigNumber)<0);
|
||||||
put("partnerUser",partnerInfos.get(0).getSystemUserId());
|
put("partnerUser",partnerInfos.get(0).getSystemUserId());
|
||||||
put("extendField1", projectOrderInfo.getVersionCode());
|
put("extendField1", projectOrderInfo.getVersionCode());
|
||||||
}}, orderFlowKey);
|
}}, orderFlowKey);
|
||||||
|
|
@ -1174,7 +1187,26 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
||||||
handleBusinessApproval(businessKey);
|
handleBusinessApproval(businessKey);
|
||||||
} else if ("省代".equals(taskName)) {
|
} else if ("省代".equals(taskName)) {
|
||||||
handlePartnerApproval(businessKey);
|
handlePartnerApproval(businessKey);
|
||||||
} else if ("公司领导".equals(taskName)) {
|
} else if ("领导1".equals(taskName) && todo.getApplyTime().compareTo(DateUtils.parseDate("2025-12-19"))>0){
|
||||||
|
ProjectOrderInfo orderInfo = selectProjectOrderInfoByOrderCode(businessKey);
|
||||||
|
String amountConfig = configService.selectConfigByKey("order.approve.amount.config");
|
||||||
|
BigDecimal amountConfigNumber = new BigDecimal(amountConfig);
|
||||||
|
if (orderInfo.getShipmentAmount().compareTo(amountConfigNumber)<0){
|
||||||
|
handleCompanyLeaderApproval(businessKey);
|
||||||
|
//查询对应的数据 插入已办数据
|
||||||
|
List<Long> approveUserList = approveConfigService.listByProcessKeyAndTaskName(todo.getProcessKey(), "公司领导");
|
||||||
|
for (Long l : approveUserList) {
|
||||||
|
todoService.completed(new HashMap<>(), todo.getTaskId(), businessKey);
|
||||||
|
todo.setApproveUser(l.toString());
|
||||||
|
todo.setTaskName("公司领导");
|
||||||
|
todo.setApproveUserName(userService.selectUserById(l).getUserName());
|
||||||
|
todo.setApproveOpinion("默认审批");
|
||||||
|
todo.setNextAllApproveUserName(null);
|
||||||
|
todo.setAllApproveUserName(null);
|
||||||
|
todoService.insertTodoCompleted(Arrays.asList(todo));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if ("公司领导".equals(taskName)) {
|
||||||
|
|
||||||
//黄雪秋处理 流程状态更改
|
//黄雪秋处理 流程状态更改
|
||||||
if (ShiroUtils.getUserId().equals(118L)) {
|
if (ShiroUtils.getUserId().equals(118L)) {
|
||||||
|
|
@ -1559,8 +1591,11 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
||||||
query.setProcessKeyList(Arrays.asList(orderOnlineFlowKey,orderOfflineFlowKey));
|
query.setProcessKeyList(Arrays.asList(orderOnlineFlowKey,orderOfflineFlowKey));
|
||||||
List<Todo> list = todoService.selectTodoList(query);
|
List<Todo> list = todoService.selectTodoList(query);
|
||||||
for (Todo todo1 : list) {
|
for (Todo todo1 : list) {
|
||||||
|
Map<String, Object> temp = new HashMap<>();
|
||||||
todo1.setVariables(new HashMap<>(todo.getVariables()));
|
for (Map.Entry<String, Object> entry : todo.getVariables().entrySet()) {
|
||||||
|
temp.put(entry.getKey(), new String(entry.getValue().toString()));
|
||||||
|
}
|
||||||
|
todo1.setVariables(temp);
|
||||||
approveOrder(todo1);
|
approveOrder(todo1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="productSn != null and productSn != ''">and t1.product_sn = #{productSn}</if>
|
<if test="productSn != null and productSn != ''">and t1.product_sn = #{productSn}</if>
|
||||||
<if test="productSnList != null and productSnList != ''">and t1.product_sn in
|
<if test="productSnList != null and productSnList.size>0">and t1.product_sn in
|
||||||
<foreach item="item" index="index" collection="productSnList" separator="," open="(" close=")">
|
<foreach item="item" index="index" collection="productSnList" separator="," open="(" close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue