Commit b02694b8 by Water Wang

optimize payscale pdf download

parent 9ef4e90b
......@@ -156,6 +156,10 @@
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -2,6 +2,15 @@ package com.yd.api.practitioner;
public class PayScalePdfRequestVO {
private Integer monShId;
private Long practitionerId;
public Long getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
public Integer getMonShId() {
return monShId;
......
......@@ -7,6 +7,7 @@ import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.opportunity.*;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryResponseVO;
import com.yd.api.practitioner.vo.policy.PolicyListQueryRequestVO;
......@@ -462,11 +463,14 @@ public class PractitionerController {
/**
* 获取经纪人的薪资表
* @param requestVO 请求信息
* @param response 请求信息
* @return 返回信息
*/
@PostMapping(value = "/payScalePdf", produces = MediaType.APPLICATION_PDF_VALUE)
public String payScalePdf(@RequestBody PayScalePdfRequestVO requestVO, HttpServletResponse response){
return practitionerBasicInfoService.payScalePdf(requestVO,response);
@PostMapping(value = "/payScalePdf")
public Object payScalePdf(@RequestBody PayScalePdfRequestVO requestVO){
JsonResult result = new JsonResult();
PayScalePdfResponseVO responseVO = practitionerBasicInfoService.payScalePdf(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
}
......@@ -38,8 +38,7 @@ public interface PractitionerBasicInfoService {
/**
* 获取经纪人的薪资表
* @param requestVO 请求信息
* @param response 请求信息
* @return 响应信息
*/
String payScalePdf(PayScalePdfRequestVO requestVO, HttpServletResponse response);
PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO);
}
......@@ -4,6 +4,7 @@ import com.google.common.base.Strings;
import com.yd.api.practitioner.PayScalePdfRequestVO;
import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryResponseVO;
import com.yd.api.practitioner.vo.policy.PolicyInfo;
......@@ -11,28 +12,36 @@ import com.yd.api.practitioner.vo.policy.PolicyListQueryRequestVO;
import com.yd.api.practitioner.vo.policy.PolicyListQueryResponseVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclFileUpload;
import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.meta.OptionsEGolden;
import com.yd.dal.entity.order.CustomerPolicyInfo;
import com.yd.dal.entity.order.PolicyDetailInfoE;
import com.yd.dal.entity.order.PolicyFactorInfoE;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import com.yd.dal.entity.product.Product;
import com.yd.dal.entity.product.ProductE;
import com.yd.dal.entity.product.ProductPlan;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.dal.service.order.PoOrderDALService;
import com.yd.dal.service.product.ProductDALService;
import com.yd.dal.service.product.ProductPlanDALService;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.ali.oss.vo.OssOperateTypeEnum;
import com.yd.rmi.ali.oss.vo.OssRequestVO;
import com.yd.rmi.ali.oss.vo.OssResponseVO;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.*;
@Service("practitionerBasicInfoService")
......@@ -48,6 +57,12 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
private ProductDALService productDALService;
@Autowired
private MdDropOptionsDALService mdDropOptionsDALService;
@Autowired
private SystemConfigService systemConfigService;
@Autowired
private OssService ossService;
@Autowired
private AclFileUploadDALService aclFileUploadDALService;
@Override
public PolicyListQueryResponseVO policyListQuery(PolicyListQueryRequestVO requestVO) {
......@@ -149,74 +164,163 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
}
@Override
public String payScalePdf(PayScalePdfRequestVO requestVO, HttpServletResponse response) {
public PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO) {
PayScalePdfResponseVO responseVO = new PayScalePdfResponseVO();
Integer monShId = requestVO.getMonShId();
if(monShId != null){
String filePath = aclPractitionerDALService.findFilePathByMonShId(monShId);
if(!Strings.isNullOrEmpty(filePath)){
String[] str = filePath.split("salaryCalculation/");
if(str.length == 2){
filePath = "/home/egolden/shareSalaryCalculation/"+str[1];
getPayScalePdf(filePath,response);
return "下载成功!";
Long practitionerId = requestVO.getPractitionerId();
if(monShId != null && practitionerId != null){
PayScaleBasicInfo payScaleBasicInfo = aclPractitionerDALService.findFilePathByMonShId(monShId);
if(payScaleBasicInfo != null){
Integer time = payScaleBasicInfo.getMonDtlPeriod();
if(time != null){
AclFileUpload aclFileUpload = aclFileUploadDALService.findByTargetIdAndRemark(1,practitionerId,time.toString());
String url;
if(aclFileUpload != null){
url = aclFileUpload.getFilePath();
if(Strings.isNullOrEmpty(url)){
url = checkPractitionerId(payScaleBasicInfo,practitionerId,time.toString());
}
}else{
url = checkPractitionerId(payScaleBasicInfo,practitionerId,time.toString());
}
if(!Strings.isNullOrEmpty(url)){
responseVO.setUrl(url);
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
}
}
}
return "下载失败!";
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("820001")));
return responseVO;
}
private void getPayScalePdf(String filePath, HttpServletResponse response) {
File file = new File(filePath);
// 如果文件名存在,则进行下载
if (file.exists()) {
// 配置文件下载
String[] str = filePath.split("/");
String fileName = str[str.length-1];
response.setHeader("content-type", "application/pdf");
response.setHeader("Cache-Control", "max-age=30");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Pragma", "public");
// 下载文件能正常显示中文
try {
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
response.setContentType("application/pdf");
// 实现文件下载
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
private String checkPractitionerId(PayScaleBasicInfo payScaleBasicInfo, Long practitionerId,String time){
if(payScaleBasicInfo != null){
String practitionerIdEG = payScaleBasicInfo.getSalMstId();
PractitionerBasicInfo practitionerBasicInfo = aclPractitionerDALService.findByIdEG(practitionerIdEG);
if(practitionerBasicInfo != null){
String mobileNo = practitionerBasicInfo.getMobileNo();
if(!Strings.isNullOrEmpty(mobileNo)){
PractitionerInfo practitionerInfo = aclPractitionerDALService.findPractitionerInfoByLogin(mobileNo);
if(practitionerInfo != null){
Long practitionerIdDB = practitionerInfo.getPractitionerId();
if(practitionerIdDB != null && practitionerIdDB.equals(practitionerId)){
String filePath = payScaleBasicInfo.getUploadPath();
return getPDFUrl(filePath,practitionerId,time);
}
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
private String getPDFUrl(String filePath,Long practitionerId,String time) {
String url = null;
String[] filePathStr = filePath.split("salaryCalculation/");
if(filePathStr.length == 2) {
filePath = "/home/egolden/shareSalaryCalculation/" + filePathStr[1];
// filePath = "/users/water/Salary_201908_YDSH00032.pdf";
File file = new File(filePath);
if (file.exists()) {// 如果文件名存在,则进行下载
// 获取文件名和日期
String[] str = filePath.split("/");
String fileName = str[str.length-1];
String timeScale = str[str.length-2];
String prefix = "payScale/"+timeScale+"/";
String ossKey = fileName.replaceAll(" ", "").replaceAll(" ", "");
ossKey = prefix+CommonUtil.getRandomNum(5)+ossKey;
try{
OssRequestVO requestVO = new OssRequestVO();
requestVO.setOperateType(OssOperateTypeEnum.PUT_OBJECT.getCode());
requestVO.setBucketName(systemConfigService.getSingleConfigValue("ALI_OSS_BUCKET_NAME"));
requestVO.setKey(ossKey);
requestVO.setFile(file);
OssResponseVO ossresponseVO = ossService.ossOperate(requestVO);
if(ossresponseVO.getCommonResult().isSuccess()){
requestVO.setOperateType(OssOperateTypeEnum.GENERATE_URL.getCode());
ossresponseVO = ossService.ossOperate(requestVO);
url = ossresponseVO.getUrl();
AclFileUpload aclFileUpload = new AclFileUpload();
aclFileUpload.setTargetType(1);
aclFileUpload.setTargetId(practitionerId);
aclFileUpload.setTargetNo("payScale");
aclFileUpload.setFileType("PDF");
aclFileUpload.setFileName(fileName);
aclFileUpload.setFilePath(url);
aclFileUpload.setTargetUseFor(10);
aclFileUpload.setFileSize(String.valueOf(file));
aclFileUpload.setOssKey(ossKey);
aclFileUpload.setIsActive(1);
aclFileUpload.setUploadedAt(new Date());
aclFileUpload.setUploadedBy(-1L);
aclFileUpload.setRemark(time);
aclFileUploadDALService.saveFileUpload(aclFileUpload);
}
}catch(Exception e){
e.printStackTrace();
}finally{
file.deleteOnExit();
}
}
}
return url;
}
// private void getPayScalePdf(String filePath, HttpServletResponse response) {
// File file = new File(filePath);
// // 如果文件名存在,则进行下载
// if (file.exists()) {
// // 配置文件下载
// String[] str = filePath.split("/");
// String fileName = str[str.length-1];
// response.setHeader("content-type", "application/pdf");
// response.setHeader("Cache-Control", "max-age=30");
// response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
// response.setHeader("Pragma", "public");
// // 下载文件能正常显示中文
// try {
// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// response.setContentType("application/pdf");
// // 实现文件下载
// byte[] buffer = new byte[1024];
// FileInputStream fis = null;
// BufferedInputStream bis = null;
// try {
// fis = new FileInputStream(file);
// bis = new BufferedInputStream(fis);
// OutputStream os = response.getOutputStream();
// int i = bis.read(buffer);
// while (i != -1) {
// os.write(buffer, 0, i);
// i = bis.read(buffer);
// }
// } catch (Exception e) {
// e.printStackTrace();
// } finally {
// if (bis != null) {
// try {
// bis.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (fis != null) {
// try {
// fis.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
// }
// }
private void calculateRAmount(PayScaleInfo payScaleInfoMain, PayScaleInfo payScaleInfoElse) {
if(payScaleInfoMain != null && payScaleInfoElse != null){
Integer shIdMain = payScaleInfoMain.getMonShId();
......
......@@ -3,8 +3,17 @@ package com.yd.api.practitioner.vo.payscale;
import com.yd.api.result.CommonResult;
public class PayScalePdfResponseVO {
private String url;
private CommonResult commonResult;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public CommonResult getCommonResult() {
return commonResult;
}
......
......@@ -8,6 +8,7 @@ public class PractitionerBasicInfo {
private String titleCode;
private String titleName;
private String gender;
private String mobileNo;
public Long getCustomerId() {
return customerId;
......@@ -65,4 +66,11 @@ public class PractitionerBasicInfo {
this.gender = gender;
}
public String getMobileNo() {
return mobileNo;
}
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
}
package com.yd.dal.entity.practitioner.payscale;
public class PayScaleBasicInfo {
private Integer monShId;
private String salMstId;
private String drpTitleCode;
private String monDtlType;
private String monDtlItem;
private Integer monDtlPeriod;
private Double monDtlAmount;
private Double monDtlRAmount;
private String createDate;
private String createUser;
private String uploadPath;
private String uploadTime;
public Integer getMonShId() {
return monShId;
}
public void setMonShId(Integer monShId) {
this.monShId = monShId;
}
public String getSalMstId() {
return salMstId;
}
public void setSalMstId(String salMstId) {
this.salMstId = salMstId;
}
public String getDrpTitleCode() {
return drpTitleCode;
}
public void setDrpTitleCode(String drpTitleCode) {
this.drpTitleCode = drpTitleCode;
}
public String getMonDtlType() {
return monDtlType;
}
public void setMonDtlType(String monDtlType) {
this.monDtlType = monDtlType;
}
public String getMonDtlItem() {
return monDtlItem;
}
public void setMonDtlItem(String monDtlItem) {
this.monDtlItem = monDtlItem;
}
public Double getMonDtlAmount() {
return monDtlAmount;
}
public void setMonDtlAmount(Double monDtlAmount) {
this.monDtlAmount = monDtlAmount;
}
public Double getMonDtlRAmount() {
return monDtlRAmount;
}
public void setMonDtlRAmount(Double monDtlRAmount) {
this.monDtlRAmount = monDtlRAmount;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getCreateUser() {
return createUser;
}
public void setCreateUser(String createUser) {
this.createUser = createUser;
}
public Integer getMonDtlPeriod() {
return monDtlPeriod;
}
public void setMonDtlPeriod(Integer monDtlPeriod) {
this.monDtlPeriod = monDtlPeriod;
}
public String getUploadPath() {
return uploadPath;
}
public void setUploadPath(String uploadPath) {
this.uploadPath = uploadPath;
}
public String getUploadTime() {
return uploadTime;
}
public void setUploadTime(String uploadTime) {
this.uploadTime = uploadTime;
}
}
......@@ -22,4 +22,6 @@ public interface AclFileUploadMapper {
CustomerFileUpload findByTargetTypeAndTargetUseForAndTargetId(@Param("targetType")Integer targetType, @Param("targetUseFor")Integer targetUseFor, @Param("practitionerId")Long practitionerId);
List<AclFileUpload> findByAclFileUpload(AclFileUpload fileUpload);
AclFileUpload findByTargetIdAndRemark(@Param("type")Integer type, @Param("targetId")Long targetId, @Param("remark")String remark);
}
\ No newline at end of file
......@@ -7,6 +7,7 @@ import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -58,5 +59,7 @@ public interface AclPractitionerMapper {
List<PayScaleInfo> findPayScaleByPractitionerEG(@Param("practitionerIdEG")String practitionerIdEG);
String findFilePathByMonShId(@Param("monShId")Integer monShId);
PayScaleBasicInfo findFilePathByMonShId(@Param("monShId")Integer monShId);
PractitionerBasicInfo findByIdEG(@Param("practitionerIdEG")String practitionerIdEG);
}
\ No newline at end of file
......@@ -42,4 +42,13 @@ public interface AclFileUploadDALService {
* @param aclFileUpload
*/
void saveFileUpload(AclFileUpload aclFileUpload);
/**
* 根据条件查询
* @param type 类型
* @param targetId id
* @param remark 备注
* @return
*/
AclFileUpload findByTargetIdAndRemark(Integer type, Long targetId, String remark);
}
......@@ -7,6 +7,7 @@ import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import org.springframework.stereotype.Service;
import java.util.List;
......@@ -153,5 +154,12 @@ public interface AclPractitionerDALService {
* @param monShId 流水号
* @return 结果
*/
String findFilePathByMonShId(Integer monShId);
PayScaleBasicInfo findFilePathByMonShId(Integer monShId);
/**
* 根据EGolden查询
* @param practitionerIdEG id
* @return 返回
*/
PractitionerBasicInfo findByIdEG(String practitionerIdEG);
}
......@@ -6,6 +6,7 @@ import com.yd.dal.mapper.customer.AclFileUploadMapper;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -47,4 +48,9 @@ public class AclFileUploadDALServiceImpl implements AclFileUploadDALService {
public void saveFileUpload(AclFileUpload aclFileUpload) {
aclFileUploadMapper.insertSelective(aclFileUpload);
}
@Override
public AclFileUpload findByTargetIdAndRemark(Integer type,Long targetId, String remark ) {
return aclFileUploadMapper.findByTargetIdAndRemark(type,targetId,remark);
}
}
......@@ -8,6 +8,7 @@ import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerRankInfo;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.util.deshandler.DESTypeHandler;
......@@ -145,7 +146,13 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public String findFilePathByMonShId(Integer monShId) {
public PayScaleBasicInfo findFilePathByMonShId(Integer monShId) {
return aclPractitionerMapper.findFilePathByMonShId(monShId);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public PractitionerBasicInfo findByIdEG(String practitionerIdEG) {
return aclPractitionerMapper.findByIdEG(practitionerIdEG);
}
}
package com.yd.rmi.ali.oss.service;
import com.yd.rmi.ali.oss.vo.OssRequestVO;
import com.yd.rmi.ali.oss.vo.OssResponseVO;
import java.io.InputStream;
public interface OssService {
String putFileToOss(String string, String key, InputStream is) throws Exception;
OssResponseVO ossOperate(OssRequestVO ossRequestVO);
}
......@@ -85,8 +85,8 @@ public class OssServiceImpl implements OssService {
}
return url;
}
private OssResponseVO ossOperate(OssRequestVO ossRequestVO) {
@Override
public OssResponseVO ossOperate(OssRequestVO ossRequestVO) {
OssResponseVO ossResponseVO = new OssResponseVO();
boolean success = true;
String message = ZHBErrorConfig.getErrorInfo("800000");
......
......@@ -11,7 +11,7 @@
800000=执行成功!
##系统提示信息
810001=token无效或者错误!
820001=查询到相应结果。
820001=查询到相应结果。
830001=该用户非寿险经纪人。
830002=只有寿险经纪人才有权限进入!
......
......@@ -289,4 +289,10 @@
</where>
</select>
<select id="findByTargetIdAndRemark" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_acl_file_upload
where target_type = #{type,jdbcType=INTEGER} and target_id = #{targetId,jdbcType=BIGINT} and remark = #{remark,jdbcType=VARCHAR} and is_active = 1
</select>
</mapper>
\ No newline at end of file
......@@ -699,7 +699,7 @@
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
inner join ag_md_drop_options o on s.practitioner_level = o.id
left join ag_md_drop_options o on s.practitioner_level = o.id
where c.login = #{mobileNo};
</select>
......@@ -885,8 +885,30 @@
from mon011 t where FK_SAL_MST_ID = #{practitionerIdEG,jdbcType=VARCHAR};
</select>
<select id="findFilePathByMonShId" resultType="java.lang.String">
select t.UPLOAD_PATH
<select id="findFilePathByMonShId" resultType="com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo">
select
t.MON_SH_ID as monShId,
t.FK_SAL_MST_ID as salMstId,
t.FK_DRP_TITLE_CODE as drpTitleCode,
t.MON_DTL_TYPE as monDtlType,
t.MON_DTL_ITEM as monDtlItem,
t.MON_DTL_PERIOD as monDtlPeriod,
ifnull(t.MON_DTL_AMOUNT,0) as monDtlAmount,
ifnull(t.MON_DTL_RAMOUNT,0) as monDtlRAmount,
date_format(t.CREATE_DATE, '%Y-%m-%d %H:%i:%s') as createDate,
t.CREATE_USER as createUser,
t.UPLOAD_PATH as uploadPath,
t.UPLOAD_TIME as uploadTime
from mon011 t where t.MON_SH_ID = #{monShId,jdbcType=INTEGER}
</select>
<select id="findByIdEG" resultMap="base_result_map_practitioner_info">
SELECT
p.SAL_MST_ID as practitionerId,
p.SAL_MST_NAME as name,
p.SAL_MST_GENDER as gender,
p.SAL_MST_MOBILE as mobileNo
FROM sal001 p
where p.SAL_MST_ID = #{practitionerIdEG,jdbcType=VARCHAR} limit 1
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment