refactor(sip): 重构项目订单相关功能

- 修改代理商相关 terminology,统一为进货商
- 调整订单创建页面布局和逻辑
- 更新订单编辑和审批页面
- 添加邮件模板- 优化产品列表展示
- 调整数据库查询 SQL
dev_1.0.0
chenhao 2025-09-19 19:15:28 +08:00
parent e240213b01
commit a5c11deaa9
14 changed files with 270 additions and 108 deletions

View File

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit">
</head>
<style>
tr td,th{
text-align: center;
border: 1px solid black;
padding: 5px 10px;
}
p{
margin-top: 20px;
}
</style>
<body>
<div>
<p>尊敬的供应商:您好!</p>
<p>这是贵公司负责生产的项目订单发货通知。</p>
<p>请在收到本邮件之日起五个工作日内,按照订单中的设备清单、规格型号及交货时间,安排对应批次货物的发货事宜(可登录紫光汇智
OMS系统在 “出库管理” 模块查看订单详情并更新发货进度)。</p>
<p>本次发货清单:</p>
<table style="border-collapse:collapse;">
<thead>
<tr>
<th >序号</th>
<th >产品编码</th>
<th >产品名称</th>
<th >产品型号</th>
<th >仓库</th>
<th >数量</th>
</tr>
</thead>
<tbody>
<tr th:each="info : ${productList}">
<td th:text="${infoStat.count}"></td>
<td th:text="${info.productCode}"></td>
<td th:text="${info.productName}"></td>
<td th:text="${info.model}"></td>
<td th:text="${info.warehouseName}"></td>
<td th:text="${info.quantity}"></td>
</tr>
</tbody>
</table>
<p>发货地址重庆市南岸区广褔大道12号行政中心B区3号楼14-17</p>
<p>联系人:叶宇豪 联系电话18983595207</p>
<p>若贵司无法按期发货请于收到本邮件之日起两个工作日内在紫光汇智OMS系统中进行退回并回复此邮件说明具体原因及预计发货时间。如果贵公司未按时反馈且未按期发货导致订单超出约定交货期由此造成的客户投诉、订单违约等相关后果和损失将由贵司承担。
感谢您的配合!</p>
<div style="margin-top:50px">
<img src="cid:signature" style="width: 200px; height: auto;" />
<p>紫光汇智信息技术有限公司</p>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit">
</head>
<style>
tr td,th{
text-align: center;
border: 1px solid black;
padding: 5px 10px;
}
p{
margin-top: 20px;
}
</style>
<body>
<div>
<p>尊敬的代理商: 您好!</p>
<p>这是贵公司项目订单进货和供货执行通知。</p>
<p>请在订单发放之日起四个工作日内按照订单通知的设备清单和进货价格向我司订货(在紫光汇智公共号渠道服务使用授权账号确认订单)。</p>
<p>贵司如果不接受此单,请于订单发放之日起四个工作日内在紫光汇智公共号渠道服务内拒收此执行单,并回复此邮件“不接此单”。如果贵公司未按时作"不接此单”的回复,则视同贵公司认同,若因贵公司的原因导致自订单通知发放之日起超过有效期仍未执行,造成的不利后果和影响由贵司承担。</p>
<div style="margin-top:50px">
<img src="cid:signature" style="width: 200px; height: auto;" />
<p>紫光汇智信息技术有限公司</p>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit">
</head>
<style>
tr td,th{
text-align: center;
border: 1px solid black;
padding: 5px 10px;
}
p{
margin-top: 20px;
}
</style>
<body>
<div>
<p>尊敬的用户:您好!</p>
<p>您在OMS系统的密码已被重置,重置密码为:<span style="color: #01aaed">[[${password}]]</span></p>
<div style="margin-top:50px">
<img src="cid:signature" style="width: 200px; height: auto;" />
<p>紫光汇智信息技术有限公司</p>
</div>
</div>
</body>
</html>

View File

@ -351,7 +351,7 @@
<input type="text" value="${data.catalogueAllPriceFormmat || ''}" class="form-control catalogueAllPrice-formmat" placeholder="自动计算" required readonly>
</td>
<td class="tax-rate-column">
<input value="${data.taxRate || '13'}" name="${submitName}[${length}].taxRate" type="text" class="form-control tax-rate" readonly>
<input value="${data.taxRate || '13'}" name="${submitName}[${length}].taxRate" type="number" class="form-control tax-rate" readonly>
</td>
<td class="remark-column"><input value="${data.remark || ''}" name="${submitName}[${length}].remark" type="text" class="form-control" ></td>
<td class="del-row-column"><span style="cursor:pointer;color: #ff5722" onclick="delProductRow(this)" class="delRow">删除</span></td>

View File

@ -200,15 +200,15 @@
</tr>
<tr>
<td>代理</td>
<td>进货</td>
<td >
<input name="partnerName" class="form-control" type="text"
onclick="selectPartner()">
<input name="partnerCode" class="form-control" type="hidden">
</td>
<td>代理商联系人</td>
<td>进货商联系人</td>
<td><input name="partnerUserName" class="form-control" type="text" ></td>
<td>代理商 TEL</td>
<td>进货商 TEL</td>
<td><input name="contactWay" class="form-control" maxlength="11" type="text"></td>
</tr>
<tr>
@ -405,7 +405,7 @@
function selectPartner() {
var url = prefix + "/selectPartner";
var options = {
title: '选择代理商',
title: '选择进货商',
width: "800",
height: '600',
url: url,
@ -459,7 +459,7 @@
function doSubmitPartner(index, layero) {
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
$.modal.alertWarning("请选择一个代理商");
$.modal.alertWarning("请选择一个进货商");
return;
}
$('[name="partnerCode"]').val(rows[0].partnerCode);

View File

@ -217,16 +217,16 @@
</tr>
<tr>
<td>代理</td>
<td>进货</td>
<td >
<input name="partnerName" class="form-control" type="text"
onclick="selectPartner()" th:field="*{partnerName}">
<input name="partnerCode" class="form-control" type="hidden" th:field="*{partnerCode}">
</td>
<td>代理商联系人</td>
<td>进货商商联系人</td>
<td><input name="partnerUserName" th:field="*{partnerUserName}" class="form-control" type="text"
></td>
<td>代理商 TEL</td>
<td>进货商 TEL</td>
<td><input name="contactWay" th:field="*{contactWay}" class="form-control" type="text"></td>
</tr>
<tr>
@ -490,7 +490,7 @@
function selectPartner() {
var url = prefix + "/selectPartner";
var options = {
title: '选择代理商',
title: '选择进货商',
width: "800",
height: '600',
url: url,
@ -542,7 +542,7 @@
function doSubmitPartner(index, layero) {
var rows = layero.find("iframe")[0].contentWindow.getSelections();
if (rows.length == 0) {
$.modal.alertWarning("请选择一个代理商");
$.modal.alertWarning("请选择一个进货商");
return;
}
$('[name="partnerCode"]').val(rows[0].partnerCode);

View File

@ -100,7 +100,9 @@
padding: 30px 40px;
width: 300px;
}
.hidden-td{
display: none;
}
.saveRemark {
font-size: 10px;
color: #999999;
@ -222,7 +224,6 @@
<td colspan="3">
<select name="companyDelivery" class="form-control"
th:with="type=${@dict.getType('company_delivery')}">
<option value="">请选择</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
@ -237,10 +238,14 @@
<option value="2">直签</option>
</select>
</td>
<td class="zd-td hidden-td">总代<span class="is-required">*</span></td>
<td class="zd-td hidden-td">
<input class="form-control" type="text" readonly value="广州佳都技术有限公司" required>
</td>
</td>
<td>供货商<span class="is-required">*</span></td>
<td colspan="3">
<input name="supplier" class="form-control" type="text" required>
<td id="supplierTd" colspan="3">
<input name="supplier" class="form-control" type="text" value="紫光汇智信息技术有限公司" required>
</td>
</tr>
<tr>
@ -299,30 +304,31 @@
</td>
</tr>
<tr>
<tr>
<td>付款方式<span class="is-required">*</span></td>
<td colspan="2">
<select name="paymentMethod" id="paymentMethod" class="form-control" onchange="changePaymentDescription()" required>
<option value="">请选择</option>
</select>
</td>
<td>付款比例<span class="is-required">*</span></td>
<td colspan="2">
<input type="number" name="paymentRatio" id="paymentRatio" class="form-control" min="0" max="100" required oninput="updateDescriptionText()">
</td>
</tr>
<tr>
<td>付款条件</td>
<td colspan="5">
<textarea name="paymentDescription" id="paymentDescription" class="form-control" readonly rows="3"></textarea>
</td>
</tr>
<tr>
<td>其他特别说明</td>
<td colspan="5">
<input name="remark" class="form-control" type="text">
</td>
</tr>
<tr>
<td>付款方式</td>
<td colspan="2">
<select name="paymentMethod" id="paymentMethod" class="form-control" onchange="changePaymentDescription()">
<option value="">请选择</option>
</select>
</td>
<td>付款比例</td>
<td colspan="2">
<input type="number" name="paymentRatio" id="paymentRatio" class="form-control" min="0" max="100" oninput="updateDescriptionText()">
</td>
</tr>
<tr>
<td>描述</td>
<td colspan="5">
<textarea name="paymentDescription" id="paymentDescription" class="form-control" rows="3"></textarea>
</td>
</tr>
</table>
<div class="layui-tab">
@ -529,6 +535,16 @@
$('[name="businessPhone"]').val(data.contactPhone);
changeBg()
$('[name="industryType"]').val(data.industryType);
$('[name="partnerName"]').val(data.partnerName);
$('[name="partnerCode"]').val(data.partnerCode);
$('[name="partnerUserName"]').val(data.partnerUserName);
$('[name="partnerEmail"]').val(data.partnerEmail);
$('[name="partnerPhone"]').val(data.contactWay);
$('[name="level"]').val(data.level);
initProjectList(data)
window.localStorage.removeItem('getDetail')
@ -603,9 +619,11 @@
$paymentMethodSelect.append('<option value="">请选择</option>');
if (orderChannel == '1') { // 总代
$('.zd-td').removeClass("hidden-td")
$paymentMethodSelect.append('<option value="1-1">全款支付,无需预付款</option>');
$paymentMethodSelect.append('<option value="1-2">全款支付,需单独备货生产,预付订单总货款百分比</option>');
} else if (orderChannel == '2') { // 直签
$('.zd-td').addClass("hidden-td")
$paymentMethodSelect.append('<option value="2-1">全款支付</option>');
$paymentMethodSelect.append('<option value="2-2">全款支付,需单独备货生产,预付订单总货款百分比</option>');
$paymentMethodSelect.append('<option value="2-3">商业汇票支付,预付订单总货款百分比</option>');

View File

@ -357,45 +357,46 @@
</td>
</tr>
<!-- <tr>-->
<!-- <td>付款方式</td>-->
<!-- <td colspan="2">-->
<!-- <select name="paymentMethod" id="paymentMethod" class="form-control" onchange="changePaymentDescription()">-->
<!-- <option value="">请选择</option>-->
<!-- <th:block th:if="${projectOrderInfo.orderChannel == '1'}">-->
<!-- <option value="1-1" th:selected="${projectOrderInfo.paymentMethod == '1-1'}">全款支付,无需预付款</option>-->
<!-- <option value="1-2" th:selected="${projectOrderInfo.paymentMethod == '1-2'}">-->
<!-- 全款支付,需单独备货生产,预付订单总货款百分比-->
<!-- </option>-->
<!-- </th:block>-->
<!-- <th:block th:if="${projectOrderInfo.orderChannel == '2'}">-->
<!-- <option value="2-1" th:selected="${projectOrderInfo.paymentMethod == '2-1'}">全款支付</option>-->
<!-- <option value="2-2" th:selected="${projectOrderInfo.paymentMethod == '2-2'}">-->
<!-- 全款支付,需单独备货生产,预付订单总货款百分比-->
<!-- </option>-->
<!-- <option value="2-3" th:selected="${projectOrderInfo.paymentMethod == '2-3'}">-->
<!-- 商业汇票支付,预付订单总货款百分比-->
<!-- </option>-->
<!-- </th:block>-->
<!-- </select>-->
<!-- </td>-->
<!-- <td>付款比例</td>-->
<!-- <td colspan="2">-->
<!-- <input type="number" name="paymentRatio" id="paymentRatio" class="form-control" min="0" max="100" th:field="*{paymentRatio}">-->
<!-- </td>-->
<!-- </tr>-->
<tr>
<td>付款条件</td>
<td colspan="5">
<textarea name="paymentDescription" id="paymentDescription" class="form-control" rows="3" th:field="*{paymentDescription}"></textarea>
</td>
</tr>
<tr>
<td>其他特别说明</td>
<td colspan="5">
<input name="remark" class="form-control" type="text" th:field="*{remark}">
</td>
</tr>
<tr>
<td>付款方式</td>
<td colspan="2">
<select name="paymentMethod" id="paymentMethod" class="form-control" onchange="changePaymentDescription()">
<option value="">请选择</option>
<th:block th:if="${projectOrderInfo.orderChannel == '1'}">
<option value="1-1" th:selected="${projectOrderInfo.paymentMethod == '1-1'}">全款支付,无需预付款</option>
<option value="1-2" th:selected="${projectOrderInfo.paymentMethod == '1-2'}">
全款支付,需单独备货生产,预付订单总货款百分比
</option>
</th:block>
<th:block th:if="${projectOrderInfo.orderChannel == '2'}">
<option value="2-1" th:selected="${projectOrderInfo.paymentMethod == '2-1'}">全款支付</option>
<option value="2-2" th:selected="${projectOrderInfo.paymentMethod == '2-2'}">
全款支付,需单独备货生产,预付订单总货款百分比
</option>
<option value="2-3" th:selected="${projectOrderInfo.paymentMethod == '2-3'}">
商业汇票支付,预付订单总货款百分比
</option>
</th:block>
</select>
</td>
<td>付款比例</td>
<td colspan="2">
<input type="number" name="paymentRatio" id="paymentRatio" class="form-control" min="0" max="100" th:field="*{paymentRatio}">
</td>
</tr>
<tr>
<tr>
<td>描述</td>
<td colspan="5">
<textarea name="paymentDescription" id="paymentDescription" class="form-control" rows="3" th:field="*{paymentDescription}"></textarea>
</td>
</tr>
</table>
<div th:replace="layout/product-list::configInfoTable()"></div>
@ -436,7 +437,7 @@
<tbody>
<tr th:each="file,fileStat : ${entry.value}">
<td style="display: none">[[${file.id}]]</td>
<td>[[${fileStat.index+1==1?'合同':fileStat.index+1==2?'商务审批':'补充附件'}]]</td>
<td>[[${fileStat.index+1==1?'商务折扣审批':fileStat.index+1==2?'合同':'补充附件'}]]</td>
<td>[[${file.fileName}]]</td>
<td>[[${file.uploadUserName}]]</td>
<td>[[${#dates.format(file.uploadTime,'yyyy-MM-dd')}]]</td>
@ -693,12 +694,16 @@
// 如果是商务审批,收集税率数据
const taskName = [[${todo.taskName}]];
if (taskName && taskName.startsWith('商务')) {
if (taskName && (taskName.startsWith('商务') || taskName.startsWith('财务'))) {
const taxRateList = collectTaxRateData();
if (taxRateList) {
for (let i = 0; i < taxRateList.length; i++) {
for (let key in taxRateList[i]) {
data['taxRateData[' + i + '].' + key] = taxRateList[i][key];
if(key=='taxRate' && (taxRateList[i][key]>100 || taxRateList[i][key]<0)){
$.modal.msgError("税率区间为0-100")
return
}
}
}
}
@ -735,7 +740,7 @@
$.modal.msgError("审批意见必填")
return false
}
let data = [[${todo}]]
let {taxRateData, ...data} = [[${todo}]]
data.approveOpinion = value
data.approveStatus = 2
data.variables = {
@ -745,7 +750,7 @@
// 如果是商务审批,收集税率数据
const taskName = [[${todo.taskName}]];
if (taskName && taskName.startsWith('商务')) {
if (taskName && (taskName.startsWith('商务')|| taskName.startsWith('财务'))) {
const taxRateList = collectTaxRateData();
if (taxRateList) {
for (let i = 0; i < taxRateList.length; i++) {
@ -886,6 +891,7 @@
$('#approve-detail').find('input,select,textarea').each(function () {
$(this).prop("disabled", true);
})
initTaxRateEditability()
let headerHtml=$(`
<div style="display: flex;
justify-content: space-between;
@ -911,7 +917,6 @@
</div>
`)
$wrapper.after(footHtmlShow);
// Set payment method from database
var initialPaymentMethod = /*[[${projectOrderInfo.paymentMethod}]]*/ null;
if(initialPaymentMethod) {
@ -1268,7 +1273,6 @@ ${
addProduct3(ele)
}) : '';
window.localStorage.removeItem('getDetail')
setTotalData(true, [[${projectOrderInfo.discountFold}]], [[${projectOrderInfo.projectId}]])
if (!$('#shipmentAmount').val()|| !$('#actualPurchaseAmount').val()) {
setOrderPriceData()
@ -1289,7 +1293,7 @@ ${
}else{
$('.discount-text').text('现金折扣')
}
initTaxRateEditability();
// $.operate.get(ctx + `sip/project/query/${id}`, function (res) )
}
@ -1380,11 +1384,15 @@ ${
// 控制税率列的可编辑性
function initTaxRateEditability() {
const taskName = [[${todo.taskName}]];
const isBusinessTask = taskName && taskName.startsWith('商务');
const isBusinessTask = taskName && (taskName.startsWith('商务') || taskName.startsWith('财务'));
// 获取所有税率输入框
const taxRateInputs = document.querySelectorAll('.tax-rate');
if(isBusinessTask){
let $allPriceCountValue = $('#allPriceCountValue');
if ($allPriceCountValue.length>0){
$allPriceCountValue.removeAttr("disabled")
}
}
taxRateInputs.forEach(function (input) {
if (isBusinessTask) {
// 如果是商务任务,允许编辑

View File

@ -129,6 +129,9 @@
.padding-top-20{
padding-top: 20px;
}
.hidden-td{
display: none;
}
label.error {
position: relative;
color: #ef392b;
@ -283,7 +286,6 @@
<select name="companyDelivery" class="form-control" th:field="*{companyDelivery}"
th:with="type=${@dict.getType('company_delivery')}"
>
<option value="">请选择</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
@ -298,6 +300,10 @@
<option value="2">直签</option>
</select>
</td>
<td class="zd-td hidden-td">总代<span class="is-required">*</span></td>
<td class="zd-td hidden-td">
<input class="form-control" type="text" readonly value="广州佳都技术有限公司" required>
</td>
<td>供货商<span class="is-required">*</span></td>
<td colspan="3">
<input name="supplier" class="form-control" type="text" required th:field="*{supplier}">
@ -359,33 +365,34 @@
<td><input id="notifierPhone" name="notifierPhone" class="form-control" type="text" required th:field="*{notifierPhone}">
</td>
</tr>
<tr>
<td>其他特别说明</td>
<td colspan="5">
<input name="remark" class="form-control" type="text" th:field="*{remark}">
</td>
</tr>
<tr>
<td>付款方式</td>
<td>付款方式<span class="is-required">*</span></td>
<td colspan="2">
<select name="paymentMethod" id="paymentMethod" class="form-control"
<select name="paymentMethod" id="paymentMethod" class="form-control" required
onchange="changePaymentDescription()">
<option value="">请选择</option>
</select>
</td>
<td>付款比例</td>
<td>付款比例<span class="is-required">*</span></td>
<td colspan="2">
<input type="number" name="paymentRatio" id="paymentRatio" class="form-control" min="0"
max="100" th:field="*{paymentRatio}" oninput="updateDescriptionText()">
max="100" th:field="*{paymentRatio}" oninput="updateDescriptionText()" required>
</td>
</tr>
<tr>
<td>描述</td>
<td>付款条件</td>
<td colspan="5">
<textarea name="paymentDescription" id="paymentDescription" class="form-control" rows="3" readonly
th:field="*{paymentDescription}"></textarea>
</td>
</tr>
<tr>
<td>其他特别说明</td>
<td colspan="5">
<input name="remark" class="form-control" type="text" th:field="*{remark}">
</td>
</tr>
</table>
<div class="layui-tab">
@ -457,7 +464,7 @@
<tbody>
<tr th:each="file,fileStat : ${entry.value}">
<td>[[${fileStat.index+1}]]</td>
<td>[[${fileStat.index+1==1?'合同':fileStat.index+1==2?'折扣审批':'补充附件'}]]</td>
<td>[[${fileStat.index+1==1?'商务折扣审批':fileStat.index+1==2?'合同':'补充附件'}]]</td>
<td style="display: none">[[${file.id}]]</td>
<td>[[${file.fileName}]]</td>
<td>[[${file.uploadUserName}]]</td>
@ -613,7 +620,7 @@
},
}
});
const file_log_arr = ["(请上传合同信息).pdf/.jpg/.png", "(请上传商务折扣审批邮件信息).pdf/.jpg/.png", "(请上传现金折扣审批邮件信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png"]
const file_log_arr = [ "(请上传商务折扣审批邮件信息).pdf/.jpg/.png","(请上传合同信息).pdf/.jpg/.png", "(请上传现金折扣审批邮件信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png"]
var softwareProjectProductInfoList = []
var hardwareProjectProductInfoList = []
var maintenanceProjectProductInfoList = []
@ -814,7 +821,7 @@
let flag=false;
$('#file-version-content .current-version').find('tbody tr').each(function (trIndex, trElement) {
if (trIndex==1) {
if (trIndex==0) {
$(trElement).find('td').each(function (index, element) {
if (index === 2 && $(element).text()!='-1') {
@ -1227,16 +1234,16 @@
}
$(trElement).find('td').each(function (index, element) {
if (index === 1) {
$(element).text(sortNum==1?'合同':sortNum==2?'折扣审批':'补充附件')
$(element).text(sortNum==0?'商务折扣审批':sortNum==1?'合同':'补充附件')
} else if (index === 2) {
$(element).text(data.id)
} else if (index === 3) {
$(element).text(data.fileName)
} else if (index === 3) {
$(element).text(data.uploadUserName)
} else if (index === 4) {
$(element).text(data.uploadTime)
$(element).text(data.uploadUserName)
} else if (index === 5) {
$(element).text(data.uploadTime)
} else if (index === 6) {
$(element).html(`<span
style="cursor:pointer;color: #ff5722"
onclick="preview('${data.filePath}','${data.fileName}')">预览</span>
@ -1383,9 +1390,11 @@
$paymentMethodSelect.append('<option value="">请选择</option>');
if (orderChannel == '1') { // 总代
$('.zd-td').removeClass("hidden-td")
$paymentMethodSelect.append('<option value="1-1">全款支付,无需预付款</option>');
$paymentMethodSelect.append('<option value="1-2">全款支付,需单独备货生产,预付订单总货款百分比</option>');
} else if (orderChannel == '2') { // 直签
$('.zd-td').addClass("hidden-td")
$paymentMethodSelect.append('<option value="2-1">全款支付</option>');
$paymentMethodSelect.append('<option value="2-2">全款支付,需单独备货生产,预付订单总货款百分比</option>');
$paymentMethodSelect.append('<option value="2-3">商业汇票支付,预付订单总货款百分比</option>');

View File

@ -383,6 +383,7 @@ public class ProjectOrderInfoController extends BaseController
projectOrderFileLog.setOrderId(orderId);
projectOrderFileLog.setUploadTime(DateUtils.getNowDate());
projectOrderFileLog.setUploadUser(ShiroUtils.getUserId().toString());
projectOrderFileLog.setUploadUserName(ShiroUtils.getSysUser().getUserName().toString());
projectOrderFileLog.setFileName(file.getOriginalFilename());
projectOrderFileLog.setFileSort(fileSort);
projectOrderFileLog.setFileVersionCode(versionCode);

View File

@ -149,6 +149,7 @@ public class ProjectInfo extends BaseEntity
/** 币种 */
// @Excel(name = "币种")
private String currencyType;
private String level;

View File

@ -102,7 +102,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
private static final List<String> LS_LIST = Arrays.asList("3130A6LD");
private static final List<String> ONE_STOR_LIST = Arrays.asList("3130A4NA", "3130A4N9", "3130A4N5");
private static final List<String> N_VIDIA_LIST = Arrays.asList("0504A14F", "0504A14G", "0504A1JX");
private static final List<String> FILE_INFO_LIST = Arrays.asList("(请上传合同信息).pdf/.jpg/.png", "(请上传商务折扣审批邮件信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png");
private static final List<String> FILE_INFO_LIST = Arrays.asList( "(请上传商务折扣审批邮件信息).pdf/.jpg/.png","(请上传合同信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png");
@Autowired
private TaskService taskService;
@ -418,15 +418,16 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
complete(null, null, getFlowBusinessKey(existProjectOrderInfo.getOrderCode(), projectOrderInfo.getProcessType()));
projectOrderInfo.setOrderStatus(ProjectOrderInfo.OrderStatus.WAIT_APPROVE.getCode());
//根据提交类型判断折上折是 100% 98.8%或者98.5%
if ("0".equals(projectOrderInfo.getProcessTemplate())) {
//直签 98.8
projectOrderInfo.setDiscountFold(new BigDecimal("0.985"));
} else if ("1".equals(projectOrderInfo.getProcessTemplate())) {
//总代 98.5
projectOrderInfo.setDiscountFold(new BigDecimal("0.985"));
} else {
projectOrderInfo.setDiscountFold(BigDecimal.ONE);
}
// if ("0".equals(projectOrderInfo.getProcessTemplate())) {
// //直签 98.8
// projectOrderInfo.setDiscountFold(new BigDecimal("0.985"));
// } else if ("1".equals(projectOrderInfo.getProcessTemplate())) {
// //总代 98.5
// projectOrderInfo.setDiscountFold(new BigDecimal("0.985"));
// } else {
// projectOrderInfo.setDiscountFold(BigDecimal.ONE);
// }
}
return projectOrderInfoMapper.updateProjectOrderInfo(projectOrderInfo);
}

View File

@ -68,13 +68,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
t1.create_time,
t1.update_by,
t1.update_time,
t1.customer_user_name,t1.customer_phone,t1.partner_email,t1.partner_user_name,t1.h3c_person,t1.poc,t1.h3c_phone,
t1.customer_user_name,t1.customer_phone,t1.partner_user_name,t1.h3c_person,t1.poc,t1.h3c_phone,
t2.agent_name,t2.contact_email,t2.contact_phone,t2.contact_person,
t3.user_name as hz_support_user_name,
t5.level,
t5.contact_email as partner_email,
ifnull(t4.work_time,t1.update_time) as last_work_update_time
from project_info t1
left join agent_info t2 on t1.agent_code = t2.agent_code
left join sys_user t3 on t1.hz_support_user=t3.user_id
left join partner_info t5 on t1.partner_code=t5.partner_code
left join (select max(work_time) work_time,project_id from project_work_progress group by project_id) t4 ON t1.id=t4.project_id

View File

@ -508,7 +508,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="versionCode != null">
<choose>
<when test="versionCode == 'add'.toString()">version_code = cast(version_code as int) +1,</when>
<when test="versionCode == 'add'.toString()">version_code = cast(version_code as UNSIGNED) +1,</when>
<otherwise>version_code = #{versionCode},</otherwise>
</choose>
</if>