test.txt 10.1 KB
 <plugin>
		        <groupId>org.apache.maven.plugins</groupId>
		        <artifactId>maven-surefire-plugin</artifactId>
		        <version>2.18.1</version>
		        <configuration>
		          <skipTests>true</skipTests>
		        </configuration>
		      </plugin>
		      
		      currentpolicyaddress
		      
		      ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
		      
		      
		        gabr.due_month
		      inner join gras_assign_batch_record gabr on gabr.batch_seq=sbp.sequence

    
    
    
     <include refid="com.funde.gras.oracle.mapper.CommonMapper.pagePrefix"></include>
      <include refid="com.funde.gras.oracle.mapper.CommonMapper.pageSuffix"></include>
<?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.funde.gras.oracle.mapper.CommonMapper">
<!-- 分页 -->
<sql id="pagePrefix">
 SELECT * FROM ( select rownum r, union_tb.* from (
</sql>
<sql id="pageSuffix">
 ) union_tb 
 ) WHERE r > (#{pageNum}-1)*#{pageSize} AND r  <![CDATA[ <= ]]> #{pageNum}*#{pageSize}
</sql>
</mapper> 
    
  


分单结果批量调整满足条件
1.失效件:
(1)保单进入失效月次月至失效日起两年内;
(2)失效原因满足下列其中一项:
     保全:未在规定宽限期内缴纳续期保费;
     保全:借款本金和利息和超过保单现金价值;
     保全:保单的现金价值不足以垫缴保费;
(3)保单渠道与收展服务人员岗位相匹配。
2.缓缴件
(1)保单有效状态的长险(万能险);
(2)保单渠道与收展服务人员岗位相匹配。





自定义查询保单落图:gras/falling/queryPageData----》FallingMapService.queryPageDatas()
获取分区区域列表:gras/branchGeo/getBranchGeoInfoPageByCode----》grasBranchGeoService.selectBranchGeoInfoPageByCode()
获取区域点面数据:gras/branch/getBranchGeoByBranchCode---》branchInfoService.getBranchGeoByBranchCode()
根据机构代码获取渠道:/gras/branchRegion.getBranchRegion--》grasBranchGeoService.getBranchRegion()

根据机构号查询保单:/gras/resultCheck/selectByBranchCode----》ResultCheckService.selectByBranchCode()

根据传入条件查询保单信息:/gras/resultCheck/queryPolicy--》ResultCheckService.queryPolicy()

FallingMapService.outInResult()
FallingMapService.resultput()
ElasticSearchServiceImpl类
ElasticSearchPolicyServiceImpl类

/gras/menu/updateMenus---》menuService.updateByRoleIdAndMenus()

/gras/resultCheck/getDatasExportToExcel----》ResultCheckService.selectForExcel()

批量调整:gras/resultCheck/adjustEmp----》ResultCheckService.adjustEmp






 1:目前系统中删除操作涉及的表有:GRAS_BRANCH_GEO、GRAS_BRANCH_STYLE、GRAS_AREA_STAFF、GRAS_SYS_ROLE_MENU、GRAS_SYS_MENU、GRAS_ASSIGN_FAILED_RECORD

    
    
    
    
    
    
    
    
    "UIWL_AN1","UIED_AN1","UIAN_DN1","UIAN_EN1","UBWL_AN1","UBEN_AN1","UBED_CN1"
    
   



System[gras]


void setUser(String userName);
<parameterMap id="stsReturn_param" type="java.lang.String">
          <parameter property="userName" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"></parameter>
   </parameterMap>
  <update  id="setUser" parameterMap="stsReturn_param">
         call gracde.gra_sys_package.set_user(?)
  </update>
  
  
  

    
RNPolicyServicerChgRecord queryLastTimeServicerChg(Map<String,String> paramMap);


 select * from (    
		select * from RN_POLICY_SERVICER_CHG_RECORD rnpscr 
		where rnpscr.policy_no in (
		select rpsi.policy_no from rn_policy_service_info rpsi,policy_prem_info ppi
		where ppi.policy_no=rpsi.policy_no
		and rpsi.service_no=#{sreceiveNo}
		and ppi.prem_due_date >= "TO_DATE"(#{startMonths},'yyyy-MM-dd hh24:mi:ss')
		and ppi.prem_due_date &lt; "TO_DATE"(#{endMonth},'yyyy-MM-dd hh24:mi:ss')
		)
	   and rnpscr.change_mode='0'
	   order by rnpscr.UPDATED_DATE DESC
	   )where rownum = 1






 //人员转岗校验
                            Map<String,String> map= transferPost(policyNo,servicerNo);
                            if(map.get("flag").equals(MyConstant.ISPASS_NO)){
                                failedList.add(policyNo);
                                policyFailedMap = new HashMap<>();
                                policyFailedMap.put("policyNo", policyNo);
                                policyFailedMap.put("servicerNo", servicerNo);
                                policyFailedMap.put("cause", map.get("msg"));
                                policyFailedList.add(policyFailedMap);
                                failedCount += 1;
                                continue;
                            }
                            
                            
                             //服务人员转岗
    private Map<String,String> transferPost(String policyNo,String newEmpNo){
        
        Map<String,String> retMap=new HashMap<String,String>();
        RNPolicyServiceInfo rnPolicyServiceInfo = servicerInfoService
                .selectByPolicyNo(policyNo);
        String oldEmpNo=rnPolicyServiceInfo.getServiceNo();
        Date nowDate = new Date();
        //获取当前年份
        int nowYear = DateUtil.getYear(nowDate);
        int nowMonth = DateUtil.getMonth(nowDate);
        //1:收展服务人员转岗的情况下,该人员在原岗位时已分配的保单不同意调整,
        //应由该服务人员继续服务至过保单考核,此类保单次年再按照规则分配给其他相应收展服务人员
        if(!surrenderEmp(oldEmpNo,policyNo,nowYear)){
            retMap.put("flag", MyConstant.ISPASS_NO);
            retMap.put("msg", "该保单原收展服务人员转岗后已分配的保单不能调整");
            return retMap;
        }
        //收展服务人员转岗当月,可以进行次月应收保单分配
        if(!receiveEmp(newEmpNo,policyNo,nowYear,nowMonth)){
            retMap.put("flag", MyConstant.ISPASS_NO);
            retMap.put("msg", "该保单原收展服务人员转岗后已分配的保单不能调整");
            return retMap;
        }
       retMap.put("flag", MyConstant.ISPASS_YES);
       return retMap;
    }
    
    /**
     * @param newEmpNo
     * @param policyNo
     * @param nowYear
     * @param nowMonth
     */
    private boolean receiveEmp(String newEmpNo, String policyNo, int nowYear, int nowMonth)
    {
        RenewalStaffChangeHistory newEmpChangeHistory=oracleRenewalStaffChangeHistory.queryTransferPostByEmpNo(newEmpNo);
        if(newEmpChangeHistory==null){
            return true;
        }
        Date dueMonth=newEmpChangeHistory.getUpdatedDate();
        int month = DateUtil.getMonth(dueMonth);
        int year = DateUtil.getYear(dueMonth);
        //若是当月转岗 可以进行当月之后的应收保单分配
        if(year==nowYear && month==nowMonth){
            PolicyPremInfo policyPremInfo= premInfoService.selectByPolicyNo(policyNo);
            
            Date premDueDate=DateUtil.getDateFormat(policyPremInfo.getPremDueDate());
            int premDueDateMonth = DateUtil.getMonth(premDueDate);
            int premDueDateYear = DateUtil.getYear(premDueDate);
            
            if((year==premDueDateYear && premDueDateMonth>month) || premDueDateYear>year){
                return true;
            }else{
                return false;
            }
        }else{
            //如果不是当月,那就是之前转岗的,那也符合条件
            return true;
        }
        
    }
    /**
     * @param oldEmpNo
     * @param policyNo
     * @param nowYear
     * @param nowMonth
     */
    private boolean surrenderEmp(String oldEmpNo, String policyNo, int nowYear)
    {
        //取renewal_staff_change_history表, change_type=4,change_status=3的数据
        RenewalStaffChangeHistory oldEmpNoChangeHistory=oracleRenewalStaffChangeHistory.queryTransferPostByEmpNo(oldEmpNo);
        if(oldEmpNoChangeHistory==null){
            return true;
        }
        Date dueMonth=oldEmpNoChangeHistory.getUpdatedDate();
        int year = DateUtil.getYear(dueMonth);
        //原收展服务人员名下的保单,次年才可以交接给其他服务人员
        if(year>nowYear){
            return true;
        }else{
            return false;
        }
        
    }
    
    
    <select id="queryTransferPostByEmpNo" parameterType="java.lang.String" resultMap="BaseResultMap">

        select rsch.emp_no,rsch.post_code,rsch.change_type,rsch.change_status,rsch.updated_date
        from renewal_staff_change_history rsch
         where rsch.emp_no = #{empNo,jdbcType=VARCHAR}
                 and rsch.change_status = '3'
                 and rsch.change_type = '04'

    </select>

<resultMap id="BaseResultMap" type="com.funde.gras.api.domain.RenewalStaffChangeHistory">
    <!--
      WARNING - @mbg.generated
      This element is automatically generated by MyBatis Generator, do not modify.
    -->
    <id column="CHANGE_APPLY_NO" jdbcType="VARCHAR" property="changeApplyNo" />
    <result column="EMP_NO" jdbcType="VARCHAR" property="empNo" />
    <result column="EMP_STATUS_CODE" jdbcType="VARCHAR" property="empStatusCode" />
    <result column="POST_CODE" jdbcType="VARCHAR" property="postCode" />
    <result column="CHANGE_STATUS" jdbcType="TIMESTAMP" property="changeStatus" />
    <result column="CHANGE_TYPE" jdbcType="VARCHAR" property="changeType" />
    <result column="BANK_FLAG" jdbcType="TIMESTAMP" property="bankFlag" />
    <result column="AGENT_FLAG" jdbcType="VARCHAR" property="agentFlag" />
    <result column="MARKET_FLAG" jdbcType="VARCHAR" property="marketFlag" />
    <result column="UPDATED_DATE" jdbcType="TIMESTAMP" property="updatedDate" />
  </resultMap>



@Service(version = "1.0.0", timeout = 1200000,interfaceName = "com.funde.gras.api.service.OracleRenewalStaffChangeHistory")
public class OracleRenewalStaffChangeHistoryImpl implements OracleRenewalStaffChangeHistory
{

    @Autowired
    private RenewalStaffChangeHistoryMapper renewalStaffChangeHistoryMapper;
    
    @Override
    public RenewalStaffChangeHistory queryTransferPostByEmpNo(String empNo)
    {
        return renewalStaffChangeHistoryMapper.queryTransferPostByEmpNo(empNo);
    }

}