This commit is contained in:
xd 2024-06-17 17:00:12 +08:00
parent 3f14e0177e
commit 96e6c2d0c3
8 changed files with 237 additions and 173 deletions

View File

@ -1,13 +1,5 @@
#for tests only ! #for tests only !
<<<<<<< HEAD #Mon Jun 17 15:48:27 CST 2024
#Fri Jun 14 14:56:10 CST 2024
=======
<<<<<<< HEAD
#Fri Jun 14 15:11:13 CST 2024
=======
#Fri Jun 14 11:47:35 CST 2024
>>>>>>> 4f24577e27615af0f5c59b77a49deac1fa915200
>>>>>>> 2d988a2a6ab5b02b0e5a1fb532fbbe9a4506090c
jco.destination.pool_capacity=10 jco.destination.pool_capacity=10
jco.client.lang=ZH jco.client.lang=ZH
jco.client.ashost=172.19.0.125 jco.client.ashost=172.19.0.125
@ -15,14 +7,5 @@ jco.client.saprouter=
jco.client.user=RFC jco.client.user=RFC
jco.client.sysnr=00 jco.client.sysnr=00
jco.destination.peak_limit=10 jco.destination.peak_limit=10
<<<<<<< HEAD
jco.client.passwd=w#5?5KrYAXJkIlK$jo-`m}bwas!6.[bT!=Xmo.]-;Q#6*HV+
jco.client.client=800
=======
<<<<<<< HEAD
jco.client.passwd=654321 jco.client.passwd=654321
======= jco.client.client=800
jco.client.passwd=fIM!UgIY[[%*5IWWy6w`}PO$6)+{K)R`9,$_P^3ve}26(Qf|
>>>>>>> 4f24577e27615af0f5c59b77a49deac1fa915200
jco.client.client=300
>>>>>>> 2d988a2a6ab5b02b0e5a1fb532fbbe9a4506090c

View File

@ -1,5 +1,6 @@
package com.ruoyi.web.controller.quot; package com.ruoyi.web.controller.quot;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -165,11 +166,12 @@ public class QuotController extends BaseController
@Log(title = "报价单-手动更新状态为通过", businessType = BusinessType.UPDATE) @Log(title = "报价单-手动更新状态为通过", businessType = BusinessType.UPDATE)
public AjaxResult getAllPassInfo(@PathVariable("quotId") String quotId) public AjaxResult getAllPassInfo(@PathVariable("quotId") String quotId)
{ {
Quot quot = quotService.selectQuotByQuotId(quotId); Quot quot = new Quot();
quot.setQuotId(quotId);
quot.setQuotApprovalStatus("2");// 提交状态设置为 通过 quot.setQuotApprovalStatus("2");// 提交状态设置为 通过
quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期 quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期
quot.setQuotCheckUserName(getUsername()); quot.setQuotCheckUserName(getUsername());
quotService.updateQuot(quot); quotService.updateQuotAllPassInfo(quot);
return success(quot); return success(quot);
} }
@ -769,6 +771,24 @@ public class QuotController extends BaseController
return error("OA审批流程还未完成"); return error("OA审批流程还未完成");
} }
//下点超5.2 提醒
BigDecimal tpxd = BigDecimal.ZERO;
List<QuotMaterial> materials = quot.getQuotMaterialList();
if(materials!=null&&materials.size()>0){
for(QuotMaterial quotMaterial:materials){
BigDecimal matQuotTp = quotMaterial.getMatQuotTp();
if(BigDecimal.ZERO.compareTo(matQuotTp)<0){
tpxd = matQuotTp;
break;
}
}
}
String matQuotTp = configService.selectConfigByKey("quot.allow.matQuotTp");
if(tpxd.compareTo(new BigDecimal(matQuotTp))>0 && "0".equals(quot_oa_approval_status)){
return error("特批下点数超"+matQuotTp+"个点,请走OA审批流程");
}
quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期 quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期
quot.setQuotApprovalStatus("2"); quot.setQuotApprovalStatus("2");
quot.setQuotCheckUserName(getUsername()); quot.setQuotCheckUserName(getUsername());

View File

@ -217,8 +217,8 @@ public class HttpUtils
conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
conn.setRequestProperty("Accept-Charset", "utf-8"); conn.setRequestProperty("Accept-Charset", "utf-8");
conn.setRequestProperty("contentType", "application/json"); conn.setRequestProperty("contentType", "application/json; charset=utf-8");
conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");
// 设置Cookie头部 // 设置Cookie头部
if(StringUtils.isNotEmpty(cookie)){ if(StringUtils.isNotEmpty(cookie)){
String cookies[] = cookie.split("; "); String cookies[] = cookie.split("; ");

View File

@ -124,4 +124,10 @@ public interface IQuotService
* @return * @return
*/ */
String getCode(String type); String getCode(String type);
/**
* 报价单-手动更新状态为通过
* @param quot
*/
void updateQuotAllPassInfo(Quot quot);
} }

View File

@ -269,4 +269,13 @@ public class QuotServiceImpl implements IQuotService
public String getCode(String type) { public String getCode(String type) {
return quotMapper.getCode(type); return quotMapper.getCode(type);
} }
/**
* 报价单-手动更新状态为通过
* @param quot
*/
@Override
public void updateQuotAllPassInfo(Quot quot) {
quotMapper.updateQuot(quot);
}
} }

View File

@ -217,44 +217,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="quotSalesmanName != null and quotSalesmanName != ''">quot_salesman_name,</if> <if test="quotSalesmanName != null and quotSalesmanName != ''">quot_salesman_name,</if>
<if test="quotCustomerBm != null and quotCustomerBm != ''">quot_customer_bm,</if> <if test="quotCustomerBm != null and quotCustomerBm != ''">quot_customer_bm,</if>
<if test="quotCustomerName != null and quotCustomerName != ''">quot_customer_name,</if> <if test="quotCustomerName != null and quotCustomerName != ''">quot_customer_name,</if>
<if test="quotSalesmanDeptId != null">quot_salesman_dept_id,</if> <if test="quotSalesmanDeptId != null and quotSalesmanDeptId != ''">quot_salesman_dept_id,</if>
<if test="quotSalesmanDeptName != null">quot_salesman_dept_name,</if> <if test="quotSalesmanDeptName != null and quotSalesmanDeptName != ''">quot_salesman_dept_name,</if>
<if test="quotAddress != null">quot_address,</if> <if test="quotAddress != null and quotAddress != ''">quot_address,</if>
<if test="quotContacts != null">quot_contacts,</if> <if test="quotContacts != null and quotContacts != ''">quot_contacts,</if>
<if test="quotPhone != null">quot_phone,</if> <if test="quotPhone != null and quotPhone != ''">quot_phone,</if>
<if test="quotInquiryDate != null">quot_inquiry_date,</if> <if test="quotInquiryDate != null">quot_inquiry_date,</if>
<if test="quotProject != null and quotProject != ''">quot_project,</if> <if test="quotProject != null and quotProject != ''">quot_project,</if>
<if test="quotQuotationDate != null">quot_quotation_date,</if> <if test="quotQuotationDate != null">quot_quotation_date,</if>
<if test="quotQuotationFrom != null">quot_quotation_from,</if> <if test="quotQuotationFrom != null and quotQuotationFrom != ''">quot_quotation_from,</if>
<if test="quotQuotationRequire != null and quotQuotationRequire != ''">quot_quotation_require,</if> <if test="quotQuotationRequire != null and quotQuotationRequire != ''">quot_quotation_require,</if>
<if test="quotFeedbackExplanation != null">quot_feedback_explanation,</if> <if test="quotFeedbackExplanation != null and quotFeedbackExplanation != ''">quot_feedback_explanation,</if>
<if test="quotQuantity != null">quot_quantity,</if> <if test="quotQuantity != null and quotQuantity != ''">quot_quantity,</if>
<if test="quotTotalPrice != null">quot_total_price,</if> <if test="quotTotalPrice != null and quotTotalPrice != ''">quot_total_price,</if>
<if test="quotCheckUserName != null">quot_check_user_name,</if> <if test="quotCheckUserName != null and quotCheckUserName != ''">quot_check_user_name,</if>
<if test="quotApprovalStatus != null">quot_approval_status,</if> <if test="quotApprovalStatus != null and quotApprovalStatus != ''">quot_approval_status,</if>
<if test="quotMaterialsCount != null">quot_materials_count,</if> <if test="quotMaterialsCount != null and quotMaterialsCount != ''">quot_materials_count,</if>
<if test="quotLvPrice != null">quot_lv_price,</if> <if test="quotLvPrice != null and quotLvPrice != ''">quot_lv_price,</if>
<if test="quotTongPrice != null">quot_tong_price,</if> <if test="quotTongPrice != null and quotTongPrice != ''">quot_tong_price,</if>
<if test="quotMatpriceDiff != null">quot_matprice_diff,</if> <if test="quotMatpriceDiff != null and quotMatpriceDiff != ''">quot_matprice_diff,</if>
<if test="quotPrint != null">quot_print,</if> <if test="quotPrint != null and quotPrint != ''">quot_print,</if>
<if test="quotPrintUserName != null">quot_print_user_name,</if> <if test="quotPrintUserName != null and quotPrintUserName != ''">quot_print_user_name,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null and createBy != ''">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null and updateBy != ''">update_by,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="quotJsxzStandard != null">quot_jsxz_standard,</if> <if test="quotJsxzStandard != null and quotJsxzStandard != ''">quot_jsxz_standard,</if>
<if test="quotJsxzApprovalStatus != null">quot_jsxz_approval_status,</if> <if test="quotJsxzApprovalStatus != null and quotJsxzApprovalStatus != ''">quot_jsxz_approval_status,</if>
<if test="quotJsxzChapter != null">quot_jsxz_chapter,</if> <if test="quotJsxzChapter != null and quotJsxzChapter != ''">quot_jsxz_chapter,</if>
<if test="quotJsxzTechnicalRequirement != null">quot_jsxz_technical_requirement,</if> <if test="quotJsxzTechnicalRequirement != null and quotJsxzTechnicalRequirement != ''">quot_jsxz_technical_requirement,</if>
<if test="quotJsxzGroupValues != null">quot_jsxz_group_values,</if> <if test="quotJsxzGroupValues != null and quotJsxzGroupValues != ''">quot_jsxz_group_values,</if>
<if test="quotJsxzConfirmId != null">quot_jsxz_confirm_id,</if> <if test="quotJsxzConfirmId != null and quotJsxzConfirmId != ''">quot_jsxz_confirm_id,</if>
<if test="quotHjId != null">quot_hj_id,</if> <if test="quotHjId != null and quotHjId != ''">quot_hj_id,</if>
<if test="quotHjApprovalStatus != null">quot_hj_approval_status,</if> <if test="quotHjApprovalStatus != null and quotHjApprovalStatus != ''">quot_hj_approval_status,</if>
<if test="quotJswApprovalStatus != null">quot_jsw_approval_status,</if> <if test="quotJswApprovalStatus != null and quotJswApprovalStatus != ''">quot_jsw_approval_status,</if>
<if test="quotOAApprovalStatus != null">quot_oa_approval_status,</if> <if test="quotOAApprovalStatus != null and quotOAApprovalStatus != ''">quot_oa_approval_status,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="quotId != null and quotId != ''">#{quotId},</if> <if test="quotId != null and quotId != ''">#{quotId},</if>
@ -265,44 +265,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="quotSalesmanName != null and quotSalesmanName != ''">#{quotSalesmanName},</if> <if test="quotSalesmanName != null and quotSalesmanName != ''">#{quotSalesmanName},</if>
<if test="quotCustomerBm != null and quotCustomerBm != ''">#{quotCustomerBm},</if> <if test="quotCustomerBm != null and quotCustomerBm != ''">#{quotCustomerBm},</if>
<if test="quotCustomerName != null and quotCustomerName != ''">#{quotCustomerName},</if> <if test="quotCustomerName != null and quotCustomerName != ''">#{quotCustomerName},</if>
<if test="quotSalesmanDeptId != null">#{quotSalesmanDeptId},</if> <if test="quotSalesmanDeptId != null and quotSalesmanDeptId != ''">#{quotSalesmanDeptId},</if>
<if test="quotSalesmanDeptName != null">#{quotSalesmanDeptName},</if> <if test="quotSalesmanDeptName != null and quotSalesmanDeptName != ''">#{quotSalesmanDeptName},</if>
<if test="quotAddress != null">#{quotAddress},</if> <if test="quotAddress != null and quotAddress != ''">#{quotAddress},</if>
<if test="quotContacts != null">#{quotContacts},</if> <if test="quotContacts != null and quotContacts != ''">#{quotContacts},</if>
<if test="quotPhone != null">#{quotPhone},</if> <if test="quotPhone != null and quotPhone != ''">#{quotPhone},</if>
<if test="quotInquiryDate != null">#{quotInquiryDate},</if> <if test="quotInquiryDate != null">#{quotInquiryDate},</if>
<if test="quotProject != null and quotProject != ''">#{quotProject},</if> <if test="quotProject != null and quotProject != ''">#{quotProject},</if>
<if test="quotQuotationDate != null">#{quotQuotationDate},</if> <if test="quotQuotationDate != null">#{quotQuotationDate},</if>
<if test="quotQuotationFrom != null">#{quotQuotationFrom},</if> <if test="quotQuotationFrom != null and quotQuotationFrom != ''">#{quotQuotationFrom},</if>
<if test="quotQuotationRequire != null and quotQuotationRequire != ''">#{quotQuotationRequire},</if> <if test="quotQuotationRequire != null and quotQuotationRequire != ''">#{quotQuotationRequire},</if>
<if test="quotFeedbackExplanation != null">#{quotFeedbackExplanation},</if> <if test="quotFeedbackExplanation != null and quotFeedbackExplanation != ''">#{quotFeedbackExplanation},</if>
<if test="quotQuantity != null">#{quotQuantity},</if> <if test="quotQuantity != null and quotQuantity != ''">#{quotQuantity},</if>
<if test="quotTotalPrice != null">#{quotTotalPrice},</if> <if test="quotTotalPrice != null and quotTotalPrice != ''">#{quotTotalPrice},</if>
<if test="quotCheckUserName != null">#{quotCheckUserName},</if> <if test="quotCheckUserName != null and quotCheckUserName != ''">#{quotCheckUserName},</if>
<if test="quotApprovalStatus != null">#{quotApprovalStatus},</if> <if test="quotApprovalStatus != null and quotApprovalStatus != ''">#{quotApprovalStatus},</if>
<if test="quotMaterialsCount != null">#{quotMaterialsCount},</if> <if test="quotMaterialsCount != null and quotMaterialsCount != ''">#{quotMaterialsCount},</if>
<if test="quotLvPrice != null">#{quotLvPrice},</if> <if test="quotLvPrice != null and quotLvPrice != ''">#{quotLvPrice},</if>
<if test="quotTongPrice != null">#{quotTongPrice},</if> <if test="quotTongPrice != null and quotTongPrice != ''">#{quotTongPrice},</if>
<if test="quotMatpriceDiff != null">#{quotMatpriceDiff},</if> <if test="quotMatpriceDiff != null and quotMatpriceDiff != ''">#{quotMatpriceDiff},</if>
<if test="quotPrint != null">#{quotPrint},</if> <if test="quotPrint != null and quotPrint != ''">#{quotPrint},</if>
<if test="quotPrintUserName != null">#{quotPrintUserName},</if> <if test="quotPrintUserName != null and quotPrintUserName != ''">#{quotPrintUserName},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null and updateBy != ''">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="quotJsxzStandard != null">#{quotJsxzStandard},</if> <if test="quotJsxzStandard != null and quotJsxzStandard != ''">#{quotJsxzStandard},</if>
<if test="quotJsxzApprovalStatus != null">#{quotJsxzApprovalStatus},</if> <if test="quotJsxzApprovalStatus != null and quotJsxzApprovalStatus != ''">#{quotJsxzApprovalStatus},</if>
<if test="quotJsxzChapter != null">#{quotJsxzChapter},</if> <if test="quotJsxzChapter != null and quotJsxzChapter != ''">#{quotJsxzChapter},</if>
<if test="quotJsxzTechnicalRequirement != null">#{quotJsxzTechnicalRequirement},</if> <if test="quotJsxzTechnicalRequirement != null and quotJsxzTechnicalRequirement != ''">#{quotJsxzTechnicalRequirement},</if>
<if test="quotJsxzGroupValues != null">#{quotJsxzGroupValues},</if> <if test="quotJsxzGroupValues != null and quotJsxzGroupValues != ''">#{quotJsxzGroupValues},</if>
<if test="quotJsxzConfirmId != null">#{quotJsxzConfirmId},</if> <if test="quotJsxzConfirmId != null and quotJsxzConfirmId != ''">#{quotJsxzConfirmId},</if>
<if test="quotHjId != null">#{quotHjId},</if> <if test="quotHjId != null and quotHjId != ''">#{quotHjId},</if>
<if test="quotHjApprovalStatus != null">#{quotHjApprovalStatus},</if> <if test="quotHjApprovalStatus != null and quotHjApprovalStatus != ''">#{quotHjApprovalStatus},</if>
<if test="quotJswApprovalStatus != null">#{quotJswApprovalStatus},</if> <if test="quotJswApprovalStatus != null and quotJswApprovalStatus != ''">#{quotJswApprovalStatus},</if>
<if test="quotOAApprovalStatus != null">#{quotOAApprovalStatus},</if> <if test="quotOAApprovalStatus != null and quotOAApprovalStatus != ''">#{quotOAApprovalStatus},</if>
</trim> </trim>
</insert> </insert>
@ -320,16 +320,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="quotCode != null and quotCode != ''">quot_code,</if> <if test="quotCode != null and quotCode != ''">quot_code,</if>
<if test="quotSalesmanName != null and quotSalesmanName != ''">quot_salesman_name,</if> <if test="quotSalesmanName != null and quotSalesmanName != ''">quot_salesman_name,</if>
<if test="quotCustomerName != null and quotCustomerName != ''">quot_customer_name,</if> <if test="quotCustomerName != null and quotCustomerName != ''">quot_customer_name,</if>
<if test="quotAddress != null">quot_address,</if> <if test="quotAddress != null and quotAddress != ''">quot_address,</if>
<if test="quotPhone != null">quot_phone,</if> <if test="quotPhone != null and quotPhone != ''">quot_phone,</if>
<if test="quotInquiryDate != null">quot_inquiry_date,</if> <if test="quotInquiryDate != null">quot_inquiry_date,</if>
<if test="quotProject != null and quotProject != ''">quot_project,</if> <if test="quotProject != null and quotProject != ''">quot_project,</if>
<if test="quotQuotationRequire != null and quotQuotationRequire != ''">quot_quotation_require,</if> <if test="quotQuotationRequire != null and quotQuotationRequire != ''">quot_quotation_require,</if>
<if test="quotLvPrice != null">quot_lv_price,</if> <if test="quotLvPrice != null and quotLvPrice != ''">quot_lv_price,</if>
<if test="quotTongPrice != null">quot_tong_price,</if> <if test="quotTongPrice != null and quotTongPrice != ''">quot_tong_price,</if>
<if test="quotMatpriceDiff != null">quot_matprice_diff,</if> <if test="quotMatpriceDiff != null and quotMatpriceDiff != ''">quot_matprice_diff,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="isFinish != null">isFinish,</if> <if test="isFinish != null and isFinish != ''">isFinish,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null and userId != ''">#{userId},</if> <if test="userId != null and userId != ''">#{userId},</if>
@ -339,16 +339,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="quotCode != null and quotCode != ''">#{quotCode},</if> <if test="quotCode != null and quotCode != ''">#{quotCode},</if>
<if test="quotSalesmanName != null and quotSalesmanName != ''">#{quotSalesmanName},</if> <if test="quotSalesmanName != null and quotSalesmanName != ''">#{quotSalesmanName},</if>
<if test="quotCustomerName != null and quotCustomerName != ''">#{quotCustomerName},</if> <if test="quotCustomerName != null and quotCustomerName != ''">#{quotCustomerName},</if>
<if test="quotAddress != null">#{quotAddress},</if> <if test="quotAddress != null and quotAddress != ''">#{quotAddress},</if>
<if test="quotPhone != null">#{quotPhone},</if> <if test="quotPhone != null and quotPhone != ''">#{quotPhone},</if>
<if test="quotInquiryDate != null">#{quotInquiryDate},</if> <if test="quotInquiryDate != null">#{quotInquiryDate},</if>
<if test="quotProject != null and quotProject != ''">#{quotProject},</if> <if test="quotProject != null and quotProject != ''">#{quotProject},</if>
<if test="quotQuotationRequire != null and quotQuotationRequire != ''">#{quotQuotationRequire},</if> <if test="quotQuotationRequire != null and quotQuotationRequire != ''">#{quotQuotationRequire},</if>
<if test="quotLvPrice != null">#{quotLvPrice},</if> <if test="quotLvPrice != null and quotLvPrice != ''">#{quotLvPrice},</if>
<if test="quotTongPrice != null">#{quotTongPrice},</if> <if test="quotTongPrice != null and quotTongPrice != ''">#{quotTongPrice},</if>
<if test="quotMatpriceDiff != null">#{quotMatpriceDiff},</if> <if test="quotMatpriceDiff != null and quotMatpriceDiff != ''">#{quotMatpriceDiff},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="isFinish != null">#{isFinish},</if> <if test="isFinish != null and isFinish != ''">#{isFinish},</if>
</trim> </trim>
</insert> </insert>
@ -362,44 +362,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="quotSalesmanName != null and quotSalesmanName != ''">quot_salesman_name = #{quotSalesmanName},</if> <if test="quotSalesmanName != null and quotSalesmanName != ''">quot_salesman_name = #{quotSalesmanName},</if>
<if test="quotCustomerBm != null and quotCustomerBm != ''">quot_customer_bm = #{quotCustomerBm},</if> <if test="quotCustomerBm != null and quotCustomerBm != ''">quot_customer_bm = #{quotCustomerBm},</if>
<if test="quotCustomerName != null and quotCustomerName != ''">quot_customer_name = #{quotCustomerName},</if> <if test="quotCustomerName != null and quotCustomerName != ''">quot_customer_name = #{quotCustomerName},</if>
<if test="quotSalesmanDeptId != null">quot_salesman_dept_id = #{quotSalesmanDeptId},</if> <if test="quotSalesmanDeptId != null and quotSalesmanDeptId != ''">quot_salesman_dept_id = #{quotSalesmanDeptId},</if>
<if test="quotSalesmanDeptName != null">quot_salesman_dept_name = #{quotSalesmanDeptName},</if> <if test="quotSalesmanDeptName != null and quotSalesmanDeptName != ''">quot_salesman_dept_name = #{quotSalesmanDeptName},</if>
<if test="quotAddress != null">quot_address = #{quotAddress},</if> <if test="quotAddress != null and quotAddress != ''">quot_address = #{quotAddress},</if>
<if test="quotContacts != null">quot_contacts = #{quotContacts},</if> <if test="quotContacts != null and quotContacts != ''">quot_contacts = #{quotContacts},</if>
<if test="quotPhone != null">quot_phone = #{quotPhone},</if> <if test="quotPhone != null and quotPhone != ''">quot_phone = #{quotPhone},</if>
<if test="quotInquiryDate != null">quot_inquiry_date = #{quotInquiryDate},</if> <if test="quotInquiryDate != null">quot_inquiry_date = #{quotInquiryDate},</if>
<if test="quotProject != null and quotProject != ''">quot_project = #{quotProject},</if> <if test="quotProject != null and quotProject != ''">quot_project = #{quotProject},</if>
<if test="quotQuotationDate != null">quot_quotation_date = #{quotQuotationDate},</if> <if test="quotQuotationDate != null">quot_quotation_date = #{quotQuotationDate},</if>
<if test="quotQuotationFrom != null">quot_quotation_from = #{quotQuotationFrom},</if> <if test="quotQuotationFrom != null and quotQuotationFrom != ''">quot_quotation_from = #{quotQuotationFrom},</if>
<if test="quotQuotationRequire != null and quotQuotationRequire != ''">quot_quotation_require = #{quotQuotationRequire},</if> <if test="quotQuotationRequire != null and quotQuotationRequire != ''">quot_quotation_require = #{quotQuotationRequire},</if>
<if test="quotFeedbackExplanation != null">quot_feedback_explanation = #{quotFeedbackExplanation},</if> <if test="quotFeedbackExplanation != null and quotFeedbackExplanation != ''">quot_feedback_explanation = #{quotFeedbackExplanation},</if>
<if test="quotQuantity != null">quot_quantity = #{quotQuantity},</if> <if test="quotQuantity != null and quotQuantity != ''">quot_quantity = #{quotQuantity},</if>
<if test="quotTotalPrice != null">quot_total_price = #{quotTotalPrice},</if> <if test="quotTotalPrice != null and quotTotalPrice != ''">quot_total_price = #{quotTotalPrice},</if>
<if test="quotCheckUserName != null">quot_check_user_name = #{quotCheckUserName},</if> <if test="quotCheckUserName != null and quotCheckUserName != ''">quot_check_user_name = #{quotCheckUserName},</if>
<if test="quotApprovalStatus != null">quot_approval_status = #{quotApprovalStatus},</if> <if test="quotApprovalStatus != null and quotApprovalStatus != ''">quot_approval_status = #{quotApprovalStatus},</if>
<if test="quotMaterialsCount != null">quot_materials_count = #{quotMaterialsCount},</if> <if test="quotMaterialsCount != null and quotMaterialsCount != ''">quot_materials_count = #{quotMaterialsCount},</if>
<if test="quotLvPrice != null">quot_lv_price = #{quotLvPrice},</if> <if test="quotLvPrice != null and quotLvPrice != ''">quot_lv_price = #{quotLvPrice},</if>
<if test="quotTongPrice != null">quot_tong_price = #{quotTongPrice},</if> <if test="quotTongPrice != null and quotTongPrice != ''">quot_tong_price = #{quotTongPrice},</if>
<if test="quotMatpriceDiff != null">quot_matprice_diff = #{quotMatpriceDiff},</if> <if test="quotMatpriceDiff != null and quotMatpriceDiff != ''">quot_matprice_diff = #{quotMatpriceDiff},</if>
<if test="quotPrint != null">quot_print = #{quotPrint},</if> <if test="quotPrint != null and quotPrint != ''">quot_print = #{quotPrint},</if>
<if test="quotPrintUserName != null">quot_print_user_name = #{quotPrintUserName},</if> <if test="quotPrintUserName != null and quotPrintUserName != ''">quot_print_user_name = #{quotPrintUserName},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="quotJsxzStandard != null">quot_jsxz_standard = #{quotJsxzStandard},</if> <if test="quotJsxzStandard != null and quotJsxzStandard != ''">quot_jsxz_standard = #{quotJsxzStandard},</if>
<if test="quotJsxzApprovalStatus != null">quot_jsxz_approval_status = #{quotJsxzApprovalStatus},</if> <if test="quotJsxzApprovalStatus != null and quotJsxzApprovalStatus != ''">quot_jsxz_approval_status = #{quotJsxzApprovalStatus},</if>
<if test="quotJsxzChapter != null">quot_jsxz_chapter = #{quotJsxzChapter},</if> <if test="quotJsxzChapter != null and quotJsxzChapter != ''">quot_jsxz_chapter = #{quotJsxzChapter},</if>
<if test="quotJsxzTechnicalRequirement != null">quot_jsxz_technical_requirement = #{quotJsxzTechnicalRequirement},</if> <if test="quotJsxzTechnicalRequirement != null and quotJsxzTechnicalRequirement != ''">quot_jsxz_technical_requirement = #{quotJsxzTechnicalRequirement},</if>
<if test="quotJsxzGroupValues != null">quot_jsxz_group_values = #{quotJsxzGroupValues},</if> <if test="quotJsxzGroupValues != null and quotJsxzGroupValues != ''">quot_jsxz_group_values = #{quotJsxzGroupValues},</if>
<if test="quotJsxzConfirmId != null">quot_jsxz_confirm_id = #{quotJsxzConfirmId},</if> <if test="quotJsxzConfirmId != null and quotJsxzConfirmId != ''">quot_jsxz_confirm_id = #{quotJsxzConfirmId},</if>
<if test="quotHjId != null">quot_hj_id = #{quotHjId},</if> <if test="quotHjId != null and quotHjId != ''">quot_hj_id = #{quotHjId},</if>
<if test="quotHjApprovalStatus != null">quot_hj_approval_status = #{quotHjApprovalStatus},</if> <if test="quotHjApprovalStatus != null and quotHjApprovalStatus != ''">quot_hj_approval_status = #{quotHjApprovalStatus},</if>
<if test="quotJswApprovalStatus != null">quot_jsw_approval_status = #{quotJswApprovalStatus},</if> <if test="quotJswApprovalStatus != null and quotJswApprovalStatus != ''">quot_jsw_approval_status = #{quotJswApprovalStatus},</if>
<if test="quotOAApprovalStatus != null">quot_oa_approval_status = #{quotOAApprovalStatus},</if> <if test="quotOAApprovalStatus != null and quotOAApprovalStatus != ''">quot_oa_approval_status = #{quotOAApprovalStatus},</if>
</trim> </trim>
where quot_id = #{quotId} where quot_id = #{quotId}
</update> </update>

View File

@ -396,7 +396,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="8" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])"> <el-row :gutter="8" v-if="checkRole(['QUOT','PRICE_VERIFICATION','SALES_MAN'])">
<el-col :span="24" v-if="this.form.quotOAApprovalStatus == '2' || this.form.quotOAApprovalStatus == '3'"> <el-col :span="24" v-if="this.form.quotOAApprovalStatus == '2' || this.form.quotOAApprovalStatus == '3'">
<el-form-item label="OA审批说明" prop="quotOAApprovalStatusRemark"> <el-form-item label="OA审批说明" prop="quotOAApprovalStatusRemark">
<el-input type="textarea" autosize v-model="form.quotOAApprovalStatusRemark" :disabled="true"/> <el-input type="textarea" autosize v-model="form.quotOAApprovalStatusRemark" :disabled="true"/>
@ -406,19 +406,26 @@
<el-divider content-position="left" class="customer_divider_text">清单附件(先保存再上传且必须是EXCEL文件)</el-divider> <el-divider content-position="left" class="customer_divider_text">清单附件(先保存再上传且必须是EXCEL文件)</el-divider>
<div v-hasPermi="['quot:quot:quotXjFile']"> <div v-hasPermi="['quot:quot:quotXjFile']">
<el-upload class="upload-demo" <el-row :gutter="10" class="mb8">
ref="quotXjFileUpload" <el-col :span="1.5">
name="quotFile" <el-upload class="upload-demo"
:action="uploadUrl" ref="quotXjFileUpload"
:headers="headers" name="quotFile"
:data="{ relation_id: this.form.quotId,file_type: 'quotXjFile' }" :action="uploadUrl"
:before-upload="beforeAvatarUploadQuotXjFile" :headers="headers"
:on-success="handleAvatarSuccess" :data="{ relation_id: this.form.quotId,file_type: 'quotXjFile' }"
:show-file-list="false" :before-upload="beforeAvatarUploadQuotXjFile"
:limit="1" :on-success="handleAvatarSuccess"
v-if="this.form.quotApprovalStatus == '0'"> :show-file-list="false"
<el-button size="small" type="primary" @click="uploadFile('quotXjFile')">上传文件</el-button> :limit="1"
</el-upload> v-if="this.form.quotApprovalStatus == '0'">
<el-button size="mini" type="primary" @click="uploadFile('quotXjFile')">上传文件</el-button>
</el-upload>
</el-col>
<el-col :span="1.5">
<el-button type="info" plain icon="el-icon-download" size="mini" @click="importTemplate">清单附件模版下载</el-button>
</el-col>
</el-row>
</div> </div>
<el-table class="down" v-loading="quotXjFileLoading" :data="quotXjFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px"> <el-table class="down" v-loading="quotXjFileLoading" :data="quotXjFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px">
<el-table-column prop="fileName" label="文件名称" ></el-table-column> <el-table-column prop="fileName" label="文件名称" ></el-table-column>
@ -454,7 +461,7 @@
:show-file-list="false" :show-file-list="false"
:limit="1" :limit="1"
v-if="this.form.quotApprovalStatus == '0'"> v-if="this.form.quotApprovalStatus == '0'">
<el-button size="small" type="primary" @click="uploadFile('quotJsgfFile')">上传文件</el-button> <el-button size="mini" type="primary" @click="uploadFile('quotJsgfFile')">上传文件</el-button>
</el-upload> </el-upload>
</div> </div>
<el-table class="down" v-loading="quotJsgfFileLoading" :data="quotJsgfFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px"> <el-table class="down" v-loading="quotJsgfFileLoading" :data="quotJsgfFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px">
@ -480,14 +487,17 @@
<el-divider content-position="left" class="customer_divider_text">产品信息</el-divider> <el-divider content-position="left" class="customer_divider_text">产品信息</el-divider>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <!--<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddQuotMaterial" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">添加</el-button> <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddQuotMaterial" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">添加</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteQuotMaterial" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">删除</el-button> <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteQuotMaterial" v-if="this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null">删除</el-button>
</el-col> </el-col>-->
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-if="(this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null) || checkRole(['QUOT','PRICE_VERIFICATION'])">导入</el-button> <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-if="(this.form.quotApprovalStatus == '0' || this.form.quotApprovalStatus == null) || checkRole(['QUOT','PRICE_VERIFICATION'])">导入</el-button>
</el-col>-->
<el-col :span="1.5" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
</el-col> </el-col>
<el-col :span="1.5" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])"> <el-col :span="1.5" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleExportMaterial">导出</el-button> <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleExportMaterial">导出</el-button>
@ -531,22 +541,22 @@
<el-input v-model="scope.row.matMatprice" :disabled="true"/> <el-input v-model="scope.row.matMatprice" :disabled="true"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="红本单价" prop="matPrice" v-if="checkRole(['QUOT','QUOT_MAT_PRICE_DIFF'])" width="130"> <el-table-column label="红本单价" prop="matPrice" v-if="checkRole(['QUOT','PRICE_VERIFICATION','QUOT_MAT_PRICE_DIFF'])" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.matPrice" :disabled="true"/> <el-input v-model="scope.row.matPrice" :disabled="true"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="特批下点" prop="matQuotTp" v-if="checkRole(['QUOT','QUOT_MAT_PRICE_DIFF'])" width="100"> <el-table-column label="特批下点" prop="matQuotTp" v-if="checkRole(['QUOT','PRICE_VERIFICATION','QUOT_MAT_PRICE_DIFF'])" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.matQuotTp" :disabled="true"/> <el-input v-model="scope.row.matQuotTp" :disabled="true"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="报价单价" prop="matQuotPrice" v-if="checkRole(['QUOT','QUOT_MAT_PRICE_DIFF'])" width="130"> <el-table-column label="报价单价" prop="matQuotPrice" v-if="checkRole(['QUOT','PRICE_VERIFICATION','SALES_MAN','QUOT_MAT_PRICE_DIFF'])" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.matQuotPrice" :disabled="true"/> <el-input v-model="scope.row.matQuotPrice" :disabled="true"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="报价小计" prop="matQuotAllPrice" v-if="checkRole(['QUOT','QUOT_MAT_PRICE_DIFF'])" width="130"> <el-table-column label="报价小计" prop="matQuotAllPrice" v-if="checkRole(['QUOT','PRICE_VERIFICATION','SALES_MAN','QUOT_MAT_PRICE_DIFF'])" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.matQuotAllPrice" :disabled="true"/> <el-input v-model="scope.row.matQuotAllPrice" :disabled="true"/>
</template> </template>
@ -571,7 +581,7 @@
:show-file-list="false" :show-file-list="false"
:limit="1" :limit="1"
v-if="this.form.quotApprovalStatus == '1'"> v-if="this.form.quotApprovalStatus == '1'">
<el-button size="small" type="primary" @click="uploadFile('quotFkFile')">上传文件</el-button> <el-button size="mini" type="primary" @click="uploadFile('quotFkFile')">上传文件</el-button>
</el-upload> </el-upload>
</div> </div>
<el-table class="down" v-loading="quotFkFileLoading" :data="quotFkFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px"> <el-table class="down" v-loading="quotFkFileLoading" :data="quotFkFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px">
@ -593,7 +603,6 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 技术协助块--> <!-- 技术协助块-->
<div v-if="checkPermi(['quot:quot:jsxzInfo'])"> <div v-if="checkPermi(['quot:quot:jsxzInfo'])">
<el-divider content-position="left" class="customer_divider_text">技术协助</el-divider> <el-divider content-position="left" class="customer_divider_text">技术协助</el-divider>
@ -1624,36 +1633,38 @@ export default {
/** 对产品数据-数量、金额进行合算 */ /** 对产品数据-数量、金额进行合算 */
getSummaries(param) { getSummaries(param) {
const { columns, data } = param; const { columns, data } = param;
const sums = []; const sums = [];
columns.forEach((column, index) => { columns.forEach((column, index) => {
if (index === 0) { if (index === 0) {
sums[index] = '合计'; sums[index] = '合计';
return; return;
}
const values = data.map(item => Number(item[column.property]));
if (column.property === 'matSl' || column.property === 'matQuotAllPrice') {
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return NumberAdd(prev,curr);
}else {
return prev;
}
}, 0);
} else {
sums[index] = ''
} }
} const values = data.map(item => Number(item[column.property]));
});
this.form.quotQuantity = sums[6]; if (column.property === 'matSl' || column.property === 'matQuotAllPrice') {
this.form.quotTotalPrice = checkRole(['QUOT_MAT_PRICE_DIFF'])? sums[12] : sums[11]; if (!values.every(value => isNaN(value))) {
this.form.quotMaterialsCount = data.length; sums[index] = values.reduce((prev, curr) => {
return sums; const value = Number(curr);
if (!isNaN(value)) {
return NumberAdd(prev,curr);
}else {
return prev;
}
}, 0);
} else {
sums[index] = ''
}
}
});
this.form.quotQuantity = sums[6];
this.form.quotTotalPrice = checkRole(['QUOT_MAT_PRICE_DIFF'])? sums[12] : sums[11];
this.form.quotMaterialsCount = data.length;
return sums;
}, },
/*********************************附件列表数据展示、上传*****************************************/ /*********************************附件列表数据展示、上传*****************************************/
//- //-
getQuotXjFileList(){ getQuotXjFileList(){

View File

@ -79,6 +79,30 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="center">清单附件</el-divider>
<el-row :gutter="8">
<el-col :span="24">
<el-table class="down" :data="quotXjFileList" border stripe style="width: 100%;" height="150px">
<el-table-column prop="fileName" label="文件名称" width="450px"></el-table-column>
<el-table-column prop="fileSize" label="文件大小" width="100px">
<template slot-scope="scope">
<span v-if="scope.row.fileSize / 1024 / 1024 < 1">{{(scope.row.fileSize / 1024).toFixed(2) + 'KB'}}</span>
<span v-else>{{(scope.row.fileSize / 1024 / 1024).toFixed(2) + 'MB'}}</span>
</template>
</el-table-column>
<el-table-column prop="fileTime" label="上传时间"></el-table-column>
<el-table-column width="150px" label="操作">
<template slot-scope="scope">
<el-button :key="Math.random()" size="small" type="text">
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<el-divider content-position="center">技术规范要求(技术附件)</el-divider> <el-divider content-position="center">技术规范要求(技术附件)</el-divider>
<el-row :gutter="8"> <el-row :gutter="8">
<el-col :span="24"> <el-col :span="24">
@ -101,6 +125,7 @@
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
<div v-if="showTl"> <div v-if="showTl">
<el-divider content-position="center">特缆协助</el-divider> <el-divider content-position="center">特缆协助</el-divider>
<div style="margin-bottom: 10px;text-align:right"> <div style="margin-bottom: 10px;text-align:right">
@ -799,6 +824,7 @@
isSelfProp: true, isSelfProp: true,
// -- // --
quotJsgfFileList: [], quotJsgfFileList: [],
quotXjFileList: [],
//-- //--
uploadUrl: process.env.VUE_APP_BASE_API + "/quot/quot/quotFile", uploadUrl: process.env.VUE_APP_BASE_API + "/quot/quot/quotFile",
//-- //--
@ -922,6 +948,7 @@
}; };
this.quotJsgfFileList = []; this.quotJsgfFileList = [];
this.quotXjFileList = [];
this.quotJsqrFileList = []; this.quotJsqrFileList = [];
this.showTl = false; this.showTl = false;
@ -963,6 +990,7 @@
} }
this.getQuotJsgfFileList(); this.getQuotJsgfFileList();
this.getQuotXjFileList();
this.quotJsqrTlRemarkDisSet();//-/ this.quotJsqrTlRemarkDisSet();//-/
this.quotJsqrDyRemarkDisSet();//-/ this.quotJsqrDyRemarkDisSet();//-/
this.quotJsqrZyRemarkDisSet();//-/ this.quotJsqrZyRemarkDisSet();//-/
@ -987,6 +1015,13 @@
this.quotJsgfFileList = response.rows; this.quotJsgfFileList = response.rows;
}); });
}, },
//-
getQuotXjFileList(){
const param = {relationId:this.form.quotId,fileType:'quotXjFile'}
quotFileList(param).then(response => {
this.quotXjFileList = response.rows;
});
},
// //
doOperate(quotJsxzGroup,type,state){ doOperate(quotJsxzGroup,type,state){