diff --git a/ABAP_AS_WITH_POOL.jcoDestination b/ABAP_AS_WITH_POOL.jcoDestination index fd9e028..5af05ab 100644 --- a/ABAP_AS_WITH_POOL.jcoDestination +++ b/ABAP_AS_WITH_POOL.jcoDestination @@ -1,13 +1,5 @@ #for tests only ! -<<<<<<< HEAD -#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 +#Mon Jun 17 15:48:27 CST 2024 jco.destination.pool_capacity=10 jco.client.lang=ZH jco.client.ashost=172.19.0.125 @@ -15,14 +7,5 @@ jco.client.saprouter= jco.client.user=RFC jco.client.sysnr=00 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=fIM!UgIY[[%*5IWWy6w`}PO$6)+{K)R`9,$_P^3ve}26(Qf| ->>>>>>> 4f24577e27615af0f5c59b77a49deac1fa915200 -jco.client.client=300 ->>>>>>> 2d988a2a6ab5b02b0e5a1fb532fbbe9a4506090c +jco.client.client=800 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java index cccc91a..9d94123 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java @@ -1,5 +1,6 @@ package com.ruoyi.web.controller.quot; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -165,11 +166,12 @@ public class QuotController extends BaseController @Log(title = "报价单-手动更新状态为通过", businessType = BusinessType.UPDATE) public AjaxResult getAllPassInfo(@PathVariable("quotId") String quotId) { - Quot quot = quotService.selectQuotByQuotId(quotId); + Quot quot = new Quot(); + quot.setQuotId(quotId); quot.setQuotApprovalStatus("2");// 提交状态设置为 通过 quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期 quot.setQuotCheckUserName(getUsername()); - quotService.updateQuot(quot); + quotService.updateQuotAllPassInfo(quot); return success(quot); } @@ -769,6 +771,24 @@ public class QuotController extends BaseController return error("OA审批流程还未完成"); } + //下点超5.2 提醒 + BigDecimal tpxd = BigDecimal.ZERO; + List 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.setQuotApprovalStatus("2"); quot.setQuotCheckUserName(getUsername()); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java index 425ff51..179acc3 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java @@ -217,8 +217,8 @@ public class HttpUtils conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("Accept-Charset", "utf-8"); - conn.setRequestProperty("contentType", "application/json"); - conn.setRequestProperty("Content-Type", "application/json"); + conn.setRequestProperty("contentType", "application/json; charset=utf-8"); + conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); // 设置Cookie头部 if(StringUtils.isNotEmpty(cookie)){ String cookies[] = cookie.split("; "); diff --git a/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java b/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java index 361594c..083ed73 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/quot/service/IQuotService.java @@ -124,4 +124,10 @@ public interface IQuotService * @return */ String getCode(String type); + + /** + * 报价单-手动更新状态为通过 + * @param quot + */ + void updateQuotAllPassInfo(Quot quot); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java index 59e1f61..13bc1ee 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/quot/service/impl/QuotServiceImpl.java @@ -269,4 +269,13 @@ public class QuotServiceImpl implements IQuotService public String getCode(String type) { return quotMapper.getCode(type); } + + /** + * 报价单-手动更新状态为通过 + * @param quot + */ + @Override + public void updateQuotAllPassInfo(Quot quot) { + quotMapper.updateQuot(quot); + } } diff --git a/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml b/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml index dbc72b1..a81044d 100644 --- a/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/quot/QuotMapper.xml @@ -217,44 +217,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" quot_salesman_name, quot_customer_bm, quot_customer_name, - quot_salesman_dept_id, - quot_salesman_dept_name, - quot_address, - quot_contacts, - quot_phone, + quot_salesman_dept_id, + quot_salesman_dept_name, + quot_address, + quot_contacts, + quot_phone, quot_inquiry_date, quot_project, quot_quotation_date, - quot_quotation_from, + quot_quotation_from, quot_quotation_require, - quot_feedback_explanation, - quot_quantity, - quot_total_price, - quot_check_user_name, - quot_approval_status, - quot_materials_count, - quot_lv_price, - quot_tong_price, - quot_matprice_diff, - quot_print, - quot_print_user_name, - create_by, + quot_feedback_explanation, + quot_quantity, + quot_total_price, + quot_check_user_name, + quot_approval_status, + quot_materials_count, + quot_lv_price, + quot_tong_price, + quot_matprice_diff, + quot_print, + quot_print_user_name, + create_by, create_time, - update_by, + update_by, update_time, - quot_jsxz_standard, - quot_jsxz_approval_status, - quot_jsxz_chapter, - quot_jsxz_technical_requirement, - quot_jsxz_group_values, - quot_jsxz_confirm_id, + quot_jsxz_standard, + quot_jsxz_approval_status, + quot_jsxz_chapter, + quot_jsxz_technical_requirement, + quot_jsxz_group_values, + quot_jsxz_confirm_id, - quot_hj_id, - quot_hj_approval_status, + quot_hj_id, + quot_hj_approval_status, - quot_jsw_approval_status, - quot_oa_approval_status, + quot_jsw_approval_status, + quot_oa_approval_status, #{quotId}, @@ -265,44 +265,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{quotSalesmanName}, #{quotCustomerBm}, #{quotCustomerName}, - #{quotSalesmanDeptId}, - #{quotSalesmanDeptName}, - #{quotAddress}, - #{quotContacts}, - #{quotPhone}, + #{quotSalesmanDeptId}, + #{quotSalesmanDeptName}, + #{quotAddress}, + #{quotContacts}, + #{quotPhone}, #{quotInquiryDate}, #{quotProject}, #{quotQuotationDate}, - #{quotQuotationFrom}, + #{quotQuotationFrom}, #{quotQuotationRequire}, - #{quotFeedbackExplanation}, - #{quotQuantity}, - #{quotTotalPrice}, - #{quotCheckUserName}, - #{quotApprovalStatus}, - #{quotMaterialsCount}, - #{quotLvPrice}, - #{quotTongPrice}, - #{quotMatpriceDiff}, - #{quotPrint}, - #{quotPrintUserName}, - #{createBy}, + #{quotFeedbackExplanation}, + #{quotQuantity}, + #{quotTotalPrice}, + #{quotCheckUserName}, + #{quotApprovalStatus}, + #{quotMaterialsCount}, + #{quotLvPrice}, + #{quotTongPrice}, + #{quotMatpriceDiff}, + #{quotPrint}, + #{quotPrintUserName}, + #{createBy}, #{createTime}, - #{updateBy}, + #{updateBy}, #{updateTime}, - #{quotJsxzStandard}, - #{quotJsxzApprovalStatus}, - #{quotJsxzChapter}, - #{quotJsxzTechnicalRequirement}, - #{quotJsxzGroupValues}, - #{quotJsxzConfirmId}, + #{quotJsxzStandard}, + #{quotJsxzApprovalStatus}, + #{quotJsxzChapter}, + #{quotJsxzTechnicalRequirement}, + #{quotJsxzGroupValues}, + #{quotJsxzConfirmId}, - #{quotHjId}, - #{quotHjApprovalStatus}, + #{quotHjId}, + #{quotHjApprovalStatus}, - #{quotJswApprovalStatus}, - #{quotOAApprovalStatus}, + #{quotJswApprovalStatus}, + #{quotOAApprovalStatus}, @@ -320,16 +320,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" quot_code, quot_salesman_name, quot_customer_name, - quot_address, - quot_phone, + quot_address, + quot_phone, quot_inquiry_date, quot_project, quot_quotation_require, - quot_lv_price, - quot_tong_price, - quot_matprice_diff, + quot_lv_price, + quot_tong_price, + quot_matprice_diff, create_time, - isFinish, + isFinish, #{userId}, @@ -339,16 +339,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{quotCode}, #{quotSalesmanName}, #{quotCustomerName}, - #{quotAddress}, - #{quotPhone}, + #{quotAddress}, + #{quotPhone}, #{quotInquiryDate}, #{quotProject}, #{quotQuotationRequire}, - #{quotLvPrice}, - #{quotTongPrice}, - #{quotMatpriceDiff}, + #{quotLvPrice}, + #{quotTongPrice}, + #{quotMatpriceDiff}, #{createTime}, - #{isFinish}, + #{isFinish}, @@ -362,44 +362,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" quot_salesman_name = #{quotSalesmanName}, quot_customer_bm = #{quotCustomerBm}, quot_customer_name = #{quotCustomerName}, - quot_salesman_dept_id = #{quotSalesmanDeptId}, - quot_salesman_dept_name = #{quotSalesmanDeptName}, - quot_address = #{quotAddress}, - quot_contacts = #{quotContacts}, - quot_phone = #{quotPhone}, + quot_salesman_dept_id = #{quotSalesmanDeptId}, + quot_salesman_dept_name = #{quotSalesmanDeptName}, + quot_address = #{quotAddress}, + quot_contacts = #{quotContacts}, + quot_phone = #{quotPhone}, quot_inquiry_date = #{quotInquiryDate}, quot_project = #{quotProject}, quot_quotation_date = #{quotQuotationDate}, - quot_quotation_from = #{quotQuotationFrom}, + quot_quotation_from = #{quotQuotationFrom}, quot_quotation_require = #{quotQuotationRequire}, - quot_feedback_explanation = #{quotFeedbackExplanation}, - quot_quantity = #{quotQuantity}, - quot_total_price = #{quotTotalPrice}, - quot_check_user_name = #{quotCheckUserName}, - quot_approval_status = #{quotApprovalStatus}, - quot_materials_count = #{quotMaterialsCount}, - quot_lv_price = #{quotLvPrice}, - quot_tong_price = #{quotTongPrice}, - quot_matprice_diff = #{quotMatpriceDiff}, - quot_print = #{quotPrint}, - quot_print_user_name = #{quotPrintUserName}, - create_by = #{createBy}, + quot_feedback_explanation = #{quotFeedbackExplanation}, + quot_quantity = #{quotQuantity}, + quot_total_price = #{quotTotalPrice}, + quot_check_user_name = #{quotCheckUserName}, + quot_approval_status = #{quotApprovalStatus}, + quot_materials_count = #{quotMaterialsCount}, + quot_lv_price = #{quotLvPrice}, + quot_tong_price = #{quotTongPrice}, + quot_matprice_diff = #{quotMatpriceDiff}, + quot_print = #{quotPrint}, + quot_print_user_name = #{quotPrintUserName}, + create_by = #{createBy}, create_time = #{createTime}, - update_by = #{updateBy}, + update_by = #{updateBy}, update_time = #{updateTime}, - quot_jsxz_standard = #{quotJsxzStandard}, - quot_jsxz_approval_status = #{quotJsxzApprovalStatus}, - quot_jsxz_chapter = #{quotJsxzChapter}, - quot_jsxz_technical_requirement = #{quotJsxzTechnicalRequirement}, - quot_jsxz_group_values = #{quotJsxzGroupValues}, - quot_jsxz_confirm_id = #{quotJsxzConfirmId}, + quot_jsxz_standard = #{quotJsxzStandard}, + quot_jsxz_approval_status = #{quotJsxzApprovalStatus}, + quot_jsxz_chapter = #{quotJsxzChapter}, + quot_jsxz_technical_requirement = #{quotJsxzTechnicalRequirement}, + quot_jsxz_group_values = #{quotJsxzGroupValues}, + quot_jsxz_confirm_id = #{quotJsxzConfirmId}, - quot_hj_id = #{quotHjId}, - quot_hj_approval_status = #{quotHjApprovalStatus}, + quot_hj_id = #{quotHjId}, + quot_hj_approval_status = #{quotHjApprovalStatus}, - quot_jsw_approval_status = #{quotJswApprovalStatus}, - quot_oa_approval_status = #{quotOAApprovalStatus}, + quot_jsw_approval_status = #{quotJswApprovalStatus}, + quot_oa_approval_status = #{quotOAApprovalStatus}, where quot_id = #{quotId} diff --git a/ruoyi-ui/src/views/quot/quot/index.vue b/ruoyi-ui/src/views/quot/quot/index.vue index 1401ac0..af0c9d6 100644 --- a/ruoyi-ui/src/views/quot/quot/index.vue +++ b/ruoyi-ui/src/views/quot/quot/index.vue @@ -396,7 +396,7 @@ - + @@ -406,19 +406,26 @@ 清单附件(先保存再上传且必须是EXCEL文件)
- - 上传文件 - + + + + 上传文件 + + + + 清单附件模版下载 + +
@@ -454,7 +461,7 @@ :show-file-list="false" :limit="1" v-if="this.form.quotApprovalStatus == '0'"> - 上传文件 + 上传文件 @@ -480,14 +487,17 @@ 产品信息 - + + + + 导入 导出 @@ -531,22 +541,22 @@ - + - + - + - + @@ -571,7 +581,7 @@ :show-file-list="false" :limit="1" v-if="this.form.quotApprovalStatus == '1'"> - 上传文件 + 上传文件 @@ -593,7 +603,6 @@ -
技术协助 @@ -1624,36 +1633,38 @@ export default { /** 对产品数据-数量、金额进行合算 */ getSummaries(param) { - const { columns, data } = param; - const sums = []; - columns.forEach((column, index) => { - if (index === 0) { - sums[index] = '合计'; - 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 { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '合计'; + return; } - } - }); - this.form.quotQuantity = sums[6]; - this.form.quotTotalPrice = checkRole(['QUOT_MAT_PRICE_DIFF'])? sums[12] : sums[11]; - this.form.quotMaterialsCount = data.length; - return sums; + 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] = '' + } + } + }); + 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(){ diff --git a/ruoyi-ui/src/views/technicalConfirm/technicalConfirm/jsxzInfo.vue b/ruoyi-ui/src/views/technicalConfirm/technicalConfirm/jsxzInfo.vue index 2d5a7e3..43918c2 100644 --- a/ruoyi-ui/src/views/technicalConfirm/technicalConfirm/jsxzInfo.vue +++ b/ruoyi-ui/src/views/technicalConfirm/technicalConfirm/jsxzInfo.vue @@ -79,6 +79,30 @@ + + 清单附件 + + + + + + + + + + + + + + + 技术规范要求(技术附件) @@ -101,6 +125,7 @@ +
特缆协助
@@ -799,6 +824,7 @@ isSelfProp: true, // 报价单-技术确认单-技术规范附件列表数据 quotJsgfFileList: [], + quotXjFileList: [], //报价单-技术确认单-反馈附件上传地址 uploadUrl: process.env.VUE_APP_BASE_API + "/quot/quot/quotFile", //报价单-技术确认单-反馈附件请求头 @@ -922,6 +948,7 @@ }; this.quotJsgfFileList = []; + this.quotXjFileList = []; this.quotJsqrFileList = []; this.showTl = false; @@ -963,6 +990,7 @@ } this.getQuotJsgfFileList(); + this.getQuotXjFileList(); this.quotJsqrTlRemarkDisSet();//技术协助-特缆审核意见/组长确认意见 编辑状态设置 this.quotJsqrDyRemarkDisSet();//技术协助-低压审核意见/组长确认意见 编辑状态设置 this.quotJsqrZyRemarkDisSet();//技术协助-中压审核意见/组长确认意见 编辑状态设置 @@ -987,6 +1015,13 @@ 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){