Commit 78a5f92f by jianan

AGMS生成合同后短信通知,合同编号由程序生成

parent 4bd01a7a
...@@ -8,9 +8,11 @@ public interface PractitionerHiringContractService { ...@@ -8,9 +8,11 @@ public interface PractitionerHiringContractService {
String generatePractitionerContract(String practitionerNO, String contractNo, Long hiringBasicInfoId) throws Exception; String generatePractitionerContract(String practitionerNO, String contractNo, Long hiringBasicInfoId) throws Exception;
Map<String, String> initHiringBasicInfoData(Long hiringBasicInfoId); Map<String, String> initHiringBasicInfoData(Long hiringBasicInfoId, String contractNo);
Map<String, String> initHiringImageInfoData(Long hiringBasicInfoId); Map<String, String> initHiringImageInfoData(Long hiringBasicInfoId);
String generatePractitionerPDF(String practitionerNO,Map<String, String> initDatas,Map<String, String> initImages); String generatePractitionerPDF(String practitionerNO,Map<String, String> initDatas,Map<String, String> initImages);
String getNextContractNo();
} }
\ No newline at end of file
package com.yd.api.practitioner.service.impl; package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.service.PractitionerHiringContractService; import com.yd.api.practitioner.service.PractitionerHiringContractService;
import com.yd.api.practitioner.vo.hiring.GeneratePDFRequestVO;
import com.yd.dal.entity.customer.*; import com.yd.dal.entity.customer.*;
import com.yd.dal.mapper.customer.*; import com.yd.dal.mapper.customer.*;
import com.yd.dal.mapper.practitioner.PractitionerHiringMapper; import com.yd.dal.mapper.practitioner.PractitionerHiringMapper;
...@@ -15,7 +14,6 @@ import org.springframework.stereotype.Service; ...@@ -15,7 +14,6 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.*; import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@Service("PractitionerHiringContractService") @Service("PractitionerHiringContractService")
...@@ -33,8 +31,6 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring ...@@ -33,8 +31,6 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring
@Autowired @Autowired
private AclPractitionerHiringWorkingExperienceMapper workingExperienceMapper; private AclPractitionerHiringWorkingExperienceMapper workingExperienceMapper;
@Autowired @Autowired
private AclPractitionerSubordinateSystemMapper systemMapper;
@Autowired
private AclPractitionerHiringApproveRecordsMapper recordsMapper; private AclPractitionerHiringApproveRecordsMapper recordsMapper;
@Autowired @Autowired
private AclPractitionerHiringPersonalStatementsMapper statementsMapper; private AclPractitionerHiringPersonalStatementsMapper statementsMapper;
...@@ -51,7 +47,7 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring ...@@ -51,7 +47,7 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring
//1、从DB中按照hiringBasicInfoId,获取经纪人的文字信息 //1、从DB中按照hiringBasicInfoId,获取经纪人的文字信息
Map<String, String> initDatas = new HashMap<String, String>(); Map<String, String> initDatas = new HashMap<String, String>();
initDatas = initHiringBasicInfoData(hiringBasicInfoId); initDatas = initHiringBasicInfoData(hiringBasicInfoId, contractNo);
//2、从DB中按照hiringBasicInfoId,从oss上获取经纪人上传的图片信息,需存本地临时文件 //2、从DB中按照hiringBasicInfoId,从oss上获取经纪人上传的图片信息,需存本地临时文件
Map<String, String> initImages = new HashMap<String, String>(); Map<String, String> initImages = new HashMap<String, String>();
...@@ -156,7 +152,7 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring ...@@ -156,7 +152,7 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring
* @return * @return
*/ */
@Override @Override
public Map<String, String> initHiringBasicInfoData(Long hiringBasicInfoId) { public Map<String, String> initHiringBasicInfoData(Long hiringBasicInfoId, String contractNo) {
AclPractitionerHiringBasicInfo basicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId); AclPractitionerHiringBasicInfo basicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
AclPractitionerHiringMembership memberShip = membershipMapper.selectByHiringBasicInfoId(hiringBasicInfoId); AclPractitionerHiringMembership memberShip = membershipMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
...@@ -185,7 +181,7 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring ...@@ -185,7 +181,7 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring
//PDF模板中定义的文字key,和值的集合 //PDF模板中定义的文字key,和值的集合
Map<String, String> data = new HashMap<String, String>(); Map<String, String> data = new HashMap<String, String>();
//1页 //1页
data.put("contactNo", second.getContractNo()); data.put("contactNo", contractNo);
data.put("practitionerNo", second.getPractitionerCode()); data.put("practitionerNo", second.getPractitionerCode());
data.put("subsystem", memberShip.getSubsystem()); data.put("subsystem", memberShip.getSubsystem());
data.put("practitioner", basicInfo.getName()); data.put("practitioner", basicInfo.getName());
...@@ -615,4 +611,10 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring ...@@ -615,4 +611,10 @@ public class PractitionerHiringContractServiceImpl implements PractitionerHiring
return signResultPDF; return signResultPDF;
} }
@Override
public String getNextContractNo() {
String contractNo = practitionerHiringMapper.getNextContractNo();
return "YDLBC-0" + contractNo;
}
} }
...@@ -701,21 +701,27 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -701,21 +701,27 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
String practitionerCode = practitioner == null ? null : practitioner.getPractitionerCode(); String practitionerCode = practitioner == null ? null : practitioner.getPractitionerCode();
String contractNo = practitioner == null ? null : practitioner.getContractNo(); String contractNo = practitioner == null ? null : practitioner.getContractNo();
if (StringUtils.isEmpty(practitionerCode) || StringUtils.isEmpty(contractNo)) { if (StringUtils.isEmpty(practitionerCode) || StringUtils.isEmpty(contractNo)) {
resp.setCommonResult(new CommonResult(true, "内部编号和员工合同编号不能为空,请注意保存")); resp.setCommonResult(new CommonResult(true, "内部编号不能为空,请注意保存"));
return resp; return resp;
} }
// if (contractNo != null) {
// resp.setCommonResult(new CommonResult(true, "合同已存在"));
// return resp;
// }
contractNo = hiringContractService.getNextContractNo();
String contractOssPath = hiringContractService.generatePractitionerContract(practitionerCode, contractNo, hiringBasicInfoId); String contractOssPath = hiringContractService.generatePractitionerContract(practitionerCode, contractNo, hiringBasicInfoId);
//4、经纪人表生成经纪人记录ag_acl_practitioner,ag_acl_practitioner.contract_oss_path //4、经纪人表生成经纪人记录ag_acl_practitioner,ag_acl_practitioner.contract_oss_path
// 经纪人经纪人类型级别定义表ag_acl_practitioner_setting // 经纪人经纪人类型级别定义表ag_acl_practitioner_setting
AclPractitioner updateObj = new AclPractitioner(); AclPractitioner updateObj = new AclPractitioner();
updateObj.setId(practitionerId); updateObj.setId(practitionerId);
updateObj.setContractNo(contractNo);
updateObj.setContractOssPath(contractOssPath); updateObj.setContractOssPath(contractOssPath);
aclPractitionerMapper.updateByPrimaryKeySelective(updateObj); aclPractitionerMapper.updateByPrimaryKeySelective(updateObj);
//合同生成后,发短信通知报聘人,辅导人,团队长 //合同生成后,发短信通知报聘人,辅导人,团队长
// this.sendMsgAfterPDF(hiringBasicInfoId); this.sendMsgAfterPDF(hiringBasicInfoId);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"))); resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setContractOssPath(contractOssPath); resp.setContractOssPath(contractOssPath);
...@@ -744,17 +750,28 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -744,17 +750,28 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
mobileNoArr[2] = system.getMobileNo(); mobileNoArr[2] = system.getMobileNo();
} }
// orderNo = item.getOrderNo(); String name = basicInfo.getName();
// times = CommonUtil.dateParseString(overdueDate,"HH:mm"); String system = memberShip.getSubsystem();
// customer = customerMap.get(item.getCustomerId()); String mobileNo;
// name = customer.getName(); String templateCode;
// mobileNo = customer.getMobileNo(); String content;
// email = customer.getEmail(); // S2的短信模板
// /* 短信提醒 */ if ("30".equals(memberShip.getMdDropOptionId())) {
// String content = "{\"name\":\""+name+"\",\"code\":\""+item.getOrderNo()+"\",\"time\":\""+times+"\",\"orderNo\":\""+orderNo+"\"}"; /* 短信提醒 */
// sendService.sendEmailOrSMS("sms", mobileNo, "2", content, templateCode, null, null, "订单未支付提醒", 1, item.getId()); templateCode = systemConfigService.getSingleConfigValue("ALI_SMS_CONTRACT_S2");
content = "{\"name\":\""+name+"\"}";
} else {
/* 短信提醒 */
templateCode = systemConfigService.getSingleConfigValue("ALI_SMS_CONTRACT");
content = "{\"system\":\""+system+"\",\"name\":\""+name+"\"}";
}
for (int i = 0; i < mobileNoArr.length; i++) {
mobileNo = mobileNoArr[i];
sendService.sendEmailOrSMS("sms", mobileNo, "2", content, templateCode, null, null, "电子报聘合同生成提醒", 99, hiringBasicInfoId);
}
} }
@Override @Override
......
...@@ -66,4 +66,6 @@ public interface PractitionerHiringMapper { ...@@ -66,4 +66,6 @@ public interface PractitionerHiringMapper {
List<HiringListInfo> queryMentorUnhandledList(Long practitionerId); List<HiringListInfo> queryMentorUnhandledList(Long practitionerId);
List<HiringListInfo> querySystemOwnerUnhandledList(Long practitionerId); List<HiringListInfo> querySystemOwnerUnhandledList(Long practitionerId);
String getNextContractNo();
} }
...@@ -262,4 +262,8 @@ ...@@ -262,4 +262,8 @@
from ag_md_drop_master from ag_md_drop_master
where scenario_code = 'practitioner_level')) where scenario_code = 'practitioner_level'))
</select> </select>
<select id="getNextContractNo" resultType="java.lang.String" statementType="CALLABLE">
select f_getNextContractNo()
</select>
</mapper> </mapper>
\ No newline at end of file
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