Commit b8aa4f23 authored by wangzb's avatar wangzb

Merge remote-tracking branch 'origin/MVP1.5.6' into MVP1.5.6

# Conflicts:
#	yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/constants/DispatchConstants.java
parents 7b331afc 16050da3
......@@ -26,7 +26,7 @@ mybatis-plus:
logic-not-delete-value: 0
configuration:
map-underscore-to-camel-case: true
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# spring security 配置
security:
......
......@@ -163,4 +163,6 @@ public interface CacheConstants {
String EMP_ADD_LOCK ="emp_add_lock";
String FUND_IMPORT_HANDLE_LOCK = "fund_import_handle_handle_lock";
public static final String WX_ACCOSS_TOKEN = "WX_ACCOSS_TOKEN";
}
......@@ -124,4 +124,21 @@ public interface SecurityConstants {
*/
String CLIENT_ID = "clientId";
/**
* @Author: huyc
* @Date: 2023/7/28
* @Description: 企业微信获取access_token
* @return:
**/
String WX_GET_ACCOSS_TOKEN="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s";
/**
* @Author: huyc
* @Date: 2023/7/28
* @Description: 企业微信发送消息
* @return:
**/
String WX_SEND_MESSAGE = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s";
}
......@@ -80,6 +80,13 @@ public class TMessageInfo {
@ExcelProperty("处理人-当前提醒人")
@Schema(description = "处理人-当前提醒人")
private String alertUser;
/**
* 是否通知企业微信用户 0 是 1 否
*/
@ExcelAttribute(name = "是否通知企业微信用户", maxLength = 1)
@ExcelProperty("是否通知企业微信用户")
@Schema(description = "是否通知企业微信用户 0 是 1 否")
private String wxFlag;
/**
* listUrl
*/
......
package com.yifu.cloud.plus.v1.msg.config;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.AuthenticationServiceException;
import org.springframework.web.client.RestTemplate;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Author: huyc
* @Date: 2023/7/28
* @Description:
* @return: 企业微信配置
**/
@Configuration
@Data
@Slf4j
public class WxConfig {
@Value("${wx.corpid}")
private String corpid;
@Value("${wx.corpsecret}")
private String corpsecret;
@Value("${wx.agentid}")
private String agentid;
@Autowired
private RedisTemplate redisTemplate;
//未授权
private String accossTokenInvliad = "40014";
/**
* @param
* @Author: huyc
* @Date: 2023/7/28
* @Description: 获取微信accos_token
* @return: java.lang.String
**/
public String getAccessToken(RestTemplate restTemplate) {
if (Common.isNotNull(agentid)) {
return this.getToken(restTemplate, CacheConstants.WX_ACCOSS_TOKEN.concat(agentid), corpsecret);
}
return this.getToken(restTemplate, CacheConstants.WX_ACCOSS_TOKEN, corpsecret);
}
public String getAccessToken(RestTemplate restTemplate,String corpsecret)throws AuthenticationServiceException {
if(Common.isEmpty(corpsecret)){
throw new AuthenticationServiceException("未找到对应的corpsecret请联系管理员配置");
}
return this.getToken(restTemplate, CacheConstants.WX_ACCOSS_TOKEN.concat(agentid), corpsecret);
}
/**
* @param restTemplate
* @param tokenKey
* @param corpsecretKey
* @Description: 获取token
* @Author: huyc
* @Date: 2023/7/28 14:46
* @return: java.lang.String
**/
public String getToken(RestTemplate restTemplate,String tokenKey, String corpsecretKey) {
Object wxToken = redisTemplate.opsForValue().get(tokenKey);
if (null != wxToken) {
return String.valueOf(wxToken);
}
String requestTokenUrl = String.format(SecurityConstants.WX_GET_ACCOSS_TOKEN, corpid, corpsecretKey);
String result = restTemplate.getForObject(requestTokenUrl, String.class);
if (Common.isEmpty(result)) {
throw new CheckedException("微信授权失败");
}
String token = JSON.parseObject(result).getString("access_token");
if (Common.isEmpty(token)) {
log.info(result);
throw new CheckedException("获取微信token失败");
}
redisTemplate.opsForValue().set(tokenKey, token);
redisTemplate.expire(tokenKey, 3600, TimeUnit.SECONDS);
return token;
}
/**
* @param
* @Author: huyc
* @Date: 2023/7/28 14:43
* @Description: 移除微信accossToken
* @return: java.lang.String
**/
public void removeAccessToken() {
redisTemplate.delete(CacheConstants.WX_ACCOSS_TOKEN);
}
/**
* @param restTemplate
* @param requestMap 请求内容
* @Author: huyc
* @Date: 2023/7/28 14:48
* @Description: 发送卡片消息
* @return: java.lang.String
**/
public boolean sendTextCard(RestTemplate restTemplate, Map<String, Object> requestMap) {
// 必须加上header说明
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
Gson gson = new Gson();
log.info(gson.toJson(requestMap));
HttpEntity<String> requestEntity = new HttpEntity<>(gson.toJson(requestMap), headers);
String accessToken = getAccessToken(restTemplate);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(String.format(SecurityConstants.WX_SEND_MESSAGE, accessToken), requestEntity, String.class);
log.info(JSON.toJSONString(responseEntity));
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(responseEntity));
JSONObject jsonBody = jsonObject.getJSONObject("body");
if (jsonBody != null) {
String errcode = jsonBody.getString("errcode");
if (accossTokenInvliad.equals(errcode)) {
//删除accossToken缓存
removeAccessToken();
return false;
}
if (!CommonConstants.ZERO_STRING.equals(errcode)) { //非正常,则打印错误日志
log.info(jsonObject.toJSONString());
}
} else {
log.info(jsonObject.toJSONString());
}
return true;
}
/**
* @param restTemplate
* @param requestMap 请求内容
* @Author: huyc
* @Date: 2023/7/28 14:50
* @Description: 发送卡片消息
* @return: java.lang.String
**/
public boolean sendAppTextCard(RestTemplate restTemplate, Map<String, Object> requestMap) {
// 必须加上header说明
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
Gson gson = new Gson();
log.info("发企业微信===请求:{}", gson.toJson(requestMap));
HttpEntity<String> requestEntity = new HttpEntity<>(gson.toJson(requestMap), headers);
String accessToken = getAppAccessToken(restTemplate);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(String.format(SecurityConstants.WX_SEND_MESSAGE, accessToken), requestEntity, String.class);
log.info("发企业微信===返回:{}",JSON.toJSONString(responseEntity));
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(responseEntity));
JSONObject jsonBody = jsonObject.getJSONObject("body");
if (jsonBody != null) {
String errcode = jsonBody.getString("errcode");
if (accossTokenInvliad.equals(errcode)) {
//删除accossToken缓存
removeAccessToken();
return false;
}
if (!CommonConstants.ZERO_STRING.equals(errcode)) { //非正常,则打印错误日志
log.info(jsonObject.toJSONString());
}
} else {
log.info(jsonObject.toJSONString());
}
return true;
}
/**
* 功能描述: 获取微信accos_token
* @Author: huyc
* @Date: 2023/7/28 14:50
* @return: java.lang.String
*/
public String getAppAccessToken(RestTemplate restTemplate) {
return this.getToken(restTemplate, CacheConstants.WX_ACCOSS_TOKEN, corpsecret);
}
}
......@@ -79,7 +79,7 @@ public class TMessageInfoController {
@PostMapping
@PreAuthorize("@pms.hasPermission('demo_tmessageinfo_add')" )
public R<Boolean> save(@RequestBody TMessageInfo tMessageInfo) {
return R.ok(tMessageInfoService.save(tMessageInfo));
return R.ok(tMessageInfoService.saveMessage(tMessageInfo));
}
/**
......
......@@ -21,7 +21,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.msg.entity.TMessageInfo;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 消息提醒
......@@ -37,7 +36,9 @@ public interface TMessageInfoService extends IService<TMessageInfo> {
*/
IPage<TMessageInfo> getTMessageInfoPage(Page<TMessageInfo> page, TMessageInfo tMessageInfo);
void updateMessageInfo(@RequestBody TMessageInfo tMessageInfo);
boolean saveMessage(TMessageInfo tMessageInfo);
long selectMessageCount(@RequestBody TMessageInfo tMessageInfo);
void updateMessageInfo(TMessageInfo tMessageInfo);
long selectMessageCount(TMessageInfo tMessageInfo);
}
......@@ -47,6 +47,12 @@ public class TMessageInfoServiceImpl extends ServiceImpl<TMessageInfoMapper, TMe
return baseMapper.getTMessageInfoPage(page,tMessageInfo);
}
@Override
public boolean saveMessage(TMessageInfo tMessageInfo) {
return false;
}
@Override
public void updateMessageInfo(TMessageInfo tMessageInfo) {
if (Common.isNotNull(tMessageInfo) && Common.isNotNull(tMessageInfo.getAlertUser())) {
......
......@@ -29,6 +29,7 @@
<result property="alertType" column="ALERT_TYPE"/>
<result property="handlerStatus" column="HANDLER_STATUS"/>
<result property="alertUser" column="ALERT_USER"/>
<result property="wxFlag" column="WX_FLAG"/>
<result property="listUrl" column="LIST_URL"/>
<result property="infoUrl" column="INFO_URL"/>
<result property="modelType" column="MODEL_TYPE"/>
......
......@@ -17,6 +17,7 @@
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
......@@ -38,6 +39,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.json.Json;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
......
......@@ -34,10 +34,8 @@ public class DispatchConstants {
public static final String DISPATCH_SOCIAL_REDUCE = "社保派减";
public static final String SOCIAL_RECORD_ROSTER_EXPORT = "社保花名册导出";
public static final String SOCIAL_RECORD_EXPORT = "公积金变更清册导出";
public static final String SOCIAL_MEDICAL_EXPORT = "合肥医保花名册";
public static final String SOCIAL_PERSION_EXPORT = "合肥社保花名册";
public static final String FUND_RECORD_EXPORT = "合肥公积金变更清册";
public static final String FUND_SUPPLEMENTARY_EXPORT = "合肥公积金补缴清册";
public static final String SOCIAL_MEDICAL_EXPORT = "社保-医疗";
public static final String SOCIAL_PERSION_EXPORT = "社保-养老三险";
public static final String DISPATCH_PENSION = "养老、";
public static final String DISPATCH_MEDICAL = "医疗、";
public static final String DISPATCH_BIRTH = "生育、";
......
......@@ -132,6 +132,13 @@ public class TDispatchSocialPersionReduceExportVo implements Serializable {
@ExcelAttribute(name = "停薪留职" )
@ExcelProperty("停薪留职")
private String typeH;
/**
* 合同期满
*/
@Schema(description = "合同期满" )
@ExcelAttribute(name = "合同期满" )
@ExcelProperty("合同期满")
private String typeZ;
/**
* 解除合同
*/
......
......@@ -25,12 +25,12 @@ public class CustomCellWriteWidthConfig extends AbstractColumnWidthStyleStrategy
//要求将当前列的列宽设置为33英寸,理论值应该是33×256=8448,
//但是这里的设值是8648,具体原因请看下面的计算逻辑
sheet.setColumnWidth(0, 1000);
sheet.setColumnWidth(3, 5000);
sheet.setColumnWidth(3, 5500);
sheet.setColumnWidth(6, 1500);
sheet.setColumnWidth(7, 1500);
sheet.setColumnWidth(8, 1500);
sheet.setColumnWidth(9, 1500);
sheet.setColumnWidth(10, 3000);
sheet.setColumnWidth(10, 3500);
sheet.setColumnWidth(12, 3000);
}
}
......
......@@ -36,7 +36,7 @@ public class CustomCellWriteWidthOneConfig extends AbstractColumnWidthStyleStrat
sheet.setColumnWidth(11, 1000);
sheet.setColumnWidth(12, 1000);
sheet.setColumnWidth(13, 1000);
sheet.setColumnWidth(14, 1500);
sheet.setColumnWidth(14, 1800);
sheet.setColumnWidth(15, 5000);
sheet.setColumnWidth(16, 3200);
sheet.setColumnWidth(17, 3000);
......
......@@ -26,7 +26,7 @@ public class CustomCellWriteWidthTwoConfig extends AbstractColumnWidthStyleStrat
//要求将当前列的列宽设置为33英寸,理论值应该是33×256=8448,
//但是这里的设值是8648,具体原因请看下面的计算逻辑
sheet.setColumnWidth(0, 1000);
sheet.setColumnWidth(1, 4000);
sheet.setColumnWidth(1, 3000);
sheet.setColumnWidth(3, 5000);
sheet.setColumnWidth(5, 1000);
sheet.setColumnWidth(6, 1000);
......@@ -40,13 +40,14 @@ public class CustomCellWriteWidthTwoConfig extends AbstractColumnWidthStyleStrat
sheet.setColumnWidth(14, 1500);
sheet.setColumnWidth(15, 1500);
sheet.setColumnWidth(16, 1500);
sheet.setColumnWidth(17, 1000);
sheet.setColumnWidth(17, 1500);
sheet.setColumnWidth(18, 1000);
sheet.setColumnWidth(19, 1500);
sheet.setColumnWidth(19, 1000);
sheet.setColumnWidth(20, 1500);
sheet.setColumnWidth(21, 1000);
sheet.setColumnWidth(21, 1500);
sheet.setColumnWidth(22, 1000);
sheet.setColumnWidth(23, 4000);
sheet.setColumnWidth(23, 1000);
sheet.setColumnWidth(24, 3500);
}
}
}
......
......@@ -174,6 +174,15 @@ public interface TDispatchInfoMapper extends BaseMapper<TDispatchInfo> {
**/
List<TDispatchSocialExportVo> getSocialDisRecord(@Param("tDispatchInfo") SocialHandleSearchVo dispatchInfo);
/**
* @Author huyc
* @Description 社保派单医保模版
* @Date 15:47 2023/7/18
* @Param
* @return
**/
List<TDispatchSocialExportVo> getSocialReduceDisRecord(@Param("tDispatchInfo") SocialHandleSearchVo dispatchInfo);
/**
* @Author huyc
* @Description 社保派单养老模版count
......
......@@ -5097,7 +5097,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
**/
@Override
public void doexportSocialRecordNew(HttpServletResponse response,SocialHandleSearchVo searchVo) {
String fileName = DispatchConstants.SOCIAL_MEDICAL_EXPORT + DateUtil.getThisTime() + CommonConstants.XLSX;
String fileName = DispatchConstants.SOCIAL_MEDICAL_EXPORT + searchVo.getSocialHouseholdName() + "_" + searchVo.getDisMonth() + CommonConstants.XLSX;
//获取要导出的列表
List<TDispatchSocialExportVo> list = new ArrayList<>();
try (ServletOutputStream out = response.getOutputStream()){
......@@ -5125,7 +5125,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
registerWriteHandler(new SimpleRowHeightStyleStrategy((short)40,(short)20)).
build();
writeTable1 = EasyExcel.writerTable(1).
head(headTwo(searchVo.getSocialHouseholdName(),searchVo.getCustomerNo())).
head(headTwo(searchVo.getSocialHouseholdName(),searchVo.getUnitCreditCode())).
registerWriteHandler(customCellStyleStrategyOne).
registerWriteHandler(new SimpleRowHeightStyleStrategy((short)25,(short)20)).
build();
......@@ -5176,7 +5176,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
excelWriter.write(new ArrayList<>(), writeSheet, writeTable0);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable1);
// 第二次写如也会创建头,然后在第一次的后面写入数据
excelWriter.write(new ArrayList<>(), writeSheet, writeTable2);
int num = 1;
for (int i =1;i<= 10;i++) {
vo = new TDispatchSocialExportVo();
vo.setNum(num);
num ++;
list.add(vo);
}
excelWriter.write(list, writeSheet, writeTable2);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable3);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable4);
}
......@@ -5184,7 +5191,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
searchVo.setType(CommonConstants.ONE_STRING);
long count1 = getSocialDisRecordCount(searchVo);
if (count1 > CommonConstants.ZERO_INT){
list = getSocialDisRecord(searchVo);
list = baseMapper.getSocialReduceDisRecord(searchVo);
if (Common.isNotNull(list)) {
//判断list的大小是否大于10
if (list.size() < 10) {
......@@ -5211,7 +5218,15 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
excelWriter.write(new ArrayList<>(), writeSheet, writeTable0);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable1);
// 第二次写如也会创建头,然后在第一次的后面写入数据
excelWriter.write(new ArrayList<>(), writeSheet, writeTable2);
int num = 1;
list = new ArrayList<>();
for (int i =1;i<= 10;i++) {
vo = new TDispatchSocialExportVo();
vo.setNum(num);
num ++;
list.add(vo);
}
excelWriter.write(list, writeSheet, writeTable2);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable3);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable4);
}
......@@ -5232,7 +5247,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
**/
@Override
public void doexportSocialPensionRecord(HttpServletResponse response,SocialHandleSearchVo searchVo) {
String fileName = DispatchConstants.SOCIAL_PERSION_EXPORT + DateUtil.getThisTime() + CommonConstants.XLSX;
String fileName = DispatchConstants.SOCIAL_PERSION_EXPORT + searchVo.getSocialHouseholdName() + "_" + searchVo.getDisMonth() + CommonConstants.XLSX;
//获取要导出的列表
List<TDispatchSocialPersionExportVo> list = new ArrayList<>();
try (ServletOutputStream out = response.getOutputStream()){
......@@ -5310,7 +5325,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
writeSheet = EasyExcel.writerSheet("2023").build();
excelWriter.write(new ArrayList<>(), writeSheet, writeTable0);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable1);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable2);
int num = 1;
for (int i =1;i<= 10;i++) {
vo = new TDispatchSocialPersionExportVo();
vo.setNum(num);
num ++;
list.add(vo);
}
excelWriter.write(list, writeSheet, writeTable2);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable3);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable4);
}
......@@ -5320,7 +5342,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//获取要导出的列表
List<TDispatchSocialPersionReduceExportVo> listReduce = new ArrayList<>();
List<Integer> columnIndex = Arrays.asList(0,23);
List<Integer> columnIndex = Arrays.asList(0,24);
CustomCellStyleStrategy customCellStyleStrategy1 = new CustomCellStyleStrategy(columnIndex);
CustomCellStyleOneStrategy customCellStyleStrategy2 = new CustomCellStyleOneStrategy(columnIndex);
CustomCellStyleTwoStrategy customCellStyleStrategy3 = new CustomCellStyleTwoStrategy(columnIndex);
......@@ -5373,7 +5395,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
writeSheet = EasyExcel.writerSheet("减员").build();
excelWriter.write(new ArrayList<>(), writeSheet, writeTable0);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable1);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable2);
int num = 1;
for (int i =1;i<= 10;i++) {
reduceVo = new TDispatchSocialPersionReduceExportVo();
reduceVo.setNum(num);
num ++;
listReduce.add(reduceVo);
}
excelWriter.write(listReduce, writeSheet, writeTable2);
excelWriter.write(new ArrayList<>(), writeSheet, writeTable3);
}
if (excelWriter!= null) {
......@@ -6310,7 +6339,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
public List<List<String>> headTwo(String houseName,String cusNo) {
List<List<String>> list = new ArrayList<>();
//表头数据
String b = "单位名称(盖章): " + houseName + " 单位统一信用代码:" + cusNo;
String b = "单位名称(盖章): " + houseName + " 单位统一信用代码:" + (null == cusNo ? " " : cusNo);
String c = "人员类型: □√单位职工 □灵活就业人员";
for (int i =1;i<= 13;i++) {
list.add(Lists.newArrayList(b,c));
......@@ -6350,7 +6379,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//第十二列
list.add( Lists.newArrayList("学历","学历"));
//第十三列
list.add( Lists.newArrayList(" 备注"," 备注"));
list.add( Lists.newArrayList("备注","备注"));
return list;
}
......@@ -6365,7 +6394,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//表头数据
String a = "备注: 1.身份证类型填写:身份证、护照、港澳台通行证等; \n" +
" 2.增加人员勾选新增或续保,减少人员勾选中断或终止,按相应类型进行勾选;\n" +
" 3.联系电话务必填写准确的手机号码;\n";
" 3.联系电话务必填写准确的手机号码;";
//第一列-第十三列
for (int i =1;i<= 13;i++) {
list.add(Lists.newArrayList(a));
......@@ -6381,7 +6410,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
*/
public List<List<String>> headFive() {
List<List<String>> list = new ArrayList<>();
String b="填报人: 联系电话: 经办人(盖章): " +
String b="填报人: 联系电话: 经办人(盖章): " +
DateUtil.getYear(DateUtil.getCurrentDateTime())+ " 年" + " " +
DateUtil.getMonth(DateUtil.getCurrentDateTime()) +" 月" + " " +
DateUtil.getDay(DateUtil.getCurrentDateTime()) + " 日";
......@@ -6418,7 +6447,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
public List<List<String>> persionHeadTwo(String houseName,String cusNo) {
List<List<String>> list = new ArrayList<>();
//表头数据
String a="单位名称(签章): " + houseName + " 单位编码:" + cusNo;
String a="单位名称(签章): " + houseName + " 单位编码:" + (null == cusNo ? " " : cusNo);
//第一列-第十八列
for (int i =1;i<= 18;i++) {
list.add(Lists.newArrayList(a));
......@@ -6443,7 +6472,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//第三列
list.add( Lists.newArrayList("职工编码","职工编码"));
//第四列
list.add( Lists.newArrayList("社会保障号码(身份证号码)","社会保障号码(身份证号码)"));
list.add( Lists.newArrayList("社会保障号码 (身份证号码)","社会保障号码 (身份证号码)"));
//第五列
list.add( Lists.newArrayList("性别","性别"));
//第六列
......@@ -6504,7 +6533,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
public List<List<String>> persionHead1() {
List<List<String>> list = new ArrayList<>();
//表头数据
String b="填报人: 单位联系电话: 社保经办机构审核人: " + "填报日期: " + DateUtil.getYear(DateUtil.getCurrentDateTime())+ " 年" + " " + DateUtil.getMonth(DateUtil.getCurrentDateTime()) +" 月" + " " + DateUtil.getDay(DateUtil.getCurrentDateTime()) + " 日";
String b="填表人: 单位联系电话: 社保经办机构审核人: " + "填报日期: " + DateUtil.getYear(DateUtil.getCurrentDateTime())+ " 年" + " " + DateUtil.getMonth(DateUtil.getCurrentDateTime()) +" 月" + " " + DateUtil.getDay(DateUtil.getCurrentDateTime()) + " 日";
//第一列-第十八列
for (int i =1;i<= 18;i++) {
list.add(Lists.newArrayList(b));
......@@ -6521,9 +6550,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
public List<List<String>> persionReduceHeadOne() {
List<List<String>> list = new ArrayList<>();
//表头数据
String a=" 社 会 保 险 缴 费 单 位 人 员 减 少 花 名 册";
String a="社 会 保 险 缴 费 单 位 人 员 减 少 花 名 册";
//第一列-第二十五列
for (int i =1;i<= 24;i++) {
for (int i =1;i<= 25;i++) {
list.add(Lists.newArrayList(a));
}
return list;
......@@ -6538,9 +6567,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
public List<List<String>> persionReduceHeadTwo(String houseName,String cusNo) {
List<List<String>> list = new ArrayList<>();
//表头数据
String a="单位名称(签章): " + houseName + " 单位编码:" + cusNo;
//第一列-第二十五列
for (int i =1;i<= 24;i++) {
String a="单位名称(签章): " + houseName + " 单位编码:" + (null == cusNo ? " " : cusNo);
//第一列-第二十五列cusNo
for (int i =1;i<= 25;i++) {
list.add(Lists.newArrayList(a));
}
return list;
......@@ -6563,11 +6592,11 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//第三列
list.add( Lists.newArrayList("姓名","姓名"));
//第四列
list.add( Lists.newArrayList("社会保障号码(身份证号码)","社会保障号码(身份证号码)"));
list.add( Lists.newArrayList("社会保障号码 (身份证号码)","社会保障号码 (身份证号码)"));
//第五列
list.add( Lists.newArrayList("停止缴费时间","停止缴费时间"));
//减少原因
List<String> orderSpeaces = Lists.newArrayList("辞职","辞退","参军","上学","劳改","劳教","除名","人员失踪","停薪留职","解除合同","统筹内调出","调出统筹范围","退休","死亡","出国定居","港澳台定居","退保","其他");
List<String> orderSpeaces = Lists.newArrayList("辞职","辞退","参军","上学","劳改","劳教","除名","人员失踪","停薪留职","合同期满","解除合同","统筹内调出","调出统筹范围","退休","死亡","出国定居","港澳台定居","退保","其他");
orderSpeaces.forEach(e->{
list.add( Lists.newArrayList(c,e) );
});
......@@ -6586,9 +6615,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//表头数据
String a = "说明1、“减少原因”栏可对应选项打“√”; \n" +
"2、本表需填制一式二份,经办机构审核盖章后方可有效,一份单位自存,一份报市社会保险经办机构。";
String b="填报人: 单位联系电话: 社保经办机构审核人: " + "填报日期: " + DateUtil.getYear(DateUtil.getCurrentDateTime())+ " 年" + " " + DateUtil.getMonth(DateUtil.getCurrentDateTime()) +" 月" + " " + DateUtil.getDay(DateUtil.getCurrentDateTime()) + " 日";
String b="填表人: 单位联系电话: 社保经办机构审核人: " + "填报日期: " + DateUtil.getYear(DateUtil.getCurrentDateTime())+ " 年" + " " + DateUtil.getMonth(DateUtil.getCurrentDateTime()) +" 月" + " " + DateUtil.getDay(DateUtil.getCurrentDateTime()) + " 日";
//第一列-第十八列
for (int i =1;i<= 24;i++) {
for (int i =1;i<= 25;i++) {
list.add(Lists.newArrayList(a,b));
}
return list;
......
......@@ -279,6 +279,7 @@
<result property="typeO" column="typeO"/>
<result property="typeP" column="typeP"/>
<result property="typeQ" column="typeQ"/>
<result property="typeZ" column="typeZ"/>
<result property="remark" column="REMARK"/>
</resultMap>
......@@ -752,14 +753,11 @@
when a.TYPE = 1 then "派减"
else null end as "TYPE" ,
a.SOCIAL_HOUSEHOLD_NAME,
case when s.HANDLE_STATUS = 0 then "派增待办理"
when s.HANDLE_STATUS = 1 then "派增办理成功"
when s.HANDLE_STATUS = 2 then "派增办理失败"
when s.HANDLE_STATUS = 3 then "已派减"
when s.HANDLE_STATUS = 4 then "派增办理中"
when s.HANDLE_STATUS = 5 then "派增部分办理失败"
when s.HANDLE_STATUS = 6 then "派减办理中"
when s.HANDLE_STATUS = 7 then "派减部分办理失败"
case when a.SOCIAL_HANDLE_STATUS = 0 then "待办理"
when a.SOCIAL_HANDLE_STATUS = 1 then "办理成功"
when a.SOCIAL_HANDLE_STATUS = 2 then "办理失败"
when a.SOCIAL_HANDLE_STATUS = 3 then "部分办理失败"
when a.SOCIAL_HANDLE_STATUS = 4 then "办理中"
else null end as "SOCIAL_HANDLE_STATUS",
IF(a.TYPE='0',
case when s.PENSION_HANDLE = 0 then "派增待办理"
......@@ -1258,12 +1256,13 @@
<!--tDispatchInfo 社保花名册派单数据count-->
<select id="getSocialDisRecordCount" resultType="java.lang.Integer">
SELECT
count(1)
SELECT count(1) from (
SELECT 1
FROM t_dispatch_info a
<where>
<include refid="where_getSocialDisRecord"/>
</where>
group by a.EMP_IDCARD) h
</select>
......@@ -1271,6 +1270,20 @@
<select id="getSocialDisRecord" resultMap="socialDisExportMap">
SELECT
(@i :=@i+1) as NUM,
h.EMP_NAME,
h.IDCARD_TYPE,
h.EMP_IDCARD,
h.DIS_MONTH,
h.MEDICAL_CARDINAL,
h.CHANGE_TYPE_ONE,
h.CHANGE_TYPE_TWO,
h.CHANGE_TYPE_THREE,
h.CHANGE_TYPE_FOUR,
h.EMP_MOBILE,
h.EDUCATION_NAME,
h.REMARK
from (
select
a.EMP_NAME,
'身份证' as IDCARD_TYPE,
a.EMP_IDCARD,
......@@ -1282,34 +1295,95 @@
'' as CHANGE_TYPE_FOUR,
a.EMP_MOBILE,
a.EDUCATION_NAME,
a.EMP_MOBILE as REMARK
'' as REMARK
FROM t_dispatch_info a
left join t_social_info s on s.id=a.SOCIAL_ID
,(select @i:=0) as itable
<where>
<include refid="where_getSocialDisRecord"/>
</where>
group by a.EMP_IDCARD) h,(select @i:=0) as itable
</select>
<!--tDispatchInfo 社保医疗花名册派单数据-->
<select id="getSocialReduceDisRecord" resultMap="socialDisExportMap">
SELECT
(@i :=@i+1) as NUM,
h.EMP_NAME,
h.IDCARD_TYPE,
h.EMP_IDCARD,
h.DIS_MONTH,
h.MEDICAL_CARDINAL,
h.CHANGE_TYPE_ONE,
h.CHANGE_TYPE_TWO,
h.CHANGE_TYPE_THREE,
h.CHANGE_TYPE_FOUR,
h.EMP_MOBILE,
h.EDUCATION_NAME,
h.REMARK
from (
select
a.EMP_NAME,
'身份证' as IDCARD_TYPE,
a.EMP_IDCARD,
replace(DATE_FORMAT(a.CREATE_TIME,"%Y-%m"),'-','') as DIS_MONTH,
s.UNIT_MEDICAL_CARDINAL as MEDICAL_CARDINAL,
'' as CHANGE_TYPE_ONE,
'' as CHANGE_TYPE_TWO,
'√' as CHANGE_TYPE_THREE,
'' as CHANGE_TYPE_FOUR,
'' as EMP_MOBILE,
'' as EDUCATION_NAME,
'' as REMARK
FROM t_dispatch_info a
left join t_social_info s on s.id=a.SOCIAL_ID
<where>
<include refid="where_getSocialDisRecord"/>
</where>
group by a.EMP_IDCARD) h,(select @i:=0) as itable
</select>
<!--tDispatchInfo 社保养老花名册派单数据-->
<select id="getSocialPersionDisCount" resultType="java.lang.Integer">
SELECT count(1)
SELECT count(1) from (
select 1
FROM t_dispatch_info a
<where>
<include refid="where_getSocialPersionDisRecord"/>
</where>
group by a.EMP_IDCARD) h
</select>
<!--tDispatchInfo 社保养老花名册派单数据-->
<select id="getSocialPersionDisRecord" resultMap="socialPersionDisExportMap">
SELECT
(@i :=@i+1) as num,
h.EMP_NAME,
h.EMP_NO,
h.EMP_IDCARD,
h.sex,
h.EMP_NATIONAL,
h.WORK_DATE,
h.type,
h.SIGNLE_TYPE,
h.INSURANCE_TYPE_ONE,
h.INSURANCE_TYPE_TWO,
h.INSURANCE_TYPE_THREE,
h.INSURANCE_TYPE_FOUR,
h.INSURANCE_TYPE_FIVE,
h.PERSION_CARDINAL,
h.MEDICAL_CARDINAL,
h.DATE_ONE,
h.CONTRACT_ADRESS,
h.REMARK
FROM (
SELECT
a.EMP_NAME,
a.EMP_NO,
'' as EMP_NO,
a.EMP_IDCARD,
CASE (SUBSTR(a.EMP_IDCARD,17,1)%2)
WHEN 1 THEN '男'
WHEN 0 THEN '女'
else '男'
END sex,
case when a.EMP_NATIONAL = 1 then "汉族"
when a.EMP_NATIONAL = 2 then "傣族"
......@@ -1335,31 +1409,58 @@
'' as INSURANCE_TYPE_FIVE,
s.RECORD_BASE as PERSION_CARDINAL,
s.UNIT_MEDICAL_CARDINAL as MEDICAL_CARDINAL,
concat(ifnull(DATE_FORMAT(a.CONTRACT_START,"%Y%m%d"),''),'-',ifnull(DATE_FORMAT(a.CONTRACT_END,"%Y%m%d"),'')) as DATE_ONE,
concat(ifnull(DATE_FORMAT(a.CONTRACT_START,"%Y%m"),''),'-',ifnull(DATE_FORMAT(a.CONTRACT_END,"%Y%m"),'')) as DATE_ONE,
'安徽省合肥市' as CONTRACT_ADRESS,
a.EMP_MOBILE as REMARK
FROM t_dispatch_info a
left join t_social_info s on s.id=a.SOCIAL_ID
,(select @i:=0) as itable
<where>
<include refid="where_getSocialPersionDisRecord"/>
</where>
group by a.EMP_IDCARD)h,(select @i:=0) as itable
</select>
<!--tDispatchInfo 社保养老花名册派单数据-->
<select id="getSocialPersionReduceDisCount" resultType="java.lang.Integer">
SELECT count(1)
SELECT count(1) from (
SELECT 1
FROM t_dispatch_info a
<where>
<include refid="where_getSocialPersionDisRecord"/>
</where>
group by a.EMP_IDCARD) h
</select>
<!--tDispatchInfo 社保养老花名册派单数据-->
<select id="getSocialPersionReduceDisRecord" resultMap="socialPersionReduceDisExportMap">
SELECT
(@i :=@i+1) as num,
a.EMP_NO,
h.EMP_NO,
h.EMP_NAME,
h.EMP_IDCARD,
h.WORK_DATE,
h.typeA,
h.typeB,
h.typeC,
h.typeD,
h.typeE,
h.typeW,
h.typeF,
h.typeG,
h.typeH,
h.typeZ,
h.typeJ,
h.typeK,
h.typeL,
h.typeM,
h.typeN,
h.typeO,
h.typeP,
h.typeQ,
h.REMARK
FROM (
SELECT
'' as EMP_NO,
a.EMP_NAME,
a.EMP_IDCARD,
DATE_FORMAT(a.CREATE_TIME,"%Y%m") as WORK_DATE,
......@@ -1372,6 +1473,7 @@
'' as typeF,
'' as typeG,
'' as typeH,
'' as typeZ,
'' as typeJ,
'' as typeK,
'' as typeL,
......@@ -1383,10 +1485,10 @@
a.EMP_MOBILE as REMARK
FROM t_dispatch_info a
left join t_social_info s on s.id=a.SOCIAL_ID
,(select @i:=0) as itable
<where>
<include refid="where_getSocialPersionDisRecord"/>
</where>
group by a.EMP_IDCARD) h,(select @i:=0) as itable
</select>
<!--tDispatchInfo 公积金变更清册查询-->
......@@ -1805,7 +1907,7 @@
<sql id="where_getSocialDisRecord">
a.DELETE_FLAG = 0
AND a.social_id is not null
AND a.STATUS = "2"
AND a.STATUS in ('2','4')
AND a.DISPATCH_ITEM like concat('%','医疗','%')
<if test="tDispatchInfo != null">
<if test="tDispatchInfo.socialHouseholdName != null and tDispatchInfo.socialHouseholdName.trim() != ''">
......@@ -1817,9 +1919,12 @@
<if test="tDispatchInfo.disMonth != null and tDispatchInfo.disMonth.trim() != ''">
AND replace(DATE_FORMAT(a.CREATE_TIME,"%Y-%m"),'-','') = #{tDispatchInfo.disMonth}
</if>
<if test="tDispatchInfo.socialHandleStatus != null and tDispatchInfo.socialHandleStatus.trim() != ''">
<if test="tDispatchInfo.socialHandleStatus != null and tDispatchInfo.socialHandleStatus.trim() != '' and tDispatchInfo.socialHandleStatus != 1">
AND a.SOCIAL_HANDLE_STATUS = #{tDispatchInfo.socialHandleStatus}
</if>
<if test="tDispatchInfo.socialHandleStatus != null and tDispatchInfo.socialHandleStatus.trim() != '' and tDispatchInfo.socialHandleStatus == 1">
AND a.SOCIAL_HANDLE_STATUS in ('1','3')
</if>
<if test="tDispatchInfo.authSql != null and tDispatchInfo.authSql.trim() != ''">
${tDispatchInfo.authSql}
</if>
......@@ -1854,8 +1959,8 @@
<sql id="where_getSocialPersionDisRecord">
a.DELETE_FLAG = 0
AND a.social_id is not null
AND a.STATUS = "2"
AND (a.DISPATCH_ITEM like concat('%','工伤','%') or a.DISPATCH_ITEM like concat('%','养老','%'))
AND a.STATUS in ('2','4')
AND (a.DISPATCH_ITEM like concat('%','工伤','%') or a.DISPATCH_ITEM like concat('%','养老','%') or a.DISPATCH_ITEM like concat('%','失业','%'))
<if test="tDispatchInfo != null">
<if test="tDispatchInfo.socialHouseholdName != null and tDispatchInfo.socialHouseholdName.trim() != ''">
AND a.SOCIAL_HOUSEHOLD_NAME = #{tDispatchInfo.socialHouseholdName}
......@@ -1866,9 +1971,12 @@
<if test="tDispatchInfo.disMonth != null and tDispatchInfo.disMonth.trim() != ''">
AND replace(DATE_FORMAT(a.CREATE_TIME,"%Y-%m"),'-','') = #{tDispatchInfo.disMonth}
</if>
<if test="tDispatchInfo.socialHandleStatus != null and tDispatchInfo.socialHandleStatus.trim() != ''">
<if test="tDispatchInfo.socialHandleStatus != null and tDispatchInfo.socialHandleStatus.trim() != '' and tDispatchInfo.socialHandleStatus != 1">
AND a.SOCIAL_HANDLE_STATUS = #{tDispatchInfo.socialHandleStatus}
</if>
<if test="tDispatchInfo.socialHandleStatus != null and tDispatchInfo.socialHandleStatus.trim() != '' and tDispatchInfo.socialHandleStatus == 1">
AND a.SOCIAL_HANDLE_STATUS in ('1','3')
</if>
<if test="tDispatchInfo.authSql != null and tDispatchInfo.authSql.trim() != ''">
${tDispatchInfo.authSql}
</if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment