Commit 0c1d9d7f authored by yht15023815643's avatar yht15023815643

Merge branch 'dev20230707' of http://192.168.60.201/root/dsk-operate-sys into dev20230707

parents 90ae5091 d1eae0fb
package com.dsk.common.utils; package com.dsk.common.utils;
import java.math.BigDecimal;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
...@@ -51,7 +52,8 @@ public class CheckUtils { ...@@ -51,7 +52,8 @@ public class CheckUtils {
* @return * @return
*/ */
public static int checkIntegerPlaces(Double number) { public static int checkIntegerPlaces(Double number) {
String strNumber = Double.toString(Math.abs(number)); BigDecimal bigDecimal = new BigDecimal(number);
String strNumber = bigDecimal.toString();
int integerPlaces = strNumber.indexOf('.'); int integerPlaces = strNumber.indexOf('.');
if (integerPlaces == -1) { if (integerPlaces == -1) {
return strNumber.length(); return strNumber.length();
...@@ -66,7 +68,8 @@ public class CheckUtils { ...@@ -66,7 +68,8 @@ public class CheckUtils {
* @return * @return
*/ */
public static int checkDecimalPlaces(Double number) { public static int checkDecimalPlaces(Double number) {
String strNumber = Double.toString(Math.abs(number)); BigDecimal bigDecimal = new BigDecimal(number);
String strNumber = bigDecimal.toString();
int decimalPlaces = 0; int decimalPlaces = 0;
int index = strNumber.indexOf('.'); int index = strNumber.indexOf('.');
if (index != -1) { if (index != -1) {
......
...@@ -1008,7 +1008,7 @@ ...@@ -1008,7 +1008,7 @@
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: 3; z-index: 10;
.upload{ .upload{
width: 528px; width: 528px;
height: 430px; height: 430px;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="flex-box query-box"> <div class="flex-box query-box">
<div class="flex-box query-params"></div> <div class="flex-box query-params"></div>
<div class="flex-box query-add"> <div class="flex-box query-add">
<el-button type="primary" icon="el-icon-plus" @click="opennew">新增决策链条</el-button> <el-button type="primary" icon="el-icon-plus" @click="opennew">新增联系人</el-button>
</div> </div>
</div> </div>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<!-- 弹窗添加联系人 --> <!-- 弹窗添加联系人 -->
<el-dialog <el-dialog
class="popups" class="popups1"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:before-close="cancel" :before-close="cancel"
width="464px"> width="464px">
...@@ -41,28 +41,25 @@ ...@@ -41,28 +41,25 @@
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
<span>{{ companyInfo && companyInfo.companyName || customerInfo.companyName }}</span> <span>{{ companyInfo && companyInfo.companyName || customerInfo.companyName }}</span>
</div> </div>
<el-form :model="addRorm" :rules="addRules" ref="addRorm" class="popform" label-width="137px"> <el-form :model="addRorm" :rules="addRules" ref="addRorm" class="popform" label-width="90px">
<el-form-item label="联系人姓名:" prop="name" class="row"> <el-form-item label="姓名:" prop="name">
<el-input v-model="addRorm.name" placeholder="请输入"></el-input> <el-input v-model="addRorm.name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人性别:" class="row"> <el-form-item label="角色:" prop="role">
<el-radio-group v-model="addRorm.sex">
<el-radio label=1></el-radio>
<el-radio label=0></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="联系人角色:" prop="role" class="row">
<el-input v-model="addRorm.role" placeholder="请输入"></el-input> <el-input v-model="addRorm.role" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联企业:" class="row"> <el-form-item label="职位:" prop="workUnit">
<el-input type="text" v-model="addRorm.office" placeholder="请输入"></el-input> <el-input v-model="addRorm.workUnit" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人职位:" prop="workUnit" class="row"> <el-form-item label="公司/机关:" prop="position">
<el-input v-model="addRorm.position" placeholder="请输入"></el-input> <el-input v-model="addRorm.position" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系方式:" prop="contactInformation" class="row"> <el-form-item label="联系方式:" prop="contactInformation">
<el-input v-model="addRorm.contactInformation" placeholder="请输入"></el-input> <el-input v-model="addRorm.contactInformation" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input v-model="addRorm.remark" placeholder="请输入"></el-input>
</el-form-item>
<div class="popbot"> <div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div> <div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32" @click="add">保存</div> <div class="btn btn_primary h32" @click="add">保存</div>
...@@ -74,12 +71,12 @@ ...@@ -74,12 +71,12 @@
</template> </template>
<script> <script>
import Tables from "../component/Tables" import Tables from "../component/Tables"
import { import {
getList, getList,
addChain addChain
} from '@/api/detail/party-a/decisionMaking' } from '@/api/detail/party-a/decisionMaking'
export default { export default {
name: 'DecisionMaking', name: 'DecisionMaking',
components: { components: {
Tables Tables
...@@ -96,21 +93,20 @@ export default { ...@@ -96,21 +93,20 @@ export default {
forData: [ forData: [
{label: '姓名', prop: 'name', width: '124'}, {label: '姓名', prop: 'name', width: '124'},
{label: '角色', prop: 'role', width: '110'}, {label: '角色', prop: 'role', width: '110'},
// {label: '公司/机关', prop: 'position', width: '268'}, {label: '公司/机关', prop: 'position', width: '268'},
{label: '职位', prop: 'position', width: '110'}, {label: '职位', prop: 'workUnit', width: '110'},
{label: '联系方式', prop: 'contactInformation', width: '105'}, {label: '联系方式', prop: 'contactInformation', width: '105'},
{label: '内部维护人', prop: 'updateBy', width: '100'}, {label: '内部维护人', prop: 'updateBy', width: '100'},
{label: '来源', prop: 'remark'}, {label: '备注', prop: 'remark'},
], ],
addRorm: { addRorm: {
customerId:this.customerIds, customerId:this.customerIds,
name:'', name:'',
role:'', role:'',
sex:"1", workUnit:'',
position:'', position:'',
// position:'',
contactInformation:'', contactInformation:'',
// remark:'', remark:'',
}, },
addRules:{ addRules:{
name: [ name: [
...@@ -155,9 +151,7 @@ export default { ...@@ -155,9 +151,7 @@ export default {
add(){ add(){
this.$refs.addRorm.validate((valid) => { this.$refs.addRorm.validate((valid) => {
if (valid) { if (valid) {
let param = JSON.parse(JSON.stringify(this.addRorm)) addChain(this.addRorm).then((res) => {
param.sex = parseInt(param.sex)
addChain(param).then((res) => {
if(res.data){ if(res.data){
this.$message({ this.$message({
message: '新增成功', message: '新增成功',
...@@ -184,10 +178,10 @@ export default { ...@@ -184,10 +178,10 @@ export default {
this.dialogVisible = true this.dialogVisible = true
}, },
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.decisionMaking{ .decisionMaking{
background: #ffffff; background: #ffffff;
border-radius: 4px; border-radius: 4px;
padding: 16px; padding: 16px;
...@@ -269,64 +263,64 @@ export default { ...@@ -269,64 +263,64 @@ export default {
margin-top: 10px; margin-top: 10px;
} }
// 弹窗 // 弹窗
/*.popups1{*/ .popups1{
/*.poptitle {*/ .poptitle {
/*line-height: 48px;*/ line-height: 48px;
/*border-bottom: 1px solid #E1E1E1;*/ border-bottom: 1px solid #E1E1E1;
/*height: 48px;*/ height: 48px;
/*position: absolute;*/ position: absolute;
/*top: 0;*/ top: 0;
/*left: 0;*/ left: 0;
/*width: 100%;*/ width: 100%;
/*img {*/ img {
/*width: 17px;*/ width: 17px;
/*margin: 16px;*/ margin: 16px;
/*float: left;*/ float: left;
/*}*/ }
/*span {*/ span {
/*font-weight: bold;*/ font-weight: bold;
/*font-size: 16px;*/ font-size: 16px;
/*color: #232323;*/ color: #232323;
/*font-family: Microsoft YaHei-Bold, Microsoft YaHei;*/ font-family: Microsoft YaHei-Bold, Microsoft YaHei;
/*width: 385px;*/ width: 385px;
/*display: block;*/ display: block;
/*overflow: hidden;*/ overflow: hidden;
/*white-space: nowrap;*/ white-space: nowrap;
/*text-overflow: ellipsis;*/ text-overflow: ellipsis;
/*}*/ }
/*}*/ }
/*::v-deep .el-dialog__body{*/ ::v-deep .el-dialog__body{
/*padding: 24px 24px 18px;*/ padding: 24px 24px 18px;
/*}*/ }
/*.popform {*/ .popform {
/*padding-top: 14px;*/ padding-top: 14px;
/*::v-deep .el-form-item__label{*/ ::v-deep .el-form-item__label{
/*padding:0;*/ padding:0;
/*}*/ }
/*.row {*/ .row {
/*padding-bottom: 16px;*/ padding-bottom: 16px;
/*.left {*/ .left {
/*width: 137px;*/ width: 137px;
/*display: inline-block;*/ display: inline-block;
/*text-align: right;*/ text-align: right;
/*opacity: 0.8;*/ opacity: 0.8;
/*}*/ }
/*::v-deep .el-input {*/ ::v-deep .el-input {
/*display: inline-block;*/ display: inline-block;
/*width: 240px;*/ width: 240px;
/*}*/ }
/*}*/ }
/*.popbot {*/ .popbot {
/*text-align: right;*/ text-align: right;
/*padding-top: 8px;*/ padding-top: 8px;
/*}*/ }
/*}*/ }
/*}*/ }
} }
::v-deep .el-table__fixed::before, ::v-deep .el-table__fixed-right::before{ ::v-deep .el-table__fixed::before, ::v-deep .el-table__fixed-right::before{
background-color:unset; background-color:unset;
} }
::v-deep .el-dialog__headerbtn{ ::v-deep .el-dialog__headerbtn{
z-index: 9; z-index: 9;
} }
</style> </style>
...@@ -12,12 +12,12 @@ ...@@ -12,12 +12,12 @@
</div> </div>
<el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px"> <el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px">
<el-form-item label="项目名称:" class="row" prop="projectName"> <el-form-item label="项目名称:" class="row" prop="projectName">
<el-input type="text" placeholder="请输入" v-model="queryParam.projectName" @input="getProject"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.projectName" @input="getProject" :οnkeyup="queryParam.projectName=queryParam.projectName.replace(/^\s+|\s+$/g,'')"></el-input>
<div class="resultlist" v-if="proList.length>0" id="box1"> <div class="resultlist" v-if="proList.length>0" id="box1">
<div v-for="(item,index) in proList" @click="selProject(item)"><span v-html="item.projectName"></span></div> <div v-for="(item,index) in proList" @click="selProject(item)"><span v-html="item.projectName"></span></div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="业主单位:" class="row" prop="ownerCompany"> <el-form-item label="招采单位:" class="row" prop="ownerCompany">
<el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany" :οnkeyup="queryParam.ownerCompany=queryParam.ownerCompany.replace(/^\s+|\s+$/g,'')"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany" :οnkeyup="queryParam.ownerCompany=queryParam.ownerCompany.replace(/^\s+|\s+$/g,'')"></el-input>
<div class="resultlist" v-if="showlist" id="box"> <div class="resultlist" v-if="showlist" id="box">
<div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div> <div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div>
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
userId:'',//用户id userId:'',//用户id
projectName:'',// 项目名称 projectName:'',// 项目名称
companyId:'',//企业id companyId:'',//企业id
ownerCompany:'',//业主单位 ownerCompany:'',//招采单位
projectStage:null,//项目阶段 projectStage:null,//项目阶段
projectType:null,//项目类型 projectType:null,//项目类型
projectCategory:null,//项目类别 projectCategory:null,//项目类别
...@@ -205,7 +205,7 @@ ...@@ -205,7 +205,7 @@
this.queryParam = { this.queryParam = {
projectName:'',// 项目名称 projectName:'',// 项目名称
companyId:'',//企业id companyId:'',//企业id
ownerCompany:'',//业主单位 ownerCompany:'',//招采单位
projectStage:null,//项目阶段 projectStage:null,//项目阶段
projectType:null,//项目类型 projectType:null,//项目类型
projectCategory:null,//项目类别 projectCategory:null,//项目类别
......
...@@ -61,11 +61,11 @@ ...@@ -61,11 +61,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="responsiblePerson" prop="phone"
label="负责人联系方式" label="负责人联系方式"
width=""> width="">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.responsiblePerson || '--'}} {{scope.row.phone || '--'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
......
...@@ -35,6 +35,7 @@ import com.dsk.system.mapper.BusinessUserMapper; ...@@ -35,6 +35,7 @@ import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessInfoService; import com.dsk.system.service.IBusinessInfoService;
import com.dsk.system.service.ICustomerService; import com.dsk.system.service.ICustomerService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -141,7 +142,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -141,7 +142,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override @Override
public List<BusinessLikeProjectNameListVo> selectProjectName(BusinessListDto dto) { public List<BusinessLikeProjectNameListVo> selectProjectName(BusinessListDto dto) {
return businessInfoMapper.selectProjectName(dto); List<BusinessLikeProjectNameListVo> vos = businessInfoMapper.selectProjectName(dto);
if (!CollectionUtils.isEmpty(vos)) {
for (BusinessLikeProjectNameListVo vo : vos) {
vo.setProjectName(vo.getProjectName().replace(dto.getProjectName(), "<font color='#FF204E'>" + dto.getProjectName() + "</font>"));
}
}
return vos;
} }
@Override @Override
......
...@@ -3,10 +3,12 @@ package com.dsk.system.service.impl; ...@@ -3,10 +3,12 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanException; import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.SecurityUtils; import com.dsk.common.utils.SecurityUtils;
import com.dsk.common.utils.StringUtils;
import com.dsk.system.domain.customer.Customer; import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.CustomerUser; import com.dsk.system.domain.customer.CustomerUser;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
...@@ -179,37 +181,54 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -179,37 +181,54 @@ public class CustomerServiceImpl implements ICustomerService {
private void dealWithcustomerData(Customer customer) { private void dealWithcustomerData(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空"); if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) {
try { try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(customer.getCompanyName()); Map<String, Object> map = opportunityRadarService.enterpriseByName(customer.getCompanyName());
if (!ObjectUtils.isEmpty(map.get("data"))) { if (!ObjectUtils.isEmpty(map.get("data"))) {
customer.setCompanyId(MapUtil.getInt(BeanUtil.beanToMap(map.get("data")), "jskEid")); Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
Integer companyId = MapUtil.getInt(data, "jskEid");
if(ObjectUtil.isNotEmpty(customer.getCompanyId()) && !customer.getCompanyId().equals(companyId)) {
return;
}
customer.setCompanyId(companyId);
if (ObjectUtils.isEmpty(customer.getLegalPerson())) { if (ObjectUtils.isEmpty(customer.getLegalPerson())) {
customer.setLegalPerson(MapUtil.getStr(map, "legalPerson")); customer.setLegalPerson(MapUtil.getStr(data, "legalPerson"));
} }
if (ObjectUtils.isEmpty(customer.getRegisterCapital())) { if (ObjectUtils.isEmpty(customer.getRegisterCapital())) {
customer.setRegisterCapital(MapUtil.getStr(map, "registeredCapitalStr")); customer.setRegisterCapital(MapUtil.getStr(data, "registeredCapitalStr"));
} }
if (ObjectUtils.isEmpty(customer.getProvinceId())) { if (ObjectUtils.isEmpty(customer.getProvinceId())) {
customer.setProvinceId(MapUtil.getInt(map, "provinceId")); customer.setProvinceId(MapUtil.getInt(data, "provinceId"));
} }
if (ObjectUtils.isEmpty(customer.getCityId())) { if (ObjectUtils.isEmpty(customer.getCityId())) {
customer.setCityId(MapUtil.getInt(map, "cityId")); customer.setCityId(MapUtil.getInt(data, "cityId"));
} }
if (ObjectUtils.isEmpty(customer.getDistrictId())) { if (ObjectUtils.isEmpty(customer.getDistrictId())) {
customer.setDistrictId(MapUtil.getInt(map, "countyId")); customer.setDistrictId(MapUtil.getInt(data, "countyId"));
} }
if (ObjectUtils.isEmpty(customer.getRegisterAddress())) { if (ObjectUtils.isEmpty(customer.getRegisterAddress())) {
customer.setRegisterAddress(MapUtil.getStr(map, "domicile")); if(ObjectUtil.isNotEmpty(MapUtil.getStr(data, "domicile"))){
customer.setRegisterAddress(MapUtil.getStr(data, "domicile"));
}else {
String address = null;
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "province"))) {
address = MapUtil.getStr(data, "province");
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "city"))) {
address = address.concat("-").concat(MapUtil.getStr(data, "city"));
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "county"))) {
address = address.concat("-").concat(MapUtil.getStr(data, "county"));
}
}
}
customer.setRegisterAddress(address);
}
} }
if (ObjectUtils.isEmpty(customer.getCreditCode())) { if (ObjectUtils.isEmpty(customer.getCreditCode())) {
customer.setCreditCode(MapUtil.getStr(map, "creditCode")); customer.setCreditCode(MapUtil.getStr(data, "creditCode"));
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.debug("获取企业id错误!error:{}", e.getMessage()); log.debug("获取企业id错误!error:{}", e.getMessage());
} }
} }
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment