فهرست منبع

Merge remote-tracking branch 'origin/dev_v2' into dev_v2

钱惠东 5 روز پیش
والد
کامیت
68f2a736cf

+ 10 - 9
RuoYi-Mobile-master/pages/work/approve/contractDtl.vue

@@ -203,7 +203,7 @@
 					pageSize: 5
 				},
 
-				contractInfo:{},
+				contractInfo:{businessDesc:''},
 				returnMsg:"",
 				contractId:'',
 				totalPrice:0,
@@ -268,13 +268,13 @@
 					bargainObj = {}
 					auditForm = {
 					  // 审批流
-					  auditFlow: this.contractInfo.paymentMethod === '1' || this.contractInfo.paymentRatio !=='1' ? 3 :4,
+					  auditFlow: this.contractInfo.businessDesc,
 					  // 业务id  合同id
 					  businessId: this.contractId,
 					  // 审批结果
 					  status: 30,
 					  // 备注
-					  remark: '合同审批打回',
+					  remark: '合同驳回成功',
 					  // 业务参数
 					  businessObj: bargainObj
 					}
@@ -286,7 +286,7 @@
 					}
 					auditForm = {
 					  // 审批流
-					  auditFlow: this.contractInfo.paymentMethod === '1' || this.contractInfo.paymentRatio !=='1' ? 3 :4,
+					  auditFlow: this.contractInfo.businessDesc,
 					  // 业务id  报价id
 					  businessId: this.contractId,
 					  // 审批结果
@@ -309,20 +309,19 @@
 							this.$set(this.contractInfo,"approveStatus","1")
 							updateContract({...this.contractInfo}).then(res1=>{
 								if(res1 && res1.code == 200){
-								  nowTitle = "合同打回成功"
+								  nowTitle = "操作成功"
 								  this.approveOpen = false
 								}else{
-								  nowTitle = "合同打回失败"
+								  nowTitle = "操作失败"
 								}
 							})
 						}else{
 							console.log("开始合同审批的操作")
-							this.$set(this.contractInfo,"approveStatus","2")
 							editFlow({...this.contractInfo}).then(res2=>{
 								if(res2 && res2.code == 200){
-								  nowTitle = "合同审批成功"
+								  nowTitle = "操作成功"
 								}else{
-								  nowTitle = "合同审批失败"
+								  nowTitle = "操作失败"
 								}
 							})
 						}
@@ -391,6 +390,8 @@
 								this.totalPrice += ((item.unitPrice + item.additionalCost)  * item.count)
 							})
 						}
+						let nowflow = this.contractInfo.version > 1 || this.contractInfo.paymentMethod === '1' || this.contractInfo.paymentRatio !=='1' ? 3 : 4
+						this.$set(this.contractInfo,'businessDesc',nowflow)
 					}
 				})
 			},

+ 15 - 16
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/controller/contract/TqContractController.java

@@ -1,28 +1,24 @@
 package com.ruoyi.project.business.controller.contract;
 
-import java.util.ArrayList;
-import java.util.List;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.business.domain.TqContract;
 import com.ruoyi.project.business.domain.bo.TqContractBo;
 import com.ruoyi.project.business.domain.vo.contract.TqContractDto;
 import com.ruoyi.project.business.domain.vo.contract.TqContractExportVo;
 import com.ruoyi.project.business.domain.vo.contract.TqContractVo;
 import com.ruoyi.project.business.mapper.flow.FlowMapper;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import com.ruoyi.framework.aspectj.lang.annotation.Log;
-import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.business.domain.TqContract;
 import com.ruoyi.project.business.service.ITqContractService;
-import com.ruoyi.framework.web.controller.BaseController;
-import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
+import org.springframework.web.bind.annotation.*;
 
-import static com.ruoyi.project.business.enums.AuditFlowEnum.*;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 合同列表Controller
@@ -40,6 +36,8 @@ public class TqContractController extends BaseController
     @Resource
     private FlowMapper flowMapper;
 
+
+
     /**
      * 查询合同列表列表
      */
@@ -142,6 +140,7 @@ public class TqContractController extends BaseController
     {
         //如果查询状态是200表示审批通过   更新合同的状态
         if("200".equals(flowMapper.getStatus(tqContractDto.getBusinessDesc(),tqContractDto.getContractNo()))){
+            tqContractDto.setApproveStatus(tqContractService.selectApproveStatus(tqContractDto));
             return toAjax(tqContractService.updateTqContract(tqContractDto));
         }
         return toAjax(1);

+ 13 - 21
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/controller/contract/TqContractLiftController.java

@@ -1,31 +1,23 @@
 package com.ruoyi.project.business.controller.contract;
 
-import java.util.Date;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.ruoyi.project.business.domain.bo.contract.TqContractLift4OrderNoBo;
-import com.ruoyi.project.business.domain.bo.contract.TqContractLiftBo;
-import com.ruoyi.project.business.domain.vo.contract.TqContractLiftExportVo;
-import com.ruoyi.project.business.domain.vo.contract.TqContractLiftVo;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.business.domain.TqContractLift;
-import com.ruoyi.project.business.service.ITqContractLiftService;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.business.domain.TqContractLift;
+import com.ruoyi.project.business.domain.bo.contract.TqContractLift4OrderNoBo;
+import com.ruoyi.project.business.domain.bo.contract.TqContractLiftBo;
+import com.ruoyi.project.business.domain.vo.contract.TqContractLiftExportVo;
+import com.ruoyi.project.business.domain.vo.contract.TqContractLiftVo;
+import com.ruoyi.project.business.service.ITqContractLiftService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 【请填写功能名称】Controller

+ 2 - 0
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/domain/bo/TqContractBo.java

@@ -147,6 +147,8 @@ public class TqContractBo extends BaseEntity
     /** *版本 */
     private Long version;
 
+    private Long userId;
+
 
 
 }

+ 3 - 3
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/service/ITqContractService.java

@@ -1,8 +1,5 @@
 package com.ruoyi.project.business.service;
 
-import java.util.List;
-import java.util.Map;
-
 import com.ruoyi.project.business.domain.TqContract;
 import com.ruoyi.project.business.domain.bo.TqContractBo;
 import com.ruoyi.project.business.domain.vo.contract.TqContractDto;
@@ -10,6 +7,8 @@ import com.ruoyi.project.business.domain.vo.contract.TqContractExportVo;
 import com.ruoyi.project.business.domain.vo.contract.TqContractVo;
 import com.ruoyi.project.business.dto.ContractSigningStatistic;
 
+import java.util.List;
+
 /**
  * 合同列表Service接口
  * 
@@ -64,6 +63,7 @@ public interface ITqContractService
     public int updateTqContract(TqContractDto tqContractDto);
 
 
+    public String selectApproveStatus(TqContractDto tqContractDto);
 
     /**
      * 批量删除合同列表

+ 36 - 15
RuoYi-Vue-fast-master/src/main/java/com/ruoyi/project/business/service/impl/TqContractServiceImpl.java

@@ -1,16 +1,8 @@
 package com.ruoyi.project.business.service.impl;
 
-import java.io.File;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.fastjson2.JSONObject;
-import org.springframework.beans.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -20,7 +12,10 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.office.doc.CommonDocUtils;
 import com.ruoyi.framework.redis.RedisCache;
-import com.ruoyi.project.business.domain.*;
+import com.ruoyi.project.business.domain.TbCountry;
+import com.ruoyi.project.business.domain.TbFile;
+import com.ruoyi.project.business.domain.TqContract;
+import com.ruoyi.project.business.domain.TqContractLift;
 import com.ruoyi.project.business.domain.bo.TqContractBo;
 import com.ruoyi.project.business.domain.bo.contract.TqContractLiftBo;
 import com.ruoyi.project.business.domain.flow.Flow;
@@ -40,9 +35,7 @@ import com.ruoyi.project.business.mapper.TbFileMapper;
 import com.ruoyi.project.business.mapper.contract.TqContractLiftHistoryMapper;
 import com.ruoyi.project.business.mapper.contract.TqContractLiftMapper;
 import com.ruoyi.project.business.mapper.contract.TqContractMapper;
-import com.ruoyi.project.business.service.ITbContractCurrencyService;
-import com.ruoyi.project.business.service.ITbFileService;
-import com.ruoyi.project.business.service.ITqContractHistoryService;
+import com.ruoyi.project.business.service.*;
 import com.ruoyi.project.business.service.flow.IFlowService;
 import com.ruoyi.project.system.domain.SysDictData;
 import com.ruoyi.project.system.mapper.SysDictDataMapper;
@@ -50,15 +43,22 @@ import fr.opensagres.xdocreport.document.images.FileImageProvider;
 import fr.opensagres.xdocreport.template.formatter.NullImageBehaviour;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
-import com.ruoyi.project.business.service.ITqContractService;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ruoyi.common.utils.DecimalUtils.add;
-import static com.ruoyi.project.business.enums.AuditFlowEnum.*;
+import static com.ruoyi.project.business.enums.AuditFlowEnum.CONTRACT_FINANCE_NO;
+import static com.ruoyi.project.business.enums.AuditFlowEnum.CONTRACT_FINANCE_YES;
 import static java.math.BigDecimal.ZERO;
 import static java.util.Objects.nonNull;
 import static org.apache.commons.lang3.StringUtils.EMPTY;
@@ -87,6 +87,8 @@ public class TqContractServiceImpl implements ITqContractService
     private ITbFileService tbFileService;
 
     @Resource
+    private ITqContractLiftService tqContractLiftService;
+    @Resource
     private ITqContractHistoryService tqContractHistoryService;
 
     @Resource
@@ -182,7 +184,9 @@ public class TqContractServiceImpl implements ITqContractService
     }
     @Override
     public List<TqContractVo> selectTqContractBoListApp(TqContractBo tqContract){
-        return tqContractMapper.selectTqContractBoListApp(tqContract);
+        tqContract.setUserId(SecurityUtils.getUserId());
+        List<TqContractVo> tqContractVoList = tqContractMapper.selectTqContractBoListApp(tqContract);
+        return tqContractVoList;
     }
     /**
      * 新增合同列表
@@ -230,6 +234,23 @@ public class TqContractServiceImpl implements ITqContractService
         return 1;
     }
 
+    @Override
+    public String selectApproveStatus(TqContractDto tqContractDto){
+        TqContractLiftBo tqContractLiftBo = new TqContractLiftBo();
+        tqContractLiftBo.setVersion(tqContractDto.getVersion());
+        tqContractLiftBo.setContractNo(tqContractDto.getContractNo());
+        List<TqContractLiftVo> tqContractLiftVoList = tqContractLiftService.selectTqContractLiftList(tqContractLiftBo);
+        if(CollectionUtils.isNotEmpty(tqContractLiftVoList)){
+            if("toVoid".equals(tqContractLiftVoList.get(0).getType())){
+                //作废
+                return "4";
+            }else{
+                //通过
+                return "2";
+            }
+        }
+        return "2";
+    }
     /**
      * 修改合同列表
      * 

+ 6 - 6
RuoYi-Vue-fast-master/src/main/resources/mybatis/business/TcProjectMapper.xml

@@ -1250,9 +1250,9 @@
             resultType="com.ruoyi.project.business.domain.vo.board.AccountCompleteOrderVo">
         SELECT
         tcl.end_customers AS accountId,
-        tcl.area_id AS areaId,
-        tcl.country_id AS countryId,
-        tcl.city,
+        max(ta.area_id) AS areaId,
+        max(ta.country_id) AS countryId,
+        max(ta.city) as city,
         FORMAT(IF(tcl.production_order_status = '1',tcl.amount_of_money,null),2) AS shippedPrice,
         sum( tcl.count ) AS annualProcurementQty,
         sum(IF(tcl.production_order_status = '1',tcl.count,null)) as shippedQty,
@@ -1262,8 +1262,8 @@
         FROM
         tq_contract_lift AS tcl
         LEFT JOIN tc_account AS ta ON tcl.end_customers = ta.account_id
-        LEFT JOIN tb_area tba ON tcl.area_id = tba.area_id
-        LEFT JOIN tb_country c ON tcl.country_id = c.country_id
+        LEFT JOIN tb_area tba ON ta.area_id = tba.area_id
+        LEFT JOIN tb_country c ON ta.country_id = c.country_id
         WHERE
         tcl.del_flag = '0'
         and DATE_FORMAT(ta.begin_year, '%Y') = #{yearParam}
@@ -1286,7 +1286,7 @@
             </foreach>
         </if>
         <if test="city != null and city != ''"> and tcl.city like concat('%',#{city},'%') escape '/'</if>
-        group by tcl.end_customers,tcl.area_id,tcl.country_id,tcl.city
+        group by tcl.end_customers
     </select>
 
     <select id="getAgentTargetProgressList" resultType="java.util.Map">

+ 16 - 0
RuoYi-Vue-fast-master/src/main/resources/mybatis/business/contract/TqContractMapper.xml

@@ -231,8 +231,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join sys_dict_data t2 on t2.dict_type = 'contract_trade_terms' and ah.trade_terms = t2.dict_value
         left join sys_dict_data t3 on t3.dict_type = 'contract_payment_method' and ah.payment_method = t3.dict_value
         left join sys_dict_data t4 on t4.dict_type = 'contract_payment_ratio' and ah.payment_ratio = t4.dict_value
+        left join (SELECT
+                flow.business_id,
+                GROUP_CONCAT(users.audit_user SEPARATOR ',') AS audit_users
+                FROM
+                flow
+                LEFT JOIN
+                flow_task AS task ON task.flow_id = flow.id  AND task.status_code = flow.status
+                LEFT JOIN
+                flow_task_user AS users ON users.task_id = task.id
+                WHERE
+                flow.del_flag = '0'
+                AND flow.audit_flow IN ('3', '4')
+                AND flow.status BETWEEN 196 AND 199
+                GROUP BY
+                flow.business_id) as flow_user on ah.id = flow_user.business_id
         <where>
             ah.del_flag != '1'
+            <if test="userId != null "> and FIND_IN_SET(#{userId}, flow_user.audit_users)</if>
             <if test="id != null "> and ah.id = #{id}</if>
             <if test="contractNo != null  and contractNo != ''"> and ah.contract_no like concat('%',#{contractNo}, '%')</if>
             <if test="contractName != null  and contractName != ''"> and ah.contract_name like concat('%', #{contractName}, '%')</if>

+ 8 - 8
ruoyi-ui-vue2/src/views/contract/edit.vue

@@ -291,7 +291,7 @@
         <el-divider v-if="disableFlag"></el-divider>
 
         <!--        变更履历-->
-        <div v-if="type == 'view'" :class="{ 'contact-box': type == 'view' }">
+        <div v-if="type === 'view'" :class="{ 'contact-box': type === 'view' }">
           <div class="flex-center-left mb16">
             <img class="item-size" src="../../assets/images/account-item.png" alt="">
             <div class="card-title">{{ $t('contract.changeHistory') }}</div>
@@ -1513,13 +1513,13 @@ export default {
     },
     //审核通过
     async approveYes(){
-      if("toVoid" === this.equipmentList[0].type){
-        //作废
-        this.$set(this.approveForm,"approveStatus","4")
-      }else{
-        //通过
-        this.$set(this.approveForm,"approveStatus","2")
-      }
+      // if("toVoid" === this.equipmentList[0].type){
+      //   //作废
+      //   this.$set(this.approveForm,"approveStatus","4")
+      // }else{
+      //   //通过
+      //   this.$set(this.approveForm,"approveStatus","2")
+      // }
       let bargainObj = {
         paymentMethod:this.approveForm.paymentMethod,
         paymentRatio:this.approveForm.paymentRatio

+ 3 - 3
ruoyi-ui-vue2/src/views/contract/lift/index.vue

@@ -140,9 +140,9 @@
         <Column :label="$t('contract.salesModel')" :searchDict="dict.type.contract_sales_model" :showSearch="true" prop="salesModel" v-if="checkPermi(['user:contract:lift:salesModel'])"
                 selectProp="origins" searchType="select" selectMore :searchParams="queryParams"/>
 
-        <!--        &lt;!&ndash;电梯号37&ndash;&gt;-->
-        <!--        <Column :label="$t('lift.elevatorCode')" :searchParams="queryParams" :showSearch="true" prop="elevatorCode"  v-if="checkPermi(['user:contract:lift:elevatorCode'])"/>-->
-        <!--梯型38-->
+        <!--电梯号37-->
+        <Column :label="$t('lift.elevatorCode')" :searchParams="queryParams" :showSearch="true" prop="elevatorCode"  v-if="checkPermi(['user:contract:lift:elevatorCode'])"/>
+<!--        梯型38-->
         <Column :label="$t('lift.elevatorModel')" :searchParams="queryParams" :showSearch="true" prop="elevatorModel"  v-if="checkPermi(['user:contract:lift:elevatorModel'])" sortable="custom"/>
 
         <!--金额39-->