Merge remote-tracking branch 'origin/master'
This commit is contained in:
+330
@@ -0,0 +1,330 @@
|
|||||||
|
package com.jero.common.util;
|
||||||
|
|
||||||
|
//如果JDK版本低于1.8,请使用三方库提供Base64类
|
||||||
|
//import org.apache.commons.codec.binary.Base64;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import org.apache.commons.codec.binary.Hex;
|
||||||
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.http.HttpHeaders;
|
||||||
|
import org.apache.http.HttpResponse;
|
||||||
|
import org.apache.http.NameValuePair;
|
||||||
|
import org.apache.http.client.methods.RequestBuilder;
|
||||||
|
import org.apache.http.client.utils.URLEncodedUtils;
|
||||||
|
import org.apache.http.conn.ssl.DefaultHostnameVerifier;
|
||||||
|
import org.apache.http.entity.StringEntity;
|
||||||
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
|
import org.apache.http.impl.client.HttpClients;
|
||||||
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
|
import org.apache.http.ssl.SSLContextBuilder;
|
||||||
|
import org.apache.http.util.EntityUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.security.KeyManagementException;
|
||||||
|
import java.security.KeyStoreException;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
/**
|
||||||
|
* @作者:WangHK
|
||||||
|
* @类名:HuaWeiMSGSMS
|
||||||
|
* @功能:TODO_华为短信
|
||||||
|
* @日期:2021年6月20日
|
||||||
|
* @公司:天津合众未来科技有限公司
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class HuaWeiSmsUtil {
|
||||||
|
@Autowired
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
//无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
|
||||||
|
private static final String WSSE_HEADER_FORMAT = "UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"";
|
||||||
|
//无需修改,用于格式化鉴权头域,给"Authorization"参数赋值
|
||||||
|
private static final String AUTH_HEADER_VALUE = "WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\"";
|
||||||
|
public static final String BASE_NUMBER = "123456789";
|
||||||
|
@Value("${huaWeiSms.url}")
|
||||||
|
private String url;
|
||||||
|
@Value("${huaWeiSms.appKey}")
|
||||||
|
private String appKey;
|
||||||
|
@Value("${huaWeiSms.appSecret}")
|
||||||
|
private String appSecret;
|
||||||
|
@Value("${huaWeiSms.open}")
|
||||||
|
private boolean open;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param phone 手机号
|
||||||
|
* @param codeType 类型:
|
||||||
|
* 1.登录检查验证码_验证码类
|
||||||
|
* 2.忘记密码_验证码类
|
||||||
|
* 3.会员到期提醒_通知类
|
||||||
|
* 4.发票邮寄通知提醒_通知类
|
||||||
|
* @param codeTime 失效时间
|
||||||
|
* 条件必填,国内短信关注,当templateId指定的模板类型为通用模板时生效且必填,必须是已审核通过的,与模板类型一致的签名名称
|
||||||
|
* 国际/港澳台短信不用关注该参数
|
||||||
|
* 失效时间为0时不存redis
|
||||||
|
* @param templateParas 传递参数,通知类需要
|
||||||
|
*/
|
||||||
|
public Boolean sendVerificationCode(String phone, String codeType, String codeTime,String templateParas) {
|
||||||
|
String sender; //通道
|
||||||
|
String templateId; //模板
|
||||||
|
String signature; //签名名称
|
||||||
|
//模板变量,此处以单变量验证码短信为例,请客户自行生成6位验证码,并定义为字符串类型,以杜绝首位0丢失的问题(例如:002569变成了2569)。
|
||||||
|
//随机生成6位数字
|
||||||
|
String randomNumber = RandomUtil.randomString(BASE_NUMBER,6);
|
||||||
|
//设置短信有效时间
|
||||||
|
codeTime = this.resRedisTime(codeTime);
|
||||||
|
//传进来为秒数所以除以60
|
||||||
|
String verificationTime = this.resVerificationTime(codeTime);
|
||||||
|
//解密手机号
|
||||||
|
phone = PasswordUtil.decrypt(phone);
|
||||||
|
long expire = redisUtil.getExpire("_verification:_phone:" + phone);
|
||||||
|
//值为-2代表没有此数据
|
||||||
|
if (expire != -2){
|
||||||
|
if (600 - expire <= 60){
|
||||||
|
throw new JeroBootException("1分钟内只能发送一次验证码");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch (codeType) {
|
||||||
|
case "1":
|
||||||
|
//中汽标协-登录检查验证码
|
||||||
|
sender = "8821062807743";
|
||||||
|
signature = "中汽标协";
|
||||||
|
templateId = "9fbee7166af24bbfacc178e417345a21";
|
||||||
|
templateParas = "[" + randomNumber + "," + phone + "," + verificationTime + "]";
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
//中汽标协-忘记密码
|
||||||
|
sender = "8821062807743";
|
||||||
|
signature = "中汽标协";
|
||||||
|
templateId = "6f8573c5adc54df2a56a6e48556c3044";
|
||||||
|
templateParas = "[" + randomNumber + "," + phone + "," + verificationTime + "]";
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
//中汽标协-会员到期提醒
|
||||||
|
sender = "8821062807762";
|
||||||
|
signature = "中汽标协";
|
||||||
|
templateId = "3c6321febaa84fecb68d6b0f5bbc0754";
|
||||||
|
//通知类短信,不需要存redis
|
||||||
|
codeTime = "0";
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
//中汽标协-发票邮寄通知提醒
|
||||||
|
sender = "8821062807762";
|
||||||
|
signature = "中汽标协";
|
||||||
|
templateId = "077964a02a814149bb01900e43c9a04e";
|
||||||
|
codeTime = "0";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new JeroBootException("codeType flase.");
|
||||||
|
}
|
||||||
|
//调用华为短信发送
|
||||||
|
return this.huaWeiSendSms(phone, codeTime, url, appKey, appSecret, templateParas,sender, templateId, signature,randomNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调用华为短信发送
|
||||||
|
*
|
||||||
|
* @param phone 手机号
|
||||||
|
* @param codeTime 失效时间
|
||||||
|
* @param url APP接入地址+接口访问URI
|
||||||
|
* @param appKey APP_Key
|
||||||
|
* @param appSecret APP_Secret
|
||||||
|
* @param sender 通道
|
||||||
|
* @param templateId 模板
|
||||||
|
* @param signature 签名名称
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Boolean huaWeiSendSms(String phone, String codeTime, String url, String appKey, String appSecret,
|
||||||
|
String templateParas, String sender, String templateId, String signature,String randomNumber) {
|
||||||
|
//必填,全局号码格式(包含国家码),示例:+86151****6789,多个号码之间用英文逗号分隔
|
||||||
|
// String receiver = "151****6789"; //短信接收人号码
|
||||||
|
//选填,短信状态报告接收地址,推荐使用域名,为空或者不填表示不接收状态报告
|
||||||
|
String statusCallBack = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选填,使用无变量模板时请赋空值 String templateParas = "";
|
||||||
|
* 单变量模板示例:模板内容为"您的验证码是${1}"时,templateParas可填写为"[\"369751\"]"
|
||||||
|
* 双变量模板示例:模板内容为"您有${1}件快递请到${2}领取"时,templateParas可填写为"[\"3\",\"人民公园正门\"]"
|
||||||
|
* 模板中的每个变量都必须赋值,且取值不能为空
|
||||||
|
* 查看更多模板和变量规范:产品介绍>模板和变量规范
|
||||||
|
*/
|
||||||
|
|
||||||
|
//请求Body,不携带签名名称时,signature请填null
|
||||||
|
String body = this.resBody(sender, phone, templateId, templateParas, statusCallBack, signature);
|
||||||
|
|
||||||
|
//请求Headers中的X-WSSE参数值
|
||||||
|
String wsseHeader = this.resWsseHeader(appKey, appSecret);
|
||||||
|
|
||||||
|
this.sendSms(url, wsseHeader, body, phone, randomNumber, codeTime);
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String resRedisTime(String codeTime) {
|
||||||
|
//如果没有设置验证码失效时间默认600秒
|
||||||
|
if (StringUtils.isBlank(codeTime)) {
|
||||||
|
codeTime = "600";
|
||||||
|
}
|
||||||
|
return codeTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置短信有效时间
|
||||||
|
*/
|
||||||
|
public String resVerificationTime(String codeTime) {
|
||||||
|
//如果没有设置验证码失效时间默认600秒
|
||||||
|
if (StringUtils.isBlank(codeTime)) {
|
||||||
|
codeTime = "600";
|
||||||
|
}
|
||||||
|
//传进来为秒数所以除以60
|
||||||
|
int time = Integer.parseInt(codeTime) / 60;
|
||||||
|
return String.valueOf(time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求Body,不携带签名名称时,signature请填null
|
||||||
|
*/
|
||||||
|
public String resBody(String sender, String phone, String templateId, String templateParas, String statusCallBack, String signature) {
|
||||||
|
String body = buildRequestBody(sender, phone, templateId, templateParas, statusCallBack, signature);
|
||||||
|
if (null == body || body.isEmpty()) {
|
||||||
|
throw new JeroBootException("body is null.");
|
||||||
|
}
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求Headers中的X-WSSE参数值
|
||||||
|
*/
|
||||||
|
public String resWsseHeader(String appKey, String appSecret) {
|
||||||
|
String wsseHeader = buildWsseHeader(appKey, appSecret);
|
||||||
|
if (null == wsseHeader || wsseHeader.isEmpty()) {
|
||||||
|
throw new JeroBootException("wsse header is null.");
|
||||||
|
}
|
||||||
|
return wsseHeader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendSms(String url, String wsseHeader, String body, String phone, String randomNumber, String codeTime) {
|
||||||
|
try {
|
||||||
|
//如果JDK版本低于1.8,可使用如下代码
|
||||||
|
//CloseableHttpClient client = HttpClients.custom()
|
||||||
|
// .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
|
||||||
|
// @Override
|
||||||
|
// public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// }).build()).setSSLHostnameVerifier(new DefaultHostnameVerifier()).build();
|
||||||
|
|
||||||
|
//如果JDK版本是1.8,可使用如下代码
|
||||||
|
CloseableHttpClient client = null;
|
||||||
|
try {
|
||||||
|
client = HttpClients.custom()
|
||||||
|
.setSSLContext(new SSLContextBuilder().loadTrustMaterial(null,
|
||||||
|
(x509CertChain, authType) -> true).build())
|
||||||
|
.setSSLHostnameVerifier(new DefaultHostnameVerifier())
|
||||||
|
.build();
|
||||||
|
} catch (NoSuchAlgorithmException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (KeyManagementException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (KeyStoreException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
if (open){
|
||||||
|
HttpResponse response = null;
|
||||||
|
response = client.execute(RequestBuilder.create("POST")//请求方法POST
|
||||||
|
.setUri(url)
|
||||||
|
.addHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded")
|
||||||
|
.addHeader(HttpHeaders.AUTHORIZATION, AUTH_HEADER_VALUE)
|
||||||
|
.addHeader("X-WSSE", wsseHeader)
|
||||||
|
.setEntity(new StringEntity(body)).build());
|
||||||
|
|
||||||
|
//判断发送是否成功
|
||||||
|
String result = EntityUtils.toString(response.getEntity());
|
||||||
|
String code = JSON.parseObject(result).getString("code");
|
||||||
|
String description = JSON.parseObject(result).getString("description");
|
||||||
|
if (!"000000".equals(code) || !"Success".equals(description)) {
|
||||||
|
throw new JeroBootException("发送短信失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//如果时间为0是通知类短信,不需要存redis
|
||||||
|
if (!"0".equals(codeTime)){
|
||||||
|
if (!redisUtil.set("_verification:_phone:" + phone, randomNumber, Long.valueOf(codeTime))) {
|
||||||
|
throw new JeroBootException("redis false.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// System.out.println("response.toString(): " + response.toString()); //打印响应头域信息
|
||||||
|
// System.out.println("EntityUtils.toString(response.getEntity()): " + EntityUtils.toString(response.getEntity())); //打印响应消息实体
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造请求Body体
|
||||||
|
*
|
||||||
|
* @param sender
|
||||||
|
* @param receiver
|
||||||
|
* @param templateId
|
||||||
|
* @param templateParas
|
||||||
|
* @param statusCallbackUrl
|
||||||
|
* @param signature | 签名名称,使用国内短信通用模板时填写
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
static String buildRequestBody(String sender, String receiver, String templateId, String templateParas,
|
||||||
|
String statusCallbackUrl, String signature) {
|
||||||
|
if (null == sender || null == receiver || null == templateId || sender.isEmpty() || receiver.isEmpty()
|
||||||
|
|| templateId.isEmpty()) {
|
||||||
|
throw new JeroBootException("buildRequestBody(): sender, receiver or templateId is null.");
|
||||||
|
}
|
||||||
|
List<NameValuePair> keyValues = new ArrayList<NameValuePair>();
|
||||||
|
|
||||||
|
keyValues.add(new BasicNameValuePair("from", sender));
|
||||||
|
keyValues.add(new BasicNameValuePair("to", receiver));
|
||||||
|
keyValues.add(new BasicNameValuePair("templateId", templateId));
|
||||||
|
if (null != templateParas && !templateParas.isEmpty()) {
|
||||||
|
keyValues.add(new BasicNameValuePair("templateParas", templateParas));
|
||||||
|
}
|
||||||
|
if (null != statusCallbackUrl && !statusCallbackUrl.isEmpty()) {
|
||||||
|
keyValues.add(new BasicNameValuePair("statusCallback", statusCallbackUrl));
|
||||||
|
}
|
||||||
|
if (null != signature && !signature.isEmpty()) {
|
||||||
|
keyValues.add(new BasicNameValuePair("signature", signature));
|
||||||
|
}
|
||||||
|
|
||||||
|
return URLEncodedUtils.format(keyValues, Charset.forName("UTF-8"));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造X-WSSE参数值
|
||||||
|
*
|
||||||
|
* @param appKey
|
||||||
|
* @param appSecret
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
static String buildWsseHeader(String appKey, String appSecret) {
|
||||||
|
if (null == appKey || null == appSecret || appKey.isEmpty() || appSecret.isEmpty()) {
|
||||||
|
throw new JeroBootException("buildWsseHeader(): appKey or appSecret is null.");
|
||||||
|
}
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
||||||
|
String time = sdf.format(new Date()); //Created
|
||||||
|
String nonce = UUID.randomUUID().toString().replace("-", ""); //Nonce
|
||||||
|
|
||||||
|
byte[] passwordDigest = DigestUtils.sha256(nonce + time + appSecret);
|
||||||
|
String hexDigest = Hex.encodeHexString(passwordDigest);
|
||||||
|
|
||||||
|
//如果JDK版本是1.8,请加载原生Base64类,并使用如下代码
|
||||||
|
String passwordDigestBase64Str = Base64.getEncoder().encodeToString(hexDigest.getBytes()); //PasswordDigest
|
||||||
|
//如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码
|
||||||
|
//String passwordDigestBase64Str = Base64.encodeBase64String(hexDigest.getBytes(Charset.forName("utf-8"))); //PasswordDigest
|
||||||
|
//若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正
|
||||||
|
//passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", "");
|
||||||
|
|
||||||
|
return String.format(WSSE_HEADER_FORMAT, appKey, passwordDigestBase64Str, nonce, time);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -33,7 +33,16 @@
|
|||||||
<artifactId>spring-boot-starter-test</artifactId>
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.zxing</groupId>
|
||||||
|
<artifactId>core</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.zxing</groupId>
|
||||||
|
<artifactId>javase</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
</dependency>
|
||||||
<!-- 如果需要微服务版本,则以上API注释,释放该API
|
<!-- 如果需要微服务版本,则以上API注释,释放该API
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.jero.boot</groupId>
|
<groupId>com.jero.boot</groupId>
|
||||||
|
|||||||
+13
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -87,4 +88,16 @@ public class PayIncomeContractInstallment implements Serializable {
|
|||||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private java.util.Date updateTime;
|
private java.util.Date updateTime;
|
||||||
|
/**临时签订单位名称*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "签订单位名称")
|
||||||
|
private java.lang.String signedCompanyTemporaryName;
|
||||||
|
/**合同名称*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "合同名称")
|
||||||
|
private java.lang.String contractName;
|
||||||
|
/**手机号*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "手机号")
|
||||||
|
private java.lang.String phone;
|
||||||
}
|
}
|
||||||
|
|||||||
+13
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -88,4 +89,16 @@ public class PaySpendingContractInstallment implements Serializable {
|
|||||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
/**临时签订单位名称*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "签订单位名称")
|
||||||
|
private java.lang.String signedCompanyTemporaryName;
|
||||||
|
/**合同名称*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "合同名称")
|
||||||
|
private java.lang.String contractName;
|
||||||
|
/**手机号*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "手机号")
|
||||||
|
private java.lang.String phone;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -3,6 +3,8 @@ package com.jero.contract.mapper;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.jero.contract.entity.PayIncomeContractInstallment;
|
import com.jero.contract.entity.PayIncomeContractInstallment;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: pay_income_contract_installment
|
* @Description: pay_income_contract_installment
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
@@ -10,5 +12,13 @@ import com.jero.contract.entity.PayIncomeContractInstallment;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
public interface PayIncomeContractInstallmentMapper extends BaseMapper<PayIncomeContractInstallment> {
|
public interface PayIncomeContractInstallmentMapper extends BaseMapper<PayIncomeContractInstallment> {
|
||||||
|
/**
|
||||||
|
* @Description 获取满足前一周发送短信的分期信息
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/14
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
List<PayIncomeContractInstallment> getIncomeContract();
|
||||||
}
|
}
|
||||||
|
|||||||
+11
@@ -4,6 +4,8 @@ package com.jero.contract.mapper;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.jero.contract.entity.PaySpendingContractInstallment;
|
import com.jero.contract.entity.PaySpendingContractInstallment;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: pay_spending_contract_installment
|
* @Description: pay_spending_contract_installment
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
@@ -12,4 +14,13 @@ import com.jero.contract.entity.PaySpendingContractInstallment;
|
|||||||
*/
|
*/
|
||||||
public interface PaySpendingContractInstallmentMapper extends BaseMapper<PaySpendingContractInstallment> {
|
public interface PaySpendingContractInstallmentMapper extends BaseMapper<PaySpendingContractInstallment> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 获取满足前一周发送短信的分期信息
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/14
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
List<PaySpendingContractInstallment> getSpendingContract();
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -2,4 +2,12 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.jero.contract.mapper.PayIncomeContractInstallmentMapper">
|
<mapper namespace="com.jero.contract.mapper.PayIncomeContractInstallmentMapper">
|
||||||
|
|
||||||
|
<select id="getIncomeContract" resultType="com.jero.contract.entity.PayIncomeContractInstallment">
|
||||||
|
SELECT pici.*,pic.contract_name,pic.signed_contacts_temporary_name,pcmt.phone FROM pay_income_contract_installment pici
|
||||||
|
INNER JOIN pay_income_contract pic ON pici.contract_id = pic.id
|
||||||
|
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = pic.signed_contacts_temporary_id
|
||||||
|
WHERE
|
||||||
|
DATE_SUB(pici.accounts_receivable_time, INTERVAL 7 DAY) = DATE_FORMAT(NOW(),'%Y-%m-%d')
|
||||||
|
AND pici.accounts_receivable_amount > paid_amount
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+4
-1
@@ -140,6 +140,7 @@
|
|||||||
sit.amount_receivable AS receivableAmount,
|
sit.amount_receivable AS receivableAmount,
|
||||||
sit.paid_amount AS paidAmount,
|
sit.paid_amount AS paidAmount,
|
||||||
meeting.director_name AS principalName,
|
meeting.director_name AS principalName,
|
||||||
|
sit.company_contact_name AS contactsName,
|
||||||
pica.create_time AS createTime
|
pica.create_time AS createTime
|
||||||
FROM pay_income_contract_associated pica
|
FROM pay_income_contract_associated pica
|
||||||
JOIN pay_meeting_situation sit ON pica.project_id = sit.id
|
JOIN pay_meeting_situation sit ON pica.project_id = sit.id
|
||||||
@@ -157,6 +158,7 @@
|
|||||||
msub.amount_receivable AS receivableAmount,
|
msub.amount_receivable AS receivableAmount,
|
||||||
msub.paid_amount AS paidAmount,
|
msub.paid_amount AS paidAmount,
|
||||||
pmp.director_name AS principalName,
|
pmp.director_name AS principalName,
|
||||||
|
msub.company_contact_name AS contactsName,
|
||||||
pica.create_time AS createTime
|
pica.create_time AS createTime
|
||||||
FROM pay_income_contract_associated pica
|
FROM pay_income_contract_associated pica
|
||||||
JOIN pay_member_project_subitem msub ON pica.project_id = msub.id
|
JOIN pay_member_project_subitem msub ON pica.project_id = msub.id
|
||||||
@@ -173,7 +175,8 @@
|
|||||||
tmsub.company_name AS chargeCompanyName,
|
tmsub.company_name AS chargeCompanyName,
|
||||||
tmsub.amount_receivable AS receivableAmount,
|
tmsub.amount_receivable AS receivableAmount,
|
||||||
tmsub.paid_amount AS paidAmount,
|
tmsub.paid_amount AS paidAmount,
|
||||||
tmember.director_name AS principalName,
|
'' AS principalName,
|
||||||
|
tmsub.liaison_man AS contactsName,
|
||||||
pica.create_time AS createTime
|
pica.create_time AS createTime
|
||||||
FROM pay_income_contract_associated pica
|
FROM pay_income_contract_associated pica
|
||||||
JOIN tb_member_project_subitem tmsub ON pica.project_id = tmsub.id
|
JOIN tb_member_project_subitem tmsub ON pica.project_id = tmsub.id
|
||||||
|
|||||||
+8
@@ -2,4 +2,12 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.jero.contract.mapper.PaySpendingContractInstallmentMapper">
|
<mapper namespace="com.jero.contract.mapper.PaySpendingContractInstallmentMapper">
|
||||||
|
|
||||||
|
<select id="getSpendingContract" resultType="com.jero.contract.entity.PaySpendingContractInstallment">
|
||||||
|
select pici.*,pic.contract_name,pic.signed_contacts_temporary_name,pcmt.phone from pay_spending_contract_installment pici
|
||||||
|
inner join pay_spending_contract pic on pici.contract_id = pic.id
|
||||||
|
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = pic.signed_contacts_temporary_id
|
||||||
|
where
|
||||||
|
DATE_SUB(pici.accounts_receivable_time, INTERVAL 7 DAY) = DATE_FORMAT(NOW(),'%Y-%m-%d')
|
||||||
|
AND pici.accounts_receivable_amount > paid_amount
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+9
-1
@@ -10,5 +10,13 @@ import com.jero.contract.entity.PayIncomeContractInstallment;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
public interface IPayIncomeContractInstallmentService extends IService<PayIncomeContractInstallment> {
|
public interface IPayIncomeContractInstallmentService extends IService<PayIncomeContractInstallment> {
|
||||||
|
/**
|
||||||
|
* @Description 收入合同每阶段前一周给合同签订单位的企业联系人发送付款提醒
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/14
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
void sendSMSIncomeContract();
|
||||||
}
|
}
|
||||||
|
|||||||
+9
@@ -11,5 +11,14 @@ import com.jero.contract.entity.PaySpendingContractInstallment;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
public interface IPaySpendingContractInstallmentService extends IService<PaySpendingContractInstallment> {
|
public interface IPaySpendingContractInstallmentService extends IService<PaySpendingContractInstallment> {
|
||||||
|
/**
|
||||||
|
* @Description 支出合同每阶段前一周给合同签订单位的企业联系人发送付款提醒
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/14
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
void sendSMSSpendingContract();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+13
@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.jero.contract.entity.PayIncomeContractInstallment;
|
import com.jero.contract.entity.PayIncomeContractInstallment;
|
||||||
import com.jero.contract.mapper.PayIncomeContractInstallmentMapper;
|
import com.jero.contract.mapper.PayIncomeContractInstallmentMapper;
|
||||||
import com.jero.contract.service.IPayIncomeContractInstallmentService;
|
import com.jero.contract.service.IPayIncomeContractInstallmentService;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: pay_income_contract_installment
|
* @Description: pay_income_contract_installment
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
@@ -14,5 +18,14 @@ import org.springframework.stereotype.Service;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class PayIncomeContractInstallmentServiceImpl extends ServiceImpl<PayIncomeContractInstallmentMapper, PayIncomeContractInstallment> implements IPayIncomeContractInstallmentService {
|
public class PayIncomeContractInstallmentServiceImpl extends ServiceImpl<PayIncomeContractInstallmentMapper, PayIncomeContractInstallment> implements IPayIncomeContractInstallmentService {
|
||||||
|
@Resource
|
||||||
|
private PayIncomeContractInstallmentMapper payIncomeContractInstallmentMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendSMSIncomeContract() {
|
||||||
|
List<PayIncomeContractInstallment> list = payIncomeContractInstallmentMapper.getIncomeContract();
|
||||||
|
if(!CollectionUtils.isEmpty(list)){
|
||||||
|
// todo 发送短信
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-59
@@ -27,7 +27,6 @@ import com.jero.pack.entity.PayPackCompany;
|
|||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.pack.service.IPayPackCompanyService;
|
import com.jero.pack.service.IPayPackCompanyService;
|
||||||
import com.jero.project.common.PayProjectCommon;
|
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
import com.jero.project.entity.PayWorkingGroup;
|
import com.jero.project.entity.PayWorkingGroup;
|
||||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||||
@@ -87,8 +86,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectPackService projectPackService;
|
|
||||||
@Autowired
|
|
||||||
private IPayPackCompanyService payPackCompanyService;
|
private IPayPackCompanyService payPackCompanyService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||||
@@ -174,7 +171,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||||
PayPackCompany payPackCompanyData = new PayPackCompany();
|
PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||||
payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId());
|
payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId());
|
||||||
payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedCompanyId());
|
payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId());
|
||||||
payPackCompanyData.setPackYear(payIncomeContract.getPackYear());
|
payPackCompanyData.setPackYear(payIncomeContract.getPackYear());
|
||||||
payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId());
|
payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId());
|
||||||
payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||||
@@ -323,7 +320,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
// 添加打包企业
|
// 添加打包企业
|
||||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),payIncomeContract.getPack(),payCommonProject.getReceivableAmount(),payCommonProject.getPaidAmount());
|
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayIncomeContractCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
projectOutput.setProjectId(payCommonProject.getId());
|
projectOutput.setProjectId(payCommonProject.getId());
|
||||||
@@ -369,7 +366,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
// 添加打包企业
|
// 添加打包企业
|
||||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||||
setPack(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),listPayWorkingGroupSubItem.get(0).getContactsIdOne(),payIncomeContract.getPackYear(),listPayWorkingGroupSubItem.get(0).getId(),payIncomeContract.getPack(),listPayWorkingGroupSubItem.get(0).getReceivableAmount(),listPayWorkingGroupSubItem.get(0).getPaidAmount());
|
payPackCompanyProjectService.setPack(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),listPayWorkingGroupSubItem.get(0).getContactsIdOne(),payIncomeContract.getPackYear(),listPayWorkingGroupSubItem.get(0).getId(),PayIncomeContractCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 更新项目id
|
// 更新项目id
|
||||||
@@ -403,53 +400,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
return listProjectOutput;
|
return listProjectOutput;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @Description 添加打包企业
|
|
||||||
* @Author lqt
|
|
||||||
* @Date 2021/9/12
|
|
||||||
* @Param
|
|
||||||
* @Return
|
|
||||||
* @Exception
|
|
||||||
*/
|
|
||||||
private void setPack(String companyId, String contactsId, String packYear, String projectId, Integer pack, BigDecimal receivableAmount,BigDecimal paidAmount){
|
|
||||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
|
||||||
if(Objects.equals(pack,PayIncomeContractCommon.PACK1)){
|
|
||||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
|
||||||
queryPayPackCompany.eq(PayPackCompany::getCompanyId,companyId);
|
|
||||||
queryPayPackCompany.eq(PayPackCompany::getPackYear,packYear);
|
|
||||||
List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
|
||||||
PayPackCompany payPackCompany = new PayPackCompany();
|
|
||||||
//不存在打包企业 添加打包企业
|
|
||||||
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
|
||||||
PayPackCompany payPackCompanyData = new PayPackCompany();
|
|
||||||
payPackCompanyData.setCompanyId(companyId);
|
|
||||||
payPackCompanyData.setCompanyContactId(contactsId);
|
|
||||||
payPackCompanyData.setPackYear(packYear);
|
|
||||||
payPackCompanyData.setPackContactId(contactsId);
|
|
||||||
payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
|
||||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompanyNew = new LambdaQueryWrapper<>();
|
|
||||||
queryPayPackCompanyNew.eq(PayPackCompany::getCompanyId,companyId);
|
|
||||||
queryPayPackCompanyNew.eq(PayPackCompany::getPackYear,packYear);
|
|
||||||
List<PayPackCompany> listPayPackCompanyNew = payPackCompanyService.list(queryPayPackCompanyNew);
|
|
||||||
payPackCompany = listPayPackCompanyNew.get(0);
|
|
||||||
}else{
|
|
||||||
payPackCompany = listPayPackCompany.get(0);
|
|
||||||
}
|
|
||||||
// 更新打包实收金额
|
|
||||||
LambdaUpdateWrapper<PayPackCompany> updatePayPackCompany = new LambdaUpdateWrapper<>();
|
|
||||||
updatePayPackCompany.eq(PayPackCompany::getPackChargeTotal,payPackCompany.getPackChargeTotal().add(receivableAmount));
|
|
||||||
updatePayPackCompany.eq(PayPackCompany::getReceiptExpense,payPackCompany.getReceiptExpense().add(paidAmount));
|
|
||||||
updatePayPackCompany.set(PayPackCompany::getId,payPackCompany.getId());
|
|
||||||
payPackCompanyService.update(updatePayPackCompany);
|
|
||||||
// 添加打包企业成员
|
|
||||||
PayPackCompanyProject payPackCompanyProject = new PayPackCompanyProject();
|
|
||||||
payPackCompanyProject.setPackId(payPackCompany.getId());
|
|
||||||
payPackCompanyProject.setProjectId(projectId);
|
|
||||||
payPackCompanyProject.setCome(PayIncomeContractCommon.COME1);
|
|
||||||
payPackCompanyProject.setProjectId(PayIncomeContractCommon.PROJECT_TYPE1);
|
|
||||||
payPackCompanyProjectService.save(payPackCompanyProject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @Description 验证项目是否被合同关联
|
* @Description 验证项目是否被合同关联
|
||||||
* @Author lqt
|
* @Author lqt
|
||||||
* @Date 2021/9/6
|
* @Date 2021/9/6
|
||||||
@@ -634,7 +584,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
throw new JeroBootException("请输入拒绝说明!");
|
throw new JeroBootException("请输入拒绝说明!");
|
||||||
}
|
}
|
||||||
if(Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS3)){
|
if(Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS3)){
|
||||||
// todo 缺少插入合同邮寄表
|
|
||||||
payIncomeContractAudit.setExplainRemarks("");
|
payIncomeContractAudit.setExplainRemarks("");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -782,11 +731,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
if(!Objects.equals(payIncomeContract.getSignedCompanyId(),companyId)){
|
if(!Objects.equals(payIncomeContract.getSignedCompanyId(),companyId)){
|
||||||
throw new JeroBootException("关联合同中签订单位与项目中来款企业不匹配!");
|
throw new JeroBootException("关联合同中签订单位与项目中来款企业不匹配!");
|
||||||
}
|
}
|
||||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
|
||||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
|
||||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
|
||||||
payIncomeContractAssociated.setProjectId(projectId);
|
|
||||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
|
||||||
return payIncomeContract;
|
return payIncomeContract;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
+13
@@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.jero.contract.entity.PaySpendingContractInstallment;
|
import com.jero.contract.entity.PaySpendingContractInstallment;
|
||||||
import com.jero.contract.mapper.PaySpendingContractInstallmentMapper;
|
import com.jero.contract.mapper.PaySpendingContractInstallmentMapper;
|
||||||
import com.jero.contract.service.IPaySpendingContractInstallmentService;
|
import com.jero.contract.service.IPaySpendingContractInstallmentService;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: pay_spending_contract_installment
|
* @Description: pay_spending_contract_installment
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
@@ -15,4 +19,13 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class PaySpendingContractInstallmentServiceImpl extends ServiceImpl<PaySpendingContractInstallmentMapper, PaySpendingContractInstallment> implements IPaySpendingContractInstallmentService {
|
public class PaySpendingContractInstallmentServiceImpl extends ServiceImpl<PaySpendingContractInstallmentMapper, PaySpendingContractInstallment> implements IPaySpendingContractInstallmentService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PaySpendingContractInstallmentMapper paySpendingContractInstallmentMapper;
|
||||||
|
@Override
|
||||||
|
public void sendSMSSpendingContract() {
|
||||||
|
List<PaySpendingContractInstallment> list = paySpendingContractInstallmentMapper.getSpendingContract();
|
||||||
|
if(!CollectionUtils.isEmpty(list)){
|
||||||
|
// todo 发短信
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-8
@@ -6,11 +6,9 @@ import javax.annotation.Resource;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
@@ -33,13 +31,10 @@ import com.jero.meeting.vo.WorkingGroupMeetingExel;
|
|||||||
import com.jero.modules.system.volid.group.UpdateGroup;
|
import com.jero.modules.system.volid.group.UpdateGroup;
|
||||||
import com.jero.project.entity.PayWorkingGroup;
|
import com.jero.project.entity.PayWorkingGroup;
|
||||||
import com.jero.project.service.IPayWorkingGroupService;
|
import com.jero.project.service.IPayWorkingGroupService;
|
||||||
|
import com.jero.util.QrcodeUtil;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
import org.apache.commons.beanutils.PropertyUtils;
|
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
||||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
||||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
@@ -332,8 +327,15 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
|||||||
@ApiOperation(value="发布提醒", notes="发布提醒")
|
@ApiOperation(value="发布提醒", notes="发布提醒")
|
||||||
@PostMapping(value = "/publishReminder")
|
@PostMapping(value = "/publishReminder")
|
||||||
public Result<?> publishReminder(@RequestBody PublishReminderVO publishReminderVO) {
|
public Result<?> publishReminder(@RequestBody PublishReminderVO publishReminderVO) {
|
||||||
payMeetingService.publishReminder(publishReminderVO.getMeetingId(),publishReminderVO.getSubitemIds());
|
payMeetingService.publishReminder(publishReminderVO.getMeetingIds(),publishReminderVO.getSubitemIds());
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "生成base64")
|
||||||
|
@GetMapping(value = "/createBase64")
|
||||||
|
@ApiImplicitParam(name = "contact", value = "内容", required = true, paramType = "query")
|
||||||
|
public Result<String> createBase64(String contact) {
|
||||||
|
return Result.OK(QrcodeUtil.create(contact));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-12
@@ -4,29 +4,18 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import cn.hutool.http.HttpUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.exception.JeroBootException;
|
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
|
||||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||||
import com.jero.meeting.entity.PayMeetingSituation;
|
import com.jero.meeting.entity.PayMeetingSituation;
|
||||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.meeting.vo.AddDockVO;
|
import com.jero.meeting.vo.*;
|
||||||
import com.jero.meeting.vo.CheckVO;
|
|
||||||
import com.jero.meeting.vo.ImportSituationsVO;
|
|
||||||
import com.jero.meeting.vo.PayMeetingSituationVO;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@@ -193,4 +182,15 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
|
|||||||
return Result.OK("审核成功!");
|
return Result.OK("审核成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合并开票
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "合并开票")
|
||||||
|
@ApiOperation(value="合并开票", notes="合并开票")
|
||||||
|
@PostMapping(value = "/batchPayBill")
|
||||||
|
public Result<?> mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) {
|
||||||
|
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||||
|
return Result.OK("审核成功!");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -50,5 +50,5 @@ public interface IPayMeetingService extends IService<PayMeeting> {
|
|||||||
* @param meetingId
|
* @param meetingId
|
||||||
* @param subitemIds
|
* @param subitemIds
|
||||||
*/
|
*/
|
||||||
void publishReminder(String meetingId, List<String> subitemIds);
|
void publishReminder(List<String> meetingIds, List<String> subitemIds);
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -3,6 +3,7 @@ package com.jero.meeting.service;
|
|||||||
import com.jero.meeting.entity.PayMeetingSituation;
|
import com.jero.meeting.entity.PayMeetingSituation;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.jero.meeting.vo.AddDockVO;
|
import com.jero.meeting.vo.AddDockVO;
|
||||||
|
import com.jero.meeting.vo.MergePayBillVO;
|
||||||
import com.jero.meeting.vo.CheckVO;
|
import com.jero.meeting.vo.CheckVO;
|
||||||
import com.jero.meeting.vo.PayMeetingSituationVO;
|
import com.jero.meeting.vo.PayMeetingSituationVO;
|
||||||
|
|
||||||
@@ -51,4 +52,6 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
|
|||||||
void signUp(PayMeetingSituation payMeetingSituation);
|
void signUp(PayMeetingSituation payMeetingSituation);
|
||||||
|
|
||||||
void check(CheckVO checkVO);
|
void check(CheckVO checkVO);
|
||||||
|
|
||||||
|
void mergePayBill(MergePayBillVO mergePayBillVO);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-6
@@ -38,7 +38,7 @@ import java.util.stream.Collectors;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.transaction.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会议管理
|
* @Description: 会议管理
|
||||||
@@ -47,7 +47,7 @@ import javax.transaction.Transactional;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Transactional(rollbackOn = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeeting> implements IPayMeetingService {
|
public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeeting> implements IPayMeetingService {
|
||||||
@Resource
|
@Resource
|
||||||
private ISysBaseAPI sysBaseApi;
|
private ISysBaseAPI sysBaseApi;
|
||||||
@@ -255,8 +255,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void publishReminder(String meetingId, List<String> subitemIds) {
|
public void publishReminder(List<String> meetingIds, List<String> subitemIds) {
|
||||||
PayMeeting payMeeting = getById(meetingId);
|
|
||||||
List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds);
|
List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds);
|
||||||
List<String> userIds = new ArrayList<>();
|
List<String> userIds = new ArrayList<>();
|
||||||
//把单位会员中所有的联系人和有机联系人取出
|
//把单位会员中所有的联系人和有机联系人取出
|
||||||
@@ -283,10 +282,13 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
LambdaQueryWrapper<PayContactsManagementTemporary> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PayContactsManagementTemporary> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.in(PayContactsManagementTemporary::getId,userIds);
|
wrapper.in(PayContactsManagementTemporary::getId,userIds);
|
||||||
List<PayContactsManagementTemporary> list = payContactsManagementTemporaryService.list(wrapper);
|
List<PayContactsManagementTemporary> list = payContactsManagementTemporaryService.list(wrapper);
|
||||||
|
List<PayMeeting> payMeetings = listByIds(meetingIds);
|
||||||
for (PayContactsManagementTemporary payContactsManagementTemporary : list) {
|
for (PayContactsManagementTemporary payContactsManagementTemporary : list) {
|
||||||
//TODO 发送消息
|
//TODO 发送消息
|
||||||
}
|
}
|
||||||
payMeeting.setRemind(MeetingCommon.REMIND_1);
|
for (PayMeeting payMeeting : payMeetings) {
|
||||||
saveOrUpdate(payMeeting);
|
payMeeting.setRemind(MeetingCommon.REMIND_1);
|
||||||
|
saveOrUpdate(payMeeting);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -2,7 +2,6 @@ package com.jero.meeting.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
@@ -21,7 +20,6 @@ import com.jero.meeting.service.IPayMeetingSituationService;
|
|||||||
import com.jero.meeting.valid.group.*;
|
import com.jero.meeting.valid.group.*;
|
||||||
import com.jero.meeting.vo.*;
|
import com.jero.meeting.vo.*;
|
||||||
import com.jero.project.common.PayProjectCommon;
|
import com.jero.project.common.PayProjectCommon;
|
||||||
import com.jero.standards.memberinfo.entity.MemberInfo;
|
|
||||||
import com.jero.standards.memberinfo.service.IMemberInfoService;
|
import com.jero.standards.memberinfo.service.IMemberInfoService;
|
||||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||||
@@ -34,10 +32,9 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会议报名信息
|
* @Description: 会议报名信息
|
||||||
@@ -46,7 +43,7 @@ import javax.annotation.Resource;
|
|||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituationMapper, PayMeetingSituation> implements IPayMeetingSituationService {
|
public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituationMapper, PayMeetingSituation> implements IPayMeetingSituationService {
|
||||||
@Resource
|
@Resource
|
||||||
private IPayCompanyManagementService companyManagementService;
|
private IPayCompanyManagementService companyManagementService;
|
||||||
@@ -141,6 +138,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
|||||||
saveOrUpdate(meetingSituation);
|
saveOrUpdate(meetingSituation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mergePayBill(MergePayBillVO mergePayBillVO) {
|
||||||
|
mergePayBillVO.getInvoiceAmount();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* 更新
|
||||||
*/
|
*/
|
||||||
@@ -238,21 +240,19 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
|||||||
payMeetingSituation1.setPayMode(payMode);
|
payMeetingSituation1.setPayMode(payMode);
|
||||||
//缴费方式为打包时,不处理邮寄联系人和地址
|
//缴费方式为打包时,不处理邮寄联系人和地址
|
||||||
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_PACK)) {
|
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_PACK)) {
|
||||||
ValidUtil.validate(commonPeopleVO, NotPack.class);
|
ValidUtil.validate(commonPeopleVO);
|
||||||
//存入打包字段
|
//存入打包字段
|
||||||
payMeetingSituation1.setPack(PayProjectCommon.PACKAGING1);
|
payMeetingSituation1.setPack(PayProjectCommon.PACKAGING1);
|
||||||
payMeetingSituation1.setAmountReceivable(new BigDecimal(0));
|
payMeetingSituation1.setAmountReceivable(new BigDecimal(0));
|
||||||
} else {
|
} else {
|
||||||
|
ValidUtil.validate(commonPeopleVO, NotPack.class);
|
||||||
|
|
||||||
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
|
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
|
||||||
payMeetingSituation1.setPaymentRecord(payMeetingSituation.getPaymentRecord());
|
payMeetingSituation1.setPaymentRecord(payMeetingSituation.getPaymentRecord());
|
||||||
//如果是标协会议判断会员类型
|
//如果是标协会议判断会员类型
|
||||||
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))){
|
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))){
|
||||||
//根据企业名称和会员类型不为null判断是否为标协会员
|
//根据企业名称和会员类型不为null判断是否为标协会员
|
||||||
LambdaQueryWrapper<MemberInfo> wrapper = new LambdaQueryWrapper<>();
|
int count = memberInfoService.check(payMeetingSituation1.getCompanyName());
|
||||||
wrapper.eq(MemberInfo::getCompanyName, payMeetingSituation.getCompanyName());
|
|
||||||
wrapper.isNotNull(MemberInfo::getMemberType);
|
|
||||||
int count = memberInfoService.count(wrapper);
|
|
||||||
//如果是标协会员就存入会议费用(标协会员)
|
//如果是标协会员就存入会议费用(标协会员)
|
||||||
if (count>0){
|
if (count>0){
|
||||||
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsVip());
|
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsVip());
|
||||||
|
|||||||
+2
-2
@@ -42,7 +42,7 @@ public class InternationalGuestVO {
|
|||||||
/**个人简介*/
|
/**个人简介*/
|
||||||
@Excel(name = "个人简介", width = 15)
|
@Excel(name = "个人简介", width = 15)
|
||||||
@ApiModelProperty(value = "个人简介")
|
@ApiModelProperty(value = "个人简介")
|
||||||
@Size(max = 50, message = "个人简介最大为50字符")
|
@Size(max = 200, message = "个人简介最大为200字符")
|
||||||
private String profile;
|
private String profile;
|
||||||
|
|
||||||
/**是否用餐*/
|
/**是否用餐*/
|
||||||
@@ -157,6 +157,6 @@ public class InternationalGuestVO {
|
|||||||
/**备注*/
|
/**备注*/
|
||||||
@Excel(name = "备注", width = 15)
|
@Excel(name = "备注", width = 15)
|
||||||
@ApiModelProperty(value = "备注")
|
@ApiModelProperty(value = "备注")
|
||||||
@Size(max = 50,message = "备注人最大为200字符")
|
@Size(max = 200,message = "备注最大为200字符")
|
||||||
private String remark;
|
private String remark;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.jero.meeting.vo;
|
||||||
|
|
||||||
|
import com.jero.common.util.jsonschema.validate.StringProperty;
|
||||||
|
import com.jero.meeting.entity.PayMeetingSituation;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.DecimalMax;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author liJiaRao
|
||||||
|
* @date 2021-09-13 17:46
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class MergePayBillVO {
|
||||||
|
@NotBlank(message = "会议项目不能为空")
|
||||||
|
private String meetingId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "邮寄联系人")
|
||||||
|
private String postContactId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "邮寄联系人地址")
|
||||||
|
private String postContactAddress;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "票号")
|
||||||
|
@NotNull(message = "票号不能为空")
|
||||||
|
private String billNo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "开票金额")
|
||||||
|
@NotNull(message = "开票金额不能为空")
|
||||||
|
@DecimalMax(value = "9999999999.99", message = "开票金额格式错误")
|
||||||
|
private BigDecimal invoiceAmount;
|
||||||
|
|
||||||
|
private List<String> meetingSituationIds;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ import java.util.List;
|
|||||||
@Data
|
@Data
|
||||||
public class PublishReminderVO {
|
public class PublishReminderVO {
|
||||||
@ApiModelProperty(value = "会议id")
|
@ApiModelProperty(value = "会议id")
|
||||||
private String meetingId;
|
private List<String> meetingIds;
|
||||||
@ApiModelProperty(value = "成员id列表")
|
@ApiModelProperty(value = "成员id列表")
|
||||||
private List<String> subitemIds;
|
private List<String> subitemIds;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -86,7 +86,9 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
|||||||
}else{
|
}else{
|
||||||
p.setReceiptExpense(new BigDecimal("0.00"));
|
p.setReceiptExpense(new BigDecimal("0.00"));
|
||||||
}
|
}
|
||||||
// todo 获取开票金额
|
if(Objects.isNull(p.getPackChargeTotal())){
|
||||||
|
p.setPackChargeTotal(new BigDecimal("0.00"));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
pageList.setRecords(list);
|
pageList.setRecords(list);
|
||||||
}
|
}
|
||||||
|
|||||||
+85
-2
@@ -1,31 +1,47 @@
|
|||||||
package com.jero.pack.controller;
|
package com.jero.pack.controller;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.aspect.annotation.AutoLog;
|
import com.jero.common.aspect.annotation.AutoLog;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.common.util.PasswordUtil;
|
||||||
import com.jero.common.util.ValidUtil;
|
import com.jero.common.util.ValidUtil;
|
||||||
|
import com.jero.common.util.oConvertUtils;
|
||||||
import com.jero.pack.common.PackCommon;
|
import com.jero.pack.common.PackCommon;
|
||||||
import com.jero.pack.entity.PayPackCompany;
|
import com.jero.pack.entity.PayPackCompany;
|
||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.pack.service.IPayPackCompanyService;
|
import com.jero.pack.service.IPayPackCompanyService;
|
||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||||
|
import com.jero.pack.vo.PayProjectExcel;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
|
import com.jero.project.vo.PayCommonProjectOutput;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@@ -46,6 +62,10 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
|||||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPayPackCompanyService payPackCompanyService;
|
private IPayPackCompanyService payPackCompanyService;
|
||||||
|
@Autowired
|
||||||
|
private ISysBaseAPI sysBaseAPI;
|
||||||
|
@Autowired
|
||||||
|
private Environment env;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页列表查询
|
* 分页列表查询
|
||||||
@@ -89,6 +109,16 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
|||||||
input.setCompanyId(payPackCompany.getCompanyId());
|
input.setCompanyId(payPackCompany.getCompanyId());
|
||||||
input.setPackYear(payPackCompany.getPackYear());
|
input.setPackYear(payPackCompany.getPackYear());
|
||||||
List<PayCommonProject> list = payPackCompanyProjectService.queryListAll(input);
|
List<PayCommonProject> list = payPackCompanyProjectService.queryListAll(input);
|
||||||
|
if(!CollectionUtils.isEmpty(list)){
|
||||||
|
list.forEach(p->{
|
||||||
|
if(!StringUtils.isBlank(p.getPhone())){
|
||||||
|
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
|
||||||
|
}
|
||||||
|
if(!StringUtils.isBlank(p.getEmail())){
|
||||||
|
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,7 +144,17 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
|||||||
input.setCompanyId(payPackCompany.getCompanyId());
|
input.setCompanyId(payPackCompany.getCompanyId());
|
||||||
input.setPack(PackCommon.PACKAGING0);
|
input.setPack(PackCommon.PACKAGING0);
|
||||||
List<PayCommonProject> list = payPackCompanyProjectService.queryPackListAll(input);
|
List<PayCommonProject> list = payPackCompanyProjectService.queryPackListAll(input);
|
||||||
return Result.OK(list);
|
List<PayCommonProjectOutput> listPayCommonProjectOutput = new ArrayList<>();
|
||||||
|
if(!CollectionUtils.isEmpty(list)){
|
||||||
|
String str = JSON.toJSONString(list);
|
||||||
|
listPayCommonProjectOutput = JSONArray.parseArray(str,PayCommonProjectOutput.class);
|
||||||
|
listPayCommonProjectOutput.forEach(p->{
|
||||||
|
if(!Objects.isNull(p.getChargeUse())){
|
||||||
|
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return Result.OK(listPayCommonProjectOutput);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -229,8 +269,51 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
|||||||
* @param payPackCompanyProject
|
* @param payPackCompanyProject
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/exportXls")
|
@GetMapping(value = "/exportXls")
|
||||||
|
@ApiOperation(value="打包项目维护-导出excel", notes="打包项目维护-导出excel")
|
||||||
public ModelAndView exportXls(HttpServletRequest request, PayPackCompanyProject payPackCompanyProject) {
|
public ModelAndView exportXls(HttpServletRequest request, PayPackCompanyProject payPackCompanyProject) {
|
||||||
return super.exportXls(request, payPackCompanyProject, PayPackCompanyProject.class, "pay_pack_company_project");
|
// Step.1 组装查询条件
|
||||||
|
QueryWrapper<PayPackCompanyProject> queryWrapper = QueryGenerator.initQueryWrapper(payPackCompanyProject, request.getParameterMap());
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|
||||||
|
// Step.2 获取导出数据
|
||||||
|
List<PayPackCompanyProject> pageList = payPackCompanyProjectService.list(queryWrapper);
|
||||||
|
List<PayProjectExcel> exportList = null;
|
||||||
|
|
||||||
|
// 过滤选中数据
|
||||||
|
String selections = request.getParameter("selections");
|
||||||
|
List<String> selectionList = new ArrayList<>();
|
||||||
|
if (oConvertUtils.isNotEmpty(selections)) {
|
||||||
|
selectionList = Arrays.asList(selections.split(","));
|
||||||
|
}
|
||||||
|
if(CollectionUtils.isEmpty(pageList)){
|
||||||
|
throw new JeroBootException("没有数据可导出!");
|
||||||
|
}
|
||||||
|
PayPackCompany payPackCompany = payPackCompanyService.getById(pageList.get(0).getPackId());
|
||||||
|
if(Objects.isNull(payPackCompany)){
|
||||||
|
throw new JeroBootException("打包企业不存在!");
|
||||||
|
}
|
||||||
|
exportList = payPackCompanyProjectService.getExportXls(selectionList,payPackCompany.getCompanyId());
|
||||||
|
if(!CollectionUtils.isEmpty(exportList)){
|
||||||
|
exportList.forEach(p->{
|
||||||
|
if(!StringUtils.isBlank(p.getPhone())){
|
||||||
|
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
|
||||||
|
}
|
||||||
|
if(!StringUtils.isBlank(p.getEmail())){
|
||||||
|
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Step.3 AutoPoi 导出Excel
|
||||||
|
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||||
|
mv.addObject(NormalExcelConstants.FILE_NAME, "打包成员信息"); //此处设置的filename无效 ,前端会重更新设置一下
|
||||||
|
mv.addObject(NormalExcelConstants.CLASS, PayProjectExcel.class);
|
||||||
|
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
|
||||||
|
ExportParams exportParams=new ExportParams("打包成员信息", "打包成员信息");
|
||||||
|
exportParams.setImageBasePath(env.getProperty("jero.path.upload"));
|
||||||
|
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
|
||||||
|
mv.addObject(NormalExcelConstants.PARAMS,exportParams);
|
||||||
|
mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
|
||||||
|
return mv;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+12
@@ -6,6 +6,8 @@ import com.jero.pack.entity.PayPackCompany;
|
|||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: pay_pack_company
|
* @Description: pay_pack_company
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
@@ -24,4 +26,14 @@ public interface PayPackCompanyMapper extends BaseMapper<PayPackCompany> {
|
|||||||
*/
|
*/
|
||||||
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 导出excel数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/13
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
void getExportXls(List<String> list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+11
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
import com.jero.pack.common.PackCommon;
|
import com.jero.pack.common.PackCommon;
|
||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||||
|
import com.jero.pack.vo.PayProjectExcel;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@@ -50,4 +51,14 @@ public interface PayPackCompanyProjectMapper extends BaseMapper<PayPackCompanyPr
|
|||||||
List<String> queryPackToYear(@Param("companyId") String companyId,@Param("projectType") String projectType,
|
List<String> queryPackToYear(@Param("companyId") String companyId,@Param("projectType") String projectType,
|
||||||
@Param("year") String year,@Param("come") Integer come);
|
@Param("year") String year,@Param("come") Integer come);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description 导出excel数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/13
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
List<PayProjectExcel> getExportXls(@Param("list") List<String> list,@Param("companyId") String companyId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
UNION ALL
|
UNION ALL
|
||||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
||||||
from pay_working_group g
|
from pay_working_group g
|
||||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||||
<where>
|
<where>
|
||||||
<if test="companyId != null and companyId != ''">
|
<if test="companyId != null and companyId != ''">
|
||||||
AND gsub.charge_company_id = #{companyId}
|
AND gsub.charge_company_id = #{companyId}
|
||||||
|
|||||||
+151
-10
@@ -3,11 +3,33 @@
|
|||||||
<mapper namespace="com.jero.pack.mapper.PayPackCompanyProjectMapper">
|
<mapper namespace="com.jero.pack.mapper.PayPackCompanyProjectMapper">
|
||||||
|
|
||||||
<select id="queryListAll" resultType="com.jero.project.entity.PayCommonProject">
|
<select id="queryListAll" resultType="com.jero.project.entity.PayCommonProject">
|
||||||
select project.*,ppcp.come from pay_pack_company_project ppcp
|
select
|
||||||
LEFT JOIN
|
project.id,
|
||||||
|
project.charge_project,
|
||||||
|
project.charge_use,
|
||||||
|
project.principal_id,
|
||||||
|
project.principal_name,
|
||||||
|
project.contacts_temporary_id,
|
||||||
|
project.contacts_temporary_name,
|
||||||
|
project.charge_company_temporary_name,
|
||||||
|
project.receivable_amount,
|
||||||
|
project.paid_amount,
|
||||||
|
project.need_invoice,
|
||||||
|
project.pack,
|
||||||
|
project.in_account,
|
||||||
|
project.make_invoice,
|
||||||
|
project.mail,
|
||||||
|
project.create_time,
|
||||||
|
project.projectType,
|
||||||
|
ppcp.come,
|
||||||
|
IF
|
||||||
|
( project.phone = '' or project.phone IS NULL, pcmt.phone, project.phone ) AS phone,
|
||||||
|
IF
|
||||||
|
( project.email = '' or project.email IS NULL, pcmt.email, project.email ) AS email
|
||||||
|
from
|
||||||
(
|
(
|
||||||
<!-- 普通项目-->
|
<!-- 普通项目-->
|
||||||
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType
|
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email
|
||||||
from pay_common_project c
|
from pay_common_project c
|
||||||
<where>
|
<where>
|
||||||
<if test="companyId != null and companyId != ''">
|
<if test="companyId != null and companyId != ''">
|
||||||
@@ -22,7 +44,7 @@
|
|||||||
</where>
|
</where>
|
||||||
<!--工作组项目-->
|
<!--工作组项目-->
|
||||||
UNION ALL
|
UNION ALL
|
||||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'',''
|
||||||
from pay_working_group g
|
from pay_working_group g
|
||||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
||||||
<where>
|
<where>
|
||||||
@@ -38,7 +60,7 @@
|
|||||||
</where>
|
</where>
|
||||||
<!-- 会议项目-->
|
<!-- 会议项目-->
|
||||||
UNION ALL
|
UNION ALL
|
||||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3
|
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'',''
|
||||||
from pay_meeting meeting
|
from pay_meeting meeting
|
||||||
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||||
<where>
|
<where>
|
||||||
@@ -54,7 +76,7 @@
|
|||||||
</where>
|
</where>
|
||||||
<!-- 会员项目-->
|
<!-- 会员项目-->
|
||||||
UNION ALL
|
UNION ALL
|
||||||
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4
|
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'',''
|
||||||
from pay_member_project pmp
|
from pay_member_project pmp
|
||||||
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
||||||
<where>
|
<where>
|
||||||
@@ -70,7 +92,7 @@
|
|||||||
</where>
|
</where>
|
||||||
<!-- 标协会员项目-->
|
<!-- 标协会员项目-->
|
||||||
UNION ALL
|
UNION ALL
|
||||||
select tmsub.id,tmember.project_name,tmsub.charge_use,'','',tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5
|
select tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,mobile,email
|
||||||
from tb_member_project tmember
|
from tb_member_project tmember
|
||||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||||
<where>
|
<where>
|
||||||
@@ -84,12 +106,18 @@
|
|||||||
AND tmember.year = #{year}
|
AND tmember.year = #{year}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
) project ON project.id = ppcp.project_id
|
) project
|
||||||
|
LEFT JOIN pay_pack_company_project ppcp ON project.id = ppcp.project_id
|
||||||
|
LEFT JOIN pay_pack_company ppc ON ppc.id = ppcp.pack_id and ppc.pack_year =#{packYear}
|
||||||
|
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = project.contacts_temporary_id
|
||||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = project.id
|
LEFT JOIN pay_payment_record ppr ON ppr.project_id = project.id
|
||||||
|
WHERE project.id IS NOT NULL AND project.id != ''
|
||||||
|
<if test="packId != null and packId != ''">
|
||||||
|
AND ppcp.pack_id = #{packId}
|
||||||
|
</if>
|
||||||
<if test="paymentDate != null and paymentDate != ''">
|
<if test="paymentDate != null and paymentDate != ''">
|
||||||
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
|
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
|
||||||
</if>
|
</if>
|
||||||
WHERE project.id IS NOT NULL AND project.id != ''
|
|
||||||
GROUP BY ppcp.project_id ORDER BY ppcp.create_time desc
|
GROUP BY ppcp.project_id ORDER BY ppcp.create_time desc
|
||||||
</select>
|
</select>
|
||||||
<select id="queryPackListAll" resultType="com.jero.project.entity.PayCommonProject">
|
<select id="queryPackListAll" resultType="com.jero.project.entity.PayCommonProject">
|
||||||
@@ -118,7 +146,7 @@
|
|||||||
UNION ALL
|
UNION ALL
|
||||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
||||||
from pay_working_group g
|
from pay_working_group g
|
||||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||||
<where>
|
<where>
|
||||||
<if test="projectId != null and projectId != ''">
|
<if test="projectId != null and projectId != ''">
|
||||||
AND gsub.id = #{projectId}
|
AND gsub.id = #{projectId}
|
||||||
@@ -215,4 +243,117 @@
|
|||||||
WHERE ppcp.project_type =#{projectType} AND ppc.pack_year = #{year} AND ppc.company_id=#{companyId}
|
WHERE ppcp.project_type =#{projectType} AND ppc.pack_year = #{year} AND ppc.company_id=#{companyId}
|
||||||
AND ppcp.come = #{come}
|
AND ppcp.come = #{come}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getExportXls" resultType="com.jero.pack.vo.PayProjectExcel">
|
||||||
|
select
|
||||||
|
project.id,
|
||||||
|
project.charge_project,
|
||||||
|
project.charge_use,
|
||||||
|
project.principal_id,
|
||||||
|
project.principal_name,
|
||||||
|
project.contacts_temporary_id,
|
||||||
|
project.contacts_temporary_name,
|
||||||
|
project.charge_company_temporary_name,
|
||||||
|
project.receivable_amount,
|
||||||
|
project.paid_amount,
|
||||||
|
project.need_invoice,
|
||||||
|
project.pack,
|
||||||
|
project.in_account,
|
||||||
|
project.make_invoice,
|
||||||
|
project.mail,
|
||||||
|
project.create_time,
|
||||||
|
project.projectType,
|
||||||
|
IF
|
||||||
|
( project.phone = '' or project.phone IS NULL, pcmt.phone, project.phone ) AS phone,
|
||||||
|
IF
|
||||||
|
( project.email = '' or project.email IS NULL, pcmt.email, project.email ) AS email
|
||||||
|
from
|
||||||
|
(
|
||||||
|
<!-- 普通项目-->
|
||||||
|
select c.id,c.charge_project, c.charge_use,
|
||||||
|
c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1
|
||||||
|
as projectType,'' as phone,'' as email
|
||||||
|
from pay_common_project c
|
||||||
|
<where>
|
||||||
|
<if test="companyId != null and companyId != ''">
|
||||||
|
AND c.charge_company_id = #{companyId}
|
||||||
|
</if>
|
||||||
|
<if test="list != null and list.size() > 0">
|
||||||
|
AND c.id IN
|
||||||
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
<!--工作组项目-->
|
||||||
|
UNION ALL
|
||||||
|
select gsub.id,g.working_group_project, gsub.charge_use,
|
||||||
|
g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'',''
|
||||||
|
from pay_working_group g
|
||||||
|
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
||||||
|
<where>
|
||||||
|
<if test="companyId != null and companyId != ''">
|
||||||
|
AND gsub.charge_company_id = #{companyId}
|
||||||
|
</if>
|
||||||
|
<if test="list != null and list.size() > 0">
|
||||||
|
AND gsub.id IN
|
||||||
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
<!-- 会议项目-->
|
||||||
|
UNION ALL
|
||||||
|
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id,
|
||||||
|
meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'',''
|
||||||
|
from pay_meeting meeting
|
||||||
|
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||||
|
<where>
|
||||||
|
<if test="companyId != null and companyId != ''">
|
||||||
|
AND sit.company_id = #{companyId}
|
||||||
|
</if>
|
||||||
|
<if test="list != null and list.size() > 0">
|
||||||
|
AND sit.id IN
|
||||||
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
<!-- 会员项目-->
|
||||||
|
UNION ALL
|
||||||
|
select
|
||||||
|
msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'',''
|
||||||
|
from pay_member_project pmp
|
||||||
|
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
||||||
|
<where>
|
||||||
|
<if test="companyId != null and companyId != ''">
|
||||||
|
AND msub.company_id = #{companyId}
|
||||||
|
</if>
|
||||||
|
<if test="list != null and list.size() > 0">
|
||||||
|
AND msub.id IN
|
||||||
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
<!-- 标协会员项目-->
|
||||||
|
UNION ALL
|
||||||
|
select
|
||||||
|
tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,mobile,email
|
||||||
|
from tb_member_project tmember
|
||||||
|
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||||
|
<where>
|
||||||
|
<if test="companyId != null and companyId != ''">
|
||||||
|
AND tmsub.company_id = #{companyId}
|
||||||
|
</if>
|
||||||
|
<if test="list != null and list.size() > 0">
|
||||||
|
AND tmsub.id IN
|
||||||
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
) project
|
||||||
|
LEFT JOIN pay_pack_company_project ppcp ON project.id = ppcp.project_id
|
||||||
|
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = project.contacts_temporary_id
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+20
-1
@@ -4,6 +4,7 @@ package com.jero.pack.service;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||||
|
import com.jero.pack.vo.PayProjectExcel;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -32,7 +33,7 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
|
|||||||
*/
|
*/
|
||||||
List<PayCommonProject> queryPackListAll(PayPackCompanyProjectInput input);
|
List<PayCommonProject> queryPackListAll(PayPackCompanyProjectInput input);
|
||||||
/**
|
/**
|
||||||
* @Description
|
* @Description 打包
|
||||||
* @Author lqt
|
* @Author lqt
|
||||||
* @Date 2021/9/10
|
* @Date 2021/9/10
|
||||||
* @Param
|
* @Param
|
||||||
@@ -69,4 +70,22 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
|
|||||||
* @Exception
|
* @Exception
|
||||||
*/
|
*/
|
||||||
List<String> queryPackToYear(String companyId,String projectType,String year);
|
List<String> queryPackToYear(String companyId,String projectType,String year);
|
||||||
|
/**
|
||||||
|
* @Description 添加打包企业
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/13
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
void setPack(String companyId, String contactsId, String packYear, String projectId, String projectType, Integer pack);
|
||||||
|
/**
|
||||||
|
* @Description 导出excel数据
|
||||||
|
* @Author lqt
|
||||||
|
* @Date 2021/9/13
|
||||||
|
* @Param
|
||||||
|
* @Return
|
||||||
|
* @Exception
|
||||||
|
*/
|
||||||
|
List<PayProjectExcel> getExportXls(List<String> list,String companyId);
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -5,6 +5,8 @@ import com.jero.pack.entity.PayPackCompany;
|
|||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: pay_pack_company
|
* @Description: pay_pack_company
|
||||||
* @Author: jeecg-boot
|
* @Author: jeecg-boot
|
||||||
@@ -20,7 +22,7 @@ public interface IPayPackCompanyService extends IService<PayPackCompany> {
|
|||||||
* @Return
|
* @Return
|
||||||
* @Exception
|
* @Exception
|
||||||
*/
|
*/
|
||||||
void addPayPackCompany(PayPackCompany payPackCompany);
|
PayPackCompany addPayPackCompany(PayPackCompany payPackCompany);
|
||||||
/**
|
/**
|
||||||
* @Description 编辑
|
* @Description 编辑
|
||||||
* @Author lqt
|
* @Author lqt
|
||||||
|
|||||||
+55
-7
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.service.ProjectPackService;
|
import com.jero.common.service.ProjectPackService;
|
||||||
|
import com.jero.contract.common.PayIncomeContractCommon;
|
||||||
import com.jero.pack.common.PackCommon;
|
import com.jero.pack.common.PackCommon;
|
||||||
import com.jero.pack.entity.PayPackCompany;
|
import com.jero.pack.entity.PayPackCompany;
|
||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
@@ -12,11 +13,13 @@ import com.jero.pack.mapper.PayPackCompanyProjectMapper;
|
|||||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.pack.service.IPayPackCompanyService;
|
import com.jero.pack.service.IPayPackCompanyService;
|
||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||||
|
import com.jero.pack.vo.PayProjectExcel;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Isolation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -55,7 +58,7 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional()
|
||||||
public void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject) {
|
public void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject) {
|
||||||
PayPackCompany payPackCompany = payPackCompanyService.getById(payPackCompanyProject.getPackId());
|
PayPackCompany payPackCompany = payPackCompanyService.getById(payPackCompanyProject.getPackId());
|
||||||
if(Objects.isNull(payPackCompany)){
|
if(Objects.isNull(payPackCompany)){
|
||||||
@@ -71,17 +74,26 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
|||||||
if(StringUtils.isBlank(s1)){
|
if(StringUtils.isBlank(s1)){
|
||||||
throw new JeroBootException("项目id不能为空!");
|
throw new JeroBootException("项目id不能为空!");
|
||||||
}
|
}
|
||||||
|
List<PayCommonProject> list = new ArrayList<>();
|
||||||
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
|
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
|
||||||
input.setProjectId(s1);
|
input.setProjectId(s1);
|
||||||
input.setCompanyId(payPackCompany.getCompanyId());
|
input.setCompanyId(payPackCompany.getCompanyId());
|
||||||
List<PayCommonProject> list = payPackCompanyProjectService.queryPackListAll(input);
|
list = payPackCompanyProjectService.queryPackListAll(input);
|
||||||
if(CollectionUtils.isEmpty(list)){
|
if(CollectionUtils.isEmpty(list)){
|
||||||
throw new JeroBootException("项目下企业不匹配!");
|
throw new JeroBootException("项目下企业不匹配!");
|
||||||
}
|
}
|
||||||
payPackCompanyProject.setProjectType(list.get(0).getProjectType());
|
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
|
||||||
payPackCompanyProject.setProjectId(s1);
|
query.eq(PayPackCompanyProject::getProjectId,s1);
|
||||||
payPackCompanyProject.setCome(PackCommon.COME2);
|
List<PayPackCompanyProject> listQuery = payPackCompanyProjectService.list(query);
|
||||||
listPayPackCompanyProject.add(payPackCompanyProject);
|
if(!CollectionUtils.isEmpty(listQuery)){
|
||||||
|
throw new JeroBootException("项目已打包!");
|
||||||
|
}
|
||||||
|
PayPackCompanyProject payPackCompanyProjectNew = new PayPackCompanyProject();
|
||||||
|
payPackCompanyProjectNew.setProjectType(list.get(0).getProjectType());
|
||||||
|
payPackCompanyProjectNew.setProjectId(s1);
|
||||||
|
payPackCompanyProjectNew.setPackId(payPackCompanyProject.getPackId());
|
||||||
|
payPackCompanyProjectNew.setCome(PackCommon.COME2);
|
||||||
|
listPayPackCompanyProject.add(payPackCompanyProjectNew);
|
||||||
}
|
}
|
||||||
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
|
||||||
query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds()));
|
query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds()));
|
||||||
@@ -94,7 +106,7 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
|||||||
listPayPackCompanyProject.forEach(p->{
|
listPayPackCompanyProject.forEach(p->{
|
||||||
projectPackService.updateProjectStatus(p.getProjectId(),String.valueOf(p.getProjectType()),String.valueOf(PackCommon.PACKAGING1),payPackCompanyProject.getPackId());
|
projectPackService.updateProjectStatus(p.getProjectId(),String.valueOf(p.getProjectType()),String.valueOf(PackCommon.PACKAGING1),payPackCompanyProject.getPackId());
|
||||||
});
|
});
|
||||||
payPackCompanyProjectService.save(payPackCompanyProject);
|
payPackCompanyProjectService.saveBatch(listPayPackCompanyProject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,4 +144,40 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
|||||||
public List<String> queryPackToYear(String companyId,String projectType,String year) {
|
public List<String> queryPackToYear(String companyId,String projectType,String year) {
|
||||||
return payPackCompanyProjectMapper.queryPackToYear(companyId,projectType,year, PackCommon.COME2);
|
return payPackCompanyProjectMapper.queryPackToYear(companyId,projectType,year, PackCommon.COME2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPack(String companyId, String contactsId, String packYear, String projectId,String projectType, Integer pack) {
|
||||||
|
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||||
|
if(Objects.equals(pack, PackCommon.PACKAGING1)){
|
||||||
|
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
||||||
|
queryPayPackCompany.eq(PayPackCompany::getCompanyId,companyId);
|
||||||
|
queryPayPackCompany.eq(PayPackCompany::getPackYear,packYear);
|
||||||
|
List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
||||||
|
PayPackCompany payPackCompany = new PayPackCompany();
|
||||||
|
//不存在打包企业 添加打包企业
|
||||||
|
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||||
|
PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||||
|
payPackCompanyData.setCompanyId(companyId);
|
||||||
|
payPackCompanyData.setCompanyContactId(contactsId);
|
||||||
|
payPackCompanyData.setPackYear(packYear);
|
||||||
|
payPackCompanyData.setPackContactId(contactsId);
|
||||||
|
payPackCompany = payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||||
|
}else{
|
||||||
|
payPackCompany = listPayPackCompany.get(0);
|
||||||
|
}
|
||||||
|
// 添加打包企业成员
|
||||||
|
PayPackCompanyProject payPackCompanyProject = new PayPackCompanyProject();
|
||||||
|
payPackCompanyProject.setPackId(payPackCompany.getId());
|
||||||
|
payPackCompanyProject.setProjectId(projectId);
|
||||||
|
payPackCompanyProject.setCome(PayIncomeContractCommon.COME1);
|
||||||
|
payPackCompanyProject.setProjectType(Integer.parseInt(projectType));
|
||||||
|
payPackCompanyProjectService.save(payPackCompanyProject);
|
||||||
|
// projectPackService.updateProjectStatus(projectId,projectType,String.valueOf(PackCommon.PACKAGING1),payPackCompanyProject.getPackId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PayProjectExcel> getExportXls(List<String> list,String companyId) {
|
||||||
|
return payPackCompanyProjectMapper.getExportXls(list,companyId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,7 +44,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void addPayPackCompany(PayPackCompany payPackCompany) {
|
public PayPackCompany addPayPackCompany(PayPackCompany payPackCompany) {
|
||||||
try {
|
try {
|
||||||
LambdaQueryWrapper<PayPackCompany> query = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PayPackCompany> query = new LambdaQueryWrapper<>();
|
||||||
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
|
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
|
||||||
@@ -58,6 +59,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
|||||||
}
|
}
|
||||||
setPayPackCompany(payPackCompany);
|
setPayPackCompany(payPackCompany);
|
||||||
payPackCompanyService.save(payPackCompany);
|
payPackCompanyService.save(payPackCompany);
|
||||||
|
return payPackCompany;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -0,0 +1,215 @@
|
|||||||
|
package com.jero.pack.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: pay_common_project
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2021-08-27
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PayProjectExcel implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**主键*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private String id;
|
||||||
|
/**来款项目*/
|
||||||
|
@Excel(name = "打包项目名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "来款项目")
|
||||||
|
@NotEmpty(message = "来款项目不能为空!")
|
||||||
|
@Size(max = 100,message = "来款项目长度不能大于100个字符")
|
||||||
|
private String chargeProject;
|
||||||
|
/**运行年份*/
|
||||||
|
// @Excel(name = "运行年份", width = 15)
|
||||||
|
@ApiModelProperty(value = "运行年份")
|
||||||
|
@NotEmpty(message = "运行年份不能为空!")
|
||||||
|
@Pattern(regexp = "^\\d{4}$",message = "运行年份格式错误")
|
||||||
|
private String year;
|
||||||
|
/**负责人id*/
|
||||||
|
// @Excel(name = "负责人id", width = 15)
|
||||||
|
@ApiModelProperty(value = "负责人id")
|
||||||
|
@NotEmpty(message = "负责人id不能为空!")
|
||||||
|
@Size(max = 32,message = "来款项目长度不能大于32个字符")
|
||||||
|
private String principalId;
|
||||||
|
/**负责人名称*/
|
||||||
|
@Excel(name = "项目负责人名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "负责人名称")
|
||||||
|
private String principalName;
|
||||||
|
/**来款企业id*/
|
||||||
|
// @Excel(name = "来款企业id", width = 15)
|
||||||
|
@ApiModelProperty(value = "来款企业id")
|
||||||
|
@NotEmpty(message = "来款企业id不能为空!")
|
||||||
|
@Size(max = 32,message = "来款企业id长度不能大于32个字符")
|
||||||
|
private String chargeCompanyId;
|
||||||
|
/**临时来款企业id*/
|
||||||
|
// @Excel(name = "临时来款企业id", width = 15)
|
||||||
|
@ApiModelProperty(value = "临时来款企业id")
|
||||||
|
@Size(max = 32,message = "临时来款企业id长度不能大于32个字符")
|
||||||
|
private String chargeCompanyTemporaryId;
|
||||||
|
/**临时来款企业*/
|
||||||
|
// @Excel(name = "临时来款企业", width = 15)
|
||||||
|
@ApiModelProperty(value = "临时来款企业")
|
||||||
|
private String chargeCompanyTemporaryName;
|
||||||
|
/**来款用途(字典表)*/
|
||||||
|
// @Excel(name = "来款用途(字典表)", width = 15)
|
||||||
|
@ApiModelProperty(value = "来款用途(字典表)")
|
||||||
|
@Dict(dicCode = "payment_charge_use")
|
||||||
|
@NotNull(message = "来款用途不能为空!")
|
||||||
|
private Integer chargeUse;
|
||||||
|
/**联系人id*/
|
||||||
|
// @Excel(name = "联系人id", width = 15)
|
||||||
|
@ApiModelProperty(value = "联系人id")
|
||||||
|
@NotEmpty(message = "联系人id不能为空!")
|
||||||
|
@Size(max = 32,message = "来款企业id长度不能大于32个字符")
|
||||||
|
private String contactsId;
|
||||||
|
/**临时联系人id*/
|
||||||
|
// @Excel(name = "临时联系人id", width = 15)
|
||||||
|
@ApiModelProperty(value = "临时联系人id")
|
||||||
|
@Size(max = 32,message = "临时联系人id长度不能大于32个字符")
|
||||||
|
private String contactsTemporaryId;
|
||||||
|
/**临时联系人名称*/
|
||||||
|
@Excel(name = "企业联系人", width = 15)
|
||||||
|
@ApiModelProperty(value = "临时联系人名称")
|
||||||
|
private String contactsTemporaryName;
|
||||||
|
/**
|
||||||
|
* 联系人电话
|
||||||
|
*/
|
||||||
|
@Excel(name = "联系人电话", width = 15)
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "联系人电话")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
* 联系人邮箱
|
||||||
|
*/
|
||||||
|
@Excel(name = "联系人邮箱", width = 15)
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "联系人邮箱")
|
||||||
|
private String email;
|
||||||
|
/**应收金额(元)*/
|
||||||
|
@Excel(name = "应收金额(元)", width = 15)
|
||||||
|
@ApiModelProperty(value = "应收金额(元)")
|
||||||
|
@NotNull(message = "应收金额(元)不能为空!")
|
||||||
|
@DecimalMax(value = "9999999999.99",message = "应收金额(元)格式错误")
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
|
private BigDecimal receivableAmount;
|
||||||
|
/**实收金额(元)*/
|
||||||
|
@Excel(name = "实收金额(元)", width = 15)
|
||||||
|
@ApiModelProperty(value = "实收金额(元)")
|
||||||
|
@DecimalMax(value = "9999999999.99",message = "实收金额(元)格式错误")
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
|
private BigDecimal paidAmount;
|
||||||
|
/**邮寄联系人id*/
|
||||||
|
// @Excel(name = "邮寄联系人id", width = 15)
|
||||||
|
@ApiModelProperty(value = "邮寄联系人id")
|
||||||
|
@NotEmpty(message = "邮寄联系人id不能为空!")
|
||||||
|
@Size(max = 32,message = "邮寄联系人id长度不能大于32个字符")
|
||||||
|
private String mailContactsId;
|
||||||
|
/**临时邮寄联系人id*/
|
||||||
|
// @Excel(name = "临时邮寄联系人id", width = 15)
|
||||||
|
@ApiModelProperty(value = "临时邮寄联系人id")
|
||||||
|
@Size(max = 32,message = "临时邮寄联系人id长度不能大于32个字符")
|
||||||
|
private String mailContactsTemporaryId;
|
||||||
|
/**临时邮寄联系人名称*/
|
||||||
|
// @Excel(name = "临时邮寄联系人名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "临时邮寄联系人名称")
|
||||||
|
private String mailContactsTemporaryName;
|
||||||
|
/**打包(1:是,0:否)*/
|
||||||
|
// @Excel(name = "打包(1:是,0:否)", width = 15)
|
||||||
|
@ApiModelProperty(value = "打包(1:是,0:否)")
|
||||||
|
private Integer pack;
|
||||||
|
/**需要发票(1:增值税普通发票,2:增值税专用发票,3:否)*/
|
||||||
|
// @Excel(name = "需要发票(1:增值税普通发票,2:增值税专用发票,3:否)", width = 15)
|
||||||
|
@ApiModelProperty(value = "需要发票(1:增值税普通发票,2:增值税专用发票,3:否)")
|
||||||
|
@NotNull(message = "需要发票不能为空!")
|
||||||
|
private Integer needInvoice;
|
||||||
|
/**到账(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))*/
|
||||||
|
// @Excel(name = "到账(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))", width = 15)
|
||||||
|
@ApiModelProperty(value = "到账(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))")
|
||||||
|
private Integer inAccount;
|
||||||
|
/**开票(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))*/
|
||||||
|
// @Excel(name = "开票(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))", width = 15)
|
||||||
|
@ApiModelProperty(value = "开票(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))")
|
||||||
|
private Integer makeInvoice;
|
||||||
|
/**邮寄((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))*/
|
||||||
|
// @Excel(name = "邮寄((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))", width = 15)
|
||||||
|
@ApiModelProperty(value = "邮寄((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))")
|
||||||
|
private Integer mail;
|
||||||
|
/**来款方式(1:无,2:合同,3:收费通知)*/
|
||||||
|
// @Excel(name = "来款方式(1:无,2:合同,3:收费通知)", width = 15)
|
||||||
|
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
|
||||||
|
@NotNull(message = "需要发票不能为空!")
|
||||||
|
private Integer chargeWay;
|
||||||
|
/**合同编号*/
|
||||||
|
// @Excel(name = "合同编号", width = 15)
|
||||||
|
@ApiModelProperty(value = "合同编号")
|
||||||
|
@Size(max = 50,message = "合同编号长度不能大于50个字符")
|
||||||
|
private String contractNum;
|
||||||
|
/**收费通知号*/
|
||||||
|
// @Excel(name = "收费通知号", width = 15)
|
||||||
|
@ApiModelProperty(value = "收费通知号")
|
||||||
|
@Size(max = 50,message = "收费通知号长度不能大于50个字符")
|
||||||
|
private String chargeNoticeNo;
|
||||||
|
/**收费通知文件id*/
|
||||||
|
// @Excel(name = "收费通知文件id", width = 15)
|
||||||
|
@ApiModelProperty(value = "收费通知文件id")
|
||||||
|
private String chargeNoticeId;
|
||||||
|
/**催款次数*/
|
||||||
|
// @Excel(name = "催款次数", width = 15)
|
||||||
|
@ApiModelProperty(value = "催款次数")
|
||||||
|
private Integer pressMoneyTimes;
|
||||||
|
/**备注*/
|
||||||
|
// @Excel(name = "备注", width = 15)
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
@Size(max = 200,message = "备注长度不能大于200个字符")
|
||||||
|
private String remarks;
|
||||||
|
/**创建人*/
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
private String createBy;
|
||||||
|
/**创建时间*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private Date createTime;
|
||||||
|
/**更新人*/
|
||||||
|
@ApiModelProperty(value = "更新人")
|
||||||
|
private String updateBy;
|
||||||
|
/**更新时间*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@Dict(dicCode = "project_type")
|
||||||
|
@ApiModelProperty(value = "项目类型")
|
||||||
|
private Integer projectType;
|
||||||
|
/**
|
||||||
|
* 来源(1:收入合同,2:打包管理)
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "来源(1:收入合同,2:打包管理)")
|
||||||
|
private Integer come;
|
||||||
|
}
|
||||||
+1
-1
@@ -166,7 +166,7 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
|||||||
}
|
}
|
||||||
// 去掉已打包&&打包年份不一致的数据
|
// 去掉已打包&&打包年份不一致的数据
|
||||||
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
|
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
|
||||||
&& finalListProject.contains(p.getId())){
|
&& !finalListProject.contains(p.getId())){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!Objects.isNull(p.getChargeUse())){
|
if(!Objects.isNull(p.getChargeUse())){
|
||||||
|
|||||||
+1
-1
@@ -173,7 +173,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
|||||||
list.forEach(p->{
|
list.forEach(p->{
|
||||||
// 去掉已打包&&打包年份不一致的数据
|
// 去掉已打包&&打包年份不一致的数据
|
||||||
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
|
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
|
||||||
&& finalListProject.contains(p.getId())){
|
&& !finalListProject.contains(p.getId())){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
listNew.add(p);
|
listNew.add(p);
|
||||||
|
|||||||
+12
-1
@@ -203,5 +203,16 @@ public class PayCommonProject implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "来源(1:收入合同,2:打包管理)")
|
@ApiModelProperty(value = "来源(1:收入合同,2:打包管理)")
|
||||||
private Integer come;
|
private Integer come;
|
||||||
|
/**
|
||||||
|
* 联系人电话
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "联系人电话")
|
||||||
|
private String phone;
|
||||||
|
/**
|
||||||
|
* 联系人邮箱
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "联系人邮箱")
|
||||||
|
private String email;
|
||||||
}
|
}
|
||||||
|
|||||||
+45
-27
@@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.service.ProjectDetailService;
|
import com.jero.common.service.ProjectDetailService;
|
||||||
|
import com.jero.contract.common.PayIncomeContractCommon;
|
||||||
import com.jero.contract.entity.PayIncomeContract;
|
import com.jero.contract.entity.PayIncomeContract;
|
||||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
import com.jero.contract.service.IPayIncomeContractService;
|
import com.jero.contract.service.IPayIncomeContractService;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.project.common.PayProjectCommon;
|
import com.jero.project.common.PayProjectCommon;
|
||||||
import com.jero.project.service.IPayCommonProjectService;
|
import com.jero.project.service.IPayCommonProjectService;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
@@ -28,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.transaction.annotation.Isolation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -60,6 +63,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
|||||||
private IPayIncomeContractService payIncomeContractService;
|
private IPayIncomeContractService payIncomeContractService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||||
|
@Autowired
|
||||||
|
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -68,7 +73,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional()
|
||||||
public void addPayCommonProject(PayCommonProject payCommonProject) {
|
public void addPayCommonProject(PayCommonProject payCommonProject) {
|
||||||
try {
|
try {
|
||||||
// 编辑保存前再次校验来款项目是否存在
|
// 编辑保存前再次校验来款项目是否存在
|
||||||
@@ -84,26 +89,33 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
|||||||
throw new JeroBootException("来款项目已存在!");
|
throw new JeroBootException("来款项目已存在!");
|
||||||
}
|
}
|
||||||
|
|
||||||
setPayCommonProject(payCommonProject);
|
|
||||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
|
||||||
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
|
||||||
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
|
||||||
payCommonProject.setMail(PayProjectCommon.MAIL0);
|
|
||||||
payCommonProjectService.save(payCommonProject);
|
|
||||||
|
|
||||||
PayIncomeContract payIncomeContract = null;
|
PayIncomeContract payIncomeContract = null;
|
||||||
// 来款方式为合同,校验合同编号
|
// 来款方式为合同,校验合同编号
|
||||||
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||||
}
|
}
|
||||||
|
setPayCommonProject(payCommonProject);
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
|
||||||
|
}else{
|
||||||
|
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||||
|
}
|
||||||
|
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||||
|
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||||
|
payCommonProject.setMail(PayProjectCommon.MAIL0);
|
||||||
|
payCommonProjectService.save(payCommonProject);
|
||||||
|
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||||
|
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||||
|
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||||
|
payIncomeContractAssociated.setProjectId(payCommonProject.getId());
|
||||||
|
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||||
|
}
|
||||||
|
|
||||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||||
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||||
LambdaUpdateWrapper<PayCommonProject> update = new LambdaUpdateWrapper<>();
|
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||||
update.eq(PayCommonProject::getId,payCommonProject.getId());
|
|
||||||
update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1);
|
|
||||||
payCommonProjectService.update(update);
|
|
||||||
// todo 缺少添加打包功能
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,21 +146,27 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
|||||||
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||||
}
|
}
|
||||||
|
|
||||||
PayIncomeContract payIncomeContractAdd = null;
|
if(Objects.isNull(payIncomeContract)){
|
||||||
// 没有关联合同 && 来款方式为合同,校验合同编号
|
PayIncomeContract payIncomeContractAdd = null;
|
||||||
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
// 没有关联合同 && 来款方式为合同,校验合同编号
|
||||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
|
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||||
|
}
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||||
|
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||||
|
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||||
|
payIncomeContractAssociated.setProjectId(payCommonProject.getId());
|
||||||
|
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||||
|
}else{
|
||||||
|
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||||
|
}
|
||||||
|
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||||
|
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||||
|
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
|
||||||
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
|
||||||
LambdaUpdateWrapper<PayCommonProject> update = new LambdaUpdateWrapper<>();
|
|
||||||
update.eq(PayCommonProject::getId,payCommonProjectOld.getId());
|
|
||||||
update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1);
|
|
||||||
payCommonProjectService.update(update);
|
|
||||||
// todo 缺少添加打包功能
|
|
||||||
}
|
|
||||||
|
|
||||||
setPayCommonProject(payCommonProject);
|
setPayCommonProject(payCommonProject);
|
||||||
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
||||||
payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
|
payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
|
||||||
|
|||||||
+48
-25
@@ -12,7 +12,10 @@ import com.jero.company.entity.PayContactsManagement;
|
|||||||
import com.jero.company.service.IPayCompanyManagementService;
|
import com.jero.company.service.IPayCompanyManagementService;
|
||||||
import com.jero.company.service.IPayContactsManagementService;
|
import com.jero.company.service.IPayContactsManagementService;
|
||||||
import com.jero.contract.entity.PayIncomeContract;
|
import com.jero.contract.entity.PayIncomeContract;
|
||||||
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
import com.jero.contract.service.IPayIncomeContractService;
|
import com.jero.contract.service.IPayIncomeContractService;
|
||||||
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.project.common.PayProjectCommon;
|
import com.jero.project.common.PayProjectCommon;
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
import com.jero.project.entity.PayWorkingGroup;
|
import com.jero.project.entity.PayWorkingGroup;
|
||||||
@@ -71,6 +74,10 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPayIncomeContractService payIncomeContractService;
|
private IPayIncomeContractService payIncomeContractService;
|
||||||
|
@Autowired
|
||||||
|
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||||
|
@Autowired
|
||||||
|
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBatchSetCharge(SetChargeInput input) {
|
public void updateBatchSetCharge(SetChargeInput input) {
|
||||||
@@ -123,26 +130,35 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
throw new JeroBootException("工作组成员单位已存在!");
|
throw new JeroBootException("工作组成员单位已存在!");
|
||||||
}
|
}
|
||||||
|
|
||||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
|
||||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
|
||||||
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
|
||||||
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
|
||||||
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
|
|
||||||
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
|
||||||
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
|
|
||||||
|
|
||||||
PayIncomeContract payIncomeContract = null;
|
PayIncomeContract payIncomeContract = null;
|
||||||
// 来款方式为合同,校验合同编号
|
// 来款方式为合同,校验合同编号
|
||||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||||
}
|
}
|
||||||
|
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
|
||||||
|
}else{
|
||||||
|
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||||
|
}
|
||||||
|
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||||
|
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||||
|
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
|
||||||
|
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||||
|
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
|
||||||
|
|
||||||
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
|
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||||
|
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||||
|
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
|
||||||
|
payIncomeContractAssociated.setProjectId(payWorkingGroupSubItem.getId());
|
||||||
|
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||||
|
}
|
||||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||||
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
|
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payIncomeContract.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||||
update.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId());
|
|
||||||
update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1);
|
|
||||||
payWorkingGroupSubItemService.update(update);
|
|
||||||
// todo 缺少添加打包功能
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,19 +210,26 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
if(!Objects.isNull(payIncomeContract) && !Objects.equals(payIncomeContract.getContractNum(),payWorkingGroupSubItem.getContractNum())){
|
if(!Objects.isNull(payIncomeContract) && !Objects.equals(payIncomeContract.getContractNum(),payWorkingGroupSubItem.getContractNum())){
|
||||||
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||||
}
|
}
|
||||||
|
if(Objects.isNull(payIncomeContract)){
|
||||||
PayIncomeContract payIncomeContractAdd = null;
|
PayIncomeContract payIncomeContractAdd = null;
|
||||||
// 来款方式为合同,校验合同编号
|
// 来款方式为合同,校验合同编号
|
||||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||||
}
|
}
|
||||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
if(!Objects.isNull(payIncomeContract)){
|
||||||
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
|
||||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
|
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||||
update.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId());
|
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||||
update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1);
|
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||||
payWorkingGroupSubItemService.update(update);
|
payIncomeContractAssociated.setProjectId(payWorkingGroupSubItem.getId());
|
||||||
// todo 缺少添加打包功能
|
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||||
|
}else{
|
||||||
|
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||||
|
}
|
||||||
|
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||||
|
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||||
|
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
||||||
|
|||||||
+1
@@ -11,4 +11,5 @@ import com.jero.standards.memberinfo.entity.MemberInfo;
|
|||||||
*/
|
*/
|
||||||
public interface IMemberInfoService extends IService<MemberInfo> {
|
public interface IMemberInfoService extends IService<MemberInfo> {
|
||||||
|
|
||||||
|
int check(String companyName);
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.standards.memberinfo.service.impl;
|
package com.jero.standards.memberinfo.service.impl;
|
||||||
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.standards.memberinfo.entity.MemberInfo;
|
import com.jero.standards.memberinfo.entity.MemberInfo;
|
||||||
import com.jero.standards.memberinfo.mapper.MemberInfoMapper;
|
import com.jero.standards.memberinfo.mapper.MemberInfoMapper;
|
||||||
@@ -20,4 +21,11 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@DS(value = "multi-datasource1")
|
@DS(value = "multi-datasource1")
|
||||||
public class MemberInfoServiceImpl extends ServiceImpl<MemberInfoMapper, MemberInfo> implements IMemberInfoService {
|
public class MemberInfoServiceImpl extends ServiceImpl<MemberInfoMapper, MemberInfo> implements IMemberInfoService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int check(String companyName) {
|
||||||
|
LambdaQueryWrapper<MemberInfo> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(MemberInfo::getCompanyName, companyName);
|
||||||
|
wrapper.isNotNull(MemberInfo::getMemberType);
|
||||||
|
return count(wrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package com.jero.util;
|
||||||
|
|
||||||
|
import com.google.zxing.BarcodeFormat;
|
||||||
|
import com.google.zxing.client.j2se.MatrixToImageConfig;
|
||||||
|
import com.google.zxing.client.j2se.MatrixToImageWriter;
|
||||||
|
import com.google.zxing.common.BitMatrix;
|
||||||
|
import com.google.zxing.qrcode.QRCodeWriter;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import org.checkerframework.checker.units.qual.K;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.util.Base64;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成二维码base64工具类
|
||||||
|
* @author liJiaRao
|
||||||
|
* @date 2021-07-15 10:15
|
||||||
|
*/
|
||||||
|
public class QrcodeUtil {
|
||||||
|
/**
|
||||||
|
* 蓝色
|
||||||
|
*/
|
||||||
|
public static final int BLUE = 0xFF23CEFD;
|
||||||
|
/**
|
||||||
|
* 蓝色
|
||||||
|
*/
|
||||||
|
public static final int BLACK = 0xFF000000;
|
||||||
|
/**
|
||||||
|
* 白色透明
|
||||||
|
*/
|
||||||
|
public static final int OFF_COLOR = 0x00FFFFFF;
|
||||||
|
/**
|
||||||
|
* 转换url为二维码base64
|
||||||
|
* @param content 要转换的url
|
||||||
|
* @return base64 data:image/png;base64,
|
||||||
|
*/
|
||||||
|
public static String create(String content){
|
||||||
|
try {
|
||||||
|
QRCodeWriter qrCodeWriter = new QRCodeWriter();
|
||||||
|
BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, 600, 600);
|
||||||
|
|
||||||
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||||
|
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", outputStream, new MatrixToImageConfig(BLACK,OFF_COLOR));
|
||||||
|
|
||||||
|
Base64.Encoder encoder = Base64.getEncoder();
|
||||||
|
|
||||||
|
return "data:image/png;base64,"+encoder.encodeToString(outputStream.toByteArray());
|
||||||
|
}catch (Exception e){
|
||||||
|
throw new JeroBootException("生成二维码失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+16
-6
@@ -3,16 +3,13 @@ package com.jero.modules.system.controller;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
import java.util.stream.Collectors;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||||
import com.jero.common.system.vo.SysRoleTreeModel;
|
import com.jero.common.system.vo.SysRoleTreeModel;
|
||||||
@@ -35,6 +32,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
|
|||||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
@@ -422,6 +420,7 @@ public class SysRoleController {
|
|||||||
@RequiresPermissions("sys:role:list")
|
@RequiresPermissions("sys:role:list")
|
||||||
@RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
|
@RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
|
||||||
public Result<Map<String,Object>> queryTreeList(HttpServletRequest request) {
|
public Result<Map<String,Object>> queryTreeList(HttpServletRequest request) {
|
||||||
|
|
||||||
Result<Map<String,Object>> result = new Result<>();
|
Result<Map<String,Object>> result = new Result<>();
|
||||||
//全部权限ids
|
//全部权限ids
|
||||||
List<String> ids = new ArrayList<>();
|
List<String> ids = new ArrayList<>();
|
||||||
@@ -433,6 +432,17 @@ public class SysRoleController {
|
|||||||
for(SysPermission sysPer : list) {
|
for(SysPermission sysPer : list) {
|
||||||
ids.add(sysPer.getId());
|
ids.add(sysPer.getId());
|
||||||
}
|
}
|
||||||
|
String roleId = request.getParameter("roleId");
|
||||||
|
if (StrUtil.isNotBlank(roleId)) {
|
||||||
|
SysRole sysRole = sysRoleService.getById(roleId);
|
||||||
|
String parentId = sysRole.getParentId();
|
||||||
|
if (StrUtil.isNotBlank(parentId)) {
|
||||||
|
List<SysRolePermission> sysRolePermissions = sysRolePermissionService.list(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, parentId));
|
||||||
|
List<String> collect = sysRolePermissions.stream().map(SysRolePermission -> String.valueOf(SysRolePermission.getPermissionId())).collect(Collectors.toList());
|
||||||
|
list = list.stream().filter(p -> collect.contains(p.getId())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
List<TreeModel> treeList = new ArrayList<>();
|
List<TreeModel> treeList = new ArrayList<>();
|
||||||
getTreeModelList(treeList, list, null);
|
getTreeModelList(treeList, list, null);
|
||||||
Map<String,Object> resMap = new HashMap<String,Object>();
|
Map<String,Object> resMap = new HashMap<String,Object>();
|
||||||
|
|||||||
+1
-1
@@ -120,7 +120,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|||||||
treeModel.setKey(sysRole.getId());
|
treeModel.setKey(sysRole.getId());
|
||||||
treeModel.setValue(sysRole.getId());
|
treeModel.setValue(sysRole.getId());
|
||||||
treeModel.setTitle(sysRole.getRoleName());
|
treeModel.setTitle(sysRole.getRoleName());
|
||||||
treeModel.setParentName(sysRole1.getRoleName());
|
treeModel.setParentName(sysRole1==null?null:sysRole1.getRoleName());
|
||||||
List<SysRoleTreeModel> children = getChildrenByParentId(sysRole.getId());
|
List<SysRoleTreeModel> children = getChildrenByParentId(sysRole.getId());
|
||||||
treeModel.setChildren(children);
|
treeModel.setChildren(children);
|
||||||
treeModelList.add(treeModel);
|
treeModelList.add(treeModel);
|
||||||
|
|||||||
@@ -299,6 +299,15 @@ justauth:
|
|||||||
prefix: 'demo::'
|
prefix: 'demo::'
|
||||||
timeout: 1h
|
timeout: 1h
|
||||||
defaultPassword: HZWLsoft.com123
|
defaultPassword: HZWLsoft.com123
|
||||||
|
#华为云发送短信
|
||||||
|
huaWeiSms:
|
||||||
|
#APP接入地址+接口访问URI
|
||||||
|
url: https://rtcsms.cn-north-1.myhuaweicloud.com:10743/sms/batchSendSms/v1
|
||||||
|
#APP_Key
|
||||||
|
appKey: g9zviC58Uw3qXZK6r56empl2aXP3
|
||||||
|
appSecret: eGt7RfKNia8cK4Z3Vnw5QE4Uy108
|
||||||
|
# 短信开关
|
||||||
|
open: false
|
||||||
standards:
|
standards:
|
||||||
url: http://loaclhots:8081/api
|
url: http://loaclhots:8081/api
|
||||||
token: Aa123456!!
|
token: Aa123456!!
|
||||||
Reference in New Issue
Block a user