Commit 5b6044cb by jianan

AGMS报聘列表查询

parent b803a8c9
......@@ -258,4 +258,18 @@ public class AgmsController {
result.setData(responseVO);
return result;
}
/**
* AGMS -- 经纪人审批列表查询第二版
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping(value="/practitionerHiringListV2")
public Object practitionerHiringListV2(@RequestBody PractitionerHiringListRequestVO requestVO) {
JsonResult result = new JsonResult();
PractitionerHiringListResponseVO responseVO = agmsHiringService.practitionerHiringListV2(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
}
......@@ -26,4 +26,6 @@ public interface AgmsHiringService {
* @return 响应数据
*/
PractitionerHiringApproveResponseVO practitionerHiringApprove(PractitionerHiringApproveRequestVO requestVO);
PractitionerHiringListResponseVO practitionerHiringListV2(PractitionerHiringListRequestVO requestVO);
}
......@@ -15,6 +15,7 @@ import com.yd.dal.service.user.AclUserDALService;
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.springframework.beans.factory.annotation.Autowired;
......@@ -170,6 +171,38 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
return responseVO;
}
@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,
......
......@@ -7,11 +7,12 @@ 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 Long name;
private Long status;
private String status;
private PageInfo<PractitionerHiringListInfo> pageInfo;
public PageInfo<PractitionerHiringListInfo> getPageInfo() {
......@@ -61,11 +62,19 @@ public class PractitionerHiringListRequestVO {
this.name = name;
}
public Long getStatus() {
public String getStatus() {
return status;
}
public void setStatus(Long status) {
public void setStatus(String status) {
this.status = status;
}
public Long getLoginId() {
return loginId;
}
public void setLoginId(Long loginId) {
this.loginId = loginId;
}
}
......@@ -49,7 +49,7 @@ public class PractitionerHiringListInfo {
*/
private String status;
/**
* 审批状态
* 审批时间
*/
private String approvingTime;
......
......@@ -3,6 +3,7 @@ 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;
......@@ -60,4 +61,22 @@ public interface AgmsHiringMapper {
* @return 列表结果
*/
Page<PractitionerHiringListInfo> practitionerHiringList(PractitionerHiringListRequestVO requestVO);
Page<PractitionerHiringListInfo> queryHandledList(@Param("practitionerId")Long practitionerId,
@Param("status")String status,
@Param("branchId")Long branchId,
@Param("deptId")Long deptId,
@Param("subsystemId")Long subsystemId,
@Param("name")Long name
);
Page<PractitionerHiringListInfo> queryUnhandledList(@Param("approveStatus")Integer approveStatus,
@Param("list")List<String> canAprroveGrades,
@Param("branchId")Long branchId,
@Param("deptId")Long deptId,
@Param("subsystemId")Long subsystemId,
@Param("name")Long name
);
List<PractitionerHiringListInfo> queryS2List();
}
......@@ -60,4 +60,9 @@ public interface AgmsHiringDALService {
* @return
*/
PageInfo<PractitionerHiringListInfo> practitionerHiringList(PractitionerHiringListRequestVO requestVO);
PageInfo<PractitionerHiringListInfo> queryHandledList(Long practitionerId, String status,
PractitionerHiringListRequestVO requestVO);
List<PractitionerHiringListInfo> queryUnhandledList(PractitionerHiringListRequestVO requestVO);
}
......@@ -5,12 +5,20 @@ 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.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.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.List;
import java.util.*;
/**
* @author xxy
......@@ -19,6 +27,10 @@ import java.util.List;
public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
private AgmsHiringMapper agmsHiringMapper;
@Autowired
private AclUserDALService aclUserDalService;
@Autowired
private MdPractitionerHiringApproveStepsDALService mdPractitionerHiringApproveStepsDalService;
@Autowired
public void setAgmsHiringMapper(AgmsHiringMapper agmsHiringMapper){
......@@ -69,4 +81,64 @@ public class AgmsHiringDALServiceImpl implements AgmsHiringDALService {
pageInfo = new PageInfo<>(destList);
return pageInfo;
}
@Override
public PageInfo<PractitionerHiringListInfo> queryHandledList(Long loginPractitionerId, String status, PractitionerHiringListRequestVO requestVO) {
PageInfo<PractitionerHiringListInfo> pageInfo = requestVO.getPageInfo();
PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize());
Page<PractitionerHiringListInfo> destList =
agmsHiringMapper.queryHandledList(loginPractitionerId, status, requestVO.getBranchId(),
requestVO.getDeptId(),
requestVO.getSubsystemId(),
requestVO.getName());
return new PageInfo<>(destList);
}
@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(",")));
List<PractitionerHiringListInfo> resultList =
agmsHiringMapper.queryUnhandledList(stepSeq - 1, canAprroveGrades,
requestVO.getBranchId(),
requestVO.getDeptId(),
requestVO.getSubsystemId(),
requestVO.getName()
);
if (CollectionUtils.isNotEmpty(resultList)) {
dataList.addAll(resultList);
}
if ("公司老板".equals(stepName)) {
List<PractitionerHiringListInfo> s2List = agmsHiringMapper.queryS2List();
dataList.addAll(s2List);
}
}
return dataList;
}
}
......@@ -31,8 +31,8 @@ public class MdPractitionerHiringApproveStepsDALServiceImpl implements MdPractit
@Override
public List<MdPractitionerHiringApproveSteps> findByAppointedApprovePractitioners(String appointedApprovePractitioners) {
DESTypeHandler desTypeHandler = new DESTypeHandler();
appointedApprovePractitioners = desTypeHandler.decode(appointedApprovePractitioners);
// DESTypeHandler desTypeHandler = new DESTypeHandler();
// appointedApprovePractitioners = desTypeHandler.decode(appointedApprovePractitioners);
return mdPractitionerHiringApproveStepsMapper.findByAppointedApprovePractitioners(appointedApprovePractitioners);
}
}
......@@ -12,38 +12,39 @@ import java.util.List;
public class AclUserDALServiceImpl implements AclUserDALService {
@Resource
private UserMapper aclUserMapper;
@Override
public List<AclUser> findByIds(List<Long> userIdList) {
return aclUserMapper.findByIds(userIdList);
}
@Override
public int deleteByPrimaryKey(Long id) {
return aclUserMapper.deleteByPrimaryKey(id);
}
@Override
public int insert(AclUser record) {
return aclUserMapper.insert(record);
}
@Override
public int insertSelective(AclUser record) {
return aclUserMapper.insertSelective(record);
}
@Override
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);
}
@Override
public int deleteByPrimaryKey(Long id) {
return aclUserMapper.deleteByPrimaryKey(id);
}
@Override
public int insert(AclUser record) {
return aclUserMapper.insert(record);
}
@Override
public int insertSelective(AclUser record) {
return aclUserMapper.insertSelective(record);
}
@Override
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);
}
}
......@@ -134,7 +134,7 @@
<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="INTEGER" property="status"/>
<result column="status" jdbcType="VARCHAR" property="status"/>
<result column="approvingTime" jdbcType="VARCHAR" property="approvingTime"/>
</resultMap>
<select id="practitionerHiringList" resultMap="practitionerHiringListInfo">
......@@ -197,4 +197,112 @@
</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 1=1
<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 m.md_drop_option_id = 30
</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