Commit c093005b by jianan

Merge branch 'dev_20201208_hiring' into dev

# Conflicts:
#	yd-api/src/main/java/com/yd/api/agms/AgmsController.java
#	yd-api/src/main/resources/i18n/messages_zh_CN.properties
parents 732ec1b4 3d202c4b
package com.yd.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* Desc:properties文件获取工具类
* Created by hafiz.zhang on 2016/9/15.
*/
public class PDFConfiguration {
private static final Logger logger = LoggerFactory.getLogger(PDFConfiguration.class);
private static Properties props;
static{
loadProps();
}
synchronized static private void loadProps(){
logger.info("开始加载properties文件内容.......");
props = new Properties();
InputStream in = null;
try
{
in = PDFConfiguration.class.getClassLoader().getResourceAsStream("PDFConfiguration.properties");
props.load(in);
} catch (FileNotFoundException e) {
logger.error("jdbc.properties文件未找到");
} catch (IOException e) {
logger.error("出现IOException");
} finally {
try {
if(null != in) {
in.close();
}
} catch (IOException e) {
logger.error("jdbc.properties文件流关闭出现异常");
}
}
logger.info("加载properties文件内容完成...........");
logger.info("properties文件内容:" + props);
}
public static String getProperty(String key){
if(null == props) {
loadProps();
}
return props.getProperty(key);
}
public static String getProperty(String key, String defaultValue) {
if(null == props) {
loadProps();
}
return props.getProperty(key, defaultValue);
}
}
\ No newline at end of file
pdf.template=/opt/tomcat8/conf/ydpdf/pdfres/templatePractitionerContract.pdf
pdf.signImage=/opt/tomcat8/conf/ydpdf/pdfres/上海银盾保险经纪有限公司.png
pdf.keyStorePath=/opt/tomcat8/conf/ydpdf/pdfres/4929078_m.zuihuibi.cn.pfx
pdf.keyPasswordFile=/opt/tomcat8/conf/ydpdf/pdfres/pfx-password.txt
pdf.check=/opt/tomcat8/conf/ydpdf/pdfres/check.png
pdf.uncheck=/opt/tomcat8/conf/ydpdf/pdfres/uncheck.png
pdf.temp.path=/opt/tomcat8/temp/
pdf.position.x=450
pdf.position.y=150
...@@ -183,14 +183,94 @@ ...@@ -183,14 +183,94 @@
<artifactId>aliyun-java-sdk-dm</artifactId> <artifactId>aliyun-java-sdk-dm</artifactId>
<version>3.1.0</version> <version>3.1.0</version>
</dependency> </dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.libs.pdf</groupId>
<artifactId>com-libs-pdf</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/com-libs-pdf-0.0.1.jar</systemPath>
</dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>ydapi</finalName> <finalName>ydapi</finalName>
<resources>
<resource>
<!--<targetPath>/WEB-INF/classes</targetPath>-->
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>compile</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<includeScope>system</includeScope>
</configuration>
</execution>
</executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
......
...@@ -2,13 +2,17 @@ package com.yd.api.agms; ...@@ -2,13 +2,17 @@ package com.yd.api.agms;
import com.yd.api.agms.service.AgmsDashboardService; import com.yd.api.agms.service.AgmsDashboardService;
import com.yd.api.agms.service.AgmsFortuneService; import com.yd.api.agms.service.AgmsFortuneService;
import com.yd.api.agms.service.AgmsHiringService;
import com.yd.api.agms.vo.dashboard.*; import com.yd.api.agms.vo.dashboard.*;
import com.yd.api.agms.service.AgmsStatisticsService; import com.yd.api.agms.service.AgmsStatisticsService;
import com.yd.api.agms.vo.fortune.*; import com.yd.api.agms.vo.fortune.*;
import com.yd.api.agms.vo.hiring.*;
import com.yd.api.agms.vo.statistics.FinancialStatisticsRequestVO; import com.yd.api.agms.vo.statistics.FinancialStatisticsRequestVO;
import com.yd.api.agms.vo.statistics.FinancialStatisticsResponseVO; import com.yd.api.agms.vo.statistics.FinancialStatisticsResponseVO;
import com.yd.api.agms.vo.statistics.LeadsStatisticsRequestVO; import com.yd.api.agms.vo.statistics.LeadsStatisticsRequestVO;
import com.yd.api.agms.vo.statistics.LeadsStatisticsResponseVO; import com.yd.api.agms.vo.statistics.LeadsStatisticsResponseVO;
import com.yd.api.practitioner.vo.hiring.HiringApproveRequestVO;
import com.yd.api.practitioner.vo.hiring.HiringApproveResponseVO;
import com.yd.api.result.JsonResult; import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
...@@ -29,6 +33,8 @@ public class AgmsController { ...@@ -29,6 +33,8 @@ public class AgmsController {
private AgmsStatisticsService agmsStatisticsService; private AgmsStatisticsService agmsStatisticsService;
@Autowired @Autowired
private AgmsFortuneService agmsFortuneService; private AgmsFortuneService agmsFortuneService;
@Autowired
private AgmsHiringService agmsHiringService;
/** /**
* AGMS -- 财务管理报表 * AGMS -- 财务管理报表
...@@ -224,4 +230,60 @@ public class AgmsController { ...@@ -224,4 +230,60 @@ public class AgmsController {
result.addResult(responseVO); result.addResult(responseVO);
return result; return result;
} }
/**
* AGMS -- 经纪人审批详情查询
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringDetail")
public Object practitionerHiringDetail(@RequestBody PractitionerHiringDetailRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringDetailResponseVO responseVO = agmsHiringService.practitionerHiringDetail(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* AGMS -- 经纪人审批列表查询
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringListOld")
public Object practitionerHiringListOld(@RequestBody PractitionerHiringListRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringListResponseVO responseVO = agmsHiringService.practitionerHiringList(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* AGMS -- 经纪人审批
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/practitionerHiringApprove")
public Object practitionerHiringApprove(@RequestBody PractitionerHiringApproveRequestVO requestVO){
JsonResult result = new JsonResult();
PractitionerHiringApproveResponseVO responseVO = agmsHiringService.practitionerHiringApprove(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* AGMS -- 经纪人审批列表查询第二版
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringList")
public Object practitionerHiringList(@RequestBody PractitionerHiringListRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringListResponseVO responseVO = agmsHiringService.practitionerHiringListV2(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
} }
package com.yd.api.agms.service;
import com.yd.api.agms.vo.hiring.*;
/**
* @author xxy
*/
public interface AgmsHiringService {
/**
* AGMS -- 经纪人审批详情查询
* @param requestVO 请求数据
* @return 响应数据
*/
PractitionerHiringDetailResponseVO practitionerHiringDetail(PractitionerHiringDetailRequestVO requestVO);
/**
* AGMS -- 经纪人审批列表查询
* @param requestVO 请求数据
* @return 响应数据
*/
PractitionerHiringListResponseVO practitionerHiringList(PractitionerHiringListRequestVO requestVO);
/**
* AGMS -- 经纪人审批
* @param requestVO 请求数据
* @return 响应数据
*/
PractitionerHiringApproveResponseVO practitionerHiringApprove(PractitionerHiringApproveRequestVO requestVO);
PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO);
}
package com.yd.api.agms.service.impl;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.service.AgmsHiringService;
import com.yd.api.agms.vo.hiring.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.hiring.*;
import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.meta.MdCode;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.order.PoOrder;
import com.yd.dal.entity.practitioner.hiring.HiringApproveRecords;
import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper;
import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.service.agms.AgmsHiringDALService;
import com.yd.dal.service.customer.*;
import com.yd.dal.service.meta.MdCodeDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService;
import com.yd.rmi.ali.send.service.SendService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import com.yd.util.page.PageInfoUtils;
import org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/**
* @author xxy
*/
@Service("agmsHiringService")
public class AgmsHiringServiceImpl implements AgmsHiringService {
private AgmsHiringDALService agmsHiringDalService;
private SystemConfigService systemConfigService;
private AclUserDALService aclUserDalService;
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
private AclPractitionerHiringApproveRecordsDALService aclPractitionerHiringApproveRecordsDalService;
private AclPractitionerDALService aclPractitionerDalService;
private AclPractitionerSettingDALService aclPractitionerSettingDalService;
private AclPractitionerHiringBasicInfoDALService aclPractitionerHiringBasicInfoDalService;
private AclPractitionerHiringMembershipDALService aclPractitionerHiringMembershipDalService;
private AclPractitionerSubordinateSystemDALService aclPractitionerSubordinateSystemDalService;
private AclCustomerDALService aclCustomerDalService;
@Autowired
private AclPractitionerHiringBasicInfoMapper basicInfoMapper;
@Autowired
private PractitionerHiringDALService practitionerHiringDalService;
@Autowired
private AclPractitionerMapper aclPractitionerMapper;
@Autowired
private AclPractitionerHiringMembershipMapper membershipMapper;
@Autowired
private MdCodeDALService mdCodeDALService;
@Autowired
private SendService sendService;
@Autowired
public void setAgmsHiringDalService(AgmsHiringDALService agmsHiringDalService){
this.agmsHiringDalService = agmsHiringDalService;
}
@Autowired
public void setSystemConfigService(SystemConfigService systemConfigService) {
this.systemConfigService = systemConfigService;
}
@Autowired
public void setMdPractitionerHiringApproveStepsDalService(MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService) {
this.mdPractitionerHiringApproveStepsDalService = mdPractitionerHiringApproveStepsDalService;
}
@Autowired
public void setAclUserDalService(AclUserDALService aclUserDalService) {
this.aclUserDalService = aclUserDalService;
}
@Autowired
public void setAclPractitionerHiringApproveRecordsDalService(AclPractitionerHiringApproveRecordsDALService aclPractitionerHiringApproveRecordsDalService) {
this.aclPractitionerHiringApproveRecordsDalService = aclPractitionerHiringApproveRecordsDalService;
}
@Autowired
public void setAclPractitionerDalService(AclPractitionerDALService aclPractitionerDalService) {
this.aclPractitionerDalService = aclPractitionerDalService;
}
@Autowired
public void setAclPractitionerSettingDalService(AclPractitionerSettingDALService aclPractitionerSettingDalService) {
this.aclPractitionerSettingDalService = aclPractitionerSettingDalService;
}
@Autowired
public void setAclPractitionerHiringBasicInfoDalService(AclPractitionerHiringBasicInfoDALService aclPractitionerHiringBasicInfoDalService) {
this.aclPractitionerHiringBasicInfoDalService = aclPractitionerHiringBasicInfoDalService;
}
@Autowired
public void setAclPractitionerHiringMembershipDalService(AclPractitionerHiringMembershipDALService aclPractitionerHiringMembershipDalService) {
this.aclPractitionerHiringMembershipDalService = aclPractitionerHiringMembershipDalService;
}
@Autowired
public void setAclPractitionerSubordinateSystemDalService(AclPractitionerSubordinateSystemDALService aclPractitionerSubordinateSystemDalService) {
this.aclPractitionerSubordinateSystemDalService = aclPractitionerSubordinateSystemDalService;
}
@Autowired
public void setAclCustomerDalService(AclCustomerDALService aclCustomerDalService) {
this.aclCustomerDalService = aclCustomerDalService;
}
@Override
public PractitionerHiringDetailResponseVO practitionerHiringDetail(PractitionerHiringDetailRequestVO requestVO) {
PractitionerHiringDetailResponseVO responseVO = new PractitionerHiringDetailResponseVO();
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
//经纪人审批基本信息
PractitionerHiringBasicInfo practitionerHiringBasicInfo = agmsHiringDalService.findPractitionerHiringBasicInfo(hiringBasicInfoId);
//审批经纪人关系
PractitionerHiringMemberShip practitionerHiringMemberShip = agmsHiringDalService.findPractitionerHiringMemberShip(hiringBasicInfoId);
//审批经纪人工作经历
List<PractitionerHiringWorkingExperience> practitionerHiringWorkingExperienceList = agmsHiringDalService.findPractitionerHiringWorkingExperienceList(hiringBasicInfoId);
//经纪人申请名目
List<PractitionerHiringPersonalStatements> practitionerHiringPersonalStatementsList = agmsHiringDalService.findPractitionerHiringPersonalStatementsList(hiringBasicInfoId);
//经纪人合同条款是否同意
List<PractitionerHiringContractTermsConfirms> practitionerHiringContractTermsConfirmsList = agmsHiringDalService.findPractitionerHiringContractTermsConfirmsList(hiringBasicInfoId);
//已审批结果
List<HiringApproveRecords> hiringApproveRecordsList = practitionerHiringDalService.findHiringApproveRecordsList(hiringBasicInfoId);
responseVO.setHiringBasicInfoId(hiringBasicInfoId);
// 审批到哪一步
Integer nextStepSeq = practitionerHiringDalService.getNextStepSeqByApproveStatus(practitionerHiringBasicInfo.getApproveStatus());
responseVO.setHiringApproveStepsSeq(nextStepSeq);
responseVO.setPractitionerHiringBasicInfo(practitionerHiringBasicInfo);
responseVO.setPractitionerHiringMemberShip(practitionerHiringMemberShip);
responseVO.setPractitionerHiringWorkingExperienceList(practitionerHiringWorkingExperienceList);
responseVO.setPractitionerHiringPersonalStatementsList(practitionerHiringPersonalStatementsList);
responseVO.setPractitionerHiringContractTermsConfirmsList(practitionerHiringContractTermsConfirmsList);
responseVO.setPractitionerHiringApproveRecordsList(hiringApproveRecordsList);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
@Override
public PractitionerHiringListResponseVO practitionerHiringList(PractitionerHiringListRequestVO requestVO) {
PractitionerHiringListResponseVO responseVO = new PractitionerHiringListResponseVO();
PageInfo<PractitionerHiringListInfo> hiringListInfoPageInfo = agmsHiringDalService.practitionerHiringList(requestVO);
responseVO.setPractitionerHiringList(hiringListInfoPageInfo);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
@Override
public PractitionerHiringApproveResponseVO practitionerHiringApprove(PractitionerHiringApproveRequestVO requestVO) {
PractitionerHiringApproveResponseVO responseVO = new PractitionerHiringApproveResponseVO();
Integer hiringApproveStepsSeq = requestVO.getHiringApproveStepsSeq();
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
AclPractitionerHiringBasicInfo basicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
if (basicInfo != null && StringUtils.isNotEmpty(basicInfo.getApproveStatus())) {
List<AclPractitionerHiringApproveRecords> recordsList = aclPractitionerHiringApproveRecordsDalService.queryListByBasicInfoId(hiringBasicInfoId);
for (AclPractitionerHiringApproveRecords record : recordsList) {
if (record.getStepSeq().equals(String.valueOf(hiringApproveStepsSeq))) {
responseVO.setCommonResult(new CommonResult(true, "当前流程已审批,请勿重复提交"));
return responseVO;
}
}
}
Integer plateform = requestVO.getPlateform();
if (Integer.valueOf("2").equals(plateform)) {
//通过loginId查询此登入者的经纪人id
Long loginId = requestVO.getLoginId();
Long practitionerId = agmsHiringDalService.findPractitionerIdByLoginId(loginId);
AclUser user = aclUserDalService.selectByPrimaryKey(loginId);
String mobileNo = user.getMobileNo();
this.doApprove(practitionerId, mobileNo, requestVO, responseVO);
return responseVO;
} else {
Long practitionerId = requestVO.getPractitionerId();
AclPractitioner practitioner = aclPractitionerMapper.selectByPrimaryKey(practitionerId);
String mobileNo = practitioner.getMobileNo();
this.doApprove(practitionerId, mobileNo, requestVO, responseVO);
return responseVO;
}
}
private void doApprove(Long practitionerId, String mobileNo, PractitionerHiringApproveRequestVO requestVO, PractitionerHiringApproveResponseVO responseVO) {
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
//查询审批流程
List<MdPractitionerHiringApproveSteps> hiringApproveStepsList = systemConfigService.findHiringApproveStepsAll();
//保存审批结果
saveRecords(practitionerId, mobileNo, hiringApproveStepsList, requestVO, responseVO);
//保存完毕,判断是否为最后一步
AclPractitionerHiringBasicInfo basicInfo2 = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
if (basicInfo2.getApproveStatus().equals(String.valueOf(hiringApproveStepsList.size()))) {
Long approvingStatus = requestVO.getApprovingStatus();
String basicInfoStatus = null;
if (approvingStatus == 1) {
//最后一步 并同意 更新经纪人系类表
updatePractitionerInfo(hiringBasicInfoId, practitionerId);
//最后一步通过发邮件通知人事填写相关经纪人信息
this.sendMailToHR(basicInfo2);
basicInfoStatus = "0";
} else {
basicInfoStatus = "-1";
}
// 更新basicInfo表审批状态
AclPractitionerHiringBasicInfo updateObj = new AclPractitionerHiringBasicInfo();
updateObj.setId(hiringBasicInfoId);
updateObj.setApproveStatus(basicInfoStatus);
basicInfoMapper.updateByPrimaryKeySelective(updateObj);
}
responseVO.setHiringBasicInfoId(hiringBasicInfoId);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
}
@Override
public PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO) {
PractitionerHiringListResponseVO resp = new PractitionerHiringListResponseVO();
try {
Long loginId = requestVO.getLoginId();
String status = requestVO.getStatus();
List<PractitionerHiringListInfo> list;
if ("0".equals(status)) {
list = agmsHiringDalService.queryUnhandledList(requestVO);
// 对list分页
PageInfo<PractitionerHiringListInfo> pageInfo = requestVO.getPageInfo();
int pageNum = pageInfo.getPageNum();
int pageSize = pageInfo.getPageSize();
PageInfo<PractitionerHiringListInfo> page = PageInfoUtils.list2PageInfo(list, pageNum, pageSize);
resp.setPractitionerHiringList(page);
} else {
// 通过loginId查询此登入者的经纪人id
Long loginPractitionerId = agmsHiringDalService.findPractitionerIdByLoginId(loginId);
PageInfo<PractitionerHiringListInfo> pageInfo = agmsHiringDalService.queryHandledList(loginPractitionerId, status, requestVO);
resp.setPractitionerHiringList(pageInfo);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
}
return resp;
}
@SuppressWarnings("unchecked")
private void saveRecords(Long loginPractitionerId,
String mobileNo, List<MdPractitionerHiringApproveSteps> hiringApproveStepsList,
PractitionerHiringApproveRequestVO requestVO,
PractitionerHiringApproveResponseVO responseVO) {
Long basicInfoId = requestVO.getHiringBasicInfoId();
BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate("stepSeq", requestVO.getHiringApproveStepsSeq());
List<MdPractitionerHiringApproveSteps> steps = (List<MdPractitionerHiringApproveSteps>) CollectionUtils.select(hiringApproveStepsList, predicate);
if (steps.size() != 1) {
responseVO.setHiringBasicInfoId(requestVO.getHiringBasicInfoId());
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830025")));
return;
}
AclPractitionerHiringApproveRecords records = new AclPractitionerHiringApproveRecords();
MdPractitionerHiringApproveSteps step = steps.get(0);
records.setHiringBasicInfoId(basicInfoId);
records.setApproveStepId(step.getId().toString());
records.setApproveStepName(step.getStepName());
records.setApprovingPractitionerId(loginPractitionerId);
records.setApprovingStatus(requestVO.getApprovingStatus());
records.setInterviewAssessment(requestVO.getInterviewAssessment());
records.setRejectNote(requestVO.getRejectNote());
records.setIsActive(1);
records.setCreatedAt(new Date());
records.setCreatedBy(loginPractitionerId);
records.setUpdatedAt(new Date());
records.setUpdatedBy(loginPractitionerId);
aclPractitionerHiringApproveRecordsDalService.save(records);
// 更新basicInfo表审批状态
AclPractitionerHiringBasicInfo updateObj = new AclPractitionerHiringBasicInfo();
updateObj.setId(basicInfoId);
updateObj.setApproveStatus(step.getStepSeq().toString());
basicInfoMapper.updateByPrimaryKeySelective(updateObj);
if (CommonUtil.isNullOrZero(requestVO.getApprovingStatus())) {
// 审批拒绝更新basicInfo表审批状态为 "-1"
AclPractitionerHiringBasicInfo updateObj2 = new AclPractitionerHiringBasicInfo();
updateObj2.setId(basicInfoId);
updateObj2.setApproveStatus("-1");
basicInfoMapper.updateByPrimaryKeySelective(updateObj2);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return;
}
//判断下一个步骤是不是他
Long id = step.getId();
MdPractitionerHiringApproveSteps lastStep = hiringApproveStepsList.get(hiringApproveStepsList.size() - 1);
Long lastStepId = lastStep.getId();
//这是最后一个步骤
if (id.equals(lastStepId)) {
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return;
}
//下一个步骤
MdPractitionerHiringApproveSteps nextStep = new MdPractitionerHiringApproveSteps();
for (int i = 0; i < hiringApproveStepsList.size(); i++) {
MdPractitionerHiringApproveSteps stop = hiringApproveStepsList.get(i);
Long stopId = stop.getId();
if (id.equals(stopId)) {
nextStep = hiringApproveStepsList.get(i + 1);
break;
}
}
//不是他
boolean flag = this.isHasNextStep(loginPractitionerId, mobileNo, basicInfoId, nextStep);
if (!flag) {
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return;
}
requestVO.setHiringApproveStepsSeq(nextStep.getStepSeq());
saveRecords(loginPractitionerId, mobileNo, hiringApproveStepsList, requestVO, responseVO);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
}
private boolean isHasNextStep(Long loginPractitionerId, String mobileNo, Long basicInfoId, MdPractitionerHiringApproveSteps nextStep) {
// 判断是辅导人和团队长
if (!CommonUtil.isNullOrZero(loginPractitionerId)) {
String approveRole = nextStep.getApproveRole();
if (StringUtils.isNotEmpty(approveRole)) {
AclPractitionerHiringMembership membership = membershipMapper.selectByHiringBasicInfoId(basicInfoId);
if (membership != null) {
if (loginPractitionerId.equals(membership.getSubsystemOwnerId())) {
return true;
}
}
}
}
// 判断是否是AGMS中审批的人员
String appointedApprovePractitioners = nextStep.getAppointedApprovePractitioners();
if (StringUtils.isNotEmpty(appointedApprovePractitioners)) {
List<String> hiringApproveMobileNos = new ArrayList<>(Arrays.asList(appointedApprovePractitioners.split(",")));
if (hiringApproveMobileNos.contains(mobileNo)) {
return true;
}
}
return false;
}
private void updatePractitionerInfo(Long hiringBasicInfoId,Long operater) {
//更新经纪人系类表
//ag_acl_practitioner
//ag_acl_practitioner_setting
//ag_acl_practitioner_subordinate_system(如果是团队长)operator
AclPractitionerHiringBasicInfo basicInfo = aclPractitionerHiringBasicInfoDalService.findById(hiringBasicInfoId);
AclPractitionerHiringMembership membership = aclPractitionerHiringMembershipDalService.findByBasicInfoId(hiringBasicInfoId);
AclPractitionerSubordinateSystem subordinateSystem = aclPractitionerSubordinateSystemDalService.findById(membership.getSubsystemId());
AclCustomer customer = aclCustomerDalService.findByMobileNo(basicInfo.getMobileNo());
AclPractitioner practitioner = new AclPractitioner();
practitioner.setInsurerId(888L);
practitioner.setInsurerBranchId(membership.getBranchId());
practitioner.setDeptId(subordinateSystem != null ? subordinateSystem.getDeptId() : null);
practitioner.setSubordinateSystemId(membership.getSubsystemId());
practitioner.setPractitionerCode(" ");
practitioner.setName(basicInfo.getName());
practitioner.setMobileNo(basicInfo.getMobileNo());
practitioner.setIdTypeId(basicInfo.getIdTypeId());
practitioner.setIdType(basicInfo.getIdType());
practitioner.setIdNo(basicInfo.getIdNo());
practitioner.setPractitionerBirthdate(basicInfo.getPractitionerBirthdate());
practitioner.setPractitionerRegNo(" ");
practitioner.setPractitionerRegCompany(" ");
practitioner.setCustomerId(customer != null ? customer.getId() : null);
practitioner.setIsActive(1);
practitioner.setCreatedAt(new Date());
practitioner.setCreatedBy(operater);
practitioner.setUpdatedAt(new Date());
practitioner.setUpdatedBy(operater);
practitioner.setProvinceId(basicInfo.getProvinceId());
practitioner.setProvinceName(basicInfo.getProvinceName());
practitioner.setCityId(basicInfo.getCityId());
practitioner.setCityName(basicInfo.getCityName());
practitioner.setWechatId(basicInfo.getWechatId());
practitioner.setIsProfileShow(0);
practitioner.setIsNameShow(0);
practitioner.setIsMobileShow(0);
practitioner.setEducationLevel(basicInfo.getLastGraduateCode());
practitioner.setMentorId(membership.getMentorPractitionerId());
practitioner.setIntroducerId(membership.getIntroducerPractitionerId());
practitioner.setGender(basicInfo.getGender());
practitioner.setHiringBasicInfoId(hiringBasicInfoId);
aclPractitionerDalService.save(practitioner);
AclPractitionerSetting setting = new AclPractitionerSetting();
setting.setPractitionerId(practitioner.getId());
setting.setPractitionerTypeId(28L);
setting.setPractitionerLevel(membership.getMdDropOptionId());
setting.setIsActive(1);
setting.setCreatedAt(new Date());
setting.setCreatedBy(operater);
setting.setUpdatedAt(new Date());
setting.setUpdatedBy(operater);
aclPractitionerSettingDalService.save(setting);
}
private PractitionerHiringApproveSteps getHiringApproveStatus(Long loginId, String practitionerLevelId, List<PractitionerHiringApproveRecords> practitionerHiringApproveRecordsList) {
//是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
Long hiringApproveStatus = 3L;
//审批到哪一步了
Long hiringApproveStepsSeq = null;
//查看审批流程最后一次,是否通过
PractitionerHiringApproveRecords recordsFinally = new PractitionerHiringApproveRecords();
if (!practitionerHiringApproveRecordsList.isEmpty()) {
recordsFinally = practitionerHiringApproveRecordsList.get(practitionerHiringApproveRecordsList.size() - 1);
Long approvingStatusId = recordsFinally.getApprovingStatusId();
if (CommonUtil.isNullOrZero(approvingStatusId)) {
//已驳回
hiringApproveStatus = 4L;
return new PractitionerHiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
}
//通过loginId查询对应的经纪人id
Long loginPractitionerId = agmsHiringDalService.findPractitionerIdByLoginId(loginId);
//AGMS登入者手机号不是经纪人手机号,无权审批
if (!CommonUtil.isNullOrZero(loginPractitionerId)) {
return new PractitionerHiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
//遍历已审批结果,查看此agms登入者是否已审批
for (PractitionerHiringApproveRecords practitionerHiringApproveRecords : practitionerHiringApproveRecordsList) {
Long approvingPractitionerId = practitionerHiringApproveRecords.getApprovingPractitionerId();
if (approvingPractitionerId.equals(loginPractitionerId)) {
//已审批
hiringApproveStatus = 2L;
return new PractitionerHiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
}
//查询审批流程
List<MdPractitionerHiringApproveSteps> hiringApproveSteps = systemConfigService.findHiringApproveStepsByPractitionerLevel(practitionerLevelId);
//通过loginId查询登入者手机号码
AclUser user = aclUserDalService.selectByPrimaryKey(loginId);
String loginMobileNo = user.getMobileNo();
//所有通过agms审批的手机号码
List<String> hiringApproveMobileNo = systemConfigService.findHiringApproveMobileNo(hiringApproveSteps, practitionerLevelId);
//agms登入者无审批权力
if (!hiringApproveMobileNo.contains(loginMobileNo)) {
return new PractitionerHiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
//此经纪人最后一次审批步骤id
hiringApproveStepsSeq = recordsFinally.getApproveStepId();
//查询此经纪人最后一次审批步骤详细信息
Long stepId = 0L;
for (int i = 0; i < hiringApproveSteps.size(); i++) {
Long id = hiringApproveSteps.get(i).getId();
if (id.equals(hiringApproveStepsSeq)) {
stepId = id;
break;
}
}
MdPractitionerHiringApproveSteps mdPractitionerHiringApproveSteps = hiringApproveSteps.get(Integer.parseInt(stepId.toString()));
//通过手机号码查询此agmd登入者拥有哪些审批步骤(肯定有值)
List<MdPractitionerHiringApproveSteps> hiringApproves = mdPractitionerHiringApproveStepsDalService.findByAppointedApprovePractitioners(loginMobileNo);
//最后一个审批步骤的seq
Integer stepSeq = mdPractitionerHiringApproveSteps.getStepSeq() == null ? 0 : mdPractitionerHiringApproveSteps.getStepSeq();
MdPractitionerHiringApproveSteps loginHiringApproveStep = null;
for (MdPractitionerHiringApproveSteps hiringApprove : hiringApproves) {
Integer loginStepSeq = hiringApprove.getStepSeq();
if (stepSeq < loginStepSeq) {
loginHiringApproveStep = hiringApprove;
break;
}
}
if (loginHiringApproveStep == null){
hiringApproveStatus = 2L;
return new PractitionerHiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
//查看下一审批步骤
mdPractitionerHiringApproveSteps = hiringApproveSteps.get(Integer.parseInt(stepId.toString())+1);
Long mdPractitionerHiringApproveStepsSeq = Long.valueOf(mdPractitionerHiringApproveSteps.getStepSeq());
Long loginHiringApproveStepId = loginHiringApproveStep.getId();
if (mdPractitionerHiringApproveStepsSeq.equals(loginHiringApproveStepId)){
//可审批
hiringApproveStatus = 1L;
hiringApproveStepsSeq = mdPractitionerHiringApproveStepsSeq;
}else {
//0.不可审批(未到)
hiringApproveStatus = 0L;
}
return new PractitionerHiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
/**
* 报聘审核通过,通知人事
* @param basicInfo
*/
private void sendMailToHR(AclPractitionerHiringBasicInfo basicInfo) {
//收件地址
String address = systemConfigService.getSingleConfigValue("PractitionerHiringNotifyAddress");
//抄送地址
String ccAddress = systemConfigService.getSingleConfigValue("PractitionerHiringNotifyAddress");
String[] ccAddresses = {ccAddress};
AclPractitionerHiringMembership memberShip = membershipMapper.selectByHiringBasicInfoId(basicInfo.getId());
StringBuilder messageText = new StringBuilder();
messageText.append("银盾人事你好,");
if ("30".equals(memberShip.getMdDropOptionId())) {
// XX 分公司的 XXX
messageText.append(memberShip.getBranch()).append("的").append(basicInfo.getName());
} else {
// XX 分公司 XX 体系下的 XXX
messageText.append(memberShip.getBranch()).append(memberShip.getSubsystem()).append("体系下的").append(basicInfo.getName());
}
messageText.append("的电子报聘流程线上审批已经通过,请尽快帮助完成该报聘人的经纪人执业登记,并在AGMS 里更新并生成电子合同。谢谢!");
String subject = "电子报聘审批通过";
sendService.sendEmailOrSMS("email", address, "3", messageText.toString(), null, subject, ccAddresses, "电子报聘审批通过", 99, null);
}
}
package com.yd.api.agms.vo.hiring;
/**
* @author xxy
*/
public class PractitionerHiringApproveRequestVO {
/**
* 当前审批平台 1=ydLife, 2=AGMS
*/
private Integer plateform;
/**
* AGMS登入者id
*/
private Long loginId;
/**
* 经纪人id
*/
private Long practitionerId;
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 审批步骤经行到哪一步了
*/
private Integer hiringApproveStepsSeq;
/**
* 1:通过,0:驳回
*/
private Long approvingStatus;
/**
* 备注,驳回原因
*/
private String rejectNote;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 获取 AGMS登入者id
*
* @return loginId AGMS登入者id
*/
public Long getLoginId() {
return this.loginId;
}
/**
* 设置 AGMS登入者id
*
* @param loginId AGMS登入者id
*/
public void setLoginId(Long loginId) {
this.loginId = loginId;
}
/**
* 获取 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @return hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatus 1:通过,0:驳回
*/
public Long getApprovingStatus() {
return this.approvingStatus;
}
/**
* 设置 1:通过,0:驳回
*
* @param approvingStatus 1:通过,0:驳回
*/
public void setApprovingStatus(Long approvingStatus) {
this.approvingStatus = approvingStatus;
}
/**
* 获取 备注,驳回原因
*
* @return rejectNote 备注,驳回原因
*/
public String getRejectNote() {
return this.rejectNote;
}
/**
* 设置 备注,驳回原因
*
* @param rejectNote 备注,驳回原因
*/
public void setRejectNote(String rejectNote) {
this.rejectNote = rejectNote;
}
public String getInterviewAssessment() {
return interviewAssessment;
}
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
public Integer getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
public Integer getPlateform() {
return plateform;
}
public void setPlateform(Integer plateform) {
this.plateform = plateform;
}
public Long getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
}
package com.yd.api.agms.vo.hiring;
import com.yd.api.result.CommonResult;
/**
* @author xxy
*/
public class PractitionerHiringApproveResponseVO {
/**
* 经纪人基本信息id
*/
private Long hiringBasicInfoId;
private CommonResult commonResult;
/**
* 获取 经纪人基本信息id
*
* @return hiringBasicInfoId 经纪人基本信息id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id
*
* @param hiringBasicInfoId 经纪人基本信息id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取
*
* @return commonResult
*/
public CommonResult getCommonResult() {
return this.commonResult;
}
/**
* 设置
*
* @param commonResult
*/
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
@Override
public String toString() {
return "PractitionerHiringApproveResponseVO{" +
"hiringBasicInfoId=" + hiringBasicInfoId +
", commonResult=" + commonResult +
'}';
}
}
package com.yd.api.agms.vo.hiring;
/**
* @author xxy
*/
public class PractitionerHiringApproveSteps {
/**
* 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*/
private Long hiringApproveStatus;
/**
* 审批步骤经行到哪一步了
*/
private Long hiringApproveStepsSeq;
/**
* 获取 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*
* @return hiringApproveStatus 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*/
public Long getHiringApproveStatus() {
return this.hiringApproveStatus;
}
/**
* 设置 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*
* @param hiringApproveStatus 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*/
public void setHiringApproveStatus(Long hiringApproveStatus) {
this.hiringApproveStatus = hiringApproveStatus;
}
/**
* 获取 审批步骤经行到哪一步了
*
* @return hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public Long getHiringApproveStepsSeq() {
return this.hiringApproveStepsSeq;
}
/**
* 设置 审批步骤经行到哪一步了
*
* @param hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public void setHiringApproveStepsSeq(Long hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
public PractitionerHiringApproveSteps(Long hiringApproveStatus,Long hiringApproveStepsSeq){
this.hiringApproveStatus = hiringApproveStatus;
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
public PractitionerHiringApproveSteps(){
}
@Override
public String toString() {
return "PractitionerHiringApproveSteps{" +
"hiringApproveStatus=" + hiringApproveStatus +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
'}';
}
}
package com.yd.api.agms.vo.hiring;
/**
* @author xxy
*/
public class PractitionerHiringDetailRequestVO {
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 获取 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @return hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
}
package com.yd.api.agms.vo.hiring;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.hiring.*;
import com.yd.dal.entity.practitioner.hiring.HiringApproveRecords;
import java.util.List;
/**
* @author xxy
*/
public class PractitionerHiringDetailResponseVO {
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 审批步骤经行到哪一步了
*/
private Integer hiringApproveStepsSeq;
/**
* 经纪人审批基本信息
*/
private PractitionerHiringBasicInfo practitionerHiringBasicInfo;
/**
* 审批经纪人关系
*/
private PractitionerHiringMemberShip practitionerHiringMemberShip;
/**
* 审批经纪人工作经历
*/
private List<PractitionerHiringWorkingExperience> practitionerHiringWorkingExperienceList;
/**
* 经纪人申请名目
*/
private List<PractitionerHiringPersonalStatements> practitionerHiringPersonalStatementsList;
/**
* 经纪人合同条款是否同意
*/
private List<PractitionerHiringContractTermsConfirms> practitionerHiringContractTermsConfirmsList;
/**
* 已审批结果
*/
private List<HiringApproveRecords> practitionerHiringApproveRecordsList;
private CommonResult commonResult;
/**
* 获取 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @return hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 经纪人审批基本信息
*
* @return practitionerHiringBasicInfo 经纪人审批基本信息
*/
public PractitionerHiringBasicInfo getPractitionerHiringBasicInfo() {
return this.practitionerHiringBasicInfo;
}
/**
* 设置 经纪人审批基本信息
*
* @param practitionerHiringBasicInfo 经纪人审批基本信息
*/
public void setPractitionerHiringBasicInfo(PractitionerHiringBasicInfo practitionerHiringBasicInfo) {
this.practitionerHiringBasicInfo = practitionerHiringBasicInfo;
}
/**
* 获取 审批经纪人关系
*
* @return practitionerHiringMemberShip 审批经纪人关系
*/
public PractitionerHiringMemberShip getPractitionerHiringMemberShip() {
return this.practitionerHiringMemberShip;
}
/**
* 设置 审批经纪人关系
*
* @param practitionerHiringMemberShip 审批经纪人关系
*/
public void setPractitionerHiringMemberShip(PractitionerHiringMemberShip practitionerHiringMemberShip) {
this.practitionerHiringMemberShip = practitionerHiringMemberShip;
}
/**
* 获取 审批经纪人工作经历
*
* @return practitionerHiringWorkingExperienceList 审批经纪人工作经历
*/
public List<PractitionerHiringWorkingExperience> getPractitionerHiringWorkingExperienceList() {
return this.practitionerHiringWorkingExperienceList;
}
/**
* 设置 审批经纪人工作经历
*
* @param practitionerHiringWorkingExperienceList 审批经纪人工作经历
*/
public void setPractitionerHiringWorkingExperienceList(List<PractitionerHiringWorkingExperience> practitionerHiringWorkingExperienceList) {
this.practitionerHiringWorkingExperienceList = practitionerHiringWorkingExperienceList;
}
/**
* 获取 经纪人申请名目
*
* @return practitionerHiringPersonalStatementsList 经纪人申请名目
*/
public List<PractitionerHiringPersonalStatements> getPractitionerHiringPersonalStatementsList() {
return this.practitionerHiringPersonalStatementsList;
}
/**
* 设置 经纪人申请名目
*
* @param practitionerHiringPersonalStatementsList 经纪人申请名目
*/
public void setPractitionerHiringPersonalStatementsList(List<PractitionerHiringPersonalStatements> practitionerHiringPersonalStatementsList) {
this.practitionerHiringPersonalStatementsList = practitionerHiringPersonalStatementsList;
}
/**
* 获取 经纪人合同条款是否同意
*
* @return practitionerHiringContractTermsConfirmsList 经纪人合同条款是否同意
*/
public List<PractitionerHiringContractTermsConfirms> getPractitionerHiringContractTermsConfirmsList() {
return this.practitionerHiringContractTermsConfirmsList;
}
/**
* 设置 经纪人合同条款是否同意
*
* @param practitionerHiringContractTermsConfirmsList 经纪人合同条款是否同意
*/
public void setPractitionerHiringContractTermsConfirmsList(List<PractitionerHiringContractTermsConfirms> practitionerHiringContractTermsConfirmsList) {
this.practitionerHiringContractTermsConfirmsList = practitionerHiringContractTermsConfirmsList;
}
/**
* 获取 已审批结果
*
* @return practitionerHiringApproveRecordsList 已审批结果
*/
public List<HiringApproveRecords> getPractitionerHiringApproveRecordsList() {
return this.practitionerHiringApproveRecordsList;
}
/**
* 设置 已审批结果
*
* @param practitionerHiringApproveRecordsList 已审批结果
*/
public void setPractitionerHiringApproveRecordsList(List<HiringApproveRecords> practitionerHiringApproveRecordsList) {
this.practitionerHiringApproveRecordsList = practitionerHiringApproveRecordsList;
}
/**
* 获取
*
* @return commonResult
*/
public CommonResult getCommonResult() {
return this.commonResult;
}
/**
* 设置
*
* @param commonResult
*/
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
public Integer getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
@Override
public String toString() {
return "PractitionerHiringDetailResponseVO{" +
"hiringBasicInfoId=" + hiringBasicInfoId +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
", practitionerHiringBasicInfo=" + practitionerHiringBasicInfo +
", practitionerHiringMemberShip=" + practitionerHiringMemberShip +
", practitionerHiringWorkingExperienceList=" + practitionerHiringWorkingExperienceList +
", practitionerHiringPersonalStatementsList=" + practitionerHiringPersonalStatementsList +
", practitionerHiringContractTermsConfirmsList=" + practitionerHiringContractTermsConfirmsList +
", practitionerHiringApproveRecordsList=" + practitionerHiringApproveRecordsList +
", commonResult=" + commonResult +
'}';
}
}
package com.yd.api.agms.vo.hiring;
import com.github.pagehelper.PageInfo;
import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo;
/**
* @author xxy
*/
public class PractitionerHiringListRequestVO {
private Long loginId;
private Long branchId;
private Long deptId;
private Long subsystemId;
private String name;
private String status;
private PageInfo<PractitionerHiringListInfo> pageInfo;
public PageInfo<PractitionerHiringListInfo> getPageInfo() {
return pageInfo;
}
public void setPageInfo(PageInfo<PractitionerHiringListInfo> pageInfo) {
this.pageInfo = pageInfo;
}
@Override
public String toString() {
return "PractitionerHiringListRequestVO{" +
"pageInfo=" + pageInfo +
'}';
}
public Long getBranchId() {
return branchId;
}
public void setBranchId(Long branchId) {
this.branchId = branchId;
}
public Long getDeptId() {
return deptId;
}
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
public Long getSubsystemId() {
return subsystemId;
}
public void setSubsystemId(Long subsystemId) {
this.subsystemId = subsystemId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Long getLoginId() {
return loginId;
}
public void setLoginId(Long loginId) {
this.loginId = loginId;
}
}
package com.yd.api.agms.vo.hiring;
import com.github.pagehelper.PageInfo;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo;
/**
* @author xxy
*/
public class PractitionerHiringListResponseVO {
private PageInfo<PractitionerHiringListInfo> practitionerHiringList;
private CommonResult commonResult;
public PageInfo<PractitionerHiringListInfo> getPractitionerHiringList() {
return this.practitionerHiringList;
}
public void setPractitionerHiringList(PageInfo<PractitionerHiringListInfo> practitionerHiringList) {
this.practitionerHiringList = practitionerHiringList;
}
public CommonResult getCommonResult() {
return this.commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
@Override
public String toString() {
return "PractitionerHiringListResponseVO{" +
"practitionerHiringList=" + practitionerHiringList +
", commonResult=" + commonResult +
'}';
}
}
package com.yd.api.practitioner;
import com.yd.api.practitioner.service.PractitionerHiringService;
import com.yd.api.practitioner.vo.hiring.*;
import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 经纪人报聘
*/
@RestController
@RequestMapping("/practitionerHiring")
public class PractitionerHiringController {
@Autowired
private PractitionerHiringService practitionerHiringService;
/**
* 保存报聘经纪人组织关系
*
*/
@RequestMapping("/saveMembership")
public Object saveMembership(@RequestBody SaveMembershipRequestVO requestVO){
JsonResult result = new JsonResult();
SaveMembershipResponseVO responseVO = practitionerHiringService.saveMembership(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 根据BasicInfoId查询报聘经纪人组织关系
*
*/
@RequestMapping("/queryMembershipByHiringBasicInfoId")
public Object queryMembership(@RequestBody HiringBasicInfoIdRequestVO requestVO){
JsonResult result = new JsonResult();
QueryMembershipResponseVO responseVO = practitionerHiringService.queryMembership(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人基本信息
*
*/
@RequestMapping("/saveBasicInfo")
public Object saveBasicInfo(@RequestBody SaveBasicInfoRequestVO requestVO){
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerHiringService.saveBasicInfo(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人工作经历
*
*/
@RequestMapping("/saveWorkingExperience")
public Object saveWorkingExperience(@RequestBody SaveWorkingExperienceRequestVO requestVO){
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerHiringService.saveWorkingExperience(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人个人照片
*
*/
@RequestMapping("/savePersonPicture")
public Object savePersonPicture(@RequestBody SavePersonPictureRequestVO requestVO){
JsonResult result = new JsonResult();
SavePersonPictureResponseVO responseVO = practitionerHiringService.savePersonPicture(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人薪资单图片
*
*/
@RequestMapping("/savePayrollPicture")
public Object savePayrollPicture(@RequestBody SavePayRollPictureRequestVO requestVO){
JsonResult result = new JsonResult();
SavePayrollPictureResponseVO responseVO = practitionerHiringService.savePayrollPicture(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人身份证正反面图片
*
*/
@RequestMapping("/saveIDPicture")
public Object saveIDPicture(@RequestBody SaveIDPictureRequestVO requestVO){
JsonResult result = new JsonResult();
SaveIDPictureResponseVO responseVO = practitionerHiringService.saveIDPicture(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人最高学历
*
*/
@RequestMapping("/saveLastGraduateGrade")
public Object saveLastGraduateGrade(@RequestBody SaveLastGraduateGradeRequestVO requestVO){
JsonResult result = new JsonResult();
SaveLastGraduateGradeResponseVO responseVO = practitionerHiringService.saveLastGraduateGrade(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人个人声明
*
*/
@RequestMapping("/savePersonalStatements")
public Object savePersonalStatements(@RequestBody SavePersonalStatementsRequestVO requestVO){
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerHiringService.savePersonalStatements(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人合同文档确认
*
*/
@RequestMapping("/saveContractTermsConfirms")
public Object saveContractTermsConfirms(@RequestBody SaveContractTermsConfirmsRequestVO requestVO){
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerHiringService.saveContractTermsConfirms(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人银行账户
*
*/
@RequestMapping("/saveBankAccount")
public Object saveBankAccount(@RequestBody SaveBankAccountRequestVO requestVO){
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerHiringService.saveBankAccount(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 查询报聘经纪人的合同条款列表
*
*/
@RequestMapping("/queryContractTerms")
public Object queryContractTerms(){
JsonResult result = new JsonResult();
QueryContractTermsResponseVO responseVO = practitionerHiringService.queryContractTerms();
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 查询报聘经纪人的全部报聘信息
*
*/
@RequestMapping("/queryWholeInfo")
public Object queryWholeInfo(@RequestBody HiringBasicInfoIdRequestVO requestVO){
JsonResult result = new JsonResult();
QueryWholeInfoResponseVO responseVO = practitionerHiringService.queryWholeInfo(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人电子签名
*
*/
@RequestMapping("/saveDigitalSignatures")
public Object saveDigitalSignatures(@RequestBody SaveDigitalSignaturesRequestVO requestVO){
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerHiringService.saveDigitalSignatures(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 经纪人审批列表查询
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/listQuery")
public Object listQuery(@RequestBody HiringListQueryRequestVO requestVO){
JsonResult result = new JsonResult();
HiringListQueryResponseVO responseVO = practitionerHiringService.listQuery(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 经纪人审批详情查询
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/detailQuery")
public Object detailQuery(@RequestBody HiringDetailQueryRequestVO requestVO){
JsonResult result = new JsonResult();
HiringDetailQueryResponseVO responseVO = practitionerHiringService.detailQuery(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* ydLife经纪人审批
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping("/hiringApprove")
public Object hiringApprove(@RequestBody HiringApproveRequestVO requestVO){
JsonResult result = new JsonResult();
try {
PractitionerPDFTest.main(null);
} catch (Exception e) {
e.printStackTrace();
}
HiringApproveResponseVO responseVO = practitionerHiringService.hiringApprove(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
\ No newline at end of file
package com.yd.api.practitioner;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.libs.pdf.*;
import com.yd.util.PDFConfiguration;
public class PractitionerPDFTest {
/**
* 填充数据源
* 其中data存放的key值与pdf模板中的文本域值相对应
*/
public static Map<String, String> initData() {
String secondSignature = "张亮";
String secondPartyIDNo = "330127199611154184";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String secondSignatureDate = format.format(new Date());
Map<String, String> data = new HashMap<String, String>();
//1页
data.put("contactNo", "C-SH-0001");
data.put("practitionerNo", "YDSH00127");
data.put("subsystem", "抱一");
data.put("practitioner", secondSignature);
data.put("idNo", secondPartyIDNo);
data.put("residentAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("mobileNo", "13661741633");
//7页
data.put("firstParty", "上海银盾保险经纪有限公司");
data.put("firstPartyResponser", "上海银盾保险经纪有限公司");
data.put("firstPartyAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondParty", secondSignature);
data.put("secondPartyIDNo", secondPartyIDNo);
data.put("secondPartyAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondMobileNo", "1366668888");
data.put("secondSubsystemOwner", "陈欢欢");
data.put("secondSubsystemSignature", "陈欢欢");
data.put("secondSubsystemIDNo", "330127199611156403");
data.put("secondSubsystemAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondSubsystemMobileNo", "1366668888");
data.put("secondMentor", "陈欢欢");
data.put("secondMentorIDNo", "330127199611158003");
data.put("secondMentorAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondMentorMobileNo", "1366668888");
data.put("contactYear", "2120");
data.put("contactMonth", "12");
data.put("contactDay", "16");
//8页
data.put("secondParty801", secondSignature);
data.put("secondBirthYear801", "1989");
data.put("secondBirthMonth801", "10");
data.put("secondBirthDay801", "09");
data.put("secondPartyIDNo801", secondPartyIDNo);
data.put("secondPartyPermanentResidenceAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondPartyAddress801", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondMobileNo801", "1366668888");
data.put("secondPractitionerRegNo", "26961531000080062020000314");
data.put("secondEmail", "2120@163.com");
data.put("secondWorkingExperience1", "嫦娥5号登月");
data.put("secondWorkingPosition1", "项目总工");
data.put("secondWorkingPeriod1", "2016.12~至今");
data.put("secondWorkingExperience2", "嫦娥4号登月");
data.put("secondWorkingPosition2", "姿态调整工程师");
data.put("secondWorkingPeriod2", "2014.11~2016.10");
data.put("secondWorkingExperience3", "嫦娥3号登月");
data.put("secondWorkingPosition3", "动力工程执掌");
data.put("secondWorkingPeriod3", "2012.03~2014.10");
data.put("secondWorkingExperience4", "嫦娥2号登月");
data.put("secondWorkingPosition4", "固态燃料冷凌技师");
data.put("secondWorkingPeriod4", "2010.07~2012.01");
data.put("secondBankAccount", secondSignature);
data.put("secondBankAccountOpening", "上海市工商银行齐齐哈尔路支行");
data.put("secondBankAccountID", "6222001001234567890");
data.put("secondMentor802", "陈欢欢");
data.put("secondIntroducer", "陈欢欢");
data.put("secondMentorIDNo801", "330127199611151346");
data.put("secondIntroducerIDNo", "330127199611156403");
data.put("secondEffectiveYear", "2120");
data.put("secondEffectiveMonth", "12");
data.put("secondEffectiveDay", "30");
data.put("secondParty802", secondSignature);
data.put("secondMentor801", "陈欢欢");
data.put("secondSubsystem", "抱一");
data.put("secondSubsystemNo", "HUGONE");
data.put("secondSubsystemManager", "陈欢欢");
data.put("secondSubsystemMaster", "陈欢欢");
data.put("secondBranchManager", "王子帷");
data.put("secondBranchMaster", "王子帷");
data.put("secondCenterHr", "EVEN");
data.put("secondCenterCEO", "SHARON");
//9页
//10页
data.put("secondSignatureDate1001", secondSignatureDate);
//12页
data.put("secondParty1201", secondSignature);
data.put("secondSignatureDate1201", secondSignatureDate);
//14页
data.put("secondParty1401", secondSignature);
data.put("secondSignatureDate1401", secondSignatureDate);
//16页
data.put("secondParty1601", secondSignature);
data.put("secondPartyIDNo1601", secondPartyIDNo);
data.put("secondSignatureDate1601", secondSignatureDate);
return data;
}
public static Map<String, String> initImage() {
Map<String, String> images = new HashMap<String, String>();
images.put("secondPersonerPicture", "D:\\pcs12\\secondPersonerPicture.png");
//印章从配置文件读
String signImage = PDFConfiguration.getProperty("pdf.signImage");
images.put("yindunESignature1001", signImage);
images.put("yindunESignature1201", signImage);
images.put("yindunESignature1401", signImage);
images.put("secondSignature1001", "D:\\pcs12\\signature.png");
images.put("secondSignature1201", "D:\\pcs12\\signature.png");
images.put("secondSignature1401", "D:\\pcs12\\signature.png");
images.put("secondSignature1601", "D:\\pcs12\\signature.png");
images.put("secondIDFrontPageImage", "D:\\pcs12\\IDFront.jpg");
images.put("secondIDBackPageImage", "D:\\pcs12\\IDBack.jpg");
images.put("secondBankCardImage", "D:\\pcs12\\bank.jpg");
//选中或不选中从配置文件读
String checkFile = PDFConfiguration.getProperty("pdf.check");
String unCheckFile = PDFConfiguration.getProperty("pdf.uncheck");
images.put("secondIDType1", checkFile);
images.put("secondIDType2", unCheckFile);
images.put("secondIDType3", unCheckFile);
images.put("secondIDType4", unCheckFile);
images.put("secondPersonalStatement1", checkFile);
images.put("secondPersonalStatement2", unCheckFile);
images.put("secondPersonalStatement3", unCheckFile);
images.put("secondPersonalStatement4", unCheckFile);
images.put("secondPersonalStatement5", unCheckFile);
images.put("secondPersonalStatement5", unCheckFile);
images.put("secondPosition1", checkFile);
images.put("secondPosition2", unCheckFile);
images.put("secondPosition3", unCheckFile);
images.put("secondPosition4", unCheckFile);
images.put("secondPosition5", unCheckFile);
images.put("secondPosition6", unCheckFile);
return images;
}
public static void main(String[] args) throws Exception {
//PDF模板文件
String templatePDF = "D:\\pcs12\\templatePractitionerContract.pdf";
templatePDF = PDFConfiguration.getProperty("pdf.template");
//模板文件生成零时文件
String tmpPathPDF = PDFConfiguration.getProperty("pdf.temp.path");
String practitionerNO = "SH000012";
//PDF模板输出结果文件
String templateResultPDF = tmpPathPDF + practitionerNO + "-template.pdf";
//初始化模板数据
Map<String, String> dt = initData();
Map<String, String> img = initImage();
//按模板填充数据生成结果PDF
PDFTemplate.generatePDF(templatePDF,templateResultPDF,dt,img);
//准备加盖电子印章的源文件
String signSourcePDF = templateResultPDF;
//电子印章文件
String signImage="D:\\pcs12\\上海银盾保险经纪有限公司.png";
signImage = PDFConfiguration.getProperty("pdf.signImage");
//加盖电子印章结果文件
String signResultPDF = "D:\\pcs12\\signedYD.pdf";
signResultPDF = tmpPathPDF + practitionerNO + "-signedYD.pdf";
String password="UC645YlB";
password = readFileTxt(PDFConfiguration.getProperty("pdf.keyPasswordFile"));
String keyStorePath="D:\\pcs12\\4929078_m.zuihuibi.cn.pfx";
keyStorePath = PDFConfiguration.getProperty("pdf.keyStorePath");;
float x = 450;
float y = 150;
x = Float.parseFloat(PDFConfiguration.getProperty("pdf.position.x"));
y = Float.parseFloat(PDFConfiguration.getProperty("pdf.position.y"));
PDFSign.sign(signResultPDF,password,keyStorePath,signSourcePDF,signImage,x,y);
}
private static String readFileTxt(String filePath) {
String line = null;
try
{
FileReader fr=new FileReader(filePath);
//为了提高效率,加入缓冲技术,将字符读取流对象作为参数传递给缓冲对象的构造函数
BufferedReader bufr=new BufferedReader(fr);
while((line=bufr.readLine())!=null)
{
System.out.println(line);
}
bufr.close();//close()中已经包含了flush
} catch (IOException e) {
e.printStackTrace();
}
return line;
}
}
package com.yd.api.practitioner.service;
import java.util.Map;
public interface PractitionerHiringContractService {
String generatePractitionerContract(Long hiringBasicInfoId);
Map<String, String> initHiringBasicInfoData(Long hiringBasicInfoId);
Map<String, String> initHiringImageInfoData(Long hiringBasicInfoId);
String generatePractitionerPDF(String practitionerNO,Map<String, String> initDatas,Map<String, String> initImages);
}
\ No newline at end of file
package com.yd.api.practitioner.service;
import com.yd.api.practitioner.vo.hiring.*;
import org.springframework.stereotype.Service;
@Service
public interface PractitionerHiringService {
SaveMembershipResponseVO saveMembership(SaveMembershipRequestVO requestVO);
CommonResultResponseVO saveBasicInfo(SaveBasicInfoRequestVO requestVO);
QueryMembershipResponseVO queryMembership(HiringBasicInfoIdRequestVO requestVO);
CommonResultResponseVO saveWorkingExperience(SaveWorkingExperienceRequestVO requestVO);
SavePersonPictureResponseVO savePersonPicture(SavePersonPictureRequestVO requestVO);
SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO);
SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO);
CommonResultResponseVO savePersonalStatements(SavePersonalStatementsRequestVO requestVO);
CommonResultResponseVO saveContractTermsConfirms(SaveContractTermsConfirmsRequestVO requestVO);
/**
* 经纪人审批列表查询
* @param requestVO 请求数据
* @return 响应数据
*/
HiringListQueryResponseVO listQuery(HiringListQueryRequestVO requestVO);
/**
* 经纪人审批详情查询
* @param requestVO 请求数据
* @return 响应数据
*/
HiringDetailQueryResponseVO detailQuery(HiringDetailQueryRequestVO requestVO);
/**
* ydLife经纪人审批
* @param requestVO 请求数据
* @return 响应数据
*/
HiringApproveResponseVO hiringApprove(HiringApproveRequestVO requestVO);
CommonResultResponseVO saveBankAccount(SaveBankAccountRequestVO requestVO);
QueryContractTermsResponseVO queryContractTerms();
QueryWholeInfoResponseVO queryWholeInfo(HiringBasicInfoIdRequestVO requestVO);
CommonResultResponseVO saveDigitalSignatures(SaveDigitalSignaturesRequestVO requestVO);
SavePayrollPictureResponseVO savePayrollPicture(SavePayRollPictureRequestVO requestVO);
}
package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.service.PractitionerHiringContractService;
import com.yd.dal.entity.practitioner.hiring.HiringBasicInfo;
import com.yd.dal.entity.practitioner.hiring.HiringMemberShip;
import com.yd.dal.entity.practitioner.hiring.HiringPersonalStatements;
import com.yd.dal.entity.practitioner.hiring.HiringWorkingExperience;
import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringPersonalStatementsMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringWorkingExperienceMapper;
import com.yd.dal.mapper.practitioner.PractitionerHiringMapper;
import com.libs.pdf.*;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.util.CommonUtil;
import com.yd.util.PDFConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("PractitionerHiringContractService")
public class PractitionerHiringContractServiceImpl implements PractitionerHiringContractService {
@Autowired
private OssService ossService;
@Resource
private PractitionerHiringMapper practitionerHiringMapper;
/**
* 申请经纪人的ID,生成电子合同,在经纪人表中自动生成记录
* @param hiringBasicInfoId
* @return
*/
@Override
public String generatePractitionerContract(Long hiringBasicInfoId) {
//1、从DB中按照hiringBasicInfoId,获取经纪人的文字信息
Map<String, String> initDatas = new HashMap<String, String>();
initDatas = initHiringBasicInfoData(hiringBasicInfoId);
//2、从DB中按照hiringBasicInfoId,从oss上获取经纪人上传的图片信息,需存本地临时文件
Map<String, String> initImages = new HashMap<String, String>();
initImages = initHiringImageInfoData(hiringBasicInfoId);
//ag_acl_practitioner.employee_no
String practitionerNO = "YDSH00009";
String contractNO = "CTSH00009";
//3、PDF模板生成合同文件,存本地临时文件后,上传oss
String contractFile = generatePractitionerPDF(practitionerNO,initDatas,initImages);
//上传至oss ossService
String contractFileOSS = contractFile;
//4、经纪人表生成经纪人记录ag_acl_practitioner,ag_acl_practitioner.contract_oss_path
// 经纪人经纪人类型级别定义表ag_acl_practitioner_setting
return contractFileOSS;
}
/**
* 申请ID的数据列表
* @param hiringBasicInfoId
* @return
*/
@Override
public Map<String, String> initHiringBasicInfoData(Long hiringBasicInfoId) {
//PDF模板中定义的文字key,和值的集合
Map<String, String> data = new HashMap<String, String>();
HiringBasicInfo hiringBasicInfo = practitionerHiringMapper.findHiringBasicInfo(hiringBasicInfoId);
//模板文件生成零时文件
//甲方
String firstParty = PDFConfiguration.getProperty("pdf.firstParty");
//甲方负责人
String firstPartyResponser = PDFConfiguration.getProperty("pdf.firstPartyResponser");
//甲方地址
String firstPartyAddress = PDFConfiguration.getProperty("pdf.firstPartyAddress");
return data;
}
/**
* 申请ID的图片列表,本地地址。从oss上拉到本地
* @param hiringBasicInfoId
* @return
*/
@Override
public Map<String, String> initHiringImageInfoData(Long hiringBasicInfoId) {
//PDF模板中定义的文字key,和值的集合
Map<String, String> images = new HashMap<String, String>();
//选中
String check = PDFConfiguration.getProperty("pdf.check");
//未选中
String uncheck = PDFConfiguration.getProperty("pdf.uncheck");
return images;
}
/**
* 用采集过来的经纪人数据、图片,生成该经纪人的电子合同
* @param initDatas
* @param initImages
* @return
*/
@Override
public String generatePractitionerPDF(String practitionerNO,Map<String, String> initDatas,Map<String, String> initImages) {
String templatePDF = "D:\\pcs12\\templatePractitionerContract.pdf";
templatePDF = PDFConfiguration.getProperty("pdf.template");
//模板文件生成零时文件
String tmpPathPDF = PDFConfiguration.getProperty("pdf.temp.path");
//PDF模板输出结果文件
String templateResultPDF = tmpPathPDF + practitionerNO + "-template.pdf";
//按模板填充数据生成结果PDF
PDFTemplate.generatePDF(templatePDF,templateResultPDF,initDatas,initImages);
//加盖电子印章结果文件
String signResultPDF = "D:\\pcs12\\signedYD.pdf";
signResultPDF = tmpPathPDF + practitionerNO + "-signedYD.pdf";
String password="UC645YlB";
password = CommonUtil.readFileTxt(PDFConfiguration.getProperty("pdf.keyPasswordFile"));
String keyStorePath="D:\\pcs12\\4929078_m.zuihuibi.cn.pfx";
keyStorePath = PDFConfiguration.getProperty("pdf.keyStorePath");;
//准备加盖电子印章的源文件
String signSourcePDF = templateResultPDF;
//电子印章文件
String signImage="D:\\pcs12\\上海银盾保险经纪有限公司.png";
signImage = PDFConfiguration.getProperty("pdf.signImage");
float x = 450;
float y = 150;
x = Float.parseFloat(PDFConfiguration.getProperty("pdf.position.x"));
y = Float.parseFloat(PDFConfiguration.getProperty("pdf.position.y"));
try {
PDFSign.sign(signResultPDF,password,keyStorePath,signSourcePDF,signImage,x,y);
} catch (Exception e) {
e.printStackTrace();
}
return signResultPDF;
}
}
package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.service.PractitionerHiringService;
import com.yd.api.practitioner.vo.hiring.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.agms.hiring.PractitionerHiringWorkingExperience;
import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.practitioner.hiring.*;
import com.yd.dal.mapper.customer.*;
import com.yd.dal.service.customer.AclPractitionerHiringApproveRecordsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
import com.yd.util.HttpUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class PractitionerHiringServiceImpl implements PractitionerHiringService {
@Autowired
private OssService ossService;
@Autowired
private AclPractitionerHiringMembershipMapper membershipMapper;
@Autowired
private AclPractitionerHiringBasicInfoMapper basicInfoMapper;
@Autowired
private AclPractitionerHiringWorkingExperienceMapper workingExperienceMapper;
@Autowired
private AclPractitionerHiringPersonalStatementsMapper personalStatementsMapper;
@Autowired
private AclPractitionerHiringContractTermsConfirmsMapper contractTermsConfirmsMapper;
@Autowired
private AclPractitionerHiringApproveRecordsMapper recordsMapper;
private PractitionerHiringDALService practitionerHiringDalService;
private SystemConfigService systemConfigService;
private AclPractitionerHiringApproveRecordsDALService aclPractitionerHiringApproveRecordsDalService;
@Autowired
public void setPractitionerHiringDalService(PractitionerHiringDALService practitionerHiringDalService) {
this.practitionerHiringDalService = practitionerHiringDalService;
}
@Autowired
public void setSystemConfigService(SystemConfigService systemConfigService) {
this.systemConfigService = systemConfigService;
}
@Autowired
public void setAclPractitionerHiringApproveRecordsDalService(AclPractitionerHiringApproveRecordsDALService aclPractitionerHiringApproveRecordsDalService) {
this.aclPractitionerHiringApproveRecordsDalService = aclPractitionerHiringApproveRecordsDalService;
}
@Override
public SaveMembershipResponseVO saveMembership(SaveMembershipRequestVO requestVO) {
SaveMembershipResponseVO resp = new SaveMembershipResponseVO();
try {
Long basicInfoId = requestVO.getHiringBasicInfoId();
if (basicInfoId == null) {
// 先保存ag_acl_practitioner_hiring_basic_info,获取hiringBasicInfoId
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setName(requestVO.getName());
basicInfo.setPractitionerPotentialId(requestVO.getPractitionerPotentialId());
basicInfoMapper.insertSelective(basicInfo);
// 保存组织关系
AclPractitionerHiringMembership membership = new AclPractitionerHiringMembership();
BeanUtils.copyProperties(requestVO, membership);
membership.setHiringBasicInfoId(basicInfo.getId());
membership.setIsActive(1);
Date curDate = new Date();
membership.setCreatedAt(curDate);
membership.setUpdatedAt(curDate);
Long loginId = requestVO.getLoginId();
membership.setCreatedBy(loginId);
membership.setUpdatedBy(loginId);
membershipMapper.insertSelective(membership);
resp.setHiringBasicInfoId(basicInfo.getId());
} else {
// 仅需更新组织关系
AclPractitionerHiringMembership membership = membershipMapper.selectByHiringBasicInfoId(basicInfoId);
BeanUtils.copyProperties(requestVO, membership);
membership.setHiringBasicInfoId(basicInfoId);
membership.setIsActive(1);
Date curDate = new Date();
membership.setUpdatedAt(curDate);
Long loginId = requestVO.getLoginId();
membership.setUpdatedBy(loginId);
membershipMapper.updateByPrimaryKeySelective(membership);
resp.setHiringBasicInfoId(basicInfoId);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO saveBasicInfo(SaveBasicInfoRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
try {
// 数据库实体
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
BeanUtils.copyProperties(requestVO, basicInfo);
basicInfo.setIsActive(1);
Date curDate = new Date();
basicInfo.setCreatedAt(curDate);
basicInfo.setUpdatedAt(curDate);
basicInfo.setCreatedBy((long) -1);
basicInfo.setUpdatedBy((long) -1);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public QueryMembershipResponseVO queryMembership(HiringBasicInfoIdRequestVO requestVO) {
QueryMembershipResponseVO resp = new QueryMembershipResponseVO();
try {
AclPractitionerHiringMembership membership = membershipMapper.queryByhiringBasicInfoId(requestVO);
resp.setMembership(membership);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO saveWorkingExperience(SaveWorkingExperienceRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
try {
List<PractitionerHiringWorkingExperience> workingExperienceList = requestVO.getWorkingExperienceList();
Long basicInfoId = requestVO.getHiringBasicInfoId();
List<AclPractitionerHiringWorkingExperience> dataObjList = new ArrayList<>();
Date curDate = new Date();
workingExperienceList.forEach(item -> {
AclPractitionerHiringWorkingExperience dataObj = new AclPractitionerHiringWorkingExperience();
BeanUtils.copyProperties(item, dataObj);
dataObj.setHiringBasicInfoId(basicInfoId);
dataObj.setIsActive(1);
dataObj.setCreatedAt(curDate);
dataObj.setUpdatedAt(curDate);
dataObj.setCreatedBy((long) -1);
dataObj.setUpdatedBy((long) -1);
dataObjList.add(dataObj);
});
List<AclPractitionerHiringWorkingExperience> resultList = workingExperienceMapper.selectByHiringBasicInfoId(basicInfoId);
if (CollectionUtils.isNotEmpty(resultList)) {
workingExperienceMapper.deleteBatchByIds(resultList);
}
if (dataObjList.size() > 0) {
workingExperienceMapper.batchInsert(dataObjList);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public SavePersonPictureResponseVO savePersonPicture(SavePersonPictureRequestVO requestVO) {
SavePersonPictureResponseVO resp = new SavePersonPictureResponseVO();
try {
String mediaId = requestVO.getVxUrl();
Long basicInfoId = requestVO.getHiringBasicInfoId();
String imgUrl = this.uploadImageToOss(mediaId, basicInfoId, 2);
if (imgUrl == null) {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
} else {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(basicInfoId);
basicInfo.setPersonerPictureOssPath(imgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setImgUrl(imgUrl);
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO) {
SaveIDPictureResponseVO resp = new SaveIDPictureResponseVO();
try {
Long basicInfoId = requestVO.getHiringBasicInfoId();
String frontVxUrl = requestVO.getFrontVxUrl();
String backVxUrl = requestVO.getBackVxUrl();
String frontImgUrl = this.uploadImageToOss(frontVxUrl, basicInfoId, 7);
String backImgUrl = this.uploadImageToOss(backVxUrl, basicInfoId, 8);
if (frontImgUrl != null && backImgUrl != null) {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(basicInfoId);
basicInfo.setIdFrontPageOssPath(frontImgUrl);
basicInfo.setIdBackPageOssPath(backImgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setFrontImgUrl(frontImgUrl);
resp.setBackImgUrl(backImgUrl);
} else {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO) {
SaveLastGraduateGradeResponseVO resp = new SaveLastGraduateGradeResponseVO();
try {
Long basicInfoId = requestVO.getHiringBasicInfoId();
String code = requestVO.getLastGraduateCode();
String grade = requestVO.getLastGraduateGrade();
String school = requestVO.getLastGraduateSchool();
String vxUrl = requestVO.getCertificationVxUrl();
String imgUrl = this.uploadImageToOss(vxUrl, basicInfoId, 4);
if (imgUrl != null) {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(basicInfoId);
basicInfo.setLastGraduateCode(code);
basicInfo.setLastGraduateGrade(grade);
basicInfo.setLastGraduateSchool(school);
basicInfo.setLastGraduateCertificationOssPath(imgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setImgUrl(imgUrl);
} else {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO savePersonalStatements(SavePersonalStatementsRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
try {
List<AclPractitionerHiringPersonalStatements> personalStatementList = requestVO.getPersonalStatementList();
Long basicInfoId = requestVO.getHiringBasicInfoId();
Date curDate = new Date();
personalStatementList.forEach(item -> {
item.setHiringBasicInfoId(basicInfoId);
item.setIsActive(1);
item.setCreatedAt(curDate);
item.setUpdatedAt(curDate);
item.setCreatedBy((long) -1);
item.setUpdatedBy((long) -1);
});
List<AclPractitionerHiringPersonalStatements> resultList = personalStatementsMapper.selectByHiringBasicInfoId(basicInfoId);
if (CollectionUtils.isNotEmpty(resultList)) {
// 先删除
personalStatementsMapper.deleteBatchByIds(resultList);
}
// 插入
if (personalStatementList.size() > 0) {
personalStatementsMapper.batchInsert(personalStatementList);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO saveContractTermsConfirms(SaveContractTermsConfirmsRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
try {
List<AclPractitionerHiringContractTermsConfirms> contractTermsConfirmsList = requestVO.getContractTermsConfirmsList();
Long basicInfoId = requestVO.getHiringBasicInfoId();
Date curDate = new Date();
contractTermsConfirmsList.forEach(item -> {
item.setHiringBasicInfoId(basicInfoId);
item.setIsActive(1);
item.setCreatedAt(curDate);
item.setUpdatedAt(curDate);
item.setCreatedBy((long) -1);
item.setUpdatedBy((long) -1);
});
List<AclPractitionerHiringContractTermsConfirms> resultList = contractTermsConfirmsMapper.selectByHiringBasicInfoId(basicInfoId);
if (CollectionUtils.isNotEmpty(resultList)) {
contractTermsConfirmsMapper.deleteBatchByIds(resultList);
}
if (contractTermsConfirmsList.size() > 0) {
contractTermsConfirmsMapper.batchInsert(contractTermsConfirmsList);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public HiringListQueryResponseVO listQuery(HiringListQueryRequestVO requestVO) {
HiringListQueryResponseVO responseVO = new HiringListQueryResponseVO();
Long practitionerId = requestVO.getPractitionerId();
Long approvingStatus = requestVO.getApprovingStatus();
List<HiringListInfo> hiringListInfoList;
if (Long.valueOf("0").equals(approvingStatus)) {
// 当前经纪人的待审批记录
hiringListInfoList = practitionerHiringDalService.queryUnhandledList(practitionerId);
} else {
// 当前经纪人通过或拒绝的记录
int status = Long.valueOf("1").equals(approvingStatus) ? 1 : 0;
hiringListInfoList = practitionerHiringDalService.queryHandledList(practitionerId, status);
}
responseVO.setHiringListInfoList(hiringListInfoList);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
/**
* ydLife经纪人审批详情查询接口
* 基本信息查询同AGMS一致,代码直接copy过来的,以免后期AGMS展示数据与ydLife不一致,修改麻烦
* 有关"查询是否可进行审批操作"说明
* 进行到经纪人审批详情查询的经纪人都有权限审批
* 判断相对AGMS简单,因为一个经纪人审批和辅导员/团队长是一对一,不像AGMS为一对多
* 所以只要需要判断ag_md_practitioner_hiring_approve_steps是否有practitionerId即可判断是否审批
* ydLife审批逻辑不可变更,辅导人审批->团队长审批
*/
@Override
public HiringDetailQueryResponseVO detailQuery(HiringDetailQueryRequestVO requestVO) {
HiringDetailQueryResponseVO responseVO = new HiringDetailQueryResponseVO();
//报聘的经纪人基本资料id
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
//经纪人审批基本信息
HiringBasicInfo hiringBasicInfo = practitionerHiringDalService.findHiringBasicInfo(hiringBasicInfoId);
//审批经纪人关系
HiringMemberShip hiringMemberShip = practitionerHiringDalService.findHiringMemberShip(hiringBasicInfoId);
//审批经纪人工作经历
List<HiringWorkingExperience> hiringWorkingExperienceList = practitionerHiringDalService.findHiringWorkingExperienceList(hiringBasicInfoId);
//经纪人申请名目
List<HiringPersonalStatements> hiringPersonalStatementsList = practitionerHiringDalService.findHiringPersonalStatementsList(hiringBasicInfoId);
//经纪人合同条款是否同意
List<HiringContractTermsConfirms> hiringContractTermsConfirmsList = practitionerHiringDalService.findHiringContractTermsConfirmsList(hiringBasicInfoId);
//已审批结果
List<HiringApproveRecords> hiringApproveRecordsList = practitionerHiringDalService.findHiringApproveRecordsList(hiringBasicInfoId);
// 审批到哪一步
Integer nextStepSeq = practitionerHiringDalService.getNextStepSeqByApproveStatus(hiringBasicInfo.getApproveStatus());
responseVO.setHiringApproveStepsSeq(nextStepSeq);
responseVO.setHiringBasicInfoId(hiringBasicInfoId);
responseVO.setHiringBasicInfo(hiringBasicInfo);
responseVO.setHiringMemberShip(hiringMemberShip);
responseVO.setHiringWorkingExperienceList(hiringWorkingExperienceList);
responseVO.setHiringPersonalStatementsList(hiringPersonalStatementsList);
responseVO.setHiringContractTermsConfirmsList(hiringContractTermsConfirmsList);
responseVO.setHiringApproveRecordsList(hiringApproveRecordsList);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
private HiringApproveSteps getHiringApproveStatus(Long practitionerId,
Long approvalIdentity,
List<HiringApproveRecords> hiringApproveRecordsList) {
//是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 4.已驳回
Long hiringApproveStatus = 0L;
//审批到哪一步了
Long hiringApproveStepsSeq = null;
//查看审批流程最后一次,是否通过
HiringApproveRecords recordsFinally = new HiringApproveRecords();
if (!hiringApproveRecordsList.isEmpty()) {
recordsFinally = hiringApproveRecordsList.get(hiringApproveRecordsList.size() - 1);
Long approvingStatusId = recordsFinally.getApprovingStatusId();
if (CommonUtil.isNullOrZero(approvingStatusId)) {
//已驳回
hiringApproveStatus = 4L;
return new HiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
}
//查看此经纪人是否已经审批
for (HiringApproveRecords hiringApproveRecords : hiringApproveRecordsList) {
Long approvingPractitionerId = hiringApproveRecords.getApprovingPractitionerId();
if (approvingPractitionerId.equals(practitionerId)) {
//已审批
hiringApproveStatus = 2L;
return new HiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
}
//余下的仅有0.不可审批(未到) 1.可审批两种状态
//approvalIdentity的参数意义0.既是辅导人又是团队长 1.辅导人 2.团队长
//当approvalIdentity为0,1时,审批状态为可审批 当为2时判断辅导人是否审批
if (approvalIdentity == 0 || approvalIdentity == 1){
hiringApproveStatus = 1L;
hiringApproveStepsSeq = 1L;
}else {
//判断辅导人是否审批,仅需判断hiringApproveRecordsList.isEmpty(),因为辅导人是第一步,团队长为第二步
if (hiringApproveRecordsList.isEmpty()) {
hiringApproveStatus = 0L;
}else {
hiringApproveStatus = 1L;
hiringApproveStepsSeq = 2L;
}
}
return new HiringApproveSteps(hiringApproveStatus, hiringApproveStepsSeq);
}
@Override
public HiringApproveResponseVO hiringApprove(HiringApproveRequestVO requestVO) {
HiringApproveResponseVO responseVO = new HiringApproveResponseVO();
//审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
Long approvalIdentity = requestVO.getApprovalIdentity();
List<MdPractitionerHiringApproveSteps> hiringApproveStepsList = systemConfigService.findHiringApproveStepsAll();
List<AclPractitionerHiringApproveRecords> hiringApproveRecordsList = new ArrayList<>();
//当approvalIdentity=0时需要保存两条记录
if (approvalIdentity == 0L || approvalIdentity == 1L){
boolean hasStepSeq = addStepToList(requestVO,1,hiringApproveStepsList,hiringApproveRecordsList);
if (!hasStepSeq) {
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830025")));
return responseVO;
}
}
if (approvalIdentity == 0L || approvalIdentity == 2L){
boolean hasStepSeq = addStepToList(requestVO,2,hiringApproveStepsList,hiringApproveRecordsList);
if (!hasStepSeq) {
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830025")));
return responseVO;
}
}
// 保存审批记录
aclPractitionerHiringApproveRecordsDalService.save(hiringApproveRecordsList);
// 更新basicInfo表审批状态
// 查询审批记录
Long basicInfoId = requestVO.getHiringBasicInfoId();
AclPractitionerHiringApproveRecords record = recordsMapper.queryLastOneByBasicInfoId(basicInfoId);
String approveStatus = null;
if (Long.valueOf("0").equals(record.getApprovingStatus())) {
approveStatus = "-1";
} else {
String stepSeq = record.getStepSeq();
if (StringUtils.isEmpty(stepSeq)) {
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830025")));
return responseVO;
} else {
if (stepSeq.equals(hiringApproveStepsList.size())) {
approveStatus = "0";
} else {
approveStatus = "-1";
}
}
}
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(requestVO.getHiringBasicInfoId());
basicInfo.setApproveStatus(approveStatus);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
responseVO.setPractitionerId(requestVO.getPractitionerId());
responseVO.setHiringBasicInfoId(requestVO.getHiringBasicInfoId());
responseVO.setApprovalIdentity(requestVO.getApprovalIdentity());
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
@Override
public CommonResultResponseVO saveBankAccount(SaveBankAccountRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
try {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
BeanUtils.copyProperties(requestVO, basicInfo);
basicInfo.setId(requestVO.getHiringBasicInfoId());
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public QueryContractTermsResponseVO queryContractTerms() {
QueryContractTermsResponseVO resp = new QueryContractTermsResponseVO();
try {
List<PractitionerHiringContractTerms> contractTermsList = practitionerHiringDalService.queryContractTerms();
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setContractTermsList(contractTermsList);
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public QueryWholeInfoResponseVO queryWholeInfo(HiringBasicInfoIdRequestVO requestVO) {
QueryWholeInfoResponseVO resp = new QueryWholeInfoResponseVO();
try {
//报聘的经纪人基本资料id
Long hiringBasicInfoId = requestVO.getHiringBasicInfoId();
//基本信息
AclPractitionerHiringBasicInfo hiringBasicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
//组织关系
AclPractitionerHiringMembership hiringMemberShip = membershipMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
//工作经历
List<AclPractitionerHiringWorkingExperience> hiringWorkingExperienceList = workingExperienceMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
//申请名目
List<AclPractitionerHiringPersonalStatements> hiringPersonalStatementsList = personalStatementsMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
//合同条款是否同意
List<AclPractitionerHiringContractTermsConfirms> hiringContractTermsConfirmsList = contractTermsConfirmsMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setHiringBasicInfoId(hiringBasicInfoId);
resp.setHiringBasicInfo(hiringBasicInfo);
resp.setHiringMemberShip(hiringMemberShip);
resp.setHiringWorkingExperienceList(hiringWorkingExperienceList);
resp.setHiringPersonalStatementsList(hiringPersonalStatementsList);
resp.setHiringContractTermsConfirmsList(hiringContractTermsConfirmsList);
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public CommonResultResponseVO saveDigitalSignatures(SaveDigitalSignaturesRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
Long basicInfoId = requestVO.getHiringBasicInfoId();
String imgStr = requestVO.getImgStr();
try {
if (StringUtils.isBlank(imgStr)) {
resp.setCommonResult(new CommonResult(false, "file不可为空"));
return resp;
}
if (imgStr.indexOf("data:image/png;") != -1) {
imgStr = imgStr.replace("data:image/png;base64,", "");
}
byte[] fileBytes = Base64.getDecoder().decode(imgStr);
InputStream inputStream = new ByteArrayInputStream(fileBytes);
// 上传图片至阿里云
StringBuffer fileName = new StringBuffer();
fileName.append("brokerHiring/").append(basicInfoId).append("/");
String originalFilename = generateKey(9);
String key = fileName.append(originalFilename).append(".png").toString();
String putFileToOss = ossService.putFileToOss(null, key, inputStream);
// 保存入库
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(basicInfoId);
basicInfo.setPersonalSignOssPath(putFileToOss);
AclPractitionerHiringMembership hiringMemberShip = membershipMapper.selectByHiringBasicInfoId(basicInfoId);
if (Long.valueOf("30").equals(hiringMemberShip.getMdDropOptionId())) {
basicInfo.setApproveStatus("2");
} else {
basicInfo.setApproveStatus("-2");
}
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, "保存失败"));
}
return resp;
}
@Override
public SavePayrollPictureResponseVO savePayrollPicture(SavePayRollPictureRequestVO requestVO) {
SavePayrollPictureResponseVO resp = new SavePayrollPictureResponseVO();
try {
String mediaId = requestVO.getVxUrl();
if (StringUtils.isEmpty(mediaId)) {
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
return resp;
}
Long basicInfoId = requestVO.getHiringBasicInfoId();
String imgUrl = this.uploadImageToOss(mediaId, basicInfoId, 2);
if (imgUrl == null) {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
} else {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(basicInfoId);
basicInfo.setPayrollOssPath(imgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setImgUrl(imgUrl);
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@SuppressWarnings("unchecked")
private boolean addStepToList(HiringApproveRequestVO requestVO,
int stepSeq,
List<MdPractitionerHiringApproveSteps> hiringApproveStepsList,
List<AclPractitionerHiringApproveRecords> hiringApproveRecordsList) {
BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate("stepSeq", stepSeq);
List<MdPractitionerHiringApproveSteps> steps = (List<MdPractitionerHiringApproveSteps>) CollectionUtils.select(hiringApproveStepsList, predicate);
if (steps.size() != 1) {
return false;
}
AclPractitionerHiringApproveRecords records = new AclPractitionerHiringApproveRecords();
MdPractitionerHiringApproveSteps step = steps.get(0);
records.setHiringBasicInfoId(requestVO.getHiringBasicInfoId());
records.setApproveStepId(step.getId().toString());
records.setApproveStepName(step.getStepName());
records.setApprovingPractitionerId(requestVO.getPractitionerId());
records.setApprovingStatus(requestVO.getApprovingStatus());
records.setInterviewAssessment(requestVO.getInterviewAssessment());
records.setRejectNote(requestVO.getRejectNote());
records.setIsActive(1);
records.setCreatedAt(new Date());
records.setCreatedBy(requestVO.getPractitionerId());
records.setUpdatedAt(new Date());
records.setUpdatedBy(requestVO.getPractitionerId());
hiringApproveRecordsList.add(records);
return true;
}
private String uploadImageToOss(String imgUrl, Long hiringBasicInfoId, Integer targetUseFor) throws Exception {
Map<String, Object> input = HttpUtil.getInput(imgUrl);
if (!(boolean) input.get("success")) {
throw new Exception(ZHBErrorConfig.getErrorInfo("830024"));
}
//获取头像流
InputStream inputStream = (InputStream) input.get("is");
//判断图像尺寸
BufferedImage img = ImageIO.read(inputStream);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(img, "jpg", os);
inputStream = new ByteArrayInputStream(os.toByteArray());
//上传图片至阿里云
String prefix = "brokerHiring/" + hiringBasicInfoId + "/";
String originalFilename = generateKey(targetUseFor);
String key = prefix + originalFilename + ".jpg";
String putFileToOss = ossService.putFileToOss(null, key, inputStream);
return putFileToOss;
}
private String generateKey(int targetUseFor) {
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
return targetUseFor+sdf.format(new Date());
}
}
package com.yd.api.practitioner.vo;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.libs.pdf.*;
public class PDFHiringTest {
/**
* 填充数据源
* 其中data存放的key值与pdf模板中的文本域值相对应
*/
public static Map<String, String> initData() {
String secondSignature = "张亮";
String secondPartyIDNo = "330127199611154184";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String secondSignatureDate = format.format(new Date());
Map<String, String> data = new HashMap<String, String>();
//1页
data.put("contactNo", "C-SH-0001");
data.put("practitionerNo", "YDSH00127");
data.put("subsystem", "抱一");
data.put("practitioner", secondSignature);
data.put("idNo", secondPartyIDNo);
data.put("residentAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("mobileNo", "13661741633");
//7页
data.put("firstParty", "上海银盾保险经纪有限公司");
data.put("firstPartyResponer", "上海银盾保险经纪有限公司");
data.put("firstPartyAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondParty", secondSignature);
data.put("secondPartyIDNo", secondPartyIDNo);
data.put("secondPartyAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondMobileNo", "1366668888");
data.put("secondSubsystemOwner", "陈欢欢");
data.put("secondSubsystemSignature", "陈欢欢");
data.put("secondSubsystemIDNo", "330127199611156403");
data.put("secondSubsystemAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondSubsystemMobileNo", "1366668888");
data.put("secondMentor", "陈欢欢");
data.put("secondMentorIDNo", "330127199611158003");
data.put("secondMentorAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondMentorMobileNo", "1366668888");
data.put("contactYear", "2120");
data.put("contactMonth", "12");
data.put("contactDay", "16");
//8页
data.put("secondParty801", secondSignature);
data.put("secondBirthYear801", "1989");
data.put("secondBirthMonth801", "10");
data.put("secondBirthDay801", "09");
data.put("secondPartyIDNo801", secondPartyIDNo);
data.put("secondPartyPermanentResidenceAddress", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondPartyAddress801", "上海市浦东新区张杨路560号中融恒瑞国际西楼1706室");
data.put("secondMobileNo801", "1366668888");
data.put("secondPractitionerRegNo", "26961531000080062020000314");
data.put("secondEmail", "2120@163.com");
data.put("secondWorkingExperience1", "嫦娥5号登月");
data.put("secondWorkingPosition1", "项目总工");
data.put("secondWorkingPeriod1", "2016.12~至今");
data.put("secondWorkingExperience2", "嫦娥4号登月");
data.put("secondWorkingPosition2", "姿态调整工程师");
data.put("secondWorkingPeriod2", "2014.11~2016.10");
data.put("secondWorkingExperience3", "嫦娥3号登月");
data.put("secondWorkingPosition3", "动力工程执掌");
data.put("secondWorkingPeriod3", "2012.03~2014.10");
data.put("secondWorkingExperience4", "嫦娥2号登月");
data.put("secondWorkingPosition4", "固态燃料冷凌技师");
data.put("secondWorkingPeriod4", "2010.07~2012.01");
data.put("secondBankAccount", secondSignature);
data.put("secondBankAccountOpening", "上海市工商银行齐齐哈尔路支行");
data.put("secondBankAccountID", "6222001001234567890");
data.put("secondMentor802", "陈欢欢");
data.put("secondIntroducer", "陈欢欢");
data.put("secondMentorIDNo801", "330127199611151346");
data.put("secondIntroducerIDNo", "330127199611156403");
data.put("secondEffectiveYear", "2120");
data.put("secondEffectiveMonth", "12");
data.put("secondEffectiveDay", "30");
data.put("secondParty802", secondSignature);
data.put("secondMentor801", "陈欢欢");
data.put("secondSubsystem", "抱一");
data.put("secondSubsystemNo", "HUGONE");
data.put("secondSubsystemManager", "陈欢欢");
data.put("secondSubsystemMaster", "陈欢欢");
data.put("secondBranchManager", "王子帷");
data.put("secondBranchMaster", "王子帷");
data.put("secondCenterHr", "EVEN");
data.put("secondCenterCEO", "SHARON");
//9页
//10页
data.put("secondSignatureDate1001", secondSignatureDate);
//12页
data.put("secondParty1201", secondSignature);
data.put("secondSignatureDate1201", secondSignatureDate);
//14页
data.put("secondParty1401", secondSignature);
data.put("secondSignatureDate1401", secondSignatureDate);
//16页
data.put("secondParty1601", secondSignature);
data.put("secondPartyIDNo1601", secondPartyIDNo);
data.put("secondSignatureDate1601", secondSignatureDate);
return data;
}
public static Map<String, String> initImage() {
Map<String, String> images = new HashMap<String, String>();
//公司印章,需配置
String yindunESignature = "D:\\pcs12\\上海银盾保险经纪有限公司.png";
images.put("yindunESignature1001", "D:\\pcs12\\上海银盾保险经纪有限公司.png");
images.put("yindunESignature1201", "D:\\pcs12\\上海银盾保险经纪有限公司.png");
images.put("yindunESignature1401", "D:\\pcs12\\上海银盾保险经纪有限公司.png");
//五张图是动态的,根据DB里面记录的OSS Path,先从阿里云下载到本地作为临时文件,处理模板需要本地文件
//经纪人个人照片
String secondPersonerPicture = "D:\\pcs12\\secondPersonerPicture.png";
images.put("secondPersonerPicture", secondPersonerPicture);
//经纪人个人手写签名图
String secondSignature = "D:\\pcs12\\signature.png";
images.put("secondSignature1001", secondSignature);
images.put("secondSignature1201", secondSignature);
images.put("secondSignature1401", secondSignature);
images.put("secondSignature1601", secondSignature);
//经纪人个人身份证正面图
String secondIDFrontPageImage = "D:\\pcs12\\IDFront.jpg";
images.put("secondIDFrontPageImage", secondIDFrontPageImage);
//经纪人个人身份证背面图
String secondIDBackPageImage = "D:\\pcs12\\IDback.jpg";
images.put("secondIDBackPageImage", secondIDBackPageImage);
//经纪人个人银行卡正面图
String secondBankCardImage = "D:\\pcs12\\bank.jpg";
images.put("secondBankCardImage", secondBankCardImage);
//选中或未选中2张图,需配置
//PDF模板文件中4种身份证件类型
images.put("secondIDType1", "D:\\pcs12\\checked.png");
images.put("secondIDType2", "D:\\pcs12\\uncheck.png");
images.put("secondIDType3", "D:\\pcs12\\uncheck.png");
images.put("secondIDType4", "D:\\pcs12\\uncheck.png");
//个人申明中的6个选项,从左到右,从上到下
images.put("secondPersonalStatement1", "D:\\pcs12\\checked.png");
images.put("secondPersonalStatement2", "D:\\pcs12\\uncheck.png");
images.put("secondPersonalStatement3", "D:\\pcs12\\uncheck.png");
images.put("secondPersonalStatement4", "D:\\pcs12\\uncheck.png");
images.put("secondPersonalStatement5", "D:\\pcs12\\uncheck.png");
images.put("secondPersonalStatement5", "D:\\pcs12\\checked.png");
//个人签约职称中的6个选项,从左到右,从上到下
images.put("secondPosition1", "D:\\pcs12\\checked.png");
images.put("secondPosition2", "D:\\pcs12\\uncheck.png");
images.put("secondPosition3", "D:\\pcs12\\uncheck.png");
images.put("secondPosition4", "D:\\pcs12\\uncheck.png");
images.put("secondPosition5", "D:\\pcs12\\uncheck.png");
images.put("secondPosition6", "D:\\pcs12\\uncheck.png");
return images;
}
public static void main(String[] args) throws Exception {
//PDF模板文件,需配置
String templatePDF = "D:\\pcs12\\templatePractitionerContract.pdf";
//PDF模板输出结果文件
String templateResultPDF = "D:\\pcs12\\resultData.pdf";
//初始化模板数据
Map<String, String> dt = initData();
Map<String, String> img = initImage();
//按模板填充数据生成结果PDF
PDFTemplate.generatePDF(templatePDF, templateResultPDF, dt, img);
//准备加盖电子印章的源文件
String signSourcePDF = templateResultPDF;
//电子印章文件,需配置
String signImage = "D:\\pcs12\\上海银盾保险经纪有限公司.png";
//加盖电子印章结果文件
String signResultPDF = "D:\\pcs12\\signedYD.pdf";
String password = "UC645YlB";
//CA证书文件,需配置
String keyStorePath = "D:\\pcs12\\4929078_m.zuihuibi.cn.pfx";
float x = 450;
float y = 150;
PDFSign.sign(signResultPDF, password, keyStorePath, signSourcePDF, signImage, x, y);
}
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class CommonResultResponseVO {
private CommonResult commonResult;
}
package com.yd.api.practitioner.vo.hiring;
/**
* @author xxy
*/
public class HiringApproveRequestVO {
/**
* 经纪人id
*/
private Long practitionerId;
/**
* 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
private Long approvalIdentity;
/**
* 审批步骤经行到哪一步了
*/
private Long hiringApproveStepsSeq;
/**
* 审批经纪人基本资料id
*/
private Long hiringBasicInfoId;
/**
* 1:通过,0:驳回
*/
private Long approvingStatus;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 备注,驳回原因
*/
private String rejectNote;
/**
* 获取 经纪人id
*
* @return practitionerId 经纪人id
*/
public Long getPractitionerId() {
return this.practitionerId;
}
/**
* 设置 经纪人id
*
* @param practitionerId 经纪人id
*/
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
/**
* 获取 审批经纪人基本资料id
*
* @return hiringBasicInfoId 审批经纪人基本资料id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 审批经纪人基本资料id
*
* @param hiringBasicInfoId 审批经纪人基本资料id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatus 1:通过,0:驳回
*/
public Long getApprovingStatus() {
return this.approvingStatus;
}
/**
* 设置 1:通过,0:驳回
*
* @param approvingStatus 1:通过,0:驳回
*/
public void setApprovingStatus(Long approvingStatus) {
this.approvingStatus = approvingStatus;
}
/**
* 获取 备注,驳回原因
*
* @return rejectNote 备注,驳回原因
*/
public String getRejectNote() {
return this.rejectNote;
}
/**
* 设置 备注,驳回原因
*
* @param rejectNote 备注,驳回原因
*/
public void setRejectNote(String rejectNote) {
this.rejectNote = rejectNote;
}
@Override
public String toString() {
return "HiringApproveRequestVO{" +
"practitionerId=" + practitionerId +
", hiringBasicInfoId=" + hiringBasicInfoId +
", approvingStatus=" + approvingStatus +
", rejectNote='" + rejectNote + '\'' +
'}';
}
public String getInterviewAssessment() {
return interviewAssessment;
}
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
public Long getApprovalIdentity() {
return approvalIdentity;
}
public void setApprovalIdentity(Long approvalIdentity) {
this.approvalIdentity = approvalIdentity;
}
public Long getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Long hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
/**
* @author xxy
*/
public class HiringApproveResponseVO {
/**
* 经纪人id
*/
private Long practitionerId;
/**
* 经纪人基本信息id
*/
private Long hiringBasicInfoId;
/**
* 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
private Long approvalIdentity;
private CommonResult commonResult;
/**
* 获取 经纪人id
*
* @return practitionerId 经纪人id
*/
public Long getPractitionerId() {
return this.practitionerId;
}
/**
* 设置 经纪人id
*
* @param practitionerId 经纪人id
*/
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
/**
* 获取 经纪人基本信息id
*
* @return hiringBasicInfoId 经纪人基本信息id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id
*
* @param hiringBasicInfoId 经纪人基本信息id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*
* @return approvalIdentity 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
public Long getApprovalIdentity() {
return this.approvalIdentity;
}
/**
* 设置 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*
* @param approvalIdentity 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
*/
public void setApprovalIdentity(Long approvalIdentity) {
this.approvalIdentity = approvalIdentity;
}
/**
* 获取
*
* @return commonResult
*/
public CommonResult getCommonResult() {
return this.commonResult;
}
/**
* 设置
*
* @param commonResult
*/
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
@Override
public String toString() {
return "HiringApproveResponseVO{" +
"practitionerId=" + practitionerId +
", hiringBasicInfoId=" + hiringBasicInfoId +
", approvalIdentity=" + approvalIdentity +
", commonResult=" + commonResult +
'}';
}
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class HiringBasicInfoIdRequestVO {
private Long hiringBasicInfoId;
}
package com.yd.api.practitioner.vo.hiring;
/**
* @author xxy
*/
public class HiringDetailQueryRequestVO {
/**
* 经纪人基本信息id
*/
private Long hiringBasicInfoId;
/**
* 获取 经纪人基本信息id
*
* @return hiringBasicInfoId 经纪人基本信息id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id
*
* @param hiringBasicInfoId 经纪人基本信息id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
@Override
public String toString() {
return "HiringDetailQueryRequestVO{" +
", hiringBasicInfoId=" + hiringBasicInfoId +
'}';
}
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.practitioner.hiring.*;
import java.util.List;
/**
* @author xxy
*/
public class HiringDetailQueryResponseVO {
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 审批步骤经行到哪一步了
*/
private Integer hiringApproveStepsSeq;
/**
* 经纪人审批基本信息
*/
private HiringBasicInfo hiringBasicInfo;
/**
* 审批经纪人关系
*/
private HiringMemberShip hiringMemberShip;
/**
* 审批经纪人工作经历
*/
private List<HiringWorkingExperience> hiringWorkingExperienceList;
/**
* 经纪人申请名目
*/
private List<HiringPersonalStatements> hiringPersonalStatementsList;
/**
* 经纪人合同条款是否同意
*/
private List<HiringContractTermsConfirms> hiringContractTermsConfirmsList;
/**
* 已审批结果
*/
private List<HiringApproveRecords> hiringApproveRecordsList;
private CommonResult commonResult;
/**
* 获取 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @return hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 经纪人审批基本信息
*
* @return hiringBasicInfo 经纪人审批基本信息
*/
public HiringBasicInfo getHiringBasicInfo() {
return this.hiringBasicInfo;
}
/**
* 设置 经纪人审批基本信息
*
* @param hiringBasicInfo 经纪人审批基本信息
*/
public void setHiringBasicInfo(HiringBasicInfo hiringBasicInfo) {
this.hiringBasicInfo = hiringBasicInfo;
}
/**
* 获取 审批经纪人关系
*
* @return hiringMemberShip 审批经纪人关系
*/
public HiringMemberShip getHiringMemberShip() {
return this.hiringMemberShip;
}
/**
* 设置 审批经纪人关系
*
* @param hiringMemberShip 审批经纪人关系
*/
public void setHiringMemberShip(HiringMemberShip hiringMemberShip) {
this.hiringMemberShip = hiringMemberShip;
}
/**
* 获取 审批经纪人工作经历
*
* @return hiringWorkingExperienceList 审批经纪人工作经历
*/
public List<HiringWorkingExperience> getHiringWorkingExperienceList() {
return this.hiringWorkingExperienceList;
}
/**
* 设置 审批经纪人工作经历
*
* @param hiringWorkingExperienceList 审批经纪人工作经历
*/
public void setHiringWorkingExperienceList(List<HiringWorkingExperience> hiringWorkingExperienceList) {
this.hiringWorkingExperienceList = hiringWorkingExperienceList;
}
/**
* 获取 经纪人申请名目
*
* @return hiringPersonalStatementsList 经纪人申请名目
*/
public List<HiringPersonalStatements> getHiringPersonalStatementsList() {
return this.hiringPersonalStatementsList;
}
/**
* 设置 经纪人申请名目
*
* @param hiringPersonalStatementsList 经纪人申请名目
*/
public void setHiringPersonalStatementsList(List<HiringPersonalStatements> hiringPersonalStatementsList) {
this.hiringPersonalStatementsList = hiringPersonalStatementsList;
}
/**
* 获取 经纪人合同条款是否同意
*
* @return hiringContractTermsConfirmsList 经纪人合同条款是否同意
*/
public List<HiringContractTermsConfirms> getHiringContractTermsConfirmsList() {
return this.hiringContractTermsConfirmsList;
}
/**
* 设置 经纪人合同条款是否同意
*
* @param hiringContractTermsConfirmsList 经纪人合同条款是否同意
*/
public void setHiringContractTermsConfirmsList(List<HiringContractTermsConfirms> hiringContractTermsConfirmsList) {
this.hiringContractTermsConfirmsList = hiringContractTermsConfirmsList;
}
/**
* 获取 已审批结果
*
* @return hiringApproveRecordsList 已审批结果
*/
public List<HiringApproveRecords> getHiringApproveRecordsList() {
return this.hiringApproveRecordsList;
}
/**
* 设置 已审批结果
*
* @param hiringApproveRecordsList 已审批结果
*/
public void setHiringApproveRecordsList(List<HiringApproveRecords> hiringApproveRecordsList) {
this.hiringApproveRecordsList = hiringApproveRecordsList;
}
/**
* 获取
*
* @return commonResult
*/
public CommonResult getCommonResult() {
return this.commonResult;
}
/**
* 设置
*
* @param commonResult
*/
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
public Integer getHiringApproveStepsSeq() {
return hiringApproveStepsSeq;
}
public void setHiringApproveStepsSeq(Integer hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
@Override
public String toString() {
return "HiringDetailQueryResponseVO{" +
"hiringBasicInfoId=" + hiringBasicInfoId +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
", hiringBasicInfo=" + hiringBasicInfo +
", hiringMemberShip=" + hiringMemberShip +
", hiringWorkingExperienceList=" + hiringWorkingExperienceList +
", hiringPersonalStatementsList=" + hiringPersonalStatementsList +
", hiringContractTermsConfirmsList=" + hiringContractTermsConfirmsList +
", hiringApproveRecordsList=" + hiringApproveRecordsList +
", commonResult=" + commonResult +
'}';
}
}
package com.yd.api.practitioner.vo.hiring;
/**
* @author xxy
*/
public class HiringListQueryRequestVO {
/**
* 经纪人id
*/
private Long practitionerId;
/**
* 0:待审批 1:通过 2:拒绝
*/
private Long approvingStatus;
/**
* 获取 经纪人id
*
* @return practitionerId 经纪人id
*/
public Long getPractitionerId() {
return this.practitionerId;
}
/**
* 设置 经纪人id
*
* @param practitionerId 经纪人id
*/
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
public Long getApprovingStatus() {
return approvingStatus;
}
public void setApprovingStatus(Long approvingStatus) {
this.approvingStatus = approvingStatus;
}
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.practitioner.hiring.HiringListInfo;
import java.util.List;
/**
* @author xxy
*/
public class HiringListQueryResponseVO {
private List<HiringListInfo> hiringListInfoList;
private CommonResult commonResult;
public List<HiringListInfo> getHiringListInfoList() {
return this.hiringListInfoList;
}
public void setHiringListInfoList(List<HiringListInfo> hiringListInfoList) {
this.hiringListInfoList = hiringListInfoList;
}
public CommonResult getCommonResult() {
return this.commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
@Override
public String toString() {
return "HiringListQueryResponseVO{" +
"hiringListInfoList=" + hiringListInfoList +
", commonResult=" + commonResult +
'}';
}
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class PractitionerHiringContractTerms {
private Long id;
private String termName;
private String termNote;
private Integer displaySeq;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
import java.util.List;
@Data
public class QueryContractTermsResponseVO {
private CommonResult commonResult;
private List<PractitionerHiringContractTerms> contractTermsList;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import lombok.Data;
@Data
public class QueryMembershipResponseVO {
private CommonResult commonResult;
private AclPractitionerHiringMembership membership;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.*;
import lombok.Data;
import java.util.List;
@Data
public class QueryWholeInfoResponseVO {
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 经纪人审批基本信息
*/
private AclPractitionerHiringBasicInfo hiringBasicInfo;
/**
* 审批经纪人关系
*/
private AclPractitionerHiringMembership hiringMemberShip;
/**
* 审批经纪人工作经历
*/
private List<AclPractitionerHiringWorkingExperience> hiringWorkingExperienceList;
/**
* 经纪人申请名目
*/
private List<AclPractitionerHiringPersonalStatements> hiringPersonalStatementsList;
/**
* 经纪人合同条款是否同意
*/
private List<AclPractitionerHiringContractTermsConfirms> hiringContractTermsConfirmsList;
private CommonResult commonResult;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SaveBankAccountRequestVO {
private Long hiringBasicInfoId;
private String bankAccountOpening;
private String bankAccountId;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
import java.util.Date;
@Data
public class SaveBasicInfoRequestVO {
private Long id;
/**
* FK ag_acl_practitioner.id 邀请人
*/
private Long inviteePractitionerId;
/**
* 報聘经纪人姓名
*/
private String name;
/**
* 報聘经纪人姓名电话
*/
private String mobileNo;
/**
* FK ag_md_id_type.id
*/
private Long idTypeId;
/**
* 報聘经纪人姓名证件类型
*/
private String idType;
/**
* 報聘经纪人姓名证件号
*/
private String idNo;
/**
* 1=Male, 2=Female
*/
private Integer gender;
/**
* 報聘经纪人姓名生日
*/
private Date practitionerBirthdate;
/**
* 户籍省份 FK ag_md_province.id
*/
private Long provinceId;
/**
* 户籍省份名
*/
private String provinceName;
/**
* 户籍城市FK ag_md_city.id
*/
private Long cityId;
/**
* 户籍城市名
*/
private String cityName;
/**
* 居住地址
*/
private String residentAddress;
/**
* 从业人员微信号
*/
private String wechatId;
/**
* email地址
*/
private String email;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms;
import lombok.Data;
import java.util.List;
@Data
public class SaveContractTermsConfirmsRequestVO {
private Long hiringBasicInfoId;
private List<AclPractitionerHiringContractTermsConfirms> contractTermsConfirmsList;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SaveDigitalSignaturesRequestVO {
private Long hiringBasicInfoId;
private String imgStr;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SaveIDPictureRequestVO {
private Long hiringBasicInfoId;
private String frontVxUrl;
private String backVxUrl;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SaveIDPictureResponseVO {
private CommonResult commonResult;
private String frontImgUrl;
private String backImgUrl;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SaveLastGraduateGradeRequestVO {
private Long hiringBasicInfoId;
private String lastGraduateCode;
private String lastGraduateGrade;
private String lastGraduateSchool;
private String certificationVxUrl;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SaveLastGraduateGradeResponseVO {
private CommonResult commonResult;
private String imgUrl;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SaveMembershipRequestVO {
private Long loginId;
private Long hiringBasicInfoId;
private Long practitionerPotentialId;
private String name;
/**
* 报聘经纪人职级类型
*/
private Long mdDropOptionId;
/**
* 报聘经纪人职级类型名称
*/
private String mdDropOptionName;
private Long mentorPractitionerId;
private String mentor;
private Long introducerPractitionerId;
private String introducer;
private Long subsystemId;
private String subsystem;
private Long subsystemOwnerId;
private String subsystemOwner;
private Long branchId;
private String branch;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SaveMembershipResponseVO {
private Long hiringBasicInfoId;
private CommonResult commonResult;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SavePayRollPictureRequestVO {
private Long hiringBasicInfoId;
private String vxUrl;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SavePayrollPictureResponseVO {
private CommonResult commonResult;
private String imgUrl;
}
package com.yd.api.practitioner.vo.hiring;
import lombok.Data;
@Data
public class SavePersonPictureRequestVO {
private Long hiringBasicInfoId;
private String vxUrl;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SavePersonPictureResponseVO {
private CommonResult commonResult;
private String imgUrl;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements;
import lombok.Data;
import java.util.List;
@Data
public class SavePersonalStatementsRequestVO {
private Long hiringBasicInfoId;
private List<AclPractitionerHiringPersonalStatements> personalStatementList;
}
\ No newline at end of file
package com.yd.api.practitioner.vo.hiring;
import com.yd.dal.entity.agms.hiring.PractitionerHiringWorkingExperience;
import lombok.Data;
import java.util.List;
@Data
public class SaveWorkingExperienceRequestVO {
private Long hiringBasicInfoId;
private List<PractitionerHiringWorkingExperience> workingExperienceList;
}
...@@ -24,6 +24,7 @@ public class PractitionerPotentialInfo { ...@@ -24,6 +24,7 @@ public class PractitionerPotentialInfo {
private String createdAt; private String createdAt;
private Date updateAt; private Date updateAt;
private String timeToOnboarding; private String timeToOnboarding;
private Long hiringBasicInfoId;
public Long getPotentialId() { public Long getPotentialId() {
return potentialId; return potentialId;
...@@ -192,4 +193,12 @@ public class PractitionerPotentialInfo { ...@@ -192,4 +193,12 @@ public class PractitionerPotentialInfo {
public void setUpdateAt(Date updateAt) { public void setUpdateAt(Date updateAt) {
this.updateAt = updateAt; this.updateAt = updateAt;
} }
public Long getHiringBasicInfoId() {
return hiringBasicInfoId;
}
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
} }
package com.yd.dal.entity.agms.hiring;
import java.util.Date;
/**
* @author xxy
*/
public class PractitionerHiringApproveRecords {
/**
* 审批步骤id
*/
private Long approveStepId;
/**
* 审批步骤名称
*/
private String approveStepName;
/**
* 执行动作的审批经纪人Id
*/
private Long approvingPractitionerId;
/**
* 执行动作的审批经纪人
*/
private String approvingPractitionerName;
/**
* 1:通过,0:驳回
*/
private Long approvingStatusId;
/**
* 1:通过,0:驳回
*/
private String approvingStatus;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 备注,驳回原因
*/
private String rejectNote;
/**
* 审批时间
*/
private String hiringAt;
/**
* 获取 审批步骤id
*
* @return approveStepId 审批步骤id
*/
public Long getApproveStepId() {
return this.approveStepId;
}
/**
* 设置 审批步骤id
*
* @param approveStepId 审批步骤id
*/
public void setApproveStepId(Long approveStepId) {
this.approveStepId = approveStepId;
}
/**
* 获取 审批步骤名称
*
* @return approveStepName 审批步骤名称
*/
public String getApproveStepName() {
return this.approveStepName;
}
/**
* 设置 审批步骤名称
*
* @param approveStepName 审批步骤名称
*/
public void setApproveStepName(String approveStepName) {
this.approveStepName = approveStepName;
}
/**
* 获取 执行动作的审批经纪人Id
*
* @return approvingPractitionerId 执行动作的审批经纪人Id
*/
public Long getApprovingPractitionerId() {
return this.approvingPractitionerId;
}
/**
* 设置 执行动作的审批经纪人Id
*
* @param approvingPractitionerId 执行动作的审批经纪人Id
*/
public void setApprovingPractitionerId(Long approvingPractitionerId) {
this.approvingPractitionerId = approvingPractitionerId;
}
/**
* 获取 执行动作的审批经纪人
*
* @return approvingPractitionerName 执行动作的审批经纪人
*/
public String getApprovingPractitionerName() {
return this.approvingPractitionerName;
}
/**
* 设置 执行动作的审批经纪人
*
* @param approvingPractitionerName 执行动作的审批经纪人
*/
public void setApprovingPractitionerName(String approvingPractitionerName) {
this.approvingPractitionerName = approvingPractitionerName;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatusId 1:通过,0:驳回
*/
public Long getApprovingStatusId() {
return this.approvingStatusId;
}
/**
* 设置 1:通过,0:驳回
*
* @param approvingStatusId 1:通过,0:驳回
*/
public void setApprovingStatusId(Long approvingStatusId) {
this.approvingStatusId = approvingStatusId;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatus 1:通过,0:驳回
*/
public String getApprovingStatus() {
return this.approvingStatus;
}
/**
* 设置 1:通过,0:驳回
*
* @param approvingStatus 1:通过,0:驳回
*/
public void setApprovingStatus(String approvingStatus) {
this.approvingStatus = approvingStatus;
}
/**
* 获取 备注,驳回原因
*
* @return rejectNote 备注,驳回原因
*/
public String getRejectNote() {
return this.rejectNote;
}
/**
* 设置 备注,驳回原因
*
* @param rejectNote 备注,驳回原因
*/
public void setRejectNote(String rejectNote) {
this.rejectNote = rejectNote;
}
/**
* 获取 审批时间
*
* @return hiringAt 审批时间
*/
public String getHiringAt() {
return this.hiringAt;
}
/**
* 设置 审批时间
*
* @param hiringAt 审批时间
*/
public void setHiringAt(String hiringAt) {
this.hiringAt = hiringAt;
}
@Override
public String toString() {
return "PractitionerHiringApproveRecords{" +
"approveStepId=" + approveStepId +
", approveStepName='" + approveStepName + '\'' +
", approvingPractitionerId=" + approvingPractitionerId +
", approvingPractitionerName='" + approvingPractitionerName + '\'' +
", approvingStatusId=" + approvingStatusId +
", approvingStatus='" + approvingStatus + '\'' +
", rejectNote='" + rejectNote + '\'' +
", hiringAt='" + hiringAt + '\'' +
'}';
}
public String getInterviewAssessment() {
return interviewAssessment;
}
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
}
package com.yd.dal.entity.agms.hiring;
import lombok.Data;
/**
* @author xxy
*/
@Data
public class PractitionerHiringBasicInfo {
/**
* 审批状态,包括待审批null及审批步骤seq,通过0,拒绝-1
*/
private String approveStatus;
/**
* 邀请人名字
*/
private String inviteePractitionerName;
/**
* 報聘经纪人姓名
*/
private String name;
/**
* 報聘经纪人姓名电话
*/
private String mobileNo;
/**
* 報聘经纪人姓名证件类型
*/
private String idType;
/**
* 報聘经纪人姓名证件号
*/
private String idNo;
/**
* 1=Male, 2=Female
*/
private String gender;
/**
* 報聘经纪人姓名生日
*/
private String practitionerBirthdate;
/**
* 户籍省份名
*/
private String provinceName;
/**
* 户籍城市名
*/
private String cityName;
/**
* 居住地址
*/
private String residentAddress;
/**
* 从业人员微信号
*/
private String wechatId;
/**
* email地址
*/
private String email;
/**
* 个人照片
*/
private String personerPictureOssPath;
/**
* 个人薪资单图片
*/
private String payrollOssPath;
/**
* Id 正面照片
*/
private String idFrontPageOssPath;
/**
* Id 反面照片
*/
private String idBackPageOssPath;
/**
* 最高学历
*/
private String lastGraduateGrade;
/**
* 毕业学校
*/
private String lastGraduateSchool;
/**
* 毕业证书
*/
private String lastGraduateCertificationOssPath;
/**
* 开户行
*/
private String bankAccountOpening;
/**
* 银行卡号
*/
private String bankAccountId;
/**
* 个人签名
*/
private String personalSignOssPath;
/**
* 获取 邀请人名字
*
* @return inviteePractitionerName 邀请人名字
*/
public String getInviteePractitionerName() {
return this.inviteePractitionerName;
}
/**
* 设置 邀请人名字
*
* @param inviteePractitionerName 邀请人名字
*/
public void setInviteePractitionerName(String inviteePractitionerName) {
this.inviteePractitionerName = inviteePractitionerName;
}
/**
* 获取 報聘经纪人姓名
*
* @return name 報聘经纪人姓名
*/
public String getName() {
return this.name;
}
/**
* 设置 報聘经纪人姓名
*
* @param name 報聘经纪人姓名
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取 報聘经纪人姓名电话
*
* @return mobileNo 報聘经纪人姓名电话
*/
public String getMobileNo() {
return this.mobileNo;
}
/**
* 设置 報聘经纪人姓名电话
*
* @param mobileNo 報聘经纪人姓名电话
*/
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
/**
* 获取 報聘经纪人姓名证件类型
*
* @return idType 報聘经纪人姓名证件类型
*/
public String getIdType() {
return this.idType;
}
/**
* 设置 報聘经纪人姓名证件类型
*
* @param idType 報聘经纪人姓名证件类型
*/
public void setIdType(String idType) {
this.idType = idType;
}
/**
* 获取 報聘经纪人姓名证件号
*
* @return idNo 報聘经纪人姓名证件号
*/
public String getIdNo() {
return this.idNo;
}
/**
* 设置 報聘经纪人姓名证件号
*
* @param idNo 報聘经纪人姓名证件号
*/
public void setIdNo(String idNo) {
this.idNo = idNo;
}
/**
* 获取 1=Male 2=Female
*
* @return gender 1=Male 2=Female
*/
public String getGender() {
return this.gender;
}
/**
* 设置 1=Male 2=Female
*
* @param gender 1=Male 2=Female
*/
public void setGender(String gender) {
this.gender = gender;
}
/**
* 获取 報聘经纪人姓名生日
*
* @return practitionerBirthdate 報聘经纪人姓名生日
*/
public String getPractitionerBirthdate() {
return this.practitionerBirthdate;
}
/**
* 设置 報聘经纪人姓名生日
*
* @param practitionerBirthdate 報聘经纪人姓名生日
*/
public void setPractitionerBirthdate(String practitionerBirthdate) {
this.practitionerBirthdate = practitionerBirthdate;
}
/**
* 获取 户籍省份名
*
* @return provinceName 户籍省份名
*/
public String getProvinceName() {
return this.provinceName;
}
/**
* 设置 户籍省份名
*
* @param provinceName 户籍省份名
*/
public void setProvinceName(String provinceName) {
this.provinceName = provinceName;
}
/**
* 获取 户籍城市名
*
* @return cityName 户籍城市名
*/
public String getCityName() {
return this.cityName;
}
/**
* 设置 户籍城市名
*
* @param cityName 户籍城市名
*/
public void setCityName(String cityName) {
this.cityName = cityName;
}
/**
* 获取 居住地址
*
* @return residentAddress 居住地址
*/
public String getResidentAddress() {
return this.residentAddress;
}
/**
* 设置 居住地址
*
* @param residentAddress 居住地址
*/
public void setResidentAddress(String residentAddress) {
this.residentAddress = residentAddress;
}
/**
* 获取 从业人员微信号
*
* @return wechatId 从业人员微信号
*/
public String getWechatId() {
return this.wechatId;
}
/**
* 设置 从业人员微信号
*
* @param wechatId 从业人员微信号
*/
public void setWechatId(String wechatId) {
this.wechatId = wechatId;
}
/**
* 获取 email地址
*
* @return email email地址
*/
public String getEmail() {
return this.email;
}
/**
* 设置 email地址
*
* @param email email地址
*/
public void setEmail(String email) {
this.email = email;
}
/**
* 获取 个人照片
*
* @return personerPictureOssPath 个人照片
*/
public String getPersonerPictureOssPath() {
return this.personerPictureOssPath;
}
/**
* 设置 个人照片
*
* @param personerPictureOssPath 个人照片
*/
public void setPersonerPictureOssPath(String personerPictureOssPath) {
this.personerPictureOssPath = personerPictureOssPath;
}
/**
* 获取 Id 正面照片
*
* @return idFrontPageOssPath Id 正面照片
*/
public String getIdFrontPageOssPath() {
return this.idFrontPageOssPath;
}
/**
* 设置 Id 正面照片
*
* @param idFrontPageOssPath Id 正面照片
*/
public void setIdFrontPageOssPath(String idFrontPageOssPath) {
this.idFrontPageOssPath = idFrontPageOssPath;
}
/**
* 获取 Id 反面照片
*
* @return idBackPageOssPath Id 反面照片
*/
public String getIdBackPageOssPath() {
return this.idBackPageOssPath;
}
/**
* 设置 Id 反面照片
*
* @param idBackPageOssPath Id 反面照片
*/
public void setIdBackPageOssPath(String idBackPageOssPath) {
this.idBackPageOssPath = idBackPageOssPath;
}
/**
* 获取 最高学历
*
* @return lastGraduateGrade 最高学历
*/
public String getLastGraduateGrade() {
return this.lastGraduateGrade;
}
/**
* 设置 最高学历
*
* @param lastGraduateGrade 最高学历
*/
public void setLastGraduateGrade(String lastGraduateGrade) {
this.lastGraduateGrade = lastGraduateGrade;
}
/**
* 获取 毕业学校
*
* @return lastGraduateSchool 毕业学校
*/
public String getLastGraduateSchool() {
return this.lastGraduateSchool;
}
/**
* 设置 毕业学校
*
* @param lastGraduateSchool 毕业学校
*/
public void setLastGraduateSchool(String lastGraduateSchool) {
this.lastGraduateSchool = lastGraduateSchool;
}
/**
* 获取 毕业证书
*
* @return lastGraduateCertificationOssPath 毕业证书
*/
public String getLastGraduateCertificationOssPath() {
return this.lastGraduateCertificationOssPath;
}
/**
* 设置 毕业证书
*
* @param lastGraduateCertificationOssPath 毕业证书
*/
public void setLastGraduateCertificationOssPath(String lastGraduateCertificationOssPath) {
this.lastGraduateCertificationOssPath = lastGraduateCertificationOssPath;
}
/**
* 获取 开户行
*
* @return bankAccountOpening 开户行
*/
public String getBankAccountOpening() {
return this.bankAccountOpening;
}
/**
* 设置 开户行
*
* @param bankAccountOpening 开户行
*/
public void setBankAccountOpening(String bankAccountOpening) {
this.bankAccountOpening = bankAccountOpening;
}
/**
* 获取 银行卡号
*
* @return bankAccountId 银行卡号
*/
public String getBankAccountId() {
return this.bankAccountId;
}
/**
* 设置 银行卡号
*
* @param bankAccountId 银行卡号
*/
public void setBankAccountId(String bankAccountId) {
this.bankAccountId = bankAccountId;
}
/**
* 获取 个人签名
*
* @return personalSignOssPath 个人签名
*/
public String getPersonalSignOssPath() {
return this.personalSignOssPath;
}
/**
* 设置 个人签名
*
* @param personalSignOssPath 个人签名
*/
public void setPersonalSignOssPath(String personalSignOssPath) {
this.personalSignOssPath = personalSignOssPath;
}
public String getPayrollOssPath() {
return payrollOssPath;
}
public void setPayrollOssPath(String payrollOssPath) {
this.payrollOssPath = payrollOssPath;
}
public String getApproveStatus() {
return approveStatus;
}
public void setApproveStatus(String approveStatus) {
this.approveStatus = approveStatus;
}
@Override
public String toString() {
return "PractitionerHiringBasicInfo{" +
"approveStatus='" + approveStatus + '\'' +
", inviteePractitionerName='" + inviteePractitionerName + '\'' +
", name='" + name + '\'' +
", mobileNo='" + mobileNo + '\'' +
", idType='" + idType + '\'' +
", idNo='" + idNo + '\'' +
", gender='" + gender + '\'' +
", practitionerBirthdate='" + practitionerBirthdate + '\'' +
", provinceName='" + provinceName + '\'' +
", cityName='" + cityName + '\'' +
", residentAddress='" + residentAddress + '\'' +
", wechatId='" + wechatId + '\'' +
", email='" + email + '\'' +
", personerPictureOssPath='" + personerPictureOssPath + '\'' +
", payrollOssPath='" + payrollOssPath + '\'' +
", idFrontPageOssPath='" + idFrontPageOssPath + '\'' +
", idBackPageOssPath='" + idBackPageOssPath + '\'' +
", lastGraduateGrade='" + lastGraduateGrade + '\'' +
", lastGraduateSchool='" + lastGraduateSchool + '\'' +
", lastGraduateCertificationOssPath='" + lastGraduateCertificationOssPath + '\'' +
", bankAccountOpening='" + bankAccountOpening + '\'' +
", bankAccountId='" + bankAccountId + '\'' +
", personalSignOssPath='" + personalSignOssPath + '\'' +
'}';
}
}
package com.yd.dal.entity.agms.hiring;
/**
* @author xxy
*/
public class PractitionerHiringContractTermsConfirms {
/**
* FK ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 報聘经纪人報聘合同条款
*/
private String contractTerm;
/**
* 1:已确认,0:未确认
*/
private String confirmStatus;
/**
* 获取 報聘经纪人報聘合同条款
*
* @return contractTerm 報聘经纪人報聘合同条款
*/
public String getContractTerm() {
return this.contractTerm;
}
/**
* 设置 報聘经纪人報聘合同条款
*
* @param contractTerm 報聘经纪人報聘合同条款
*/
public void setContractTerm(String contractTerm) {
this.contractTerm = contractTerm;
}
/**
* 获取 1:已确认,0:未确认
*
* @return confirmStatus 1:已确认,0:未确认
*/
public String getConfirmStatus() {
return this.confirmStatus;
}
/**
* 设置 1:已确认,0:未确认
*
* @param confirmStatus 1:已确认,0:未确认
*/
public void setConfirmStatus(String confirmStatus) {
this.confirmStatus = confirmStatus;
}
@Override
public String toString() {
return "PractitionerHiringContractTermsConfirms{" +
"contractTerm=" + contractTerm +
", confirmStatus=" + confirmStatus +
'}';
}
public Long getHiringBasicInfoId() {
return hiringBasicInfoId;
}
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
}
package com.yd.dal.entity.agms.hiring;
/**
* @author xxy
*/
public class PractitionerHiringListInfo {
/**
* 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobileNo;
/**
* 报聘职务
*/
private String practitionerLevel;
/**
* 辅导人
*/
private String mentor;
/**
* 介绍人
*/
private String introducer;
/**
* 体系
*/
private String subsystem;
/**
* 部门id
*/
private Long deptId;
/**
* 分公司
*/
private String branch;
/**
* 申请时间
*/
private String applicationTime;
/**
* 审批状态
*/
private String status;
/**
* 审批时间
*/
private String approvingTime;
/**
* 获取 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @return hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 姓名
*
* @return name 姓名
*/
public String getName() {
return this.name;
}
/**
* 设置 姓名
*
* @param name 姓名
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取 手机号
*
* @return mobileNo 手机号
*/
public String getMobileNo() {
return this.mobileNo;
}
/**
* 设置 手机号
*
* @param mobileNo 手机号
*/
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
/**
* 获取 报聘职务
*
* @return practitionerLevel 报聘职务
*/
public String getPractitionerLevel() {
return this.practitionerLevel;
}
/**
* 设置 报聘职务
*
* @param practitionerLevel 报聘职务
*/
public void setPractitionerLevel(String practitionerLevel) {
this.practitionerLevel = practitionerLevel;
}
/**
* 获取 辅导人
*
* @return mentor 辅导人
*/
public String getMentor() {
return this.mentor;
}
/**
* 设置 辅导人
*
* @param mentor 辅导人
*/
public void setMentor(String mentor) {
this.mentor = mentor;
}
/**
* 获取 介绍人
*
* @return introducer 介绍人
*/
public String getIntroducer() {
return this.introducer;
}
/**
* 设置 介绍人
*
* @param introducer 介绍人
*/
public void setIntroducer(String introducer) {
this.introducer = introducer;
}
/**
* 获取 体系
*
* @return subsystem 体系
*/
public String getSubsystem() {
return this.subsystem;
}
/**
* 设置 体系
*
* @param subsystem 体系
*/
public void setSubsystem(String subsystem) {
this.subsystem = subsystem;
}
/**
* 获取 分公司
*
* @return branch 分公司
*/
public String getBranch() {
return this.branch;
}
/**
* 设置 分公司
*
* @param branch 分公司
*/
public void setBranch(String branch) {
this.branch = branch;
}
/**
* 获取 申请时间
*
* @return applicationTime 申请时间
*/
public String getApplicationTime() {
return this.applicationTime;
}
/**
* 设置 申请时间
*
* @param applicationTime 申请时间
*/
public void setApplicationTime(String applicationTime) {
this.applicationTime = applicationTime;
}
@Override
public String toString() {
return "PractitionerHiringListInfo{" +
"hiringBasicInfoId=" + hiringBasicInfoId +
", name='" + name + '\'' +
", mobileNo='" + mobileNo + '\'' +
", practitionerLevel='" + practitionerLevel + '\'' +
", mentor='" + mentor + '\'' +
", introducer='" + introducer + '\'' +
", subsystem='" + subsystem + '\'' +
", branch='" + branch + '\'' +
", applicationTime='" + applicationTime + '\'' +
'}';
}
public Long getDeptId() {
return deptId;
}
public void setDeptId(Long deptId) {
this.deptId = deptId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getApprovingTime() {
return approvingTime;
}
public void setApprovingTime(String approvingTime) {
this.approvingTime = approvingTime;
}
}
package com.yd.dal.entity.agms.hiring;
/**
* @author xxy
*/
public class PractitionerHiringMemberShip {
/**
* 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
private String practitionerLevelId;
/**
* 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
private String practitionerLevel;
/**
* 辅导人
*/
private String mentor;
/**
* 介绍人
*/
private String introducer;
/**
* 体系
*/
private String subsystem;
/**
* 体系负责人
*/
private String subsystemOwner;
/**
* 分公司
*/
private String branch;
/**
* 获取 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @return practitionerLevelCode 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public String getPractitionerLevelId() {
return this.practitionerLevelId;
}
/**
* 设置 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @param practitionerLevelId 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public void setPractitionerLevelId(String practitionerLevelId) {
this.practitionerLevelId = practitionerLevelId;
}
/**
* 获取 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @return practitionerLevel 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public String getPractitionerLevel() {
return this.practitionerLevel;
}
/**
* 设置 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @param practitionerLevel 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public void setPractitionerLevel(String practitionerLevel) {
this.practitionerLevel = practitionerLevel;
}
/**
* 获取 辅导人
*
* @return mentor 辅导人
*/
public String getMentor() {
return this.mentor;
}
/**
* 设置 辅导人
*
* @param mentor 辅导人
*/
public void setMentor(String mentor) {
this.mentor = mentor;
}
/**
* 获取 介绍人
*
* @return introducer 介绍人
*/
public String getIntroducer() {
return this.introducer;
}
/**
* 设置 介绍人
*
* @param introducer 介绍人
*/
public void setIntroducer(String introducer) {
this.introducer = introducer;
}
/**
* 获取 体系
*
* @return subsystem 体系
*/
public String getSubsystem() {
return this.subsystem;
}
/**
* 设置 体系
*
* @param subsystem 体系
*/
public void setSubsystem(String subsystem) {
this.subsystem = subsystem;
}
/**
* 获取 体系负责人
*
* @return subsystemOwner 体系负责人
*/
public String getSubsystemOwner() {
return this.subsystemOwner;
}
/**
* 设置 体系负责人
*
* @param subsystemOwner 体系负责人
*/
public void setSubsystemOwner(String subsystemOwner) {
this.subsystemOwner = subsystemOwner;
}
/**
* 获取 分公司
*
* @return branch 分公司
*/
public String getBranch() {
return this.branch;
}
/**
* 设置 分公司
*
* @param branch 分公司
*/
public void setBranch(String branch) {
this.branch = branch;
}
@Override
public String toString() {
return "PractitionerHiringMemberShip{" +
"practitionerLevelId='" + practitionerLevelId + '\'' +
", practitionerLevel='" + practitionerLevel + '\'' +
", mentor='" + mentor + '\'' +
", introducer='" + introducer + '\'' +
", subsystem='" + subsystem + '\'' +
", subsystemOwner='" + subsystemOwner + '\'' +
", branch='" + branch + '\'' +
'}';
}
}
package com.yd.dal.entity.agms.hiring;
/**
* @author xxy
*/
public class PractitionerHiringPersonalStatements {
/**
* 个人申明条目
*/
private String personalStatements;
/**
* 个人申明条目,用户补充输入
*/
private String userInput;
/**
* 申明1:有,0:无
*/
private String status;
/**
* 获取 个人申明条目
*
* @return personalStatements 个人申明条目
*/
public String getPersonalStatements() {
return this.personalStatements;
}
/**
* 设置 个人申明条目
*
* @param personalStatements 个人申明条目
*/
public void setPersonalStatements(String personalStatements) {
this.personalStatements = personalStatements;
}
/**
* 获取 申明1:有,0:无
*
* @return status 申明1:有,0:无
*/
public String getStatus() {
return this.status;
}
/**
* 设置 申明1:有,0:无
*
* @param status 申明1:有,0:无
*/
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "PractitionerHiringPersonalStatements{" +
"personalStatements='" + personalStatements + '\'' +
", status=" + status +
'}';
}
public String getUserInput() {
return userInput;
}
public void setUserInput(String userInput) {
this.userInput = userInput;
}
}
package com.yd.dal.entity.agms.hiring;
import java.util.Date;
/**
* @author xxy
*/
public class PractitionerHiringWorkingExperience {
/**
* 工作单位
*/
private String workingCompany;
/**
* 职位
*/
private String position;
/**
* 开始年月
*/
private String workingStart;
/**
* 结束年月
*/
private String workingEnd;
/**
* 获取 工作单位
*
* @return workingCompany 工作单位
*/
public String getWorkingCompany() {
return this.workingCompany;
}
/**
* 设置 工作单位
*
* @param workingCompany 工作单位
*/
public void setWorkingCompany(String workingCompany) {
this.workingCompany = workingCompany;
}
/**
* 获取 职位
*
* @return position 职位
*/
public String getPosition() {
return this.position;
}
/**
* 设置 职位
*
* @param position 职位
*/
public void setPosition(String position) {
this.position = position;
}
/**
* 获取 开始年月
*
* @return workingStart 开始年月
*/
public String getWorkingStart() {
return this.workingStart;
}
/**
* 设置 开始年月
*
* @param workingStart 开始年月
*/
public void setWorkingStart(String workingStart) {
this.workingStart = workingStart;
}
/**
* 获取 结束年月
*
* @return workingEnd 结束年月
*/
public String getWorkingEnd() {
return this.workingEnd;
}
/**
* 设置 结束年月
*
* @param workingEnd 结束年月
*/
public void setWorkingEnd(String workingEnd) {
this.workingEnd = workingEnd;
}
/**
* 获取 0=No 1=Yes
*
* @return isActive 0=No 1=Yes
*/
@Override
public String toString() {
return "PractitionerHiringWorkingExperience{" +
"workingCompany='" + workingCompany + '\'' +
", position='" + position + '\'' +
", workingStart=" + workingStart +
", workingEnd=" + workingEnd +
'}';
}
}
...@@ -202,5 +202,7 @@ public class AclPractitioner implements Serializable { ...@@ -202,5 +202,7 @@ public class AclPractitioner implements Serializable {
*/ */
private Integer gender; private Integer gender;
private Long hiringBasicInfoId;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人報聘审批记录
*/
@Data
public class AclPractitionerHiringApproveRecords {
/**
* serial id
*/
private Long id;
/**
* FK ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 审批步骤id
*/
private String approveStepId;
/**
* 审批步骤名称
*/
private String approveStepName;
/**
* 审批顺序
*/
private String stepSeq;
/**
* 执行动作的审批经纪人id FK ag_acl_practitioner.id
*/
private Long approvingPractitionerId;
/**
* 1:通过,0:驳回
*/
private Long approvingStatus;
/**
* 备注,驳回原因
*/
private String rejectNote;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人基本资料表
*/
@Data
public class AclPractitionerHiringBasicInfo {
/**
* serial id
*/
private Long id;
/**
* 审批状态,包括待审批null及审批步骤seq,通过0,拒绝-1
*/
private String approveStatus;
/**
* FK ag_acl_practitioner_potential,潜在经纪人增员表
*/
private Long practitionerPotentialId;
/**
* FK ag_acl_practitioner.id 邀请人
*/
private Long inviteePractitionerId;
/**
* 報聘经纪人姓名
*/
private String name;
/**
* 報聘经纪人姓名电话
*/
private String mobileNo;
/**
* FK ag_md_id_type.id
*/
private Long idTypeId;
/**
* 報聘经纪人姓名证件类型
*/
private String idType;
/**
* 報聘经纪人姓名证件号
*/
private String idNo;
/**
* 1=Male, 2=Female
*/
private Integer gender;
/**
* 報聘经纪人姓名生日
*/
private Date practitionerBirthdate;
/**
* 户籍省份 FK ag_md_province.id
*/
private Long provinceId;
/**
* 户籍省份名
*/
private String provinceName;
/**
* 户籍城市FK ag_md_city.id
*/
private Long cityId;
/**
* 户籍城市名
*/
private String cityName;
/**
* 居住地址
*/
private String residentAddress;
/**
* 从业人员微信号
*/
private String wechatId;
/**
* email地址
*/
private String email;
/**
* 个人照片
*/
private String personerPictureOssPath;
/**
* 个人照片
*/
private String payrollOssPath;
/**
* Id 正面照片
*/
private String idFrontPageOssPath;
/**
* Id 反面照片
*/
private String idBackPageOssPath;
/**
* 学历编码 FK ag_md_code.code_type:EducationLevel code_code
*/
private String lastGraduateCode;
/**
* 最高学历
*/
private String lastGraduateGrade;
/**
* 毕业学校
*/
private String lastGraduateSchool;
/**
* 毕业证书
*/
private String lastGraduateCertificationOssPath;
/**
* 开户行
*/
private String bankAccountOpening;
/**
* 银行卡号
*/
private String bankAccountId;
/**
* 个人签名
*/
private String personalSignOssPath;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人報聘合同条款确认
*/
@Data
public class AclPractitionerHiringContractTermsConfirms {
/**
* serial id
*/
private Long id;
/**
* FK ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 報聘经纪人報聘合同条款id FK ag_md_practitioner_hiring_contract_terms.id
*/
private Long contractTermId;
/**
* 1:已确认,0:未确认
*/
private Long confirmStatus;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人组织关系表
*/
@Data
public class AclPractitionerHiringMembership {
/**
* serial id
*/
private Long id;
/**
* FK ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
private Long mdDropOptionId;
/**
* 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
private String mdDropOptionName;
/**
* 辅导人id
*/
private Long mentorPractitionerId;
/**
* 辅导人
*/
private String mentor;
/**
* 介绍人id
*/
private Long introducerPractitionerId;
/**
* 介绍人
*/
private String introducer;
/**
* 体系id
*/
private Long subsystemId;
/**
* 体系
*/
private String subsystem;
/**
* 体系负责人_practitioner_id
*/
private Long subsystemOwnerId;
/**
* 体系负责人
*/
private String subsystemOwner;
/**
* 分公司id
*/
private Long branchId;
/**
* 分公司
*/
private String branch;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人个人申明记录表
*/
@Data
public class AclPractitionerHiringPersonalStatements {
/**
* serial id
*/
private Long id;
/**
* FK ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 報聘经纪人个人申明条目 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "EHiring_Personal_Statements"
*/
private Long mdDropOptionId;
/**
* 个人申明条目 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "EHiring_Personal_Statements"
*/
private String mdDropOptionName;
/**
* 个人申明条目,用户补充输入
*/
private String userInput;
/**
* 申明1:有,0:无
*/
private Long status;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.customer;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人基本资料表
*/
@Data
public class AclPractitionerHiringWorkingExperience {
/**
* serial id
*/
private Long id;
/**
* FK ag_acl_practitioner_hiring_basic_info.id
*/
private Long hiringBasicInfoId;
/**
* 工作单位
*/
private String workingCompany;
/**
* 职位
*/
private String position;
/**
* 开始年月
*/
private String workingStart;
/**
* 结束年月
*/
private String workingEnd;
/**
* 排序
*/
private Long seq;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.meta;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人報聘审批步骤设置
* @author xxy
*/
@Data
public class MdPractitionerHiringApproveSteps implements Serializable {
/**
* serial id
*/
private Long id;
/**
* 审批步骤名称
*/
private String stepName;
/**
* 审批负责人角色
*/
private String approveRole;
/**
* 指定审批负责人
*/
private String appointedApprovePractitioners;
/**
* 审批顺序
*/
private Integer stepSeq;
/**
* 总经理审批职级S2以上,FK ag_acl_practitioner_hiring_membership.md_drop_option_id
*/
private String canAprroveGrade;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.meta;
import java.util.Date;
import lombok.Data;
/**
* 報聘经纪人報聘合同条款
*/
@Data
public class MdPractitionerHiringContractTerms {
/**
* serial id
*/
private Long id;
/**
* 合同条款名称
*/
private String termName;
/**
* 合同条款解释
*/
private String termNote;
/**
* 显示顺序
*/
private Integer displaySeq;
/**
* 0=No, 1=Yes
*/
private Integer isActive;
/**
* 建置日
*/
private Date createdAt;
/**
* 建置者
*/
private Long createdBy;
/**
* 更新日
*/
private Date updatedAt;
private Long updatedBy;
}
\ No newline at end of file
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringApproveRecords {
/**
* 审批步骤id
*/
private Long approveStepId;
/**
* 审批步骤名称
*/
private String approveStepName;
/**
* 执行动作的审批经纪人Id
*/
private Long approvingPractitionerId;
/**
* 执行动作的审批经纪人
*/
private String approvingPractitionerName;
/**
* 审批经纪人头像
*/
private String headImagePath;
/**
* 审批经纪人职级
*/
private String levelName;
/**
* 1:通过,0:驳回 2:未审批
*/
private Long approvingStatusId;
/**
* 1:通过,0:驳回 2:未审批
*/
private String approvingStatus;
/**
* 备注,驳回原因
*/
private String rejectNote;
/**
* 面试评价
*/
private String interviewAssessment;
/**
* 审批时间
*/
private String hiringAt;
/**
* 获取 审批步骤id
*
* @return approveStepId 审批步骤id
*/
public Long getApproveStepId() {
return this.approveStepId;
}
/**
* 设置 审批步骤id
*
* @param approveStepId 审批步骤id
*/
public void setApproveStepId(Long approveStepId) {
this.approveStepId = approveStepId;
}
/**
* 获取 审批步骤名称
*
* @return approveStepName 审批步骤名称
*/
public String getApproveStepName() {
return this.approveStepName;
}
/**
* 设置 审批步骤名称
*
* @param approveStepName 审批步骤名称
*/
public void setApproveStepName(String approveStepName) {
this.approveStepName = approveStepName;
}
/**
* 获取 执行动作的审批经纪人Id
*
* @return approvingPractitionerId 执行动作的审批经纪人Id
*/
public Long getApprovingPractitionerId() {
return this.approvingPractitionerId;
}
/**
* 设置 执行动作的审批经纪人Id
*
* @param approvingPractitionerId 执行动作的审批经纪人Id
*/
public void setApprovingPractitionerId(Long approvingPractitionerId) {
this.approvingPractitionerId = approvingPractitionerId;
}
/**
* 获取 执行动作的审批经纪人
*
* @return approvingPractitionerName 执行动作的审批经纪人
*/
public String getApprovingPractitionerName() {
return this.approvingPractitionerName;
}
/**
* 设置 执行动作的审批经纪人
*
* @param approvingPractitionerName 执行动作的审批经纪人
*/
public void setApprovingPractitionerName(String approvingPractitionerName) {
this.approvingPractitionerName = approvingPractitionerName;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatusId 1:通过,0:驳回
*/
public Long getApprovingStatusId() {
return this.approvingStatusId;
}
/**
* 设置 1:通过,0:驳回
*
* @param approvingStatusId 1:通过,0:驳回
*/
public void setApprovingStatusId(Long approvingStatusId) {
this.approvingStatusId = approvingStatusId;
}
/**
* 获取 1:通过,0:驳回
*
* @return approvingStatus 1:通过,0:驳回
*/
public String getApprovingStatus() {
return this.approvingStatus;
}
/**
* 设置 1:通过,0:驳回
*
* @param approvingStatus 1:通过,0:驳回
*/
public void setApprovingStatus(String approvingStatus) {
this.approvingStatus = approvingStatus;
}
/**
* 获取 备注,驳回原因
*
* @return rejectNote 备注,驳回原因
*/
public String getRejectNote() {
return this.rejectNote;
}
/**
* 设置 备注,驳回原因
*
* @param rejectNote 备注,驳回原因
*/
public void setRejectNote(String rejectNote) {
this.rejectNote = rejectNote;
}
/**
* 获取 审批时间
*
* @return hiringAt 审批时间
*/
public String getHiringAt() {
return this.hiringAt;
}
/**
* 设置 审批时间
*
* @param hiringAt 审批时间
*/
public void setHiringAt(String hiringAt) {
this.hiringAt = hiringAt;
}
@Override
public String toString() {
return "PractitionerHiringApproveRecords{" +
"approveStepId=" + approveStepId +
", approveStepName='" + approveStepName + '\'' +
", approvingPractitionerId=" + approvingPractitionerId +
", approvingPractitionerName='" + approvingPractitionerName + '\'' +
", approvingStatusId=" + approvingStatusId +
", approvingStatus='" + approvingStatus + '\'' +
", rejectNote='" + rejectNote + '\'' +
", hiringAt='" + hiringAt + '\'' +
'}';
}
public String getHeadImagePath() {
return headImagePath;
}
public void setHeadImagePath(String headImagePath) {
this.headImagePath = headImagePath;
}
public String getLevelName() {
return levelName;
}
public void setLevelName(String levelName) {
this.levelName = levelName;
}
public String getInterviewAssessment() {
return interviewAssessment;
}
public void setInterviewAssessment(String interviewAssessment) {
this.interviewAssessment = interviewAssessment;
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringApproveSteps {
/**
* 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*/
private Long hiringApproveStatus;
/**
* 审批步骤经行到哪一步了
*/
private Long hiringApproveStepsSeq;
/**
* 获取 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*
* @return hiringApproveStatus 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*/
public Long getHiringApproveStatus() {
return this.hiringApproveStatus;
}
/**
* 设置 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*
* @param hiringApproveStatus 是否可进行审批操作 0.不可审批(未到) 1.可审批 2.已审批 3.无权审批(默认) 4.已驳回
*/
public void setHiringApproveStatus(Long hiringApproveStatus) {
this.hiringApproveStatus = hiringApproveStatus;
}
/**
* 获取 审批步骤经行到哪一步了
*
* @return hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public Long getHiringApproveStepsSeq() {
return this.hiringApproveStepsSeq;
}
/**
* 设置 审批步骤经行到哪一步了
*
* @param hiringApproveStepsSeq 审批步骤经行到哪一步了
*/
public void setHiringApproveStepsSeq(Long hiringApproveStepsSeq) {
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
public HiringApproveSteps(Long hiringApproveStatus,Long hiringApproveStepsSeq){
this.hiringApproveStatus = hiringApproveStatus;
this.hiringApproveStepsSeq = hiringApproveStepsSeq;
}
public HiringApproveSteps(){
}
@Override
public String toString() {
return "PractitionerHiringApproveSteps{" +
"hiringApproveStatus=" + hiringApproveStatus +
", hiringApproveStepsSeq=" + hiringApproveStepsSeq +
'}';
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringBasicInfo {
/**
* 审批状态,包括待审批null及审批步骤seq,通过0,拒绝-1
*/
private String approveStatus;
/**
* 邀请人名字
*/
private String inviteePractitionerName;
/**
* 報聘经纪人姓名
*/
private String name;
/**
* 報聘经纪人姓名电话
*/
private String mobileNo;
/**
* 報聘经纪人姓名证件类型
*/
private String idType;
/**
* 報聘经纪人姓名证件号
*/
private String idNo;
/**
* 1=Male, 2=Female
*/
private String gender;
/**
* 報聘经纪人姓名生日
*/
private String practitionerBirthdate;
/**
* 户籍省份名
*/
private String provinceName;
/**
* 户籍城市名
*/
private String cityName;
/**
* 居住地址
*/
private String residentAddress;
/**
* 从业人员微信号
*/
private String wechatId;
/**
* email地址
*/
private String email;
/**
* 个人照片
*/
private String personerPictureOssPath;
/**
* 个人薪资单图片
*/
private String payrollOssPath;
/**
* Id 正面照片
*/
private String idFrontPageOssPath;
/**
* Id 反面照片
*/
private String idBackPageOssPath;
/**
* 最高学历
*/
private String lastGraduateGrade;
/**
* 毕业学校
*/
private String lastGraduateSchool;
/**
* 毕业证书
*/
private String lastGraduateCertificationOssPath;
/**
* 开户行
*/
private String bankAccountOpening;
/**
* 银行卡号
*/
private String bankAccountId;
/**
* 个人签名
*/
private String personalSignOssPath;
/**
* 获取 邀请人名字
*
* @return inviteePractitionerName 邀请人名字
*/
public String getInviteePractitionerName() {
return this.inviteePractitionerName;
}
/**
* 设置 邀请人名字
*
* @param inviteePractitionerName 邀请人名字
*/
public void setInviteePractitionerName(String inviteePractitionerName) {
this.inviteePractitionerName = inviteePractitionerName;
}
/**
* 获取 報聘经纪人姓名
*
* @return name 報聘经纪人姓名
*/
public String getName() {
return this.name;
}
/**
* 设置 報聘经纪人姓名
*
* @param name 報聘经纪人姓名
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取 報聘经纪人姓名电话
*
* @return mobileNo 報聘经纪人姓名电话
*/
public String getMobileNo() {
return this.mobileNo;
}
/**
* 设置 報聘经纪人姓名电话
*
* @param mobileNo 報聘经纪人姓名电话
*/
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
/**
* 获取 報聘经纪人姓名证件类型
*
* @return idType 報聘经纪人姓名证件类型
*/
public String getIdType() {
return this.idType;
}
/**
* 设置 報聘经纪人姓名证件类型
*
* @param idType 報聘经纪人姓名证件类型
*/
public void setIdType(String idType) {
this.idType = idType;
}
/**
* 获取 報聘经纪人姓名证件号
*
* @return idNo 報聘经纪人姓名证件号
*/
public String getIdNo() {
return this.idNo;
}
/**
* 设置 報聘经纪人姓名证件号
*
* @param idNo 報聘经纪人姓名证件号
*/
public void setIdNo(String idNo) {
this.idNo = idNo;
}
/**
* 获取 1=Male 2=Female
*
* @return gender 1=Male 2=Female
*/
public String getGender() {
return this.gender;
}
/**
* 设置 1=Male 2=Female
*
* @param gender 1=Male 2=Female
*/
public void setGender(String gender) {
this.gender = gender;
}
/**
* 获取 報聘经纪人姓名生日
*
* @return practitionerBirthdate 報聘经纪人姓名生日
*/
public String getPractitionerBirthdate() {
return this.practitionerBirthdate;
}
/**
* 设置 報聘经纪人姓名生日
*
* @param practitionerBirthdate 報聘经纪人姓名生日
*/
public void setPractitionerBirthdate(String practitionerBirthdate) {
this.practitionerBirthdate = practitionerBirthdate;
}
/**
* 获取 户籍省份名
*
* @return provinceName 户籍省份名
*/
public String getProvinceName() {
return this.provinceName;
}
/**
* 设置 户籍省份名
*
* @param provinceName 户籍省份名
*/
public void setProvinceName(String provinceName) {
this.provinceName = provinceName;
}
/**
* 获取 户籍城市名
*
* @return cityName 户籍城市名
*/
public String getCityName() {
return this.cityName;
}
/**
* 设置 户籍城市名
*
* @param cityName 户籍城市名
*/
public void setCityName(String cityName) {
this.cityName = cityName;
}
/**
* 获取 居住地址
*
* @return residentAddress 居住地址
*/
public String getResidentAddress() {
return this.residentAddress;
}
/**
* 设置 居住地址
*
* @param residentAddress 居住地址
*/
public void setResidentAddress(String residentAddress) {
this.residentAddress = residentAddress;
}
/**
* 获取 从业人员微信号
*
* @return wechatId 从业人员微信号
*/
public String getWechatId() {
return this.wechatId;
}
/**
* 设置 从业人员微信号
*
* @param wechatId 从业人员微信号
*/
public void setWechatId(String wechatId) {
this.wechatId = wechatId;
}
/**
* 获取 email地址
*
* @return email email地址
*/
public String getEmail() {
return this.email;
}
/**
* 设置 email地址
*
* @param email email地址
*/
public void setEmail(String email) {
this.email = email;
}
/**
* 获取 个人照片
*
* @return personerPictureOssPath 个人照片
*/
public String getPersonerPictureOssPath() {
return this.personerPictureOssPath;
}
/**
* 设置 个人照片
*
* @param personerPictureOssPath 个人照片
*/
public void setPersonerPictureOssPath(String personerPictureOssPath) {
this.personerPictureOssPath = personerPictureOssPath;
}
/**
* 获取 Id 正面照片
*
* @return idFrontPageOssPath Id 正面照片
*/
public String getIdFrontPageOssPath() {
return this.idFrontPageOssPath;
}
/**
* 设置 Id 正面照片
*
* @param idFrontPageOssPath Id 正面照片
*/
public void setIdFrontPageOssPath(String idFrontPageOssPath) {
this.idFrontPageOssPath = idFrontPageOssPath;
}
/**
* 获取 Id 反面照片
*
* @return idBackPageOssPath Id 反面照片
*/
public String getIdBackPageOssPath() {
return this.idBackPageOssPath;
}
/**
* 设置 Id 反面照片
*
* @param idBackPageOssPath Id 反面照片
*/
public void setIdBackPageOssPath(String idBackPageOssPath) {
this.idBackPageOssPath = idBackPageOssPath;
}
/**
* 获取 最高学历
*
* @return lastGraduateGrade 最高学历
*/
public String getLastGraduateGrade() {
return this.lastGraduateGrade;
}
/**
* 设置 最高学历
*
* @param lastGraduateGrade 最高学历
*/
public void setLastGraduateGrade(String lastGraduateGrade) {
this.lastGraduateGrade = lastGraduateGrade;
}
/**
* 获取 毕业学校
*
* @return lastGraduateSchool 毕业学校
*/
public String getLastGraduateSchool() {
return this.lastGraduateSchool;
}
/**
* 设置 毕业学校
*
* @param lastGraduateSchool 毕业学校
*/
public void setLastGraduateSchool(String lastGraduateSchool) {
this.lastGraduateSchool = lastGraduateSchool;
}
/**
* 获取 毕业证书
*
* @return lastGraduateCertificationOssPath 毕业证书
*/
public String getLastGraduateCertificationOssPath() {
return this.lastGraduateCertificationOssPath;
}
/**
* 设置 毕业证书
*
* @param lastGraduateCertificationOssPath 毕业证书
*/
public void setLastGraduateCertificationOssPath(String lastGraduateCertificationOssPath) {
this.lastGraduateCertificationOssPath = lastGraduateCertificationOssPath;
}
/**
* 获取 开户行
*
* @return bankAccountOpening 开户行
*/
public String getBankAccountOpening() {
return this.bankAccountOpening;
}
/**
* 设置 开户行
*
* @param bankAccountOpening 开户行
*/
public void setBankAccountOpening(String bankAccountOpening) {
this.bankAccountOpening = bankAccountOpening;
}
/**
* 获取 银行卡号
*
* @return bankAccountId 银行卡号
*/
public String getBankAccountId() {
return this.bankAccountId;
}
/**
* 设置 银行卡号
*
* @param bankAccountId 银行卡号
*/
public void setBankAccountId(String bankAccountId) {
this.bankAccountId = bankAccountId;
}
/**
* 获取 个人签名
*
* @return personalSignOssPath 个人签名
*/
public String getPersonalSignOssPath() {
return this.personalSignOssPath;
}
/**
* 设置 个人签名
*
* @param personalSignOssPath 个人签名
*/
public void setPersonalSignOssPath(String personalSignOssPath) {
this.personalSignOssPath = personalSignOssPath;
}
public String getPayrollOssPath() {
return payrollOssPath;
}
public void setPayrollOssPath(String payrollOssPath) {
this.payrollOssPath = payrollOssPath;
}
@Override
public String toString() {
return "HiringBasicInfo{" +
"inviteePractitionerName='" + inviteePractitionerName + '\'' +
", name='" + name + '\'' +
", mobileNo='" + mobileNo + '\'' +
", idType='" + idType + '\'' +
", idNo='" + idNo + '\'' +
", gender='" + gender + '\'' +
", practitionerBirthdate='" + practitionerBirthdate + '\'' +
", provinceName='" + provinceName + '\'' +
", cityName='" + cityName + '\'' +
", residentAddress='" + residentAddress + '\'' +
", wechatId='" + wechatId + '\'' +
", email='" + email + '\'' +
", personerPictureOssPath='" + personerPictureOssPath + '\'' +
", payrollOssPath='" + payrollOssPath + '\'' +
", idFrontPageOssPath='" + idFrontPageOssPath + '\'' +
", idBackPageOssPath='" + idBackPageOssPath + '\'' +
", lastGraduateGrade='" + lastGraduateGrade + '\'' +
", lastGraduateSchool='" + lastGraduateSchool + '\'' +
", lastGraduateCertificationOssPath='" + lastGraduateCertificationOssPath + '\'' +
", bankAccountOpening='" + bankAccountOpening + '\'' +
", bankAccountId='" + bankAccountId + '\'' +
", personalSignOssPath='" + personalSignOssPath + '\'' +
'}';
}
public String getApproveStatus() {
return approveStatus;
}
public void setApproveStatus(String approveStatus) {
this.approveStatus = approveStatus;
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringContractTermsConfirms {
/**
* 報聘经纪人報聘合同条款
*/
private String contractTerm;
/**
* 1:已确认,0:未确认
*/
private String confirmStatus;
/**
* 获取 報聘经纪人報聘合同条款
*
* @return contractTerm 報聘经纪人報聘合同条款
*/
public String getContractTerm() {
return this.contractTerm;
}
/**
* 设置 報聘经纪人報聘合同条款
*
* @param contractTerm 報聘经纪人報聘合同条款
*/
public void setContractTerm(String contractTerm) {
this.contractTerm = contractTerm;
}
/**
* 获取 1:已确认,0:未确认
*
* @return confirmStatus 1:已确认,0:未确认
*/
public String getConfirmStatus() {
return this.confirmStatus;
}
/**
* 设置 1:已确认,0:未确认
*
* @param confirmStatus 1:已确认,0:未确认
*/
public void setConfirmStatus(String confirmStatus) {
this.confirmStatus = confirmStatus;
}
@Override
public String toString() {
return "PractitionerHiringContractTermsConfirms{" +
"contractTerm=" + contractTerm +
", confirmStatus=" + confirmStatus +
'}';
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringListInfo {
/**
* 经纪人基本信息id
*/
private Long hiringBasicInfoId;
/**
* 姓名
*/
private String name;
/**
* 手机号
*/
private String mobileNo;
/**
* 报聘职级
*/
private String practitionerLevel;
/**
* 辅导人
*/
private String mentor;
/**
* 申请日期
*/
private String applicationTime;
/**
* 获取 经纪人基本信息id
*
* @return hiringBasicInfoId 经纪人基本信息id
*/
public Long getHiringBasicInfoId() {
return this.hiringBasicInfoId;
}
/**
* 设置 经纪人基本信息id
*
* @param hiringBasicInfoId 经纪人基本信息id
*/
public void setHiringBasicInfoId(Long hiringBasicInfoId) {
this.hiringBasicInfoId = hiringBasicInfoId;
}
/**
* 获取 姓名
*
* @return name 姓名
*/
public String getName() {
return this.name;
}
/**
* 设置 姓名
*
* @param name 姓名
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取 手机号
*
* @return mobileNo 手机号
*/
public String getMobileNo() {
return this.mobileNo;
}
/**
* 设置 手机号
*
* @param mobileNo 手机号
*/
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
/**
* 获取 报聘职级
*
* @return practitionerLevel 报聘职级
*/
public String getPractitionerLevel() {
return this.practitionerLevel;
}
/**
* 设置 报聘职级
*
* @param practitionerLevel 报聘职级
*/
public void setPractitionerLevel(String practitionerLevel) {
this.practitionerLevel = practitionerLevel;
}
/**
* 获取 辅导人
*
* @return mentor 辅导人
*/
public String getMentor() {
return this.mentor;
}
/**
* 设置 辅导人
*
* @param mentor 辅导人
*/
public void setMentor(String mentor) {
this.mentor = mentor;
}
/**
* 获取 申请日期
*
* @return applicationTime 申请日期
*/
public String getApplicationTime() {
return this.applicationTime;
}
/**
* 设置 申请日期
*
* @param applicationTime 申请日期
*/
public void setApplicationTime(String applicationTime) {
this.applicationTime = applicationTime;
}
@Override
public String toString() {
return "HiringListInfo{" +
"hiringBasicInfoId=" + hiringBasicInfoId +
", name='" + name + '\'' +
", mobileNo='" + mobileNo + '\'' +
", practitionerLevel='" + practitionerLevel + '\'' +
", mentor='" + mentor + '\'' +
", applicationTime='" + applicationTime + '\'' +
'}';
}
public boolean equals(Object obj) {
HiringListInfo u = (HiringListInfo) obj;
return this.hiringBasicInfoId.equals(u.getHiringBasicInfoId());
}
public int hashCode() {
Long in = this.hiringBasicInfoId;
return in.hashCode();
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringMemberShip {
/**
* 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
private String practitionerLevelId;
/**
* 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
private String practitionerLevel;
/**
* 辅导人
*/
private String mentor;
/**
* 介绍人
*/
private String introducer;
/**
* 体系
*/
private String subsystem;
/**
* 体系负责人
*/
private String subsystemOwner;
/**
* 分公司
*/
private String branch;
/**
* 获取 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @return practitionerLevelCode 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public String getPractitionerLevelId() {
return this.practitionerLevelId;
}
/**
* 设置 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @param practitionerLevelId 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public void setPractitionerLevelId(String practitionerLevelId) {
this.practitionerLevelId = practitionerLevelId;
}
/**
* 获取 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @return practitionerLevel 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public String getPractitionerLevel() {
return this.practitionerLevel;
}
/**
* 设置 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*
* @param practitionerLevel 報聘经纪人职级类型 FK ag_md_drop_options.id: ag_md_drop_master.scenario_code = "practitioner_level"
*/
public void setPractitionerLevel(String practitionerLevel) {
this.practitionerLevel = practitionerLevel;
}
/**
* 获取 辅导人
*
* @return mentor 辅导人
*/
public String getMentor() {
return this.mentor;
}
/**
* 设置 辅导人
*
* @param mentor 辅导人
*/
public void setMentor(String mentor) {
this.mentor = mentor;
}
/**
* 获取 介绍人
*
* @return introducer 介绍人
*/
public String getIntroducer() {
return this.introducer;
}
/**
* 设置 介绍人
*
* @param introducer 介绍人
*/
public void setIntroducer(String introducer) {
this.introducer = introducer;
}
/**
* 获取 体系
*
* @return subsystem 体系
*/
public String getSubsystem() {
return this.subsystem;
}
/**
* 设置 体系
*
* @param subsystem 体系
*/
public void setSubsystem(String subsystem) {
this.subsystem = subsystem;
}
/**
* 获取 体系负责人
*
* @return subsystemOwner 体系负责人
*/
public String getSubsystemOwner() {
return this.subsystemOwner;
}
/**
* 设置 体系负责人
*
* @param subsystemOwner 体系负责人
*/
public void setSubsystemOwner(String subsystemOwner) {
this.subsystemOwner = subsystemOwner;
}
/**
* 获取 分公司
*
* @return branch 分公司
*/
public String getBranch() {
return this.branch;
}
/**
* 设置 分公司
*
* @param branch 分公司
*/
public void setBranch(String branch) {
this.branch = branch;
}
@Override
public String toString() {
return "PractitionerHiringMemberShip{" +
"practitionerLevelId='" + practitionerLevelId + '\'' +
", practitionerLevel='" + practitionerLevel + '\'' +
", mentor='" + mentor + '\'' +
", introducer='" + introducer + '\'' +
", subsystem='" + subsystem + '\'' +
", subsystemOwner='" + subsystemOwner + '\'' +
", branch='" + branch + '\'' +
'}';
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringPersonalStatements {
/**
* 个人申明条目
*/
private String personalStatements;
/**
* 申明1:有,0:无
*/
private String status;
/**
* 获取 个人申明条目
*
* @return personalStatements 个人申明条目
*/
public String getPersonalStatements() {
return this.personalStatements;
}
/**
* 设置 个人申明条目
*
* @param personalStatements 个人申明条目
*/
public void setPersonalStatements(String personalStatements) {
this.personalStatements = personalStatements;
}
/**
* 获取 申明1:有,0:无
*
* @return status 申明1:有,0:无
*/
public String getStatus() {
return this.status;
}
/**
* 设置 申明1:有,0:无
*
* @param status 申明1:有,0:无
*/
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "PractitionerHiringPersonalStatements{" +
"personalStatements='" + personalStatements + '\'' +
", status=" + status +
'}';
}
}
package com.yd.dal.entity.practitioner.hiring;
/**
* @author xxy
*/
public class HiringWorkingExperience {
/**
* 工作单位
*/
private String workingCompany;
/**
* 职位
*/
private String position;
/**
* 开始年月
*/
private String workingStart;
/**
* 结束年月
*/
private String workingEnd;
/**
* 获取 工作单位
*
* @return workingCompany 工作单位
*/
public String getWorkingCompany() {
return this.workingCompany;
}
/**
* 设置 工作单位
*
* @param workingCompany 工作单位
*/
public void setWorkingCompany(String workingCompany) {
this.workingCompany = workingCompany;
}
/**
* 获取 职位
*
* @return position 职位
*/
public String getPosition() {
return this.position;
}
/**
* 设置 职位
*
* @param position 职位
*/
public void setPosition(String position) {
this.position = position;
}
/**
* 获取 开始年月
*
* @return workingStart 开始年月
*/
public String getWorkingStart() {
return this.workingStart;
}
/**
* 设置 开始年月
*
* @param workingStart 开始年月
*/
public void setWorkingStart(String workingStart) {
this.workingStart = workingStart;
}
/**
* 获取 结束年月
*
* @return workingEnd 结束年月
*/
public String getWorkingEnd() {
return this.workingEnd;
}
/**
* 设置 结束年月
*
* @param workingEnd 结束年月
*/
public void setWorkingEnd(String workingEnd) {
this.workingEnd = workingEnd;
}
/**
* 获取 0=No 1=Yes
*
* @return isActive 0=No 1=Yes
*/
@Override
public String toString() {
return "PractitionerHiringWorkingExperience{" +
"workingCompany='" + workingCompany + '\'' +
", position='" + position + '\'' +
", workingStart=" + workingStart +
", workingEnd=" + workingEnd +
'}';
}
}
...@@ -212,4 +212,31 @@ public class AclUser { ...@@ -212,4 +212,31 @@ public class AclUser {
public void setUpdatedBy(Long updatedBy) { public void setUpdatedBy(Long updatedBy) {
this.updatedBy = updatedBy; this.updatedBy = updatedBy;
} }
@Override
public String toString() {
return "AclUser{" +
"id=" + id +
", userRole=" + userRole +
", employeeNo='" + employeeNo + '\'' +
", company=" + company +
", deptId=" + deptId +
", roleId=" + roleId +
", login='" + login + '\'' +
", password='" + password + '\'' +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
", mobileNo='" + mobileNo + '\'' +
", idNo='" + idNo + '\'' +
", lastLoginTime=" + lastLoginTime +
", logoutTime=" + logoutTime +
", loginSource=" + loginSource +
", isActive=" + isActive +
", email='" + email + '\'' +
", createdAt=" + createdAt +
", createdBy=" + createdBy +
", updatedAt=" + updatedAt +
", updatedBy=" + updatedBy +
'}';
}
} }
\ No newline at end of file
package com.yd.dal.mapper.agms;
import com.github.pagehelper.Page;
import com.yd.api.agms.vo.hiring.PractitionerHiringListRequestVO;
import com.yd.dal.entity.agms.hiring.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author xxy
*/
public interface AgmsHiringMapper {
/**
* 经纪人审批基本信息
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
PractitionerHiringBasicInfo findPractitionerHiringBasicInfo(Long hiringBasicInfoId);
/**
* 审批经纪人关系
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
PractitionerHiringMemberShip findPractitionerHiringMemberShip(Long hiringBasicInfoId);
/**
* 审批经纪人工作经历
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringWorkingExperience> findPractitionerHiringWorkingExperienceList(Long hiringBasicInfoId);
/**
* 经纪人申请名目
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringPersonalStatements> findPractitionerHiringPersonalStatementsList(Long hiringBasicInfoId);
/**
* 经纪人合同条款是否同意
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringContractTermsConfirms> findPractitionerHiringContractTermsConfirmsList(Long hiringBasicInfoId);
/**
* 已审批结果
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringApproveRecords> findPractitionerHiringApproveRecordsList(Long hiringBasicInfoId);
/**
* 通过loginId查询对应的经纪人id
* @param loginId agms登入者id
* @return 经纪人id
*/
Long findPractitionerIdByLoginId(Long loginId);
/**
* 经纪人报聘列表查询
* @param requestVO 查询条件
* @return 列表结果
*/
Page<PractitionerHiringListInfo> practitionerHiringList(PractitionerHiringListRequestVO requestVO);
List<PractitionerHiringListInfo> queryHandledList(@Param("practitionerId")Long practitionerId,
@Param("status")String status,
@Param("branchId")Long branchId,
@Param("deptId")Long deptId,
@Param("subsystemId")Long subsystemId,
@Param("name")String name
);
Page<PractitionerHiringListInfo> queryUnhandledList(@Param("approveStatus")String approveStatus,
@Param("list")List<String> canAprroveGrades,
@Param("branchId")Long branchId,
@Param("deptId")Long deptId,
@Param("subsystemId")Long subsystemId,
@Param("name")String name
);
List<PractitionerHiringListInfo> queryS2List(@Param("approveStatus")String approveStatus);
}
package com.yd.dal.mapper.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AclPractitionerHiringApproveRecordsMapper {
int deleteByPrimaryKey(Long id);
int insert(AclPractitionerHiringApproveRecords record);
int insertSelective(AclPractitionerHiringApproveRecords record);
AclPractitionerHiringApproveRecords selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AclPractitionerHiringApproveRecords record);
int updateByPrimaryKey(AclPractitionerHiringApproveRecords record);
int updateBatch(List<AclPractitionerHiringApproveRecords> list);
int updateBatchSelective(List<AclPractitionerHiringApproveRecords> list);
int batchInsert(@Param("list") List<AclPractitionerHiringApproveRecords> list);
AclPractitionerHiringApproveRecords queryLastOneByBasicInfoId(Long basicInfoId);
List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId);
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AclPractitionerHiringBasicInfoMapper {
int deleteByPrimaryKey(Long id);
int insert(AclPractitionerHiringBasicInfo record);
int insertSelective(AclPractitionerHiringBasicInfo record);
AclPractitionerHiringBasicInfo selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AclPractitionerHiringBasicInfo record);
int updateByPrimaryKey(AclPractitionerHiringBasicInfo record);
int updateBatch(List<AclPractitionerHiringBasicInfo> list);
int updateBatchSelective(List<AclPractitionerHiringBasicInfo> list);
int batchInsert(@Param("list") List<AclPractitionerHiringBasicInfo> list);
void updateByPractitionerPotentialId(AclPractitionerHiringBasicInfo basicInfo);
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AclPractitionerHiringContractTermsConfirmsMapper {
int deleteByPrimaryKey(Long id);
int insert(AclPractitionerHiringContractTermsConfirms record);
int insertSelective(AclPractitionerHiringContractTermsConfirms record);
AclPractitionerHiringContractTermsConfirms selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AclPractitionerHiringContractTermsConfirms record);
int updateByPrimaryKey(AclPractitionerHiringContractTermsConfirms record);
int updateBatch(List<AclPractitionerHiringContractTermsConfirms> list);
int updateBatchSelective(List<AclPractitionerHiringContractTermsConfirms> list);
int batchInsert(@Param("list") List<AclPractitionerHiringContractTermsConfirms> list);
List<AclPractitionerHiringContractTermsConfirms> selectByHiringBasicInfoId(Long hiringBasicInfoId);
void deleteBatchByIds(List<AclPractitionerHiringContractTermsConfirms> resultList);
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.api.practitioner.vo.hiring.HiringBasicInfoIdRequestVO;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AclPractitionerHiringMembershipMapper {
int deleteByPrimaryKey(Long id);
int insert(AclPractitionerHiringMembership record);
int insertSelective(AclPractitionerHiringMembership record);
AclPractitionerHiringMembership selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AclPractitionerHiringMembership record);
int updateByPrimaryKey(AclPractitionerHiringMembership record);
int updateBatch(List<AclPractitionerHiringMembership> list);
int updateBatchSelective(List<AclPractitionerHiringMembership> list);
int batchInsert(@Param("list") List<AclPractitionerHiringMembership> list);
AclPractitionerHiringMembership queryByhiringBasicInfoId(HiringBasicInfoIdRequestVO requestVO);
AclPractitionerHiringMembership selectByHiringBasicInfoId(Long basicInfoId);
int isMentor(Long practitionerId);
int isSystemOwner(Long practitionerId);
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AclPractitionerHiringPersonalStatementsMapper {
int deleteByPrimaryKey(Long id);
int insert(AclPractitionerHiringPersonalStatements record);
int insertSelective(AclPractitionerHiringPersonalStatements record);
AclPractitionerHiringPersonalStatements selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AclPractitionerHiringPersonalStatements record);
int updateByPrimaryKey(AclPractitionerHiringPersonalStatements record);
int updateBatch(List<AclPractitionerHiringPersonalStatements> list);
int updateBatchSelective(List<AclPractitionerHiringPersonalStatements> list);
int batchInsert(@Param("list") List<AclPractitionerHiringPersonalStatements> list);
List<AclPractitionerHiringPersonalStatements> selectByHiringBasicInfoId(Long hiringBasicInfoId);
void deleteBatchByIds(List<AclPractitionerHiringPersonalStatements> resultList);
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AclPractitionerHiringWorkingExperienceMapper {
int deleteByPrimaryKey(Long id);
int insert(AclPractitionerHiringWorkingExperience record);
int insertSelective(AclPractitionerHiringWorkingExperience record);
AclPractitionerHiringWorkingExperience selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(AclPractitionerHiringWorkingExperience record);
int updateByPrimaryKey(AclPractitionerHiringWorkingExperience record);
int updateBatch(List<AclPractitionerHiringWorkingExperience> list);
int updateBatchSelective(List<AclPractitionerHiringWorkingExperience> list);
int batchInsert(@Param("list") List<AclPractitionerHiringWorkingExperience> list);
List<AclPractitionerHiringWorkingExperience> selectByHiringBasicInfoId(Long hiringBasicInfoId);
void deleteBatchByIds(List<AclPractitionerHiringWorkingExperience> resultList);
}
\ No newline at end of file
...@@ -72,4 +72,6 @@ public interface AclPractitionerMapper { ...@@ -72,4 +72,6 @@ public interface AclPractitionerMapper {
List<Long> queryTeamAllPractitionerId(Long practitionerId); List<Long> queryTeamAllPractitionerId(Long practitionerId);
List<Long> queryMentoredByPractitionerId(Long practitionerId); List<Long> queryMentoredByPractitionerId(Long practitionerId);
PractitionerInfo findPractitionerInfoByPractitionerId(Long practitionerId);
} }
\ No newline at end of file
package com.yd.dal.mapper.meta;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface MdPractitionerHiringApproveStepsMapper {
int deleteByPrimaryKey(Long id);
int insert(MdPractitionerHiringApproveSteps record);
int insertSelective(MdPractitionerHiringApproveSteps record);
MdPractitionerHiringApproveSteps selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(MdPractitionerHiringApproveSteps record);
int updateByPrimaryKey(MdPractitionerHiringApproveSteps record);
int updateBatch(List<MdPractitionerHiringApproveSteps> list);
int updateBatchSelective(List<MdPractitionerHiringApproveSteps> list);
int batchInsert(@Param("list") List<MdPractitionerHiringApproveSteps> list);
List<MdPractitionerHiringApproveSteps> findAll();
List<MdPractitionerHiringApproveSteps> findByPractitionerLevel(String practitionerLevelId);
List<MdPractitionerHiringApproveSteps> findByAppointedApprovePractitioners(String appointedApprovePractitioners);
}
\ No newline at end of file
package com.yd.dal.mapper.meta;
import com.yd.dal.entity.meta.MdPractitionerHiringContractTerms;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface MdPractitionerHiringContractTermsMapper {
int deleteByPrimaryKey(Long id);
int insert(MdPractitionerHiringContractTerms record);
int insertSelective(MdPractitionerHiringContractTerms record);
MdPractitionerHiringContractTerms selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(MdPractitionerHiringContractTerms record);
int updateByPrimaryKey(MdPractitionerHiringContractTerms record);
int updateBatch(List<MdPractitionerHiringContractTerms> list);
int updateBatchSelective(List<MdPractitionerHiringContractTerms> list);
int batchInsert(@Param("list") List<MdPractitionerHiringContractTerms> list);
}
\ No newline at end of file
package com.yd.dal.mapper.practitioner;
import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms;
import com.yd.dal.entity.practitioner.hiring.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author xxy
*/
public interface PractitionerHiringMapper {
/**
* 通过经纪人id查询此人审批的报聘经纪人
* @param practitionerId 经纪人id
* @return 返回结果
*/
List<HiringListInfo> findHiringList(@Param("practitionerId")Long practitionerId, @Param("approvingStatus")Long approvingStatus);
/**
* 经纪人审批基本信息
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
HiringBasicInfo findHiringBasicInfo(Long hiringBasicInfoId);
/**
* 审批经纪人关系
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
HiringMemberShip findHiringMemberShip(Long hiringBasicInfoId);
/**
* 审批经纪人工作经历
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringWorkingExperience> findHiringWorkingExperienceList(Long hiringBasicInfoId);
/**
* 经纪人申请名目
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringPersonalStatements> findHiringPersonalStatementsList(Long hiringBasicInfoId);
/**
* 经纪人合同条款是否同意
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringContractTermsConfirms> findHiringContractTermsConfirmsList(Long hiringBasicInfoId);
/**
* 已审批结果
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringApproveRecords> findHiringApproveRecordsList(Long hiringBasicInfoId);
List<PractitionerHiringContractTerms> queryContractTerms();
/**
* ydLife查询当前经纪人已通过或拒绝的报聘记录
* @param practitionerId
* @param approvingStatus
* @return
*/
List<HiringListInfo> queryHandledList(@Param("practitionerId")Long practitionerId, @Param("approvingStatus")int approvingStatus);
List<HiringListInfo> queryMentorUnhandledList(Long practitionerId);
List<HiringListInfo> querySystemOwnerUnhandledList(Long practitionerId);
}
...@@ -20,4 +20,7 @@ public interface UserMapper { ...@@ -20,4 +20,7 @@ public interface UserMapper {
int updateByPrimaryKey(AclUser record); int updateByPrimaryKey(AclUser record);
List<AclUser> findByIds(@Param("userIdList") List<Long> userIdList); List<AclUser> findByIds(@Param("userIdList") List<Long> userIdList);
String selectNamesByMobileNos(@Param("list")List<String> mobileNoList);
} }
\ No newline at end of file
package com.yd.dal.service.agms;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.hiring.PractitionerHiringListRequestVO;
import com.yd.dal.entity.agms.hiring.*;
import java.util.List;
/**
* @author xxy
*/
public interface AgmsHiringDALService {
/**
* 经纪人审批基本信息
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
PractitionerHiringBasicInfo findPractitionerHiringBasicInfo(Long hiringBasicInfoId);
/**
* 审批经纪人关系
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
PractitionerHiringMemberShip findPractitionerHiringMemberShip(Long hiringBasicInfoId);
/**
* 审批经纪人工作经历
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringWorkingExperience> findPractitionerHiringWorkingExperienceList(Long hiringBasicInfoId);
/**
* 经纪人申请名目
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringPersonalStatements> findPractitionerHiringPersonalStatementsList(Long hiringBasicInfoId);
/**
* 经纪人合同条款是否同意
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringContractTermsConfirms> findPractitionerHiringContractTermsConfirmsList(Long hiringBasicInfoId);
/**
* 已审批结果
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<PractitionerHiringApproveRecords> findPractitionerHiringApproveRecordsList(Long hiringBasicInfoId);
/**
* 通过loginId查询对应的经纪人id
* @param loginId agms登入者id
* @return 经纪人id
*/
Long findPractitionerIdByLoginId(Long loginId);
/**
* 经纪人报聘列表查询
* @param requestVO
* @return
*/
PageInfo<PractitionerHiringListInfo> practitionerHiringList(PractitionerHiringListRequestVO requestVO);
PageInfo<PractitionerHiringListInfo> queryHandledList(Long practitionerId, String status,
PractitionerHiringListRequestVO requestVO);
List<PractitionerHiringListInfo> queryUnhandledList(PractitionerHiringListRequestVO requestVO);
}
package com.yd.dal.service.agms.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yd.api.agms.vo.hiring.PractitionerHiringListRequestVO;
import com.yd.dal.entity.agms.hiring.*;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.practitioner.hiring.HiringListInfo;
import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.agms.AgmsHiringMapper;
import com.yd.dal.service.agms.AgmsHiringDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService;
import com.yd.util.CommonUtil;
import com.yd.util.page.PageInfoUtils;
import net.sf.ehcache.Element;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author xxy
*/
@Service("agmsHiringDALService")
public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
private AgmsHiringMapper agmsHiringMapper;
@Autowired
private AclUserDALService aclUserDalService;
@Autowired
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
@Autowired
private PractitionerHiringDALService practitionerHiringDalService;
@Autowired
public void setAgmsHiringMapper(AgmsHiringMapper agmsHiringMapper){
this.agmsHiringMapper = agmsHiringMapper;
}
@Override
public PractitionerHiringBasicInfo findPractitionerHiringBasicInfo(Long hiringBasicInfoId) {
return agmsHiringMapper.findPractitionerHiringBasicInfo(hiringBasicInfoId);
}
@Override
public PractitionerHiringMemberShip findPractitionerHiringMemberShip(Long hiringBasicInfoId) {
return agmsHiringMapper.findPractitionerHiringMemberShip(hiringBasicInfoId);
}
@Override
public List<PractitionerHiringWorkingExperience> findPractitionerHiringWorkingExperienceList(Long hiringBasicInfoId) {
return agmsHiringMapper.findPractitionerHiringWorkingExperienceList(hiringBasicInfoId);
}
@Override
public List<PractitionerHiringPersonalStatements> findPractitionerHiringPersonalStatementsList(Long hiringBasicInfoId) {
return agmsHiringMapper.findPractitionerHiringPersonalStatementsList(hiringBasicInfoId);
}
@Override
public List<PractitionerHiringContractTermsConfirms> findPractitionerHiringContractTermsConfirmsList(Long hiringBasicInfoId) {
return agmsHiringMapper.findPractitionerHiringContractTermsConfirmsList(hiringBasicInfoId);
}
@Override
public List<PractitionerHiringApproveRecords> findPractitionerHiringApproveRecordsList(Long hiringBasicInfoId) {
return agmsHiringMapper.findPractitionerHiringApproveRecordsList(hiringBasicInfoId);
}
@Override
public Long findPractitionerIdByLoginId(Long loginId) {
return agmsHiringMapper.findPractitionerIdByLoginId(loginId);
}
@Override
public PageInfo<PractitionerHiringListInfo> practitionerHiringList(PractitionerHiringListRequestVO requestVO) {
String orderBy = "hiringBasicInfoId desc";
PageInfo<PractitionerHiringListInfo> pageInfo = requestVO.getPageInfo();
PageHelper.startPage(pageInfo.getPageNum(),pageInfo.getPageSize(),orderBy);
Page<PractitionerHiringListInfo> destList = agmsHiringMapper.practitionerHiringList(requestVO);
pageInfo = new PageInfo<>(destList);
return pageInfo;
}
@Override
public PageInfo<PractitionerHiringListInfo> queryHandledList(Long loginPractitionerId, String status, PractitionerHiringListRequestVO requestVO) {
List<PractitionerHiringListInfo> destList =
agmsHiringMapper.queryHandledList(loginPractitionerId, status, requestVO.getBranchId(),
requestVO.getDeptId(),
requestVO.getSubsystemId(),
requestVO.getName());
// list去重
List<PractitionerHiringListInfo> uniqueList = destList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(
// 利用 TreeSet 的排序去重构造函数来达到去重元素的目的
// 根据hiringBasicInfoId去重
() -> new TreeSet<>(Comparator.comparingLong(PractitionerHiringListInfo::getHiringBasicInfoId))), ArrayList::new));
// 去重后的list分页
PageInfo<PractitionerHiringListInfo> pageInfo = requestVO.getPageInfo();
int pageNum = pageInfo.getPageNum();
int pageSize = pageInfo.getPageSize();
PageInfo<PractitionerHiringListInfo> page = PageInfoUtils.list2PageInfo(uniqueList, pageNum, pageSize);
return page;
}
@Override
public List<PractitionerHiringListInfo> queryUnhandledList(PractitionerHiringListRequestVO requestVO) {
// 结果集
List<PractitionerHiringListInfo> dataList = new ArrayList<>();
AclUser user = aclUserDalService.selectByPrimaryKey(requestVO.getLoginId());
String loginMobileNo = user.getMobileNo();
// 查询该号码具有的审批步骤
List<MdPractitionerHiringApproveSteps> ownSteps = mdPractitionerHiringApproveStepsDalService.findByAppointedApprovePractitioners(loginMobileNo);
if (CollectionUtils.isEmpty(ownSteps)) {
return dataList;
}
// 根据当前用户拥有的审批步骤查询每一步能够审批的数据
String stepName;
Integer stepSeq;
String canAprroveGrade;
for (MdPractitionerHiringApproveSteps step : ownSteps) {
stepName = step.getStepName();
stepSeq = step.getStepSeq();
canAprroveGrade = step.getCanAprroveGrade();
List<String> canAprroveGrades = new ArrayList<>();
canAprroveGrades.addAll(Arrays.asList(canAprroveGrade.split(",")));
String approveStatus = practitionerHiringDalService.getApproveStatusByStepSeq(stepSeq);
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(approveStatus, canAprroveGrades,
requestVO.getBranchId(),
requestVO.getDeptId(),
requestVO.getSubsystemId(),
requestVO.getName()
);
if (CollectionUtils.isNotEmpty(resultList)) {
dataList.addAll(resultList);
}
if (canAprroveGrades.contains("30")) {
List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List(approveStatus);
dataList.addAll(s2List);
}
}
// 每个审核步骤可能查询出重复数据, 需去重
List<PractitionerHiringListInfo> uniqueList = dataList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(
// 利用 TreeSet 的排序去重构造函数来达到去重元素的目的
// 根据hiringBasicInfoId去重
() -> new TreeSet<>(Comparator.comparingLong(PractitionerHiringListInfo::getHiringBasicInfoId))), ArrayList::new));
return uniqueList;
}
}
...@@ -181,4 +181,8 @@ public interface AclPractitionerDALService { ...@@ -181,4 +181,8 @@ public interface AclPractitionerDALService {
List<Long> queryTeamAllPractitionerId(Long practitionerId); List<Long> queryTeamAllPractitionerId(Long practitionerId);
List<Long> queryMentoredByPractitionerId(Long practitionerId); List<Long> queryMentoredByPractitionerId(Long practitionerId);
void save(AclPractitioner practitioner);
PractitionerInfo findPractitionerInfoByPractitionerId(Long practitionerId);
} }
package com.yd.dal.service.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords;
import java.util.List;
/**
* @author xxy
*/
public interface AclPractitionerHiringApproveRecordsDALService {
void save(List<AclPractitionerHiringApproveRecords> hiringApproveRecordsList);
void save(AclPractitionerHiringApproveRecords hiringApproveRecords);
List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId);
}
package com.yd.dal.service.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo;
public interface AclPractitionerHiringBasicInfoDALService {
AclPractitionerHiringBasicInfo findById(Long hiringBasicInfoId);
}
package com.yd.dal.service.customer;
public interface AclPractitionerHiringContractTermsConfirmsDALService {
}
package com.yd.dal.service.customer;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
public interface AclPractitionerHiringMembershipDALService {
AclPractitionerHiringMembership findByBasicInfoId(Long hiringBasicInfoId);
}
package com.yd.dal.service.customer;
public interface AclPractitionerHiringPersonalStatementsDALService {
}
package com.yd.dal.service.customer;
public interface AclPractitionerHiringWorkingExperienceDALService {
}
...@@ -8,4 +8,6 @@ import java.util.List; ...@@ -8,4 +8,6 @@ import java.util.List;
@Service("aclPractitionerSettingDALService") @Service("aclPractitionerSettingDALService")
public interface AclPractitionerSettingDALService { public interface AclPractitionerSettingDALService {
List<AclPractitionerSetting> findByPractitionerIdList(List<Long> practitionerIds); List<AclPractitionerSetting> findByPractitionerIdList(List<Long> practitionerIds);
void save(AclPractitionerSetting setting);
} }
...@@ -23,4 +23,6 @@ public interface AclPractitionerSubordinateSystemDALService { ...@@ -23,4 +23,6 @@ public interface AclPractitionerSubordinateSystemDALService {
List<SubordinateSystemMemberInfoE> findStatisticsE(String subordinateIdForEGolden, Integer time); List<SubordinateSystemMemberInfoE> findStatisticsE(String subordinateIdForEGolden, Integer time);
List<SubordinateSystemMemberInfoE> findStatisticsEBymobileList(List<String> mobileNoList, Integer time); List<SubordinateSystemMemberInfoE> findStatisticsEBymobileList(List<String> mobileNoList, Integer time);
AclPractitionerSubordinateSystem findById(Long subsystemId);
} }
...@@ -180,4 +180,14 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService ...@@ -180,4 +180,14 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public List<Long> queryMentoredByPractitionerId(Long practitionerId) { public List<Long> queryMentoredByPractitionerId(Long practitionerId) {
return aclPractitionerMapper.queryMentoredByPractitionerId(practitionerId); return aclPractitionerMapper.queryMentoredByPractitionerId(practitionerId);
} }
@Override
public void save(AclPractitioner practitioner) {
aclPractitionerMapper.insert(practitioner);
}
@Override
public PractitionerInfo findPractitionerInfoByPractitionerId(Long practitionerId) {
return aclPractitionerMapper.findPractitionerInfoByPractitionerId(practitionerId);
}
} }
package com.yd.dal.service.customer.impl;
import com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords;
import com.yd.dal.mapper.customer.AclPractitionerHiringApproveRecordsMapper;
import com.yd.dal.service.customer.AclPractitionerHiringApproveRecordsDALService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service("aclPractitionerHiringApproveRecordsDALService")
public class AclPractitionerHiringApproveRecordsDALServiceImpl implements AclPractitionerHiringApproveRecordsDALService {
@Resource
private AclPractitionerHiringApproveRecordsMapper mapper;
@Override
public void save(List<AclPractitionerHiringApproveRecords> hiringApproveRecordsList) {
mapper.batchInsert(hiringApproveRecordsList);
}
@Override
public void save(AclPractitionerHiringApproveRecords hiringApproveRecords) {
mapper.insert(hiringApproveRecords);
}
@Override
public List<AclPractitionerHiringApproveRecords> queryListByBasicInfoId(Long hiringBasicInfoId) {
return mapper.queryListByBasicInfoId(hiringBasicInfoId);
}
}
package com.yd.dal.service.customer.impl;
import com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo;
import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper;
import com.yd.dal.service.customer.AclPractitionerHiringBasicInfoDALService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author xxy
*/
@Service("aclPractitionerHiringBasicInfoDALService")
public class AclPractitionerHiringBasicInfoDALServiceImpl implements AclPractitionerHiringBasicInfoDALService {
@Resource
private AclPractitionerHiringBasicInfoMapper mapper;
@Override
public AclPractitionerHiringBasicInfo findById(Long hiringBasicInfoId) {
return mapper.selectByPrimaryKey(hiringBasicInfoId);
}
}
package com.yd.dal.service.customer.impl;
import com.yd.dal.service.customer.AclPractitionerHiringContractTermsConfirmsDALService;
import org.springframework.stereotype.Service;
@Service("aclPractitionerHiringContractTermsConfirmsDALService")
public class AclPractitionerHiringContractTermsConfirmsDALServiceImpl implements AclPractitionerHiringContractTermsConfirmsDALService {
}
package com.yd.dal.service.customer.impl;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper;
import com.yd.dal.service.customer.AclPractitionerHiringMembershipDALService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author xxy
*/
@Service("aclPractitionerHiringMembershipDALService")
public class AclPractitionerHiringMembershipDALServiceImpl implements AclPractitionerHiringMembershipDALService {
@Resource
private AclPractitionerHiringMembershipMapper mapper;
@Override
public AclPractitionerHiringMembership findByBasicInfoId(Long hiringBasicInfoId) {
return mapper.selectByHiringBasicInfoId(hiringBasicInfoId);
}
}
package com.yd.dal.service.customer.impl;
import com.yd.dal.service.customer.AclPractitionerHiringPersonalStatementsDALService;
import org.springframework.stereotype.Service;
@Service("aclPractitionerHiringPersonalStatementsDALService")
public class AclPractitionerHiringPersonalStatementsDALServiceImpl implements AclPractitionerHiringPersonalStatementsDALService {
}
package com.yd.dal.service.customer.impl;
import com.yd.dal.service.customer.AclPractitionerHiringWorkingExperienceDALService;
import org.springframework.stereotype.Service;
@Service("aclPractitionerHiringWorkingExperienceDALService")
public class AclPractitionerHiringWorkingExperienceDALServiceImpl implements AclPractitionerHiringWorkingExperienceDALService {
}
...@@ -16,4 +16,9 @@ public class AclPractitionerSettingDALServiceImpl implements AclPractitionerSett ...@@ -16,4 +16,9 @@ public class AclPractitionerSettingDALServiceImpl implements AclPractitionerSett
public List<AclPractitionerSetting> findByPractitionerIdList(List<Long> practitionerIds) { public List<AclPractitionerSetting> findByPractitionerIdList(List<Long> practitionerIds) {
return aclPractitionerSettingMapper.findByPractitionerIdList(practitionerIds); return aclPractitionerSettingMapper.findByPractitionerIdList(practitionerIds);
} }
@Override
public void save(AclPractitionerSetting setting) {
aclPractitionerSettingMapper.insert(setting);
}
} }
...@@ -22,6 +22,7 @@ public class AclPractitionerSubordinateSystemDALServiceImpl implements AclPracti ...@@ -22,6 +22,7 @@ public class AclPractitionerSubordinateSystemDALServiceImpl implements AclPracti
* @param subordinateId 体系ID * @param subordinateId 体系ID
* @return * @return
*/ */
@Override
public PractitionerSubordinateInfo findSubordinateInfo(Long subordinateId) { public PractitionerSubordinateInfo findSubordinateInfo(Long subordinateId) {
PractitionerSubordinateInfo subordinateInfo = null; PractitionerSubordinateInfo subordinateInfo = null;
if(subordinateId != null){ if(subordinateId != null){
...@@ -61,4 +62,9 @@ public class AclPractitionerSubordinateSystemDALServiceImpl implements AclPracti ...@@ -61,4 +62,9 @@ public class AclPractitionerSubordinateSystemDALServiceImpl implements AclPracti
public List<SubordinateSystemMemberInfoE> findStatisticsEBymobileList(List<String> mobileNoList, Integer time) { public List<SubordinateSystemMemberInfoE> findStatisticsEBymobileList(List<String> mobileNoList, Integer time) {
return aclPractitionerSubordinateSystemMapper.findStatisticsEBymobileList(mobileNoList, time); return aclPractitionerSubordinateSystemMapper.findStatisticsEBymobileList(mobileNoList, time);
} }
@Override
public AclPractitionerSubordinateSystem findById(Long subsystemId) {
return aclPractitionerSubordinateSystemMapper.selectByPrimaryKey(subsystemId);
}
} }
package com.yd.dal.service.meta;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import java.util.List;
/**
* @author xxy
*/
public interface MdPractitionerHiringApproveStepsDALService {
/**
* 查询所有审批步骤
* @return 审批步骤
*/
List<MdPractitionerHiringApproveSteps> findAll();
/**
* 通过职级查询审批步骤
* @param practitionerLevelId 职级code
* @return 审批步骤
*/
List<MdPractitionerHiringApproveSteps> findByPractitionerLevel(String practitionerLevelId);
/**
*通过手机号码查询此agmd登入者拥有哪些审批步骤
* @param appointedApprovePractitioners 手机号码
* @return
*/
List<MdPractitionerHiringApproveSteps> findByAppointedApprovePractitioners(String appointedApprovePractitioners);
}
package com.yd.dal.service.meta;
public interface MdPractitionerHiringContractTermsDALService {
}
package com.yd.dal.service.meta.impl;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.mapper.meta.MdPractitionerHiringApproveStepsMapper;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.util.deshandler.DESTypeHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("mdPractitionerHiringApproveStepsDALService")
public class MdPractitionerHiringApproveStepsDALServiceImpl implements MdPractitionerHiringApproveStepsDALService {
private MdPractitionerHiringApproveStepsMapper mdPractitionerHiringApproveStepsMapper;
@Autowired
public void setMdPractitionerHiringApproveStepsMapper(MdPractitionerHiringApproveStepsMapper mdPractitionerHiringApproveStepsMapper) {
this.mdPractitionerHiringApproveStepsMapper = mdPractitionerHiringApproveStepsMapper;
}
@Override
public List<MdPractitionerHiringApproveSteps> findAll() {
return mdPractitionerHiringApproveStepsMapper.findAll();
}
@Override
public List<MdPractitionerHiringApproveSteps> findByPractitionerLevel(String practitionerLevelId) {
return mdPractitionerHiringApproveStepsMapper.findByPractitionerLevel(practitionerLevelId);
}
@Override
public List<MdPractitionerHiringApproveSteps> findByAppointedApprovePractitioners(String appointedApprovePractitioners) {
// DESTypeHandler desTypeHandler = new DESTypeHandler();
// appointedApprovePractitioners = desTypeHandler.decode(appointedApprovePractitioners);
return mdPractitionerHiringApproveStepsMapper.findByAppointedApprovePractitioners(appointedApprovePractitioners);
}
}
package com.yd.dal.service.meta.impl;
import com.yd.dal.service.meta.MdPractitionerHiringContractTermsDALService;
import org.springframework.stereotype.Service;
@Service("mdPractitionerHiringContractTermsDALService")
public class MdPractitionerHiringContractTermsDALServiceImpl implements MdPractitionerHiringContractTermsDALService {
}
package com.yd.dal.service.practitioner;
import com.github.pagehelper.PageInfo;
import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms;
import com.yd.dal.entity.agms.hiring.*;
import com.yd.dal.entity.practitioner.hiring.*;
import java.util.List;
/**
* @author xxy
*/
public interface PractitionerHiringDALService {
/**
* 通过经纪人id和审批状态查询此人审批的报聘经纪人
* @param practitionerId
* @param approvingStatus
* @return
*/
List<HiringListInfo> findHiringList(Long practitionerId, Long approvingStatus);
/**
* 经纪人审批基本信息
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
HiringBasicInfo findHiringBasicInfo(Long hiringBasicInfoId);
/**
* 审批经纪人关系
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
HiringMemberShip findHiringMemberShip(Long hiringBasicInfoId);
/**
* 审批经纪人工作经历
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringWorkingExperience> findHiringWorkingExperienceList(Long hiringBasicInfoId);
/**
* 经纪人申请名目
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringPersonalStatements> findHiringPersonalStatementsList(Long hiringBasicInfoId);
/**
* 经纪人合同条款是否同意
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringContractTermsConfirms> findHiringContractTermsConfirmsList(Long hiringBasicInfoId);
/**
* 已审批结果
*
* @param hiringBasicInfoId 经纪人基本信息id ag_acl_practitioner_hiring_basic_info.id
* @return 查询结果
*/
List<HiringApproveRecords> findHiringApproveRecordsList(Long hiringBasicInfoId);
/**
* 查询经纪人报聘的所有合同
* @return
*/
List<PractitionerHiringContractTerms> queryContractTerms();
/**
* ydLife查询经纪人通过或拒绝的报聘记录
* @param practitionerId
* @param approvingStatus
* @return
*/
List<HiringListInfo> queryHandledList(Long practitionerId, int approvingStatus);
/**
* ydLife查询经纪人待审批记录
* @param practitionerId
* @return
*/
List<HiringListInfo> queryUnhandledList(Long practitionerId);
/**
* 查询审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
* @param practitionerId
* @return
*/
int queryApprovalIdentity(Long practitionerId);
String getApproveStatusByStepSeq(Integer stepSeq);
Integer getNextStepSeqByApproveStatus(String approveStatus);
}
package com.yd.dal.service.practitioner.impl;
import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms;
import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo;
import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import com.yd.dal.entity.customer.CustomerFileUpload;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.entity.practitioner.hiring.*;
import com.yd.dal.mapper.agms.AgmsHiringMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper;
import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.mapper.practitioner.PractitionerHiringMapper;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author xxy
*/
@Service("practitionerHiringDALService")
public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALService {
@Resource
private PractitionerHiringMapper practitionerHiringMapper;
@Autowired
private AclPractitionerDALService aclPractitionerDALService;
@Autowired
private AclFileUploadDALService aclFileUploadDALService;
@Autowired
private AclPractitionerHiringMembershipMapper membershipMapper;
@Autowired
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
@Autowired
private AclPractitionerMapper aclPractitionerMapper;
@Autowired
private AgmsHiringMapper agmsHiringMapper;
@Autowired
private SystemConfigService systemConfigService;
@Autowired
private AclUserDALService aclUserDalService;
@Override
public List<HiringListInfo> findHiringList(Long practitionerId, Long approvingStatus) {
return practitionerHiringMapper.findHiringList(practitionerId, approvingStatus);
}
@Override
public HiringBasicInfo findHiringBasicInfo(Long hiringBasicInfoId) {
return practitionerHiringMapper.findHiringBasicInfo(hiringBasicInfoId);
}
@Override
public HiringMemberShip findHiringMemberShip(Long hiringBasicInfoId) {
return practitionerHiringMapper.findHiringMemberShip(hiringBasicInfoId);
}
@Override
public List<HiringWorkingExperience> findHiringWorkingExperienceList(Long hiringBasicInfoId) {
return practitionerHiringMapper.findHiringWorkingExperienceList(hiringBasicInfoId);
}
@Override
public List<HiringPersonalStatements> findHiringPersonalStatementsList(Long hiringBasicInfoId) {
return practitionerHiringMapper.findHiringPersonalStatementsList(hiringBasicInfoId);
}
@Override
public List<HiringContractTermsConfirms> findHiringContractTermsConfirmsList(Long hiringBasicInfoId) {
return practitionerHiringMapper.findHiringContractTermsConfirmsList(hiringBasicInfoId);
}
@Override
public List<HiringApproveRecords> findHiringApproveRecordsList(Long hiringBasicInfoId) {
List<HiringApproveRecords> records = practitionerHiringMapper.findHiringApproveRecordsList(hiringBasicInfoId);
PractitionerInfo practitionerInfo;
CustomerFileUpload fileUpload;
String imagePath;
String levelName;
// 创建一个Map
Map<Long, HiringApproveRecords> map = new HashMap<>();
for (HiringApproveRecords item : records) {
// 获取职级
practitionerInfo = aclPractitionerDALService.findPractitionerInfoByPractitionerId(item.getApprovingPractitionerId());
levelName = (practitionerInfo != null) ? practitionerInfo.getLevelName() : null;
// 获取头像
fileUpload = aclFileUploadDALService.findFilePathInfo(1, 1, item.getApprovingPractitionerId());
imagePath = (fileUpload != null) ? fileUpload.getFilePath() : null;
item.setHeadImagePath(imagePath);
item.setLevelName(levelName);
map.put(item.getApproveStepId(), item);
}
// 声明最终返回的List
List<HiringApproveRecords> resultList = new ArrayList<>();
// 所有的审批流程
List<MdPractitionerHiringApproveSteps> stepsList = systemConfigService.findHiringApproveStepsAll();
// 当前经纪人的报聘职级
AclPractitionerHiringMembership hiringMemberShip = membershipMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
HiringApproveRecords record;
for (MdPractitionerHiringApproveSteps step : stepsList) {
if (Long.valueOf("30").equals(hiringMemberShip.getMdDropOptionId())
&& (step.getStepSeq() == 1 || step.getStepSeq() == 2)
) {
continue;
}
record = map.get(step.getId());
if (record != null) {
resultList.add(record);
} else {
HiringApproveRecords obj = new HiringApproveRecords();
obj.setApproveStepId(step.getId());
obj.setApproveStepName(step.getStepName());
obj.setApprovingStatusId(Long.valueOf("2"));
obj.setApprovingStatus("未审批");
// 获取每一步审批人姓名
if ("mentor".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(hiringMemberShip.getMentor());
} else if ("subsystemOwner".equals(step.getApproveRole())) {
obj.setApprovingPractitionerName(hiringMemberShip.getSubsystemOwner());
} else {
String names = aclUserDalService.selectNamesByMobileNos(step.getAppointedApprovePractitioners());
obj.setApprovingPractitionerName(names);
}
resultList.add(obj);
}
}
return resultList;
}
@Override
public List<PractitionerHiringContractTerms> queryContractTerms() {
return practitionerHiringMapper.queryContractTerms();
}
@Override
public List<HiringListInfo> queryHandledList(Long practitionerId, int approvingStatus) {
return practitionerHiringMapper.queryHandledList(practitionerId, approvingStatus);
}
/**
* 需求需要AGMS用户也能在ydLife中审批,
* 所以在响应报文一致的情况下,需要合并两个查询接口的结果集
*/
@Override
public List<HiringListInfo> queryUnhandledList(Long practitionerId) {
List<HiringListInfo> resultList = new ArrayList<>();
AclPractitioner practitioner = aclPractitionerMapper.selectByPrimaryKey(practitionerId);
// AGMS接口查询逻辑的数据
List<HiringListInfo> agmsDataList = this.queryAGMSHiringinfoList(practitioner.getMobileNo());
System.out.println("------------------------------AGMS接口查询逻辑的数据--------------------------");
System.out.println(agmsDataList);
List<HiringListInfo> ydLifeDataList = this.queryYdLifeHiringinfoList(practitionerId);
System.out.println("-----------------------------ydLife接口查询逻辑的数据-------------------------");
System.out.println(ydLifeDataList);
resultList.addAll(agmsDataList);
resultList.addAll(ydLifeDataList);
System.out.println("-----------------------------去重前的数据-----------------------------");
System.out.println(resultList);
resultList = this.unrepeatedObjList(resultList);
System.out.println("-----------------------------去重后的数据-----------------------------");
System.out.println(resultList);
return resultList;
}
private List<HiringListInfo> unrepeatedObjList(List<HiringListInfo> list) {
List<HiringListInfo> uniqueList = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(
// 利用 TreeSet 的排序去重构造函数来达到去重元素的目的
// 根据firstName去重
() -> new TreeSet<>(Comparator.comparingLong(HiringListInfo::getHiringBasicInfoId))), ArrayList::new));
return uniqueList;
}
private List<HiringListInfo> queryYdLifeHiringinfoList(Long practitionerId) {
// 查询审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
int approvalIdentity = this.queryApprovalIdentity(practitionerId);
List<HiringListInfo> resultList = new ArrayList<>();
if (approvalIdentity == 1) {
resultList = practitionerHiringMapper.queryMentorUnhandledList(practitionerId);
} else if (approvalIdentity == 2) {
resultList = practitionerHiringMapper.querySystemOwnerUnhandledList(practitionerId);
} else {
List<HiringListInfo> list1 = practitionerHiringMapper.queryMentorUnhandledList(practitionerId);
List<HiringListInfo> list2 = practitionerHiringMapper.querySystemOwnerUnhandledList(practitionerId);
resultList.addAll(list1);
resultList.addAll(list2);
}
return resultList;
}
private List<HiringListInfo> queryAGMSHiringinfoList(String practitionerMobileNo) {
// 结果集
List<PractitionerHiringListInfo> dataList = new ArrayList<>();
List<MdPractitionerHiringApproveSteps> ownSteps = mdPractitionerHiringApproveStepsDalService.findByAppointedApprovePractitioners(practitionerMobileNo);
// 根据当前用户拥有的审批步骤查询每一步能够审批的数据
String stepName;
Integer stepSeq;
String canAprroveGrade;
for (MdPractitionerHiringApproveSteps step : ownSteps) {
stepName = step.getStepName();
stepSeq = step.getStepSeq();
canAprroveGrade = step.getCanAprroveGrade();
List<String> canAprroveGrades = new ArrayList<>();
canAprroveGrades.addAll(Arrays.asList(canAprroveGrade.split(",")));
String approveStatus = this.getApproveStatusByStepSeq(stepSeq);
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(approveStatus, canAprroveGrades,
null,
null,
null,
null
);
if (CollectionUtils.isNotEmpty(resultList)) {
dataList.addAll(resultList);
}
if (canAprroveGrades.contains("30")) {
List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List(approveStatus);
dataList.addAll(s2List);
}
}
List<HiringListInfo> list = new ArrayList<>();
for (PractitionerHiringListInfo item : dataList) {
HiringListInfo hiringInfo = new HiringListInfo();
BeanUtils.copyProperties(item, hiringInfo);
list.add(hiringInfo);
}
return list;
}
@Override
public int queryApprovalIdentity(Long practitionerId) {
// 审批身份 0.既是辅导人又是团队长 1.辅导人 2.团队长
int isMentor = membershipMapper.isMentor(practitionerId);
int isSystemOwner = membershipMapper.isSystemOwner(practitionerId);
if (isMentor > 0 && isSystemOwner == 0 ) {
return 1;
}
if (isMentor == 0 && isSystemOwner > 0 ) {
return 2;
}
if (isMentor > 0 && isSystemOwner > 0 ) {
return 0;
}
return 1;
}
@Override
public String getApproveStatusByStepSeq(Integer stepSeq) {
switch (stepSeq) {
case 1 :
return "-2";
case 2 :
return "1";
case 3 :
return "2";
case 4 :
return "3";
case 5 :
return "4";
case 6 :
return "5";
}
return null;
}
@Override
public Integer getNextStepSeqByApproveStatus(String approveStatus) {
switch (approveStatus) {
case "-2" :
return Integer.valueOf("1");
case "1" :
return Integer.valueOf("2");
case "2" :
return Integer.valueOf("3");
case "3" :
return Integer.valueOf("4");
case "4" :
return Integer.valueOf("5");
case "5" :
return Integer.valueOf("6");
}
return null;
}
}
...@@ -20,4 +20,6 @@ public interface AclUserDALService { ...@@ -20,4 +20,6 @@ public interface AclUserDALService {
int updateByPrimaryKey(AclUser record); int updateByPrimaryKey(AclUser record);
List<AclUser> findByIds(List<Long> userIdList); List<AclUser> findByIds(List<Long> userIdList);
String selectNamesByMobileNos(String appointedApprovePractitioners);
} }
...@@ -3,47 +3,63 @@ package com.yd.dal.service.user.impl; ...@@ -3,47 +3,63 @@ package com.yd.dal.service.user.impl;
import com.yd.dal.entity.user.AclUser; import com.yd.dal.entity.user.AclUser;
import com.yd.dal.mapper.user.UserMapper; import com.yd.dal.mapper.user.UserMapper;
import com.yd.dal.service.user.AclUserDALService; import com.yd.dal.service.user.AclUserDALService;
import com.yd.util.deshandler.DESTypeHandler;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Service("aclUserDALService") @Service("aclUserDALService")
public class AclUserDALServiceImpl implements AclUserDALService { public class AclUserDALServiceImpl implements AclUserDALService {
@Resource @Resource
private UserMapper aclUserMapper; private UserMapper aclUserMapper;
@Override @Override
public List<AclUser> findByIds(List<Long> userIdList) { public List<AclUser> findByIds(List<Long> userIdList) {
return aclUserMapper.findByIds(userIdList); return aclUserMapper.findByIds(userIdList);
} }
@Override
public int deleteByPrimaryKey(Long id) { @Override
public String selectNamesByMobileNos(String appointedApprovePractitioners) {
return aclUserMapper.deleteByPrimaryKey(id); DESTypeHandler desTypeHandler = new DESTypeHandler();
} List<String> origineList = Arrays.asList(appointedApprovePractitioners.split(","));
@Override List<String> mobileNoList = new ArrayList<>();
public int insert(AclUser record) { for (String mobileNo : origineList) {
mobileNoList.add(desTypeHandler.encode(mobileNo));
return aclUserMapper.insert(record); }
} return aclUserMapper.selectNamesByMobileNos(mobileNoList);
@Override }
public int insertSelective(AclUser record) {
@Override
return aclUserMapper.insertSelective(record); public int deleteByPrimaryKey(Long id) {
} return aclUserMapper.deleteByPrimaryKey(id);
@Override }
public AclUser selectByPrimaryKey(Long id) {
@Override
return aclUserMapper.selectByPrimaryKey(id); public int insert(AclUser record) {
} return aclUserMapper.insert(record);
@Override }
public int updateByPrimaryKeySelective(AclUser record) {
@Override
return aclUserMapper.updateByPrimaryKeySelective(record); public int insertSelective(AclUser record) {
} return aclUserMapper.insertSelective(record);
@Override }
public int updateByPrimaryKey(AclUser record) {
@Override
return aclUserMapper.updateByPrimaryKey(record); public AclUser selectByPrimaryKey(Long id) {
} return aclUserMapper.selectByPrimaryKey(id);
}
@Override
public int updateByPrimaryKeySelective(AclUser record) {
return aclUserMapper.updateByPrimaryKeySelective(record);
}
@Override
public int updateByPrimaryKey(AclUser record) {
return aclUserMapper.updateByPrimaryKey(record);
}
} }
...@@ -3,9 +3,11 @@ package com.yd.rmi.cache; ...@@ -3,9 +3,11 @@ package com.yd.rmi.cache;
import com.yd.dal.entity.meta.MdCode; import com.yd.dal.entity.meta.MdCode;
import com.yd.dal.entity.meta.MdIncometaxRate; import com.yd.dal.entity.meta.MdIncometaxRate;
import com.yd.dal.entity.meta.MdMkCampaign; import com.yd.dal.entity.meta.MdMkCampaign;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
import com.yd.dal.service.meta.MdCodeDALService; import com.yd.dal.service.meta.MdCodeDALService;
import com.yd.dal.service.meta.MdIncometaxRateDALService; import com.yd.dal.service.meta.MdIncometaxRateDALService;
import com.yd.dal.service.meta.MdMkCampaignDALService; import com.yd.dal.service.meta.MdMkCampaignDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.rmi.ali.ossinterf.service.AliOssInterfService; import com.yd.rmi.ali.ossinterf.service.AliOssInterfService;
import com.yd.util.CommonUtil; import com.yd.util.CommonUtil;
import net.sf.ehcache.Cache; import net.sf.ehcache.Cache;
...@@ -18,7 +20,11 @@ import java.util.ArrayList; ...@@ -18,7 +20,11 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author xxy
*/
@Service("systemConfigService") @Service("systemConfigService")
@org.springframework.core.annotation.Order(1) @org.springframework.core.annotation.Order(1)
public class SystemConfigService implements CommandLineRunner{ public class SystemConfigService implements CommandLineRunner{
...@@ -27,6 +33,12 @@ public class SystemConfigService implements CommandLineRunner{ ...@@ -27,6 +33,12 @@ public class SystemConfigService implements CommandLineRunner{
private MdCodeDALService mdCodeService; private MdCodeDALService mdCodeService;
@Autowired @Autowired
private AliOssInterfService aliOssInterfService; private AliOssInterfService aliOssInterfService;
@Autowired
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
@Autowired
private MdMkCampaignDALService mdMkCampaignDALService;
@Autowired
private MdIncometaxRateDALService mdIncometaxRateDALService;
/** /**
* 保存cache * 保存cache
...@@ -207,8 +219,7 @@ public class SystemConfigService implements CommandLineRunner{ ...@@ -207,8 +219,7 @@ public class SystemConfigService implements CommandLineRunner{
aliOssInterfService.initAttribute(); aliOssInterfService.initAttribute();
} }
@Autowired
private MdMkCampaignDALService mdMkCampaignDALService;
public Long getMdMkCampaignId(String campaignCode) { public Long getMdMkCampaignId(String campaignCode) {
Long configValue = null; Long configValue = null;
Element element = systemConfigCache.get("campaignCode:"+campaignCode); Element element = systemConfigCache.get("campaignCode:"+campaignCode);
...@@ -223,8 +234,6 @@ public class SystemConfigService implements CommandLineRunner{ ...@@ -223,8 +234,6 @@ public class SystemConfigService implements CommandLineRunner{
return configValue; return configValue;
} }
@Autowired
private MdIncometaxRateDALService mdIncometaxRateDALService;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public List<MdIncometaxRate> findIncometax(){ public List<MdIncometaxRate> findIncometax(){
List<MdIncometaxRate> incometaxRates = new ArrayList<>(); List<MdIncometaxRate> incometaxRates = new ArrayList<>();
...@@ -238,4 +247,55 @@ public class SystemConfigService implements CommandLineRunner{ ...@@ -238,4 +247,55 @@ public class SystemConfigService implements CommandLineRunner{
} }
return incometaxRates; return incometaxRates;
} }
@SuppressWarnings("unchecked")
public List<MdPractitionerHiringApproveSteps> findHiringApproveStepsByPractitionerLevel(String practitionerLevelCode) {
List<MdPractitionerHiringApproveSteps> hiringApproveSteps = new ArrayList<>();
Element element = systemConfigCache.get("HiringApproveSteps"+practitionerLevelCode);
if(element != null && element.getObjectValue() != null){
hiringApproveSteps = (List<MdPractitionerHiringApproveSteps>)element.getObjectValue();
}else{
hiringApproveSteps = mdPractitionerHiringApproveStepsDalService.findByPractitionerLevel(practitionerLevelCode);
element = new Element("HiringApproveSteps"+practitionerLevelCode,hiringApproveSteps);
systemConfigCache.put(element);
}
return hiringApproveSteps;
}
@SuppressWarnings("unchecked")
public List<String> findHiringApproveMobileNo(List<MdPractitionerHiringApproveSteps> hiringApproveSteps ,String practitionerLevelCode) {
List<String> hiringApproveMobileNos = new ArrayList<>();
Element element = systemConfigCache.get("HiringApproveMobileNo"+practitionerLevelCode);
if(element != null && element.getObjectValue() != null){
hiringApproveMobileNos = (List<String>)element.getObjectValue();
}else{
for (MdPractitionerHiringApproveSteps hiringApproveStep : hiringApproveSteps){
String appointedApprovePractitioners = hiringApproveStep.getAppointedApprovePractitioners();
if (!CommonUtil.isNullOrBlank(appointedApprovePractitioners)){
hiringApproveMobileNos.addAll(Arrays.asList(appointedApprovePractitioners.split(",")));
}
}
//去重
hiringApproveMobileNos = hiringApproveMobileNos.stream().distinct().collect(Collectors.toList());
element = new Element("HiringApproveMobileNo"+practitionerLevelCode,hiringApproveMobileNos);
systemConfigCache.put(element);
}
return hiringApproveMobileNos;
}
@SuppressWarnings("unchecked")
public List<MdPractitionerHiringApproveSteps> findHiringApproveStepsAll() {
List<MdPractitionerHiringApproveSteps> hiringApproveSteps = new ArrayList<>();
Element element = systemConfigCache.get("HiringApproveStepsAll");
if(element != null && element.getObjectValue() != null){
hiringApproveSteps = (List<MdPractitionerHiringApproveSteps>)element.getObjectValue();
}else{
hiringApproveSteps = mdPractitionerHiringApproveStepsDalService.findAll();
element = new Element("HiringApproveStepsAll",hiringApproveSteps);
systemConfigCache.put(element);
}
return hiringApproveSteps;
}
} }
...@@ -10,6 +10,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest; ...@@ -10,6 +10,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest; import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderResponse; import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderResponse;
import java.io.IOException;
import java.util.Map; import java.util.Map;
public interface WechatService { public interface WechatService {
......
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo;
import com.yd.rmi.cache.SystemConfigService; import com.yd.rmi.cache.SystemConfigService;
import com.yd.dal.entity.tencent.TenInterfRecord; import com.yd.dal.entity.tencent.TenInterfRecord;
import com.yd.dal.entity.transaction.TranLog; import com.yd.dal.entity.transaction.TranLog;
...@@ -28,9 +29,11 @@ import com.yd.util.config.ZHBErrorConfig; ...@@ -28,9 +29,11 @@ import com.yd.util.config.ZHBErrorConfig;
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 javax.imageio.ImageIO;
import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSession;
import java.awt.*;
import java.io.*; import java.io.*;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
...@@ -38,6 +41,7 @@ import java.net.URLEncoder; ...@@ -38,6 +41,7 @@ import java.net.URLEncoder;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.*; import java.util.*;
import java.util.List;
import java.util.Map.Entry; import java.util.Map.Entry;
@Service("wechatService") @Service("wechatService")
......
...@@ -1503,4 +1503,25 @@ public class CommonUtil { ...@@ -1503,4 +1503,25 @@ public class CommonUtil {
return sumDay; return sumDay;
} }
public static String readFileTxt(String filePath) {
String line = null;
try
{
FileReader fr=new FileReader(filePath);
//为了提高效率,加入缓冲技术,将字符读取流对象作为参数传递给缓冲对象的构造函数
BufferedReader bufr=new BufferedReader(fr);
while((line=bufr.readLine())!=null)
{
System.out.println(line);
}
bufr.close();//close()中已经包含了flush
} catch (IOException e) {
e.printStackTrace();
}
return line;
}
} }
package com.yd.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
/**
* HttpDownload文件下载工具类
* Created by Simon Cheng on 202021/1/18.
*/
public class HttpDownload {
public static final int cache = 10 * 1024;
public static final boolean isWindows;
public static final String splash;
public static final String root;
static {
if (System.getProperty("os.name") != null && System.getProperty("os.name").toLowerCase().contains("windows")) {
isWindows = true;
splash = "\\";
root="D:";
} else {
isWindows = false;
splash = "/";
root="/opt/tomcat8/temp";
}
}
/**
* 根据url下载文件,文件名从response header头中获取
* @param url
* @return
*/
public static String download(String url) {
return download(url, null);
}
/**
* 根据url下载文件,保存到filepath中
* @param url
* @param filepath
* @return
*/
public static String download(String url, String filepath) {
try {
HttpClient client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = client.execute(httpget);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
if (filepath == null) {
filepath = getFilePath(response);
}
File file = new File(filepath);
file.getParentFile().mkdirs();
FileOutputStream fileout = new FileOutputStream(file);
/**
* 根据实际运行效果 设置缓冲区大小
*/
byte[] buffer=new byte[cache];
int ch = 0;
while ((ch = is.read(buffer)) != -1) {
fileout.write(buffer,0,ch);
}
is.close();
fileout.flush();
fileout.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 获取response要下载的文件的默认路径
* @param response
* @return
*/
public static String getFilePath(HttpResponse response) {
String filepath = root + splash;
String filename = getFileName(response);
if (filename != null) {
filepath += filename;
} else {
filepath += getRandomFileName();
}
return filepath;
}
/**
* 获取response header中Content-Disposition中的filename值
* @param response
* @return
*/
public static String getFileName(HttpResponse response) {
Header contentHeader = response.getFirstHeader("Content-Disposition");
String filename = null;
if (contentHeader != null) {
HeaderElement[] values = contentHeader.getElements();
if (values.length == 1) {
NameValuePair param = values[0].getParameterByName("filename");
if (param != null) {
try {
filename = param.getValue();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
return filename;
}
/**
* 获取随机文件名
* @return
*/
public static String getRandomFileName() {
return String.valueOf(System.currentTimeMillis());
}
public static void outHeaders(HttpResponse response) {
Header[] headers = response.getAllHeaders();
for (int i = 0; i < headers.length; i++) {
System.out.println(headers[i]);
}
}
public static void main(String[] args) {
String url="https://dev-yindun-store.oss-cn-shanghai-finance-1-pub.aliyuncs.com/brokerHiring/38/7210115.jpg";
String filepath = "D:\\test\\a.jpg";
HttpDownload.download(url, filepath);
}
}
package com.yd.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.util.Properties;
/**
* Desc:properties文件获取工具类
* Created by Simon Cheng on 202021/1/18.
*/
public class PDFConfiguration {
private static final Logger logger = LoggerFactory.getLogger(PDFConfiguration.class);
private static Properties props;
static{
loadProps();
}
synchronized static private void loadProps(){
logger.info("开始加载properties文件内容.......");
props = new Properties();
InputStream in = null;
try
{
in = PDFConfiguration.class.getClassLoader().getResourceAsStream("pdfconfiguration.properties");
props.load(in);
} catch (FileNotFoundException e) {
logger.error("pdfconfiguration.properties文件未找到");
} catch (IOException e) {
logger.error("出现IOException");
} finally {
try {
if(null != in) {
in.close();
}
} catch (IOException e) {
logger.error("pdfconfiguration.properties文件流关闭出现异常");
}
}
logger.info("加载properties文件内容完成...........");
logger.info("properties文件内容:" + props);
}
public static String getProperty(String key){
if(null == props) {
loadProps();
}
return props.getProperty(key);
}
public static String getProperty(String key, String defaultValue) {
if(null == props) {
loadProps();
}
return props.getProperty(key, defaultValue);
}
}
\ No newline at end of file
...@@ -52,4 +52,14 @@ jwt.bypass:TEST ...@@ -52,4 +52,14 @@ jwt.bypass:TEST
enable.datasecurity:false enable.datasecurity:false
#存量数据接口开关 #存量数据接口开关
prod.checkavailable: prod.checkavailable:
\ No newline at end of file
pdf.template=/opt/tomcat8/conf/ydpdf/pdfres/templatePractitionerContract.pdf
pdf.signImage=/opt/tomcat8/conf/ydpdf/pdfres/上海银盾保险经纪有限公司.png
pdf.keyStorePath=/opt/tomcat8/conf/ydpdf/pdfres/4929078_m.zuihuibi.cn.pfx
pdf.keyPasswordFile=/opt/tomcat8/conf/ydpdf/pdfres/pfx-password.txt
pdf.position.x=450
pdf.position.y=150
pdf.check=/opt/tomcat8/conf/ydpdf/pdfres/check.png
pdf.uncheck=/opt/tomcat8/conf/ydpdf/pdfres/uncheck.png
...@@ -38,4 +38,6 @@ ...@@ -38,4 +38,6 @@
830022=请选择关账记录 830022=请选择关账记录
830023=已关账并发放的记录,不能修改 830023=已关账并发放的记录,不能修改
830024=存在已关账保单,禁止修改为非可发放状态 830024=存在已关账保单,禁止修改为非可发放状态
830025=上传失败,请重新上传!
830026=经纪人审批步骤出现问题,请联系it!
900003=保险公司响应报文为空! 900003=保险公司响应报文为空!
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yd.dal.mapper.agms.AgmsHiringMapper">
<resultMap id="practitionerHiringBasicInfo" type="com.yd.dal.entity.agms.hiring.PractitionerHiringBasicInfo">
<result column="inviteePractitionerName" jdbcType="VARCHAR" property="inviteePractitionerName"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="mobileNo" jdbcType="VARCHAR" property="mobileNo"
typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="idType" jdbcType="VARCHAR" property="idType"/>
<result column="idNo" jdbcType="VARCHAR" property="idNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="gender" jdbcType="VARCHAR" property="gender"/>
<result column="practitionerBirthdate" jdbcType="VARCHAR" property="practitionerBirthdate"/>
<result column="provinceName" jdbcType="VARCHAR" property="provinceName"/>
<result column="cityName" jdbcType="VARCHAR" property="cityName"/>
<result column="residentAddress" jdbcType="VARCHAR" property="residentAddress"/>
<result column="wechatId" jdbcType="VARCHAR" property="wechatId"/>
<result column="email" jdbcType="VARCHAR" property="email"/>
<result column="personerPictureOssPath" jdbcType="VARCHAR" property="personerPictureOssPath"/>
<result column="idFrontPageOssPath" jdbcType="VARCHAR" property="idFrontPageOssPath"/>
<result column="idBackPageOssPath" jdbcType="VARCHAR" property="idBackPageOssPath"/>
<result column="lastGraduateGrade" jdbcType="VARCHAR" property="lastGraduateGrade"/>
<result column="lastGraduateSchool" jdbcType="VARCHAR" property="lastGraduateSchool"/>
<result column="lastGraduateCertificationOssPath" jdbcType="VARCHAR"
property="lastGraduateCertificationOssPath"/>
<result column="bankAccountOpening" jdbcType="VARCHAR" property="bankAccountOpening"/>
<result column="bankAccountId" jdbcType="VARCHAR" property="bankAccountId"/>
<result column="personalSignOssPath" jdbcType="VARCHAR" property="personalSignOssPath"/>
<result column="payrollOssPath" jdbcType="VARCHAR" property="payrollOssPath" />
<result column="approveStatus" jdbcType="VARCHAR" property="approveStatus" />
</resultMap>
<select id="findPractitionerHiringBasicInfo" resultMap="practitionerHiringBasicInfo">
select p.name inviteePractitionerName,
b.approve_status approveStatus,
b.name name,
b.mobile_no mobileNo,
b.id_type idType,
b.id_no idNo,
if(b.gender is null, null, if(b.gender = 1, '男', '女')) gender,
DATE_FORMAT(b.practitioner_birthdate, '%Y%m%d') practitionerBirthdate,
b.province_name provinceName,
b.city_name cityName,
b.resident_address residentAddress,
b.wechat_id wechatId,
b.email email,
b.personer_picture_oss_path personerPictureOssPath,
b.id_front_page_oss_path idFrontPageOssPath,
b.id_back_page_oss_path idBackPageOssPath,
b.last_graduate_grade lastGraduateGrade,
b.last_graduate_school lastGraduateSchool,
b.last_graduate_certification_oss_path lastGraduateCertificationOssPath,
b.bank_account_opening bankAccountOpening,
b.bank_account_id bankAccountId,
b.payroll_oss_path payrollOssPath,
b.personal_sign_oss_path personalSignOssPath
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner p on b.invitee_practitioner_id = p.id
where b.id = #{hiringBasicInfoId,jdbcType=BIGINT}
and b.is_active = 1
</select>
<select id="findPractitionerHiringMemberShip"
resultType="com.yd.dal.entity.agms.hiring.PractitionerHiringMemberShip">
select md_drop_option_name practitionerLevel,
md_drop_option_id practitionerLevelId,
mentor mentor,
introducer introducer,
subsystem subsystem,
subsystem_owner subsystemOwner,
branch branch
from ag_acl_practitioner_hiring_membership
where hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
and is_active = 1
</select>
<select id="findPractitionerHiringWorkingExperienceList"
resultType="com.yd.dal.entity.agms.hiring.PractitionerHiringWorkingExperience">
select working_company workingCompany,
position position,
DATE_FORMAT(working_start, '%Y%m%d') workingStart,
DATE_FORMAT(working_end, '%Y%m%d') workingEnd
from ag_acl_practitioner_hiring_working_experience
where is_active = 1
and hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by seq
</select>
<select id="findPractitionerHiringPersonalStatementsList"
resultType="com.yd.dal.entity.agms.hiring.PractitionerHiringPersonalStatements">
select md_drop_option_name personalStatements,
user_input userInput,
if(status is null, null, if(status = 1, '有', '无')) status
from ag_acl_practitioner_hiring_personal_statements
where is_active = 1
and hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<select id="findPractitionerHiringContractTermsConfirmsList"
resultType="com.yd.dal.entity.agms.hiring.PractitionerHiringContractTermsConfirms">
select m.term_name contractTerm,
if(c.confirm_status is null, null, if(c.confirm_status = 1, '已确认', '未确认')) confirmStatus
from ag_acl_practitioner_hiring_contract_terms_confirms c
left join ag_md_practitioner_hiring_contract_terms m on c.contract_term_id = m.id
where c.is_active = 1
and hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<select id="findPractitionerHiringApproveRecordsList"
resultType="com.yd.dal.entity.agms.hiring.PractitionerHiringApproveRecords">
select r.approving_practitioner_id approvingPractitionerId,
p.name approvingPractitionerName,
r.approve_step_id approveStepId,
r.approve_step_name approveStepName,
r.approving_status approvingStatusId,
if(r.approving_status is null, null, if(r.approving_status = 1, '通过', '驳回')) approvingStatus,
interview_assessment interviewAssessment,
r.reject_note rejectNote,
date_format(r.created_at, '%Y-%m-%d %H:%i:%s') hiringAt
from ag_acl_practitioner_hiring_approve_records r
left join ag_acl_practitioner p on p.id = r.approving_practitioner_id
where r.is_active = 1
and r.hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by r.id
</select>
<select id="findPractitionerIdByLoginId" resultType="java.lang.Long">
select p.id
from ag_acl_practitioner p
left join ag_acl_user u on u.mobile_no = p.mobile_no
where u.id = #{loginId,jdbcType=BIGINT}
</select>
<resultMap id="practitionerHiringListInfo" type="com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo">
<id column="hiringBasicInfoId" jdbcType="BIGINT" property="hiringBasicInfoId"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="mobileNo" jdbcType="VARCHAR" property="mobileNo"
typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="practitionerLevel" jdbcType="VARCHAR" property="practitionerLevel"/>
<result column="mentor" jdbcType="VARCHAR" property="mentor"/>
<result column="introducer" jdbcType="VARCHAR" property="introducer"/>
<result column="subsystem" jdbcType="VARCHAR" property="subsystem"/>
<result column="branch" jdbcType="VARCHAR" property="branch"/>
<result column="applicationTime" jdbcType="VARCHAR" property="applicationTime"/>
<result column="status" jdbcType="VARCHAR" property="status"/>
<result column="approvingTime" jdbcType="VARCHAR" property="approvingTime"/>
</resultMap>
<select id="practitionerHiringList" resultMap="practitionerHiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
m.introducer introducer,
m.subsystem subsystem,
m.branch branch,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
r.approving_status status,
r.created_at approvingTime
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
left join ag_acl_practitioner_subordinate_system sys on sys.id = m.subsystem_id
left join
(
select
a.hiring_basic_info_id, a.approving_status, a.created_at
from
ag_acl_practitioner_hiring_approve_records a
left join
(
select
hiring_basic_info_id, max(created_at) created_at
from
ag_acl_practitioner_hiring_approve_records
group by hiring_basic_info_id
) b
on a.hiring_basic_info_id=b.hiring_basic_info_id and a.created_at=b.created_at
) r
on b.id = r.hiring_basic_info_id
where 1=1
<if test="branchId != null">
and m.branch = #{branchId}
</if>
<if test="deptId != null">
and sys.dept_id = #{deptId}
</if>
<if test="subsystemId != null">
and m.subsystem = #{subsystemId}
</if>
<if test="name != null">
and b.name = #{name}
</if>
<if test="status != null">
<choose>
<when test='status == "0" '>
and r.approving_status is null
</when>
<when test='status == "1" '>
and r.approving_status = 1
</when>
<when test='status == "2" '>
and r.approving_status = 0
</when>
</choose>
</if>
</select>
<select id="queryHandledList" resultMap="practitionerHiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
m.introducer introducer,
m.subsystem subsystem,
m.branch branch,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
r.approving_status status,
r.created_at approvingTime
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
left join ag_acl_practitioner_subordinate_system sys on sys.id = m.subsystem_id
left join ag_acl_practitioner_hiring_approve_records r on r.hiring_basic_info_id = b.id and r.approving_practitioner_id = #{practitionerId}
where 1=1
and b.id in (select DISTINCT t.hiring_basic_info_id
from
ag_acl_practitioner_hiring_approve_records t
where t.approving_practitioner_id = #{practitionerId,jdbcType=BIGINT}
<if test="status != null">
<choose>
<when test='status == "1" '>
and t.approving_status = 1
</when>
<when test='status == "2" '>
and t.approving_status = 0
</when>
</choose>
</if>
)
<if test="branchId != null">
and m.branch = #{branchId}
</if>
<if test="deptId != null">
and sys.dept_id = #{deptId}
</if>
<if test="subsystemId != null">
and m.subsystem = #{subsystemId}
</if>
<if test="name != null">
and b.name = #{name}
</if>
</select>
<select id="queryUnhandledList" resultMap="practitionerHiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
m.introducer introducer,
m.subsystem subsystem,
m.branch branch,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
null as status,
null as approvingTime
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
left join ag_acl_practitioner_subordinate_system sys on sys.id = m.subsystem_id
where b.approve_status is not null
<if test="approveStatus != null">
and b.approve_status = #{approveStatus}
</if>
<if test="list != null and list.size() > 0">
and m.md_drop_option_id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="branchId != null">
and m.branch = #{branchId}
</if>
<if test="deptId != null">
and sys.dept_id = #{deptId}
</if>
<if test="subsystemId != null">
and m.subsystem = #{subsystemId}
</if>
<if test="name != null">
and b.name = #{name}
</if>
</select>
<select id="queryS2List" resultMap="practitionerHiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
m.introducer introducer,
m.subsystem subsystem,
m.branch branch,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
null as status,
null as approvingTime
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
where 1=1
and b.approve_status is not null
<if test="approveStatus != null">
and b.approve_status = #{approveStatus}
</if>
and m.md_drop_option_id = 30
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.customer.AclPractitionerHiringApproveRecordsMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords">
<!--@mbg.generated-->
<!--@Table ag_acl_practitioner_hiring_approve_records-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="hiring_basic_info_id" jdbcType="BIGINT" property="hiringBasicInfoId" />
<result column="approve_step_id" jdbcType="VARCHAR" property="approveStepId" />
<result column="approve_step_name" jdbcType="VARCHAR" property="approveStepName" />
<result column="approving_practitioner_id" jdbcType="BIGINT" property="approvingPractitionerId" />
<result column="approving_status" jdbcType="BIGINT" property="approvingStatus" />
<result column="reject_note" jdbcType="VARCHAR" property="rejectNote" />
<result column="interview_assessment" jdbcType="VARCHAR" property="interviewAssessment" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, hiring_basic_info_id, approve_step_id, approve_step_name, approving_practitioner_id,
approving_status, reject_note, is_active, created_at, created_by, updated_at, updated_by,
interview_assessment
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_approve_records
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_practitioner_hiring_approve_records
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_approve_records (hiring_basic_info_id, approve_step_id,
approve_step_name, approving_practitioner_id,
approving_status, reject_note, interview_assessment, is_active,
created_at, created_by, updated_at,
updated_by)
values (#{hiringBasicInfoId,jdbcType=BIGINT}, #{approveStepId,jdbcType=VARCHAR},
#{approveStepName,jdbcType=VARCHAR}, #{approvingPractitionerId,jdbcType=BIGINT},
#{approvingStatus,jdbcType=BIGINT}, #{rejectNote,jdbcType=VARCHAR}, #{interviewAssessment,jdbcType=VARCHAR}, #{isActive,jdbcType=INTEGER},
#{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP},
#{updatedBy,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_approve_records
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
hiring_basic_info_id,
</if>
<if test="approveStepId != null">
approve_step_id,
</if>
<if test="approveStepName != null">
approve_step_name,
</if>
<if test="approvingPractitionerId != null">
approving_practitioner_id,
</if>
<if test="approvingStatus != null">
approving_status,
</if>
<if test="rejectNote != null">
reject_note,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
#{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="approveStepId != null">
#{approveStepId,jdbcType=VARCHAR},
</if>
<if test="approveStepName != null">
#{approveStepName,jdbcType=VARCHAR},
</if>
<if test="approvingPractitionerId != null">
#{approvingPractitionerId,jdbcType=BIGINT},
</if>
<if test="approvingStatus != null">
#{approvingStatus,jdbcType=BIGINT},
</if>
<if test="rejectNote != null">
#{rejectNote,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_approve_records
<set>
<if test="hiringBasicInfoId != null">
hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="approveStepId != null">
approve_step_id = #{approveStepId,jdbcType=VARCHAR},
</if>
<if test="approveStepName != null">
approve_step_name = #{approveStepName,jdbcType=VARCHAR},
</if>
<if test="approvingPractitionerId != null">
approving_practitioner_id = #{approvingPractitionerId,jdbcType=BIGINT},
</if>
<if test="approvingStatus != null">
approving_status = #{approvingStatus,jdbcType=BIGINT},
</if>
<if test="rejectNote != null">
reject_note = #{rejectNote,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_approve_records
set hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
approve_step_id = #{approveStepId,jdbcType=VARCHAR},
approve_step_name = #{approveStepName,jdbcType=VARCHAR},
approving_practitioner_id = #{approvingPractitionerId,jdbcType=BIGINT},
approving_status = #{approvingStatus,jdbcType=BIGINT},
reject_note = #{rejectNote,jdbcType=VARCHAR},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_approve_records
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="approve_step_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.approveStepId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="approve_step_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.approveStepName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="approving_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.approvingPractitionerId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="approving_status = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.approvingStatus,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="reject_note = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.rejectNote,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_approve_records
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.hiringBasicInfoId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="approve_step_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.approveStepId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.approveStepId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="approve_step_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.approveStepName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.approveStepName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="approving_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.approvingPractitionerId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.approvingPractitionerId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="approving_status = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.approvingStatus != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.approvingStatus,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="reject_note = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.rejectNote != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.rejectNote,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_approve_records
(hiring_basic_info_id, approve_step_id, approve_step_name, approving_practitioner_id,
approving_status, interview_assessment, reject_note, is_active, created_at, created_by, updated_at, updated_by
)
values
<foreach collection="list" item="item" separator=",">
(#{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.approveStepId,jdbcType=VARCHAR},
#{item.approveStepName,jdbcType=VARCHAR}, #{item.approvingPractitionerId,jdbcType=BIGINT},
#{item.approvingStatus,jdbcType=BIGINT}, #{item.interviewAssessment,jdbcType=VARCHAR}, #{item.rejectNote,jdbcType=VARCHAR}, #{item.isActive,jdbcType=INTEGER},
#{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT}, #{item.updatedAt,jdbcType=TIMESTAMP},
#{item.updatedBy,jdbcType=BIGINT})
</foreach>
</insert>
<resultMap id="LastOneRecord" type="com.yd.dal.entity.customer.AclPractitionerHiringApproveRecords">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="hiring_basic_info_id" jdbcType="BIGINT" property="hiringBasicInfoId" />
<result column="approve_step_id" jdbcType="VARCHAR" property="approveStepId" />
<result column="approve_step_name" jdbcType="VARCHAR" property="approveStepName" />
<result column="step_seq" jdbcType="VARCHAR" property="stepSeq" />
<result column="approving_practitioner_id" jdbcType="BIGINT" property="approvingPractitionerId" />
<result column="approving_status" jdbcType="BIGINT" property="approvingStatus" />
<result column="reject_note" jdbcType="VARCHAR" property="rejectNote" />
<result column="interview_assessment" jdbcType="VARCHAR" property="interviewAssessment" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<select id="queryLastOneByBasicInfoId" resultMap="LastOneRecord">
select r.*, s.step_seq
from ag_acl_practitioner_hiring_approve_records r
left join ag_md_practitioner_hiring_approve_steps s on r.approve_step_id = s.id
where r.hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by s.step_seq desc
limit 1
</select>
<select id="queryListByBasicInfoId" resultMap="LastOneRecord">
select r.*, s.step_seq
from ag_acl_practitioner_hiring_approve_records r
left join ag_md_practitioner_hiring_approve_steps s on r.approve_step_id = s.id
where r.hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by s.step_seq desc
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo">
<!--@mbg.generated-->
<!--@Table ag_acl_practitioner_hiring_basic_info-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="approve_status" jdbcType="VARCHAR" property="approveStatus" />
<result column="practitioner_potential_id" jdbcType="BIGINT" property="practitionerPotentialId" />
<result column="invitee_practitioner_id" jdbcType="BIGINT" property="inviteePractitionerId" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="mobile_no" jdbcType="VARCHAR" property="mobileNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="id_type_id" jdbcType="BIGINT" property="idTypeId" />
<result column="id_type" jdbcType="VARCHAR" property="idType" />
<result column="id_no" jdbcType="VARCHAR" property="idNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="gender" jdbcType="INTEGER" property="gender" />
<result column="practitioner_birthdate" jdbcType="DATE" property="practitionerBirthdate" />
<result column="province_id" jdbcType="BIGINT" property="provinceId" />
<result column="province_name" jdbcType="VARCHAR" property="provinceName" />
<result column="city_id" jdbcType="BIGINT" property="cityId" />
<result column="city_name" jdbcType="VARCHAR" property="cityName" />
<result column="resident_address" jdbcType="LONGVARCHAR" property="residentAddress" />
<result column="wechat_id" jdbcType="VARCHAR" property="wechatId" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="personer_picture_oss_path" jdbcType="VARCHAR" property="personerPictureOssPath" />
<result column="payroll_oss_path" jdbcType="VARCHAR" property="payrollOssPath" />
<result column="id_front_page_oss_path" jdbcType="VARCHAR" property="idFrontPageOssPath" />
<result column="id_back_page_oss_path" jdbcType="VARCHAR" property="idBackPageOssPath" />
<result column="last_graduate_code" jdbcType="VARCHAR" property="lastGraduateCode" />
<result column="last_graduate_grade" jdbcType="VARCHAR" property="lastGraduateGrade" />
<result column="last_graduate_school" jdbcType="VARCHAR" property="lastGraduateSchool" />
<result column="last_graduate_certification_oss_path" jdbcType="VARCHAR" property="lastGraduateCertificationOssPath" />
<result column="bank_account_opening" jdbcType="VARCHAR" property="bankAccountOpening" />
<result column="bank_account_id" jdbcType="VARCHAR" property="bankAccountId" />
<result column="personal_sign_oss_path" jdbcType="VARCHAR" property="personalSignOssPath" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, practitioner_potential_id, invitee_practitioner_id, `name`, mobile_no, id_type_id,
id_type, id_no, gender, practitioner_birthdate, province_id, province_name, city_id,
city_name, resident_address, wechat_id, email, personer_picture_oss_path, payroll_oss_path, id_front_page_oss_path,
id_back_page_oss_path, last_graduate_code, last_graduate_grade, last_graduate_school, last_graduate_certification_oss_path,
bank_account_opening, bank_account_id, personal_sign_oss_path, is_active, created_at,
created_by, updated_at, updated_by, approve_status
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_basic_info
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_practitioner_hiring_basic_info
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_basic_info (practitioner_potential_id, invitee_practitioner_id,
`name`, mobile_no, id_type_id,
id_type, id_no, gender,
practitioner_birthdate, province_id, province_name,
city_id, city_name, resident_address,
wechat_id, email, personer_picture_oss_path,
id_front_page_oss_path, id_back_page_oss_path,
last_graduate_grade, last_graduate_school,
last_graduate_certification_oss_path, bank_account_opening,
bank_account_id, personal_sign_oss_path, is_active,
created_at, created_by, updated_at,
updated_by)
values (#{practitionerPotentialId,jdbcType=BIGINT}, #{inviteePractitionerId,jdbcType=BIGINT},
#{name,jdbcType=VARCHAR}, #{mobileNo,jdbcType=VARCHAR}, #{idTypeId,jdbcType=BIGINT},
#{idType,jdbcType=VARCHAR}, #{idNo,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER},
#{practitionerBirthdate,jdbcType=DATE}, #{provinceId,jdbcType=BIGINT}, #{provinceName,jdbcType=VARCHAR},
#{cityId,jdbcType=BIGINT}, #{cityName,jdbcType=VARCHAR}, #{residentAddress,jdbcType=LONGVARCHAR},
#{wechatId,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{personerPictureOssPath,jdbcType=VARCHAR},
#{idFrontPageOssPath,jdbcType=VARCHAR}, #{idBackPageOssPath,jdbcType=VARCHAR},
#{lastGraduateGrade,jdbcType=VARCHAR}, #{lastGraduateSchool,jdbcType=VARCHAR},
#{lastGraduateCertificationOssPath,jdbcType=VARCHAR}, #{bankAccountOpening,jdbcType=VARCHAR},
#{bankAccountId,jdbcType=VARCHAR}, #{personalSignOssPath,jdbcType=VARCHAR}, #{isActive,jdbcType=INTEGER},
#{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP},
#{updatedBy,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_basic_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="practitionerPotentialId != null">
practitioner_potential_id,
</if>
<if test="inviteePractitionerId != null">
invitee_practitioner_id,
</if>
<if test="name != null">
`name`,
</if>
<if test="mobileNo != null">
mobile_no,
</if>
<if test="idTypeId != null">
id_type_id,
</if>
<if test="idType != null">
id_type,
</if>
<if test="idNo != null">
id_no,
</if>
<if test="gender != null">
gender,
</if>
<if test="practitionerBirthdate != null">
practitioner_birthdate,
</if>
<if test="provinceId != null">
province_id,
</if>
<if test="provinceName != null">
province_name,
</if>
<if test="cityId != null">
city_id,
</if>
<if test="cityName != null">
city_name,
</if>
<if test="residentAddress != null">
resident_address,
</if>
<if test="wechatId != null">
wechat_id,
</if>
<if test="email != null">
email,
</if>
<if test="personerPictureOssPath != null">
personer_picture_oss_path,
</if>
<if test="idFrontPageOssPath != null">
id_front_page_oss_path,
</if>
<if test="idBackPageOssPath != null">
id_back_page_oss_path,
</if>
<if test="lastGraduateGrade != null">
last_graduate_grade,
</if>
<if test="lastGraduateSchool != null">
last_graduate_school,
</if>
<if test="lastGraduateCertificationOssPath != null">
last_graduate_certification_oss_path,
</if>
<if test="bankAccountOpening != null">
bank_account_opening,
</if>
<if test="bankAccountId != null">
bank_account_id,
</if>
<if test="personalSignOssPath != null">
personal_sign_oss_path,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="practitionerPotentialId != null">
#{practitionerPotentialId,jdbcType=BIGINT},
</if>
<if test="inviteePractitionerId != null">
#{inviteePractitionerId,jdbcType=BIGINT},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
<if test="mobileNo != null">
#{mobileNo,jdbcType=VARCHAR},
</if>
<if test="idTypeId != null">
#{idTypeId,jdbcType=BIGINT},
</if>
<if test="idType != null">
#{idType,jdbcType=VARCHAR},
</if>
<if test="idNo != null">
#{idNo,jdbcType=VARCHAR},
</if>
<if test="gender != null">
#{gender,jdbcType=INTEGER},
</if>
<if test="practitionerBirthdate != null">
#{practitionerBirthdate,jdbcType=DATE},
</if>
<if test="provinceId != null">
#{provinceId,jdbcType=BIGINT},
</if>
<if test="provinceName != null">
#{provinceName,jdbcType=VARCHAR},
</if>
<if test="cityId != null">
#{cityId,jdbcType=BIGINT},
</if>
<if test="cityName != null">
#{cityName,jdbcType=VARCHAR},
</if>
<if test="residentAddress != null">
#{residentAddress,jdbcType=LONGVARCHAR},
</if>
<if test="wechatId != null">
#{wechatId,jdbcType=VARCHAR},
</if>
<if test="email != null">
#{email,jdbcType=VARCHAR},
</if>
<if test="personerPictureOssPath != null">
#{personerPictureOssPath,jdbcType=VARCHAR},
</if>
<if test="idFrontPageOssPath != null">
#{idFrontPageOssPath,jdbcType=VARCHAR},
</if>
<if test="idBackPageOssPath != null">
#{idBackPageOssPath,jdbcType=VARCHAR},
</if>
<if test="lastGraduateGrade != null">
#{lastGraduateGrade,jdbcType=VARCHAR},
</if>
<if test="lastGraduateSchool != null">
#{lastGraduateSchool,jdbcType=VARCHAR},
</if>
<if test="lastGraduateCertificationOssPath != null">
#{lastGraduateCertificationOssPath,jdbcType=VARCHAR},
</if>
<if test="bankAccountOpening != null">
#{bankAccountOpening,jdbcType=VARCHAR},
</if>
<if test="bankAccountId != null">
#{bankAccountId,jdbcType=VARCHAR},
</if>
<if test="personalSignOssPath != null">
#{personalSignOssPath,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_basic_info
<set>
<if test="practitionerPotentialId != null">
practitioner_potential_id = #{practitionerPotentialId,jdbcType=BIGINT},
</if>
<if test="inviteePractitionerId != null">
invitee_practitioner_id = #{inviteePractitionerId,jdbcType=BIGINT},
</if>
<if test="name != null">
`name` = #{name,jdbcType=VARCHAR},
</if>
<if test="mobileNo != null">
mobile_no = #{mobileNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler},
</if>
<if test="idTypeId != null">
id_type_id = #{idTypeId,jdbcType=BIGINT},
</if>
<if test="idType != null">
id_type = #{idType,jdbcType=VARCHAR},
</if>
<if test="idNo != null">
id_no = #{idNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler},
</if>
<if test="gender != null">
gender = #{gender,jdbcType=INTEGER},
</if>
<if test="practitionerBirthdate != null">
practitioner_birthdate = #{practitionerBirthdate,jdbcType=DATE},
</if>
<if test="provinceId != null">
province_id = #{provinceId,jdbcType=BIGINT},
</if>
<if test="provinceName != null">
province_name = #{provinceName,jdbcType=VARCHAR},
</if>
<if test="cityId != null">
city_id = #{cityId,jdbcType=BIGINT},
</if>
<if test="cityName != null">
city_name = #{cityName,jdbcType=VARCHAR},
</if>
<if test="residentAddress != null">
resident_address = #{residentAddress,jdbcType=LONGVARCHAR},
</if>
<if test="wechatId != null">
wechat_id = #{wechatId,jdbcType=VARCHAR},
</if>
<if test="email != null">
email = #{email,jdbcType=VARCHAR},
</if>
<if test="personerPictureOssPath != null">
personer_picture_oss_path = #{personerPictureOssPath,jdbcType=VARCHAR},
</if>
<if test="payrollOssPath != null">
payroll_oss_path = #{payrollOssPath,jdbcType=VARCHAR},
</if>
<if test="idFrontPageOssPath != null">
id_front_page_oss_path = #{idFrontPageOssPath,jdbcType=VARCHAR},
</if>
<if test="idBackPageOssPath != null">
id_back_page_oss_path = #{idBackPageOssPath,jdbcType=VARCHAR},
</if>
<if test="lastGraduateCode != null">
last_graduate_code = #{lastGraduateCode,jdbcType=VARCHAR},
</if>
<if test="lastGraduateGrade != null">
last_graduate_grade = #{lastGraduateGrade,jdbcType=VARCHAR},
</if>
<if test="lastGraduateSchool != null">
last_graduate_school = #{lastGraduateSchool,jdbcType=VARCHAR},
</if>
<if test="lastGraduateCertificationOssPath != null">
last_graduate_certification_oss_path = #{lastGraduateCertificationOssPath,jdbcType=VARCHAR},
</if>
<if test="bankAccountOpening != null">
bank_account_opening = #{bankAccountOpening,jdbcType=VARCHAR},
</if>
<if test="bankAccountId != null">
bank_account_id = #{bankAccountId,jdbcType=VARCHAR},
</if>
<if test="personalSignOssPath != null">
personal_sign_oss_path = #{personalSignOssPath,jdbcType=VARCHAR},
</if>
<if test="approveStatus != null">
approve_status = #{approveStatus,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_basic_info
set practitioner_potential_id = #{practitionerPotentialId,jdbcType=BIGINT},
invitee_practitioner_id = #{inviteePractitionerId,jdbcType=BIGINT},
`name` = #{name,jdbcType=VARCHAR},
mobile_no = #{mobileNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler},
id_type_id = #{idTypeId,jdbcType=BIGINT},
id_type = #{idType,jdbcType=VARCHAR},
id_no = #{idNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler},
gender = #{gender,jdbcType=INTEGER},
practitioner_birthdate = #{practitionerBirthdate,jdbcType=DATE},
province_id = #{provinceId,jdbcType=BIGINT},
province_name = #{provinceName,jdbcType=VARCHAR},
city_id = #{cityId,jdbcType=BIGINT},
city_name = #{cityName,jdbcType=VARCHAR},
resident_address = #{residentAddress,jdbcType=LONGVARCHAR},
wechat_id = #{wechatId,jdbcType=VARCHAR},
email = #{email,jdbcType=VARCHAR},
personer_picture_oss_path = #{personerPictureOssPath,jdbcType=VARCHAR},
payroll_oss_path = #{payrollOssPath,jdbcType=VARCHAR},
id_front_page_oss_path = #{idFrontPageOssPath,jdbcType=VARCHAR},
id_back_page_oss_path = #{idBackPageOssPath,jdbcType=VARCHAR},
last_graduate_code = #{lastGraduateCode,jdbcType=VARCHAR},
last_graduate_grade = #{lastGraduateGrade,jdbcType=VARCHAR},
last_graduate_school = #{lastGraduateSchool,jdbcType=VARCHAR},
last_graduate_certification_oss_path = #{lastGraduateCertificationOssPath,jdbcType=VARCHAR},
bank_account_opening = #{bankAccountOpening,jdbcType=VARCHAR},
bank_account_id = #{bankAccountId,jdbcType=VARCHAR},
personal_sign_oss_path = #{personalSignOssPath,jdbcType=VARCHAR},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_basic_info
<trim prefix="set" suffixOverrides=",">
<trim prefix="practitioner_potential_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.practitionerPotentialId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="invitee_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.inviteePractitionerId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="`name` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.name,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="mobile_no = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mobileNo,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="id_type_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.idTypeId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="id_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.idType,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="id_no = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.idNo,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="gender = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.gender,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="practitioner_birthdate = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.practitionerBirthdate,jdbcType=DATE}
</foreach>
</trim>
<trim prefix="province_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.provinceId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="province_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.provinceName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="city_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.cityId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="city_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.cityName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="resident_address = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.residentAddress,jdbcType=LONGVARCHAR}
</foreach>
</trim>
<trim prefix="wechat_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.wechatId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="email = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.email,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="personer_picture_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.personerPictureOssPath,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="id_front_page_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.idFrontPageOssPath,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="id_back_page_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.idBackPageOssPath,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="last_graduate_grade = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.lastGraduateGrade,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="last_graduate_school = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.lastGraduateSchool,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="last_graduate_certification_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.lastGraduateCertificationOssPath,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="bank_account_opening = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.bankAccountOpening,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="bank_account_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.bankAccountId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="personal_sign_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.personalSignOssPath,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_basic_info
<trim prefix="set" suffixOverrides=",">
<trim prefix="practitioner_potential_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.practitionerPotentialId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.practitionerPotentialId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="invitee_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.inviteePractitionerId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.inviteePractitionerId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="`name` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.name != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.name,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="mobile_no = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mobileNo != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mobileNo,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="id_type_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.idTypeId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.idTypeId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="id_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.idType != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.idType,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="id_no = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.idNo != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.idNo,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="gender = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.gender != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.gender,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="practitioner_birthdate = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.practitionerBirthdate != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.practitionerBirthdate,jdbcType=DATE}
</if>
</foreach>
</trim>
<trim prefix="province_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.provinceId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.provinceId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="province_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.provinceName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.provinceName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="city_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.cityId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.cityId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="city_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.cityName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.cityName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="resident_address = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.residentAddress != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.residentAddress,jdbcType=LONGVARCHAR}
</if>
</foreach>
</trim>
<trim prefix="wechat_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.wechatId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.wechatId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="email = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.email != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.email,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="personer_picture_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.personerPictureOssPath != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.personerPictureOssPath,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="id_front_page_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.idFrontPageOssPath != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.idFrontPageOssPath,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="id_back_page_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.idBackPageOssPath != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.idBackPageOssPath,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="last_graduate_grade = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.lastGraduateGrade != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.lastGraduateGrade,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="last_graduate_school = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.lastGraduateSchool != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.lastGraduateSchool,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="last_graduate_certification_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.lastGraduateCertificationOssPath != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.lastGraduateCertificationOssPath,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="bank_account_opening = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.bankAccountOpening != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.bankAccountOpening,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="bank_account_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.bankAccountId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.bankAccountId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="personal_sign_oss_path = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.personalSignOssPath != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.personalSignOssPath,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_basic_info
(practitioner_potential_id, invitee_practitioner_id, `name`, mobile_no, id_type_id,
id_type, id_no, gender, practitioner_birthdate, province_id, province_name, city_id,
city_name, resident_address, wechat_id, email, personer_picture_oss_path, id_front_page_oss_path,
id_back_page_oss_path, last_graduate_grade, last_graduate_school, last_graduate_certification_oss_path,
bank_account_opening, bank_account_id, personal_sign_oss_path, is_active, created_at,
created_by, updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.practitionerPotentialId,jdbcType=BIGINT}, #{item.inviteePractitionerId,jdbcType=BIGINT},
#{item.name,jdbcType=VARCHAR}, #{item.mobileNo,jdbcType=VARCHAR}, #{item.idTypeId,jdbcType=BIGINT},
#{item.idType,jdbcType=VARCHAR}, #{item.idNo,jdbcType=VARCHAR}, #{item.gender,jdbcType=INTEGER},
#{item.practitionerBirthdate,jdbcType=DATE}, #{item.provinceId,jdbcType=BIGINT},
#{item.provinceName,jdbcType=VARCHAR}, #{item.cityId,jdbcType=BIGINT}, #{item.cityName,jdbcType=VARCHAR},
#{item.residentAddress,jdbcType=LONGVARCHAR}, #{item.wechatId,jdbcType=VARCHAR},
#{item.email,jdbcType=VARCHAR}, #{item.personerPictureOssPath,jdbcType=VARCHAR},
#{item.idFrontPageOssPath,jdbcType=VARCHAR}, #{item.idBackPageOssPath,jdbcType=VARCHAR},
#{item.lastGraduateGrade,jdbcType=VARCHAR}, #{item.lastGraduateSchool,jdbcType=VARCHAR},
#{item.lastGraduateCertificationOssPath,jdbcType=VARCHAR}, #{item.bankAccountOpening,jdbcType=VARCHAR},
#{item.bankAccountId,jdbcType=VARCHAR}, #{item.personalSignOssPath,jdbcType=VARCHAR},
#{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT},
#{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT})
</foreach>
</insert>
<update id="updateByPractitionerPotentialId">
update ag_acl_practitioner_hiring_basic_info
set
invitee_practitioner_id = #{inviteePractitionerId,jdbcType=BIGINT},
`name` = #{name,jdbcType=VARCHAR},
mobile_no = #{mobileNo,jdbcType=VARCHAR},
id_type_id = #{idTypeId,jdbcType=BIGINT},
id_type = #{idType,jdbcType=VARCHAR},
id_no = #{idNo,jdbcType=VARCHAR},
gender = #{gender,jdbcType=INTEGER},
practitioner_birthdate = #{practitionerBirthdate,jdbcType=DATE},
province_id = #{provinceId,jdbcType=BIGINT},
province_name = #{provinceName,jdbcType=VARCHAR},
city_id = #{cityId,jdbcType=BIGINT},
city_name = #{cityName,jdbcType=VARCHAR},
resident_address = #{residentAddress,jdbcType=LONGVARCHAR},
wechat_id = #{wechatId,jdbcType=VARCHAR},
email = #{email,jdbcType=VARCHAR},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where practitioner_potential_id = #{practitionerPotentialId,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.customer.AclPractitionerHiringContractTermsConfirmsMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms">
<!--@mbg.generated-->
<!--@Table ag_acl_practitioner_hiring_contract_terms_confirms-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="hiring_basic_info_id" jdbcType="BIGINT" property="hiringBasicInfoId" />
<result column="contract_term_id" jdbcType="BIGINT" property="contractTermId" />
<result column="confirm_status" jdbcType="BIGINT" property="confirmStatus" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, hiring_basic_info_id, contract_term_id, confirm_status, is_active, created_at,
created_by, updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_contract_terms_confirms
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_practitioner_hiring_contract_terms_confirms
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_contract_terms_confirms (hiring_basic_info_id, contract_term_id,
confirm_status, is_active, created_at,
created_by, updated_at, updated_by
)
values (#{hiringBasicInfoId,jdbcType=BIGINT}, #{contractTermId,jdbcType=BIGINT},
#{confirmStatus,jdbcType=BIGINT}, #{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP},
#{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_contract_terms_confirms
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
hiring_basic_info_id,
</if>
<if test="contractTermId != null">
contract_term_id,
</if>
<if test="confirmStatus != null">
confirm_status,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
#{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="contractTermId != null">
#{contractTermId,jdbcType=BIGINT},
</if>
<if test="confirmStatus != null">
#{confirmStatus,jdbcType=BIGINT},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_contract_terms_confirms
<set>
<if test="hiringBasicInfoId != null">
hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="contractTermId != null">
contract_term_id = #{contractTermId,jdbcType=BIGINT},
</if>
<if test="confirmStatus != null">
confirm_status = #{confirmStatus,jdbcType=BIGINT},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_contract_terms_confirms
set hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
contract_term_id = #{contractTermId,jdbcType=BIGINT},
confirm_status = #{confirmStatus,jdbcType=BIGINT},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_contract_terms_confirms
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="contract_term_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.contractTermId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="confirm_status = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.confirmStatus,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_contract_terms_confirms
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.hiringBasicInfoId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="contract_term_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.contractTermId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.contractTermId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="confirm_status = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.confirmStatus != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.confirmStatus,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_contract_terms_confirms
(hiring_basic_info_id, contract_term_id, confirm_status, is_active, created_at, created_by,
updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.contractTermId,jdbcType=BIGINT},
#{item.confirmStatus,jdbcType=BIGINT}, #{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP},
#{item.createdBy,jdbcType=BIGINT}, #{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT}
)
</foreach>
</insert>
<select id="selectByHiringBasicInfoId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_contract_terms_confirms
where hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<delete id="deleteBatchByIds">
delete from ag_acl_practitioner_hiring_contract_terms_confirms
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.AclPractitionerHiringMembership">
<!--@mbg.generated-->
<!--@Table ag_acl_practitioner_hiring_membership-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="hiring_basic_info_id" jdbcType="BIGINT" property="hiringBasicInfoId" />
<result column="md_drop_option_id" jdbcType="BIGINT" property="mdDropOptionId" />
<result column="md_drop_option_name" jdbcType="VARCHAR" property="mdDropOptionName" />
<result column="mentor_practitioner_id" jdbcType="VARCHAR" property="mentorPractitionerId" />
<result column="mentor" jdbcType="VARCHAR" property="mentor" />
<result column="introducer_practitioner_id" jdbcType="VARCHAR" property="introducerPractitionerId" />
<result column="introducer" jdbcType="VARCHAR" property="introducer" />
<result column="subsystem_id" jdbcType="VARCHAR" property="subsystemId" />
<result column="subsystem" jdbcType="VARCHAR" property="subsystem" />
<result column="subsystem_owner_id" jdbcType="VARCHAR" property="subsystemOwnerId" />
<result column="subsystem_owner" jdbcType="VARCHAR" property="subsystemOwner" />
<result column="branch_id" jdbcType="VARCHAR" property="branchId" />
<result column="branch" jdbcType="VARCHAR" property="branch" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, hiring_basic_info_id, md_drop_option_id, md_drop_option_name, mentor_practitioner_id,
mentor, introducer_practitioner_id, introducer, subsystem_id, subsystem, subsystem_owner_id,
subsystem_owner, branch_id, branch, is_active, created_at, created_by,
updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_membership
where id = #{id,jdbcType=BIGINT}
</select>
<select id="queryByhiringBasicInfoId" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_membership
where hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_practitioner_hiring_membership
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringMembership" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_membership (hiring_basic_info_id, md_drop_option_id,
md_drop_option_name, mentor_practitioner_id,
mentor, introducer_practitioner_id, introducer,
subsystem_id, subsystem, subsystem_owner_id,
subsystem_owner, branch_id, branch,
is_active, created_at, created_by,
updated_at, updated_by)
values (#{hiringBasicInfoId,jdbcType=BIGINT}, #{mdDropOptionId,jdbcType=BIGINT},
#{mdDropOptionName,jdbcType=VARCHAR}, #{mentorPractitionerId,jdbcType=VARCHAR},
#{mentor,jdbcType=VARCHAR}, #{introducerPractitionerId,jdbcType=VARCHAR}, #{introducer,jdbcType=VARCHAR},
#{subsystemId,jdbcType=VARCHAR}, #{subsystem,jdbcType=VARCHAR}, #{subsystemOwnerId,jdbcType=VARCHAR},
#{subsystemOwner,jdbcType=VARCHAR}, #{branchId,jdbcType=VARCHAR}, #{branch,jdbcType=VARCHAR},
#{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT},
#{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringMembership" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_membership
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
hiring_basic_info_id,
</if>
<if test="mdDropOptionId != null">
md_drop_option_id,
</if>
<if test="mdDropOptionName != null">
md_drop_option_name,
</if>
<if test="mentorPractitionerId != null">
mentor_practitioner_id,
</if>
<if test="mentor != null">
mentor,
</if>
<if test="introducerPractitionerId != null">
introducer_practitioner_id,
</if>
<if test="introducer != null">
introducer,
</if>
<if test="subsystemId != null">
subsystem_id,
</if>
<if test="subsystem != null">
subsystem,
</if>
<if test="subsystemOwnerId != null">
subsystem_owner_id,
</if>
<if test="subsystemOwner != null">
subsystem_owner,
</if>
<if test="branchId != null">
branch_id,
</if>
<if test="branch != null">
branch,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
#{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionId != null">
#{mdDropOptionId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionName != null">
#{mdDropOptionName,jdbcType=VARCHAR},
</if>
<if test="mentorPractitionerId != null">
#{mentorPractitionerId,jdbcType=BIGINT},
</if>
<if test="mentor != null">
#{mentor,jdbcType=VARCHAR},
</if>
<if test="introducerPractitionerId != null">
#{introducerPractitionerId,jdbcType=BIGINT},
</if>
<if test="introducer != null">
#{introducer,jdbcType=VARCHAR},
</if>
<if test="subsystemId != null">
#{subsystemId,jdbcType=BIGINT},
</if>
<if test="subsystem != null">
#{subsystem,jdbcType=VARCHAR},
</if>
<if test="subsystemOwnerId != null">
#{subsystemOwnerId,jdbcType=BIGINT},
</if>
<if test="subsystemOwner != null">
#{subsystemOwner,jdbcType=VARCHAR},
</if>
<if test="branchId != null">
#{branchId,jdbcType=BIGINT},
</if>
<if test="branch != null">
#{branch,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringMembership">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_membership
<set>
<if test="hiringBasicInfoId != null">
hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionId != null">
md_drop_option_id = #{mdDropOptionId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionName != null">
md_drop_option_name = #{mdDropOptionName,jdbcType=VARCHAR},
</if>
<if test="mentorPractitionerId != null">
mentor_practitioner_id = #{mentorPractitionerId,jdbcType=VARCHAR},
</if>
<if test="mentor != null">
mentor = #{mentor,jdbcType=VARCHAR},
</if>
<if test="introducerPractitionerId != null">
introducer_practitioner_id = #{introducerPractitionerId,jdbcType=VARCHAR},
</if>
<if test="introducer != null">
introducer = #{introducer,jdbcType=VARCHAR},
</if>
<if test="subsystemId != null">
subsystem_id = #{subsystemId,jdbcType=VARCHAR},
</if>
<if test="subsystem != null">
subsystem = #{subsystem,jdbcType=VARCHAR},
</if>
<if test="subsystemOwnerId != null">
subsystem_owner_id = #{subsystemOwnerId,jdbcType=VARCHAR},
</if>
<if test="subsystemOwner != null">
subsystem_owner = #{subsystemOwner,jdbcType=VARCHAR},
</if>
<if test="branchId != null">
branch_id = #{branchId,jdbcType=VARCHAR},
</if>
<if test="branch != null">
branch = #{branch,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringMembership">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_membership
set hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
md_drop_option_id = #{mdDropOptionId,jdbcType=BIGINT},
md_drop_option_name = #{mdDropOptionName,jdbcType=VARCHAR},
mentor_practitioner_id = #{mentorPractitionerId,jdbcType=VARCHAR},
mentor = #{mentor,jdbcType=VARCHAR},
introducer_practitioner_id = #{introducerPractitionerId,jdbcType=VARCHAR},
introducer = #{introducer,jdbcType=VARCHAR},
subsystem_id = #{subsystemId,jdbcType=VARCHAR},
subsystem = #{subsystem,jdbcType=VARCHAR},
subsystem_owner_id = #{subsystemOwnerId,jdbcType=VARCHAR},
subsystem_owner = #{subsystemOwner,jdbcType=VARCHAR},
branch_id = #{branchId,jdbcType=VARCHAR},
branch = #{branch,jdbcType=VARCHAR},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_membership
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="md_drop_option_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="md_drop_option_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="mentor_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mentorPractitionerId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="mentor = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mentor,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="introducer_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.introducerPractitionerId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="introducer = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.introducer,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="subsystem_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="subsystem = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystem,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="subsystem_owner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemOwnerId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="subsystem_owner = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemOwner,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="branch_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.branchId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="branch = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.branch,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_membership
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.hiringBasicInfoId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="md_drop_option_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mdDropOptionId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="md_drop_option_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mdDropOptionName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="mentor_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mentorPractitionerId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mentorPractitionerId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="mentor = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mentor != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mentor,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="introducer_practitioner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.introducerPractitionerId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.introducerPractitionerId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="introducer = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.introducer != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.introducer,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="subsystem_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.subsystemId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="subsystem = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.subsystem != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystem,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="subsystem_owner_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.subsystemOwnerId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemOwnerId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="subsystem_owner = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.subsystemOwner != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemOwner,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="branch_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.branchId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.branchId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="branch = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.branch != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.branch,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_membership
(hiring_basic_info_id, md_drop_option_id, md_drop_option_name, mentor_practitioner_id,
mentor, introducer_practitioner_id, introducer, subsystem_id, subsystem, subsystem_owner_id,
subsystem_owner, branch_id, branch, is_active, created_at, created_by,
updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.mdDropOptionId,jdbcType=BIGINT},
#{item.mdDropOptionName,jdbcType=VARCHAR}, #{item.mentorPractitionerId,jdbcType=VARCHAR},
#{item.mentor,jdbcType=VARCHAR}, #{item.introducerPractitionerId,jdbcType=VARCHAR},
#{item.introducer,jdbcType=VARCHAR}, #{item.subsystemId,jdbcType=VARCHAR}, #{item.subsystem,jdbcType=VARCHAR},
#{item.subsystemOwnerId,jdbcType=VARCHAR}, #{item.subsystemOwner,jdbcType=VARCHAR},
#{item.branchId,jdbcType=VARCHAR}, #{item.branch,jdbcType=VARCHAR},
#{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT},
#{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT})
</foreach>
</insert>
<select id="selectByHiringBasicInfoId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_membership
where hiring_basic_info_id = #{basicInfoId,jdbcType=BIGINT}
</select>
<select id="isMentor" resultType="java.lang.Integer">
select count(1)
from ag_acl_practitioner_hiring_membership m
where m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT}
</select>
<select id="isSystemOwner" resultType="java.lang.Integer">
select count(1)
from ag_acl_practitioner_hiring_membership m
where m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.customer.AclPractitionerHiringPersonalStatementsMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements">
<!--@mbg.generated-->
<!--@Table ag_acl_practitioner_hiring_personal_statements-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="hiring_basic_info_id" jdbcType="BIGINT" property="hiringBasicInfoId" />
<result column="md_drop_option_id" jdbcType="BIGINT" property="mdDropOptionId" />
<result column="md_drop_option_name" jdbcType="VARCHAR" property="mdDropOptionName" />
<result column="status" jdbcType="BIGINT" property="status" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="user_input" jdbcType="INTEGER" property="userInput" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, hiring_basic_info_id, md_drop_option_id, md_drop_option_name, `status`, is_active, user_input,
created_at, created_by, updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_personal_statements
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_practitioner_hiring_personal_statements
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_personal_statements (hiring_basic_info_id, md_drop_option_id,
md_drop_option_name, `status`, is_active,
created_at, created_by, updated_at,
updated_by)
values (#{hiringBasicInfoId,jdbcType=BIGINT}, #{mdDropOptionId,jdbcType=BIGINT},
#{mdDropOptionName,jdbcType=VARCHAR}, #{status,jdbcType=BIGINT}, #{isActive,jdbcType=INTEGER},
#{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP},
#{updatedBy,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_personal_statements
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
hiring_basic_info_id,
</if>
<if test="mdDropOptionId != null">
md_drop_option_id,
</if>
<if test="mdDropOptionName != null">
md_drop_option_name,
</if>
<if test="status != null">
`status`,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
#{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionId != null">
#{mdDropOptionId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionName != null">
#{mdDropOptionName,jdbcType=VARCHAR},
</if>
<if test="status != null">
#{status,jdbcType=BIGINT},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_personal_statements
<set>
<if test="hiringBasicInfoId != null">
hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionId != null">
md_drop_option_id = #{mdDropOptionId,jdbcType=BIGINT},
</if>
<if test="mdDropOptionName != null">
md_drop_option_name = #{mdDropOptionName,jdbcType=VARCHAR},
</if>
<if test="status != null">
`status` = #{status,jdbcType=BIGINT},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_personal_statements
set hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
md_drop_option_id = #{mdDropOptionId,jdbcType=BIGINT},
md_drop_option_name = #{mdDropOptionName,jdbcType=VARCHAR},
`status` = #{status,jdbcType=BIGINT},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_personal_statements
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="md_drop_option_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="md_drop_option_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="`status` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.status,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_personal_statements
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.hiringBasicInfoId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="md_drop_option_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mdDropOptionId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="md_drop_option_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.mdDropOptionName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.mdDropOptionName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="`status` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.status != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.status,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_personal_statements
(hiring_basic_info_id, md_drop_option_id, md_drop_option_name, `status`, is_active, user_input,
created_at, created_by, updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.mdDropOptionId,jdbcType=BIGINT},
#{item.mdDropOptionName,jdbcType=VARCHAR}, #{item.status,jdbcType=BIGINT}, #{item.isActive,jdbcType=INTEGER},
#{item.userInput,jdbcType=VARCHAR},
#{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT}, #{item.updatedAt,jdbcType=TIMESTAMP},
#{item.updatedBy,jdbcType=BIGINT})
</foreach>
</insert>
<select id="selectByHiringBasicInfoId" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_personal_statements
where hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<delete id="deleteBatchByIds">
delete from ag_acl_practitioner_hiring_personal_statements
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.customer.AclPractitionerHiringWorkingExperienceMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience">
<!--@mbg.generated-->
<!--@Table ag_acl_practitioner_hiring_working_experience-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="hiring_basic_info_id" jdbcType="BIGINT" property="hiringBasicInfoId" />
<result column="working_company" jdbcType="VARCHAR" property="workingCompany" />
<result column="position" jdbcType="VARCHAR" property="position" />
<result column="working_start" jdbcType="VARCHAR" property="workingStart" />
<result column="working_end" jdbcType="VARCHAR" property="workingEnd" />
<result column="seq" jdbcType="BIGINT" property="seq" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, hiring_basic_info_id, working_company, `position`, working_start, working_end,
seq, is_active, created_at, created_by, updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_working_experience
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_acl_practitioner_hiring_working_experience
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_working_experience (hiring_basic_info_id, working_company,
`position`, working_start, working_end,
seq, is_active, created_at,
created_by, updated_at, updated_by
)
values (#{hiringBasicInfoId,jdbcType=BIGINT}, #{workingCompany,jdbcType=VARCHAR},
#{position,jdbcType=VARCHAR}, #{workingStart,jdbcType=VARCHAR}, #{workingEnd,jdbcType=VARCHAR},
#{seq,jdbcType=BIGINT}, #{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP},
#{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_working_experience
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
hiring_basic_info_id,
</if>
<if test="workingCompany != null">
working_company,
</if>
<if test="position != null">
`position`,
</if>
<if test="workingStart != null">
working_start,
</if>
<if test="workingEnd != null">
working_end,
</if>
<if test="seq != null">
seq,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hiringBasicInfoId != null">
#{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="workingCompany != null">
#{workingCompany,jdbcType=VARCHAR},
</if>
<if test="position != null">
#{position,jdbcType=VARCHAR},
</if>
<if test="workingStart != null">
#{workingStart,jdbcType=VARCHAR},
</if>
<if test="workingEnd != null">
#{workingEnd,jdbcType=VARCHAR},
</if>
<if test="seq != null">
#{seq,jdbcType=BIGINT},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_working_experience
<set>
<if test="hiringBasicInfoId != null">
hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
</if>
<if test="workingCompany != null">
working_company = #{workingCompany,jdbcType=VARCHAR},
</if>
<if test="position != null">
`position` = #{position,jdbcType=VARCHAR},
</if>
<if test="workingStart != null">
working_start = #{workingStart,jdbcType=VARCHAR},
</if>
<if test="workingEnd != null">
working_end = #{workingEnd,jdbcType=VARCHAR},
</if>
<if test="seq != null">
seq = #{seq,jdbcType=BIGINT},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_working_experience
set hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT},
working_company = #{workingCompany,jdbcType=VARCHAR},
`position` = #{position,jdbcType=VARCHAR},
working_start = #{workingStart,jdbcType=VARCHAR},
working_end = #{workingEnd,jdbcType=VARCHAR},
seq = #{seq,jdbcType=BIGINT},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_working_experience
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="working_company = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.workingCompany,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="`position` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.position,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="working_start = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.workingStart,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="working_end = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.workingEnd,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="seq = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.seq,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_acl_practitioner_hiring_working_experience
<trim prefix="set" suffixOverrides=",">
<trim prefix="hiring_basic_info_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.hiringBasicInfoId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.hiringBasicInfoId,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="working_company = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.workingCompany != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.workingCompany,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="`position` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.position != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.position,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="working_start = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.workingStart != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.workingStart,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="working_end = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.workingEnd != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.workingEnd,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="seq = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.seq != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.seq,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_acl_practitioner_hiring_working_experience
(hiring_basic_info_id, working_company, `position`, working_start, working_end, seq,
is_active, created_at, created_by, updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.hiringBasicInfoId,jdbcType=BIGINT}, #{item.workingCompany,jdbcType=VARCHAR},
#{item.position,jdbcType=VARCHAR}, #{item.workingStart,jdbcType=VARCHAR}, #{item.workingEnd,jdbcType=VARCHAR},
#{item.seq,jdbcType=BIGINT}, #{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP},
#{item.createdBy,jdbcType=BIGINT}, #{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT}
)
</foreach>
</insert>
<select id="selectByHiringBasicInfoId" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from ag_acl_practitioner_hiring_working_experience
where hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<delete id="deleteBatchByIds">
delete from ag_acl_practitioner_hiring_working_experience
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</delete>
</mapper>
\ No newline at end of file
...@@ -73,12 +73,12 @@ ...@@ -73,12 +73,12 @@
city_name, cert_list, bio_intro, city_name, cert_list, bio_intro,
wechat_id, qq_id, is_profile_show, wechat_id, qq_id, is_profile_show,
is_name_show, is_mobile_show, education_level, is_name_show, is_mobile_show, education_level,
mentor_id, introducer_id, gender mentor_id, introducer_id, gender, hiring_basic_info_id
) )
values (#{insurerId,jdbcType=BIGINT}, #{insurerBranchId,jdbcType=BIGINT}, #{deptId,jdbcType=BIGINT}, values (#{insurerId,jdbcType=BIGINT}, #{insurerBranchId,jdbcType=BIGINT}, #{deptId,jdbcType=BIGINT},
#{subordinateSystemId,jdbcType=BIGINT}, #{practitionerCode,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{subordinateSystemId,jdbcType=BIGINT}, #{practitionerCode,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
#{mobileNo,jdbcType=VARCHAR}, #{idTypeId,jdbcType=BIGINT}, #{idType,jdbcType=VARCHAR}, #{mobileNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler}, #{idTypeId,jdbcType=BIGINT}, #{idType,jdbcType=VARCHAR},
#{idNo,jdbcType=VARCHAR}, #{practitionerBirthdate,jdbcType=DATE}, #{practitionerRegNo,jdbcType=VARCHAR}, #{idNo,jdbcType=VARCHAR,typeHandler=com.yd.util.deshandler.DESTypeHandler}, #{practitionerBirthdate,jdbcType=DATE}, #{practitionerRegNo,jdbcType=VARCHAR},
#{practitionerRegCompany,jdbcType=VARCHAR}, #{effectiveStartDate,jdbcType=DATE}, #{practitionerRegCompany,jdbcType=VARCHAR}, #{effectiveStartDate,jdbcType=DATE},
#{effectiveEndDate,jdbcType=DATE}, #{remark,jdbcType=VARCHAR}, #{customerId,jdbcType=BIGINT}, #{effectiveEndDate,jdbcType=DATE}, #{remark,jdbcType=VARCHAR}, #{customerId,jdbcType=BIGINT},
#{employeeNo,jdbcType=VARCHAR}, #{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{employeeNo,jdbcType=VARCHAR}, #{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP},
...@@ -87,7 +87,8 @@ ...@@ -87,7 +87,8 @@
#{cityName,jdbcType=VARCHAR}, #{certList,jdbcType=VARCHAR}, #{bioIntro,jdbcType=VARCHAR}, #{cityName,jdbcType=VARCHAR}, #{certList,jdbcType=VARCHAR}, #{bioIntro,jdbcType=VARCHAR},
#{wechatId,jdbcType=VARCHAR}, #{qqId,jdbcType=VARCHAR}, #{isProfileShow,jdbcType=INTEGER}, #{wechatId,jdbcType=VARCHAR}, #{qqId,jdbcType=VARCHAR}, #{isProfileShow,jdbcType=INTEGER},
#{isNameShow,jdbcType=INTEGER}, #{isMobileShow,jdbcType=INTEGER}, #{educationLevel,jdbcType=VARCHAR}, #{isNameShow,jdbcType=INTEGER}, #{isMobileShow,jdbcType=INTEGER}, #{educationLevel,jdbcType=VARCHAR},
#{mentorId,jdbcType=BIGINT}, #{introducerId,jdbcType=BIGINT}, #{gender,jdbcType=INTEGER} #{mentorId,jdbcType=BIGINT}, #{introducerId,jdbcType=BIGINT}, #{gender,jdbcType=INTEGER},
#{hiringBasicInfoId,jdbcType=BIGINT}
) )
</insert> </insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitioner" useGeneratedKeys="true"> <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.customer.AclPractitioner" useGeneratedKeys="true">
...@@ -945,4 +946,25 @@ ...@@ -945,4 +946,25 @@
(select subordinate_system_id from ag_acl_practitioner where id = #{practitionerId,jdbcType=BIGINT}) (select subordinate_system_id from ag_acl_practitioner where id = #{practitionerId,jdbcType=BIGINT})
</select> </select>
<select id="findPractitionerInfoByPractitionerId" resultMap="practitioner_info_map">
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo
from ag_acl_customer c inner join ag_acl_practitioner p on c.id = p.customer_id
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.id = #{practitionerId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -311,10 +311,12 @@ ...@@ -311,10 +311,12 @@
t.track_status_id trackStatusId, t.track_status_id trackStatusId,
t.id trackId, t.id trackId,
t.created_at updateAt, t.created_at updateAt,
date_format(p.created_at,'%Y-%m-%d') createdAt date_format(p.created_at,'%Y-%m-%d') createdAt,
h.id hiringBasicInfoId
FROM FROM
ag_acl_practitioner_potential p ag_acl_practitioner_potential p
INNER JOIN ag_acl_practitioner_potential_assigned_track t ON p.id = t.practitioner_potential_id INNER JOIN ag_acl_practitioner_potential_assigned_track t ON p.id = t.practitioner_potential_id
LEFT JOIN ag_acl_practitioner_hiring_basic_info h ON p.id = h.practitioner_potential_id
WHERE WHERE
t.practitioner_assigned_id = #{practitionerId,jdbcType=BIGINT} t.practitioner_assigned_id = #{practitionerId,jdbcType=BIGINT}
order by p.id desc; order by p.id desc;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.meta.MdPractitionerHiringApproveStepsMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps">
<!--@mbg.generated-->
<!--@Table ag_md_practitioner_hiring_approve_steps-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="step_name" jdbcType="VARCHAR" property="stepName" />
<result column="approve_role" jdbcType="VARCHAR" property="approveRole" />
<result column="appointed_approve_practitioners" jdbcType="VARCHAR" property="appointedApprovePractitioners" />
<result column="step_seq" jdbcType="INTEGER" property="stepSeq" />
<result column="can_aprrove_grade" jdbcType="VARCHAR" property="canAprroveGrade" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, step_name, approve_role, appointed_approve_practitioners, step_seq, can_aprrove_grade,
is_active, created_at, created_by, updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_md_practitioner_hiring_approve_steps
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_md_practitioner_hiring_approve_steps
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_md_practitioner_hiring_approve_steps (step_name, approve_role, appointed_approve_practitioners,
step_seq, can_aprrove_grade, is_active,
created_at, created_by, updated_at,
updated_by)
values (#{stepName,jdbcType=VARCHAR}, #{approveRole,jdbcType=VARCHAR}, #{appointedApprovePractitioners,jdbcType=VARCHAR},
#{stepSeq,jdbcType=INTEGER}, #{canAprroveGrade,jdbcType=VARCHAR}, #{isActive,jdbcType=INTEGER},
#{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP},
#{updatedBy,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_md_practitioner_hiring_approve_steps
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="stepName != null">
step_name,
</if>
<if test="approveRole != null">
approve_role,
</if>
<if test="appointedApprovePractitioners != null">
appointed_approve_practitioners,
</if>
<if test="stepSeq != null">
step_seq,
</if>
<if test="canAprroveGrade != null">
can_aprrove_grade,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="stepName != null">
#{stepName,jdbcType=VARCHAR},
</if>
<if test="approveRole != null">
#{approveRole,jdbcType=VARCHAR},
</if>
<if test="appointedApprovePractitioners != null">
#{appointedApprovePractitioners,jdbcType=VARCHAR},
</if>
<if test="stepSeq != null">
#{stepSeq,jdbcType=INTEGER},
</if>
<if test="canAprroveGrade != null">
#{canAprroveGrade,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_approve_steps
<set>
<if test="stepName != null">
step_name = #{stepName,jdbcType=VARCHAR},
</if>
<if test="approveRole != null">
approve_role = #{approveRole,jdbcType=VARCHAR},
</if>
<if test="appointedApprovePractitioners != null">
appointed_approve_practitioners = #{appointedApprovePractitioners,jdbcType=VARCHAR},
</if>
<if test="stepSeq != null">
step_seq = #{stepSeq,jdbcType=INTEGER},
</if>
<if test="canAprroveGrade != null">
can_aprrove_grade = #{canAprroveGrade,jdbcType=VARCHAR},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_approve_steps
set step_name = #{stepName,jdbcType=VARCHAR},
approve_role = #{approveRole,jdbcType=VARCHAR},
appointed_approve_practitioners = #{appointedApprovePractitioners,jdbcType=VARCHAR},
step_seq = #{stepSeq,jdbcType=INTEGER},
can_aprrove_grade = #{canAprroveGrade,jdbcType=VARCHAR},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_approve_steps
<trim prefix="set" suffixOverrides=",">
<trim prefix="step_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.stepName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="approve_role = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.approveRole,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="appointed_approve_practitioners = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.appointedApprovePractitioners,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="step_seq = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.stepSeq,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="can_aprrove_grade = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.canAprroveGrade,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_approve_steps
<trim prefix="set" suffixOverrides=",">
<trim prefix="step_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.stepName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.stepName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="approve_role = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.approveRole != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.approveRole,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="appointed_approve_practitioners = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.appointedApprovePractitioners != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.appointedApprovePractitioners,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="step_seq = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.stepSeq != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.stepSeq,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="can_aprrove_grade = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.canAprroveGrade != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.canAprroveGrade,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_md_practitioner_hiring_approve_steps
(step_name, approve_role, appointed_approve_practitioners, step_seq, can_aprrove_grade,
is_active, created_at, created_by, updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.stepName,jdbcType=VARCHAR}, #{item.approveRole,jdbcType=VARCHAR}, #{item.appointedApprovePractitioners,jdbcType=VARCHAR},
#{item.stepSeq,jdbcType=INTEGER}, #{item.canAprroveGrade,jdbcType=VARCHAR}, #{item.isActive,jdbcType=INTEGER},
#{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT}, #{item.updatedAt,jdbcType=TIMESTAMP},
#{item.updatedBy,jdbcType=BIGINT})
</foreach>
</insert>
<select id="findAll" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_md_practitioner_hiring_approve_steps
where is_active = 1
order by step_seq
</select>
<select id="findByPractitionerLevel" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_md_practitioner_hiring_approve_steps
where is_active = 1
and (can_aprrove_grade is null or find_in_set(#{practitionerLevelId,jdbcType=VARCHAR}, can_aprrove_grade))
order by step_seq
</select>
<select id="findByAppointedApprovePractitioners" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_md_practitioner_hiring_approve_steps
where is_active = 1
and find_in_set(#{appointedApprovePractitioners,jdbcType=VARCHAR},appointed_approve_practitioners)
order by step_seq
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.meta.MdPractitionerHiringContractTermsMapper">
<resultMap id="BaseResultMap" type="com.yd.dal.entity.meta.MdPractitionerHiringContractTerms">
<!--@mbg.generated-->
<!--@Table ag_md_practitioner_hiring_contract_terms-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="term_name" jdbcType="VARCHAR" property="termName" />
<result column="term_note" jdbcType="LONGVARCHAR" property="termNote" />
<result column="display_seq" jdbcType="INTEGER" property="displaySeq" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="created_by" jdbcType="BIGINT" property="createdBy" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="updated_by" jdbcType="BIGINT" property="updatedBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, term_name, term_note, display_seq, is_active, created_at, created_by, updated_at,
updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from ag_md_practitioner_hiring_contract_terms
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated-->
delete from ag_md_practitioner_hiring_contract_terms
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringContractTerms" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_md_practitioner_hiring_contract_terms (term_name, term_note, display_seq,
is_active, created_at, created_by,
updated_at, updated_by)
values (#{termName,jdbcType=VARCHAR}, #{termNote,jdbcType=LONGVARCHAR}, #{displaySeq,jdbcType=INTEGER},
#{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT},
#{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringContractTerms" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_md_practitioner_hiring_contract_terms
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="termName != null">
term_name,
</if>
<if test="termNote != null">
term_note,
</if>
<if test="displaySeq != null">
display_seq,
</if>
<if test="isActive != null">
is_active,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="createdBy != null">
created_by,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="updatedBy != null">
updated_by,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="termName != null">
#{termName,jdbcType=VARCHAR},
</if>
<if test="termNote != null">
#{termNote,jdbcType=LONGVARCHAR},
</if>
<if test="displaySeq != null">
#{displaySeq,jdbcType=INTEGER},
</if>
<if test="isActive != null">
#{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
#{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
#{updatedBy,jdbcType=BIGINT},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringContractTerms">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_contract_terms
<set>
<if test="termName != null">
term_name = #{termName,jdbcType=VARCHAR},
</if>
<if test="termNote != null">
term_note = #{termNote,jdbcType=LONGVARCHAR},
</if>
<if test="displaySeq != null">
display_seq = #{displaySeq,jdbcType=INTEGER},
</if>
<if test="isActive != null">
is_active = #{isActive,jdbcType=INTEGER},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="createdBy != null">
created_by = #{createdBy,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedBy != null">
updated_by = #{updatedBy,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.yd.dal.entity.meta.MdPractitionerHiringContractTerms">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_contract_terms
set term_name = #{termName,jdbcType=VARCHAR},
term_note = #{termNote,jdbcType=LONGVARCHAR},
display_seq = #{displaySeq,jdbcType=INTEGER},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_contract_terms
<trim prefix="set" suffixOverrides=",">
<trim prefix="term_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.termName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="term_note = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.termNote,jdbcType=LONGVARCHAR}
</foreach>
</trim>
<trim prefix="display_seq = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.displaySeq,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update id="updateBatchSelective" parameterType="java.util.List">
<!--@mbg.generated-->
update ag_md_practitioner_hiring_contract_terms
<trim prefix="set" suffixOverrides=",">
<trim prefix="term_name = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.termName != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.termName,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="term_note = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.termNote != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.termNote,jdbcType=LONGVARCHAR}
</if>
</foreach>
</trim>
<trim prefix="display_seq = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.displaySeq != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.displaySeq,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="is_active = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.isActive != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.isActive,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="created_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createdBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.createdBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedAt != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedAt,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="updated_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.updatedBy != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.updatedBy,jdbcType=BIGINT}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into ag_md_practitioner_hiring_contract_terms
(term_name, term_note, display_seq, is_active, created_at, created_by, updated_at,
updated_by)
values
<foreach collection="list" item="item" separator=",">
(#{item.termName,jdbcType=VARCHAR}, #{item.termNote,jdbcType=LONGVARCHAR}, #{item.displaySeq,jdbcType=INTEGER},
#{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT},
#{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT})
</foreach>
</insert>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.dal.mapper.practitioner.PractitionerHiringMapper">
<resultMap id="HiringListInfo" type="com.yd.dal.entity.practitioner.hiring.HiringListInfo">
<id column="hiringBasicInfoId" jdbcType="VARCHAR" property="hiringBasicInfoId"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="mobileNo" jdbcType="VARCHAR" property="mobileNo"
typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="practitionerLevel" jdbcType="VARCHAR" property="practitionerLevel"/>
<result column="mentor" jdbcType="VARCHAR" property="mentor"/>
<result column="applicationTime" jdbcType="VARCHAR" property="applicationTime"/>
</resultMap>
<select id="findHiringList" resultMap="HiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT} and
m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT}, 0,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT}, 1, 2)) approvalIdentity
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
left join
(
select
a.hiring_basic_info_id, a.approving_status, a.created_at
from
ag_acl_practitioner_hiring_approve_records a
left join
(
select
hiring_basic_info_id, max(created_at) created_at
from
ag_acl_practitioner_hiring_approve_records
group by hiring_basic_info_id
) b
on a.hiring_basic_info_id=b.hiring_basic_info_id and a.created_at=b.created_at
) r
on b.id = r.hiring_basic_info_id
where (m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT} or
m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT})
<if test="approvingStatus != null">
<choose>
<when test='approvingStatus == "0" '>
and r.approving_status is null
</when>
<when test='approvingStatus == "1" '>
and r.approving_status = 1
</when>
<when test='approvingStatus == "2" '>
and r.approving_status = 0
</when>
</choose>
</if>
and m.md_drop_option_id != (select id
from ag_md_drop_options
where drop_option_code = 'S2'
and drop_master_id = (select id
from ag_md_drop_master
where scenario_code = 'practitioner_level'))
</select>
<resultMap id="hiringBasicInfo" type="com.yd.dal.entity.practitioner.hiring.HiringBasicInfo">
<result column="inviteePractitionerName" jdbcType="VARCHAR" property="inviteePractitionerName"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="mobileNo" jdbcType="VARCHAR" property="mobileNo"
typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="idType" jdbcType="VARCHAR" property="idType"/>
<result column="idNo" jdbcType="VARCHAR" property="idNo" typeHandler="com.yd.util.deshandler.DESTypeHandler"/>
<result column="gender" jdbcType="VARCHAR" property="gender"/>
<result column="practitionerBirthdate" jdbcType="VARCHAR" property="practitionerBirthdate"/>
<result column="provinceName" jdbcType="VARCHAR" property="provinceName"/>
<result column="cityName" jdbcType="VARCHAR" property="cityName"/>
<result column="residentAddress" jdbcType="VARCHAR" property="residentAddress"/>
<result column="wechatId" jdbcType="VARCHAR" property="wechatId"/>
<result column="email" jdbcType="VARCHAR" property="email"/>
<result column="personerPictureOssPath" jdbcType="VARCHAR" property="personerPictureOssPath"/>
<result column="idFrontPageOssPath" jdbcType="VARCHAR" property="idFrontPageOssPath"/>
<result column="idBackPageOssPath" jdbcType="VARCHAR" property="idBackPageOssPath"/>
<result column="lastGraduateGrade" jdbcType="VARCHAR" property="lastGraduateGrade"/>
<result column="lastGraduateSchool" jdbcType="VARCHAR" property="lastGraduateSchool"/>
<result column="lastGraduateCertificationOssPath" jdbcType="VARCHAR"
property="lastGraduateCertificationOssPath"/>
<result column="bankAccountOpening" jdbcType="VARCHAR" property="bankAccountOpening"/>
<result column="bankAccountId" jdbcType="VARCHAR" property="bankAccountId"/>
<result column="personalSignOssPath" jdbcType="VARCHAR" property="personalSignOssPath"/>
<result column="payroll_oss_path" jdbcType="VARCHAR" property="payrollOssPath" />
<result column="approveStatus" jdbcType="VARCHAR" property="approveStatus" />
</resultMap>
<select id="findHiringBasicInfo" resultMap="hiringBasicInfo">
select p.name inviteePractitionerName,
b.approve_status approveStatus,
b.name name,
b.mobile_no mobileNo,
b.id_type idType,
b.id_no idNo,
if(b.gender is null, null, if(b.gender = 1, '男', '女')) gender,
DATE_FORMAT(b.practitioner_birthdate, '%Y%m%d') practitionerBirthdate,
b.province_name provinceName,
b.city_name cityName,
b.resident_address residentAddress,
b.wechat_id wechatId,
b.email email,
b.personer_picture_oss_path personerPictureOssPath,
b.id_front_page_oss_path idFrontPageOssPath,
b.id_back_page_oss_path idBackPageOssPath,
b.last_graduate_grade lastGraduateGrade,
b.last_graduate_school lastGraduateSchool,
b.last_graduate_certification_oss_path lastGraduateCertificationOssPath,
b.bank_account_opening bankAccountOpening,
b.bank_account_id bankAccountId,
b.payroll_oss_path payrollOssPath,
b.personal_sign_oss_path personalSignOssPath
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner p on b.invitee_practitioner_id = p.id
where b.id = #{hiringBasicInfoId,jdbcType=BIGINT}
and b.is_active = 1
</select>
<select id="findHiringMemberShip"
resultType="com.yd.dal.entity.practitioner.hiring.HiringMemberShip">
select md_drop_option_name practitionerLevel,
md_drop_option_id practitionerLevelId,
mentor mentor,
introducer introducer,
subsystem subsystem,
subsystem_owner subsystemOwner,
branch branch
from ag_acl_practitioner_hiring_membership
where hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
and is_active = 1
</select>
<select id="findHiringWorkingExperienceList"
resultType="com.yd.dal.entity.practitioner.hiring.HiringWorkingExperience">
select working_company workingCompany,
position position,
DATE_FORMAT(working_start, '%Y%m%d') workingStart,
DATE_FORMAT(working_end, '%Y%m%d') workingEnd
from ag_acl_practitioner_hiring_working_experience
where is_active = 1
and hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by seq
</select>
<select id="findHiringPersonalStatementsList"
resultType="com.yd.dal.entity.practitioner.hiring.HiringPersonalStatements">
select md_drop_option_name personalStatements,
if(status is null, null, if(status = 1, '有', '无')) status
from ag_acl_practitioner_hiring_personal_statements
where is_active = 1
and hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<select id="findHiringContractTermsConfirmsList"
resultType="com.yd.dal.entity.practitioner.hiring.HiringContractTermsConfirms">
select m.term_name contractTerm,
if(c.confirm_status is null, null, if(c.confirm_status = 1, '已确认', '未确认')) confirmStatus
from ag_acl_practitioner_hiring_contract_terms_confirms c
left join ag_md_practitioner_hiring_contract_terms m on c.contract_term_id = m.id
where c.is_active = 1
and hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
</select>
<select id="findHiringApproveRecordsList"
resultType="com.yd.dal.entity.practitioner.hiring.HiringApproveRecords">
select r.approving_practitioner_id approvingPractitionerId,
p.name approvingPractitionerName,
r.approve_step_id approveStepId,
r.approve_step_name approveStepName,
r.approving_status approvingStatusId,
if(r.approving_status is null, null, if(r.approving_status = 1, '通过', '驳回')) approvingStatus,
interview_assessment interviewAssessment,
r.reject_note rejectNote,
date_format(r.created_at, '%Y-%m-%d %H:%i:%s') hiringAt
from ag_acl_practitioner_hiring_approve_records r
left join ag_acl_practitioner p on p.id = r.approving_practitioner_id
where r.is_active = 1
and r.hiring_basic_info_id = #{hiringBasicInfoId,jdbcType=BIGINT}
order by r.id
</select>
<resultMap id="hiringContractTerms" type="com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms">
<result column="id" jdbcType="BIGINT" property="id"/>
<result column="term_name" jdbcType="VARCHAR" property="termName"/>
<result column="term_note" jdbcType="VARCHAR" property="termNote"/>
<result column="display_seq" jdbcType="INTEGER" property="displaySeq"/>
</resultMap>
<select id="queryContractTerms" resultMap="hiringContractTerms">
select id, term_name, term_note, display_seq
from ag_md_practitioner_hiring_contract_terms c
where c.is_active = 1
</select>
<select id="queryHandledList" resultMap="HiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT} and
m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT}, 0,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT}, 1, 2)) approvalIdentity
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
where 1=1
and b.id in (select DISTINCT t.hiring_basic_info_id
from
ag_acl_practitioner_hiring_approve_records t
where t.approving_practitioner_id = #{practitionerId,jdbcType=BIGINT}
and t.approving_status = #{approvingStatus,jdbcType=BIGINT}
)
</select>
<select id="queryMentorUnhandledList" resultMap="HiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT} and
m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT}, 0,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT}, 1, 2)) approvalIdentity
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
where 1=1
and m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT}
and b.approve_status = '-2'
and m.md_drop_option_id != (select id
from ag_md_drop_options
where drop_option_code = 'S2'
and drop_master_id = (select id
from ag_md_drop_master
where scenario_code = 'practitioner_level'))
</select>
<select id="querySystemOwnerUnhandledList" resultMap="HiringListInfo">
select b.id hiringBasicInfoId,
b.name name,
b.mobile_no mobileNo,
m.md_drop_option_name practitionerLevel,
m.mentor mentor,
date_format(b.created_at, '%Y-%m-%d %H:%i:%s') applicationTime,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT} and
m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT}, 0,
if(m.mentor_practitioner_id = #{practitionerId,jdbcType=BIGINT}, 1, 2)) approvalIdentity
from ag_acl_practitioner_hiring_basic_info b
left join ag_acl_practitioner_hiring_membership m on b.id = m.hiring_basic_info_id
where 1=1
and m.subsystem_owner_id = #{practitionerId,jdbcType=BIGINT}
and b.approve_status = '1'
and m.md_drop_option_id != (select id
from ag_md_drop_options
where drop_option_code = 'S2'
and drop_master_id = (select id
from ag_md_drop_master
where scenario_code = 'practitioner_level'))
</select>
</mapper>
\ No newline at end of file
...@@ -289,4 +289,13 @@ ...@@ -289,4 +289,13 @@
updated_by = #{updatedBy,jdbcType=BIGINT} updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<select id="selectNamesByMobileNos" resultType="java.lang.String">
select GROUP_CONCAT(DISTINCT name SEPARATOR ',')
from ag_acl_user
where mobile_no in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item,jdbcType=VARCHAR}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
pdf.template=/opt/tomcat8/conf/ydpdf/pdfres/templatePractitionerContract.pdf
pdf.signImage=/opt/tomcat8/conf/ydpdf/pdfres/上海银盾保险经纪有限公司.png
pdf.keyStorePath=/opt/tomcat8/conf/ydpdf/pdfres/4929078_m.zuihuibi.cn.pfx
pdf.keyPasswordFile=/opt/tomcat8/conf/ydpdf/pdfres/pfx-password.txt
pdf.check=/opt/tomcat8/conf/ydpdf/pdfres/check.png
pdf.uncheck=/opt/tomcat8/conf/ydpdf/pdfres/uncheck.png
pdf.temp.path=/opt/tomcat8/temp/
pdf.firstParty=上海银盾保险经纪有限公司
pdf.firstPartyResponser=Sharon Wan
pdf.firstPartyAddress=上海市浦东新区张杨路560号中融恒瑞国际西楼1706室
pdf.position.x=450
pdf.position.y=150
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