You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
559 lines
25 KiB
559 lines
25 KiB
package com.sinosoft.lis.bq;
|
|
|
|
import com.sinosoft.lis.db.LPInsuAccRateDB;
|
|
import com.sinosoft.lis.db.LPMInsuAccRateDB;
|
|
import com.sinosoft.lis.i18n.I18nMessage;
|
|
import com.sinosoft.lis.pubfun.GlobalInput;
|
|
import com.sinosoft.lis.pubfun.MMap;
|
|
import com.sinosoft.lis.pubfun.PubFun;
|
|
import com.sinosoft.lis.schema.LCInsuAccRateSchema;
|
|
import com.sinosoft.lis.schema.LMInsuAccRateSchema;
|
|
import com.sinosoft.lis.schema.LPInsuAccRateSchema;
|
|
import com.sinosoft.lis.schema.LPMInsuAccRateSchema;
|
|
import com.sinosoft.lis.sql.InsuAccRateCheckBLSQL;
|
|
import com.sinosoft.lis.vschema.LCInsuAccRateSet;
|
|
import com.sinosoft.lis.vschema.LPInsuAccRateSet;
|
|
import com.sinosoft.persistence.SQLProxy;
|
|
import com.sinosoft.utility.*;
|
|
|
|
public class InsuAccRateCheckBL
|
|
{
|
|
/** 错误处理类,每个需要错误处理的类中都放置该类 */
|
|
public CErrors mErrors = new CErrors();
|
|
|
|
/** 往后面传输数据的容器 */
|
|
private VData mInputData = new VData();
|
|
|
|
/** 数据操作字符串 */
|
|
private VData mResult = new VData();
|
|
|
|
private MMap mMap = new MMap();
|
|
|
|
private GlobalInput mGlobalInput = new GlobalInput();
|
|
|
|
private Reflections tRef = new Reflections();
|
|
/**全局变量*/
|
|
private String mOperator;
|
|
private String mEdorNo;
|
|
private String mEdorNo1;
|
|
/** 利率类型 1-结算利率,2-分红利率,3-终止分红利率 */
|
|
private String mFlag;
|
|
private String mFlag1;
|
|
|
|
/** 特殊类型 1-正常,2-特殊 */
|
|
private String mBonusType;
|
|
private String mBonusType1;
|
|
/** 复核操作 1-复核确认,4-复核终止 */
|
|
private String mOperateFlag;
|
|
|
|
private String mFiscalYear;
|
|
private String mFiscalYear1;
|
|
|
|
|
|
private String mEdorType;
|
|
|
|
private String mBalaDate;
|
|
private String mGrpContNo;
|
|
private String mInsuAccNo;
|
|
private LPMInsuAccRateSchema mLPMInsuAccRateSchema = new LPMInsuAccRateSchema();
|
|
|
|
private LPMInsuAccRateSchema tLPMInsuAccRateSchema = new LPMInsuAccRateSchema();
|
|
|
|
private LPMInsuAccRateDB tLPMInsuAccRateDB = new LPMInsuAccRateDB();
|
|
|
|
private LPInsuAccRateSchema mLPInsuAccRateSchema = new LPInsuAccRateSchema();
|
|
|
|
private LPInsuAccRateSchema tLPInsuAccRateSchema = new LPInsuAccRateSchema();
|
|
|
|
private LPInsuAccRateSchema xLPInsuAccRateSchema = new LPInsuAccRateSchema();
|
|
|
|
private LPInsuAccRateDB tLPInsuAccRateDB = new LPInsuAccRateDB();
|
|
|
|
private LPInsuAccRateSet tLPInsuAccRateSet = new LPInsuAccRateSet();
|
|
|
|
private LPInsuAccRateSet mLPInsuAccRateSet = new LPInsuAccRateSet();
|
|
|
|
|
|
//特殊保单利率设定
|
|
private LPInsuAccRateSet sLPInsuAccRateSet = new LPInsuAccRateSet();
|
|
|
|
InsuAccRateCheckBLSQL insuAccRateCheckBLSQL = SQLProxy.getInstance(InsuAccRateCheckBLSQL.class);
|
|
|
|
|
|
public boolean submitData(VData cInputData, String cOperate)
|
|
{
|
|
mInputData = (VData) cInputData.clone();
|
|
// mOperate = cOperate;
|
|
if (!getInputData())
|
|
{
|
|
return false;
|
|
}
|
|
if (!checkData())
|
|
{
|
|
return false;
|
|
}
|
|
if (!dealData())
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if (!prepareOutputData())
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private boolean getInputData()
|
|
{
|
|
TransferData tTransferData = new TransferData();
|
|
|
|
mGlobalInput = mInputData.get(GlobalInput.class, 0);
|
|
tTransferData = mInputData.get(TransferData.class, 0);
|
|
|
|
|
|
if (tTransferData == null || tTransferData.equals(""))
|
|
{
|
|
buildError("getInputData", new I18nMessage("没有传入数据!", "LIS-07251"));
|
|
return false;
|
|
}
|
|
mOperator = mGlobalInput.Operator;
|
|
mOperateFlag = (String) tTransferData.getValueByName("OperateFlag");
|
|
|
|
mFlag = (String) tTransferData.getValueByName("SetType");
|
|
mFlag1 = (String) tTransferData.getValueByName("SetType1");
|
|
mBonusType = (String) tTransferData.getValueByName("BonusType");
|
|
mBonusType1 = (String) tTransferData.getValueByName("BonusType1");
|
|
mFiscalYear = (String) tTransferData.getValueByName("fiscalyear00");
|
|
mFiscalYear1 = (String) tTransferData.getValueByName("fiscalyear001");
|
|
mEdorNo = (String) tTransferData.getValueByName("EdorNo");
|
|
mEdorNo1 = (String) tTransferData.getValueByName("EdorNo1");
|
|
mEdorType = (String) tTransferData.getValueByName("EdorType");
|
|
mBalaDate = (String) tTransferData.getValueByName("BalaDate");
|
|
mGrpContNo =(String) tTransferData.getValueByName("GrpContNo");
|
|
|
|
if(!("all".equals(mOperateFlag))&&!("allc".equals(mOperateFlag))){
|
|
if(mBonusType.equals("1"))
|
|
{
|
|
tLPMInsuAccRateSchema = mInputData.get(LPMInsuAccRateSchema.class, 0);
|
|
tLPMInsuAccRateDB.setSchema(tLPMInsuAccRateSchema);
|
|
if(!tLPMInsuAccRateDB.getInfo())
|
|
{
|
|
buildError("getInputData", new I18nMessage("查询记录信息失败!", "LIS-B-000026"));
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
mLPMInsuAccRateSchema = tLPMInsuAccRateDB.getSchema();
|
|
}
|
|
}
|
|
else if(mBonusType.equals("2")&&!"1".equals(mFiscalYear))
|
|
{
|
|
tLPInsuAccRateSchema = mInputData.get(LPInsuAccRateSchema.class, 0);
|
|
tLPInsuAccRateSchema.setAccSerNo("01");//富泽多账户功能增加AccSerNo主键,因此只能暂时这样处理了
|
|
|
|
tLPInsuAccRateDB.setSchema(tLPInsuAccRateSchema);
|
|
|
|
if(!tLPInsuAccRateDB.getInfo())
|
|
{
|
|
buildError("getInputData", new I18nMessage("查询记录信息失败!", "LIS-B-000026"));
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
mLPInsuAccRateSchema = tLPInsuAccRateDB.getSchema();
|
|
}
|
|
}
|
|
|
|
else{
|
|
|
|
if(mEdorNo==null||"".equals(mEdorNo)){
|
|
|
|
buildError("getInputData", new I18nMessage("任务号码未传入!", "LIS-B-000058"));
|
|
return false;
|
|
}
|
|
}
|
|
}else{
|
|
if("2".equals(mBonusType1)&&!"1".equals(mFiscalYear1))
|
|
{
|
|
tLPInsuAccRateSchema = mInputData.get(LPInsuAccRateSchema.class, 0);
|
|
tLPInsuAccRateSchema.setAccSerNo("01");//富泽多账户功能增加AccSerNo主键,因此只能暂时这样处理了
|
|
tLPInsuAccRateDB.setAccSerNo(tLPInsuAccRateSchema.getAccSerNo());
|
|
tLPInsuAccRateDB.setEdorNo(tLPInsuAccRateSchema.getEdorNo());
|
|
tLPInsuAccRateDB.setEdorType(tLPInsuAccRateSchema.getEdorType());
|
|
tLPInsuAccRateDB.setApproveFlag(tLPInsuAccRateSchema.getApproveFlag());
|
|
tLPInsuAccRateDB.setFiscalYear(tLPInsuAccRateSchema.getFiscalYear());
|
|
mLPInsuAccRateSet=tLPInsuAccRateDB.query();
|
|
}
|
|
else{
|
|
if(mEdorNo1==null||"".equals(mEdorNo1)){
|
|
buildError("getInputData", new I18nMessage("任务号码未传入!", "LIS-B-000058"));
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private boolean checkData()
|
|
{
|
|
if(mFlag.equals("2"))
|
|
{
|
|
String CurYear = PubFun.getCurrentDate().substring(0, 4);
|
|
String FisCalYear = Integer.toString((int) mLPMInsuAccRateSchema.getFiscalYear());
|
|
if(CurYear.equals(FisCalYear))
|
|
{
|
|
|
|
buildError("checkData", new I18nMessage("分红年度不能为当前年度,请确认后重新操作!", "LIS-B-000059"));
|
|
return false;
|
|
}
|
|
}
|
|
//add by qn 团险多主险需求----特殊-保单的结算利率,需要校验所有险种都要设定利率
|
|
if("1".equals(mFlag)&&"2".equals(mBonusType)&&!"1".equals(mFiscalYear))
|
|
{
|
|
//险种
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.findGrpContNo(mGrpContNo);
|
|
String tPolCount = new ExeSQL().getOneValue(tSQL);
|
|
|
|
SQLwithBindVariables pSQL = insuAccRateCheckBLSQL.findGrpContNoandBalaDate(mGrpContNo,mBalaDate);
|
|
LPInsuAccRateDB aLPInsuAccRateDB = new LPInsuAccRateDB();
|
|
sLPInsuAccRateSet =aLPInsuAccRateDB.executeQuery(pSQL);
|
|
if("1".equals(mOperateFlag)){
|
|
if(Integer.parseInt(tPolCount)!=sLPInsuAccRateSet.size()){
|
|
|
|
buildError("checkData", new I18nMessage("设定特殊利率的保单包含多个险种,请设定该保单全部险种!", "LIS-B-000060"));
|
|
return false;
|
|
}
|
|
}
|
|
|
|
}
|
|
if("1".equals(mFlag1)&&"2".equals(mBonusType1)&&!"1".equals(mFiscalYear1))
|
|
{
|
|
if(mLPInsuAccRateSet!=null&&mLPInsuAccRateSet.size()>0){
|
|
for(int i=1;i<=mLPInsuAccRateSet.size();i++){
|
|
xLPInsuAccRateSchema=mLPInsuAccRateSet.get(i);
|
|
//险种
|
|
mGrpContNo=xLPInsuAccRateSchema.getGrpContNo();
|
|
mBalaDate=xLPInsuAccRateSchema.getBalaDate();
|
|
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.findGrpContNo(mGrpContNo);
|
|
String tPolCount = new ExeSQL().getOneValue(tSQL);
|
|
|
|
SQLwithBindVariables pSQL = insuAccRateCheckBLSQL.findGrpContNoandBalaDate(mGrpContNo,mBalaDate);
|
|
LPInsuAccRateDB aLPInsuAccRateDB = new LPInsuAccRateDB();
|
|
sLPInsuAccRateSet =aLPInsuAccRateDB.executeQuery(pSQL);
|
|
if("all".equals(mOperateFlag)){
|
|
if(Integer.parseInt(tPolCount)!=sLPInsuAccRateSet.size()){
|
|
|
|
buildError("checkData", new I18nMessage("设定特殊利率的保单包含多个险种,请设定该保单全部险种!", "LIS-B-000060"));
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private boolean dealData()
|
|
{
|
|
if("1".equals(mFiscalYear))
|
|
{
|
|
|
|
SQLwithBindVariables mSQL = insuAccRateCheckBLSQL.findbaladate(mBalaDate);
|
|
// 忽略特殊利率保单 edit by gaoph
|
|
String check = new ExeSQL().getOneValue(mSQL);
|
|
if(check.equals("")||check == null)
|
|
{
|
|
|
|
SQLwithBindVariables querySQL = insuAccRateCheckBLSQL.findEdorNoandFlagandFiscalYear(mEdorNo,mFlag,mFiscalYear);
|
|
RSWrapper rsWrapper = new RSWrapper();
|
|
if (!rsWrapper.prepareData(tLPInsuAccRateSet, querySQL))
|
|
{
|
|
|
|
buildError("dealData", new I18nMessage("查询任务信息出错!", "LIS-B-000061"));
|
|
return false;
|
|
}
|
|
do
|
|
{
|
|
rsWrapper.getData();
|
|
tDealData(tLPInsuAccRateSet);
|
|
}
|
|
while(tLPInsuAccRateSet != null && tLPInsuAccRateSet.size() > 0);
|
|
rsWrapper.close();
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
buildError("dealData", new I18nMessage("已有设定,不可以再次设定!", "LIS-B-000025"));
|
|
return false;
|
|
}
|
|
}
|
|
else{
|
|
|
|
|
|
if(mOperateFlag.equals("1"))
|
|
{
|
|
if(mEdorType.equals("01"))
|
|
{
|
|
|
|
SQLwithBindVariables ocSQL = insuAccRateCheckBLSQL.updatelcinsuaccrate(PubFun.getCurrentDate(),PubFun.getCurrentTime(),tLPInsuAccRateSchema.getGrpPolNo(),tLPInsuAccRateSchema.getInsuAccNo(),tLPInsuAccRateSchema.getFlag(),tLPInsuAccRateSchema.getFiscalYear(),tLPInsuAccRateSchema.getBalaDate(),tLPInsuAccRateSchema.getRateIntv());
|
|
SQLwithBindVariables opSQL = insuAccRateCheckBLSQL.updateEdorNo(mLPInsuAccRateSchema.getEdorNo(),PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
//add by qn 团险多主险需求----特殊-保单的结算利率,审核其中一个险种,该保单所有险种都可以审批通过
|
|
|
|
SQLwithBindVariables opsSQL= null;
|
|
if(sLPInsuAccRateSet.size()>1){
|
|
opsSQL = insuAccRateCheckBLSQL.updateGrpContNoandBalaDate(mGrpContNo,mBalaDate,PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
}
|
|
|
|
mMap.put(ocSQL, MMap.Action.UPDATE);
|
|
mMap.put(opSQL,MMap.Action.UPDATE);
|
|
mMap.put(opsSQL,MMap.Action.UPDATE);
|
|
}
|
|
else{
|
|
SQLwithBindVariables SQL = null;
|
|
ExeSQL tExeSQL = new ExeSQL();
|
|
|
|
if (mBonusType.equals("1"))
|
|
{
|
|
if(mFlag.equals("2"))
|
|
{
|
|
SQL= insuAccRateCheckBLSQL.findFiscalYearandRiskcode(mLPMInsuAccRateSchema.getFiscalYear(),mLPMInsuAccRateSchema.getRiskCode());
|
|
}
|
|
else if(mFlag.equals("3"))
|
|
{
|
|
SQL= insuAccRateCheckBLSQL.findBalaDateandRiskCode(mLPMInsuAccRateSchema.getBalaDate(),mLPMInsuAccRateSchema.getRiskCode());
|
|
}
|
|
else
|
|
{
|
|
SQL= insuAccRateCheckBLSQL.findBalaDateandriskcode(mLPMInsuAccRateSchema.getBalaDate(),mLPMInsuAccRateSchema.getRiskCode());
|
|
}
|
|
|
|
String tFlag = tExeSQL.getOneValue(SQL);
|
|
if( !(tFlag == null || tFlag == ""))
|
|
{
|
|
buildError("dealData", new I18nMessage("已有设定,不可以再次设定!", "LIS-B-000025"));
|
|
return false;
|
|
}
|
|
|
|
LMInsuAccRateSchema tLMInsuAccRateSchema = new LMInsuAccRateSchema();
|
|
tRef.transFields(tLMInsuAccRateSchema, mLPMInsuAccRateSchema);
|
|
tLMInsuAccRateSchema.setARateDate(mLPMInsuAccRateSchema.getBalaDate());
|
|
tLMInsuAccRateSchema.setSRateDate(mLPMInsuAccRateSchema.getBalaDate());
|
|
tLMInsuAccRateSchema.setApproveCode(mOperator);
|
|
|
|
tLMInsuAccRateSchema.setMakeDate(PubFun.getCurrentDate());
|
|
tLMInsuAccRateSchema.setMakeTime(PubFun.getCurrentTime());
|
|
|
|
|
|
mMap.put(tLMInsuAccRateSchema, MMap.Action.DELETE_INSERT);
|
|
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updateedorno(mLPMInsuAccRateSchema.getEdorNo(),PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
mMap.put(tSQL, MMap.Action.UPDATE);
|
|
|
|
}
|
|
else if(mBonusType.equals("2"))
|
|
{
|
|
|
|
SQLwithBindVariables mSQL = null;
|
|
if(mFlag.equals("2"))
|
|
{
|
|
SQL = insuAccRateCheckBLSQL.findFiscalYearandGrpContNo(mLPInsuAccRateSchema.getFiscalYear(),mLPInsuAccRateSchema.getGrpContNo());
|
|
|
|
}
|
|
else if(mFlag.equals("3"))
|
|
{
|
|
SQL = insuAccRateCheckBLSQL.findBalaDateandGrpContNo(mLPInsuAccRateSchema.getBalaDate(),mLPInsuAccRateSchema.getGrpContNo());
|
|
|
|
}
|
|
else
|
|
{
|
|
SQL = insuAccRateCheckBLSQL.findBalaDateandGrpContNoandInsuAccNo(mLPInsuAccRateSchema.getBalaDate(),mLPInsuAccRateSchema.getGrpContNo(),mLPInsuAccRateSchema.getInsuAccNo());
|
|
|
|
}
|
|
|
|
String tFlag = tExeSQL.getOneValue(SQL);
|
|
if( !(tFlag == null || tFlag == ""))
|
|
{
|
|
buildError("dealData", new I18nMessage("已有设定,不可以再次设定!", "LIS-B-000025"));
|
|
return false;
|
|
}
|
|
|
|
//add by qn 团险多主险需求----特殊-保单的结算利率,审核其中一个险种,该保单所有险种都可以审批通过
|
|
if(sLPInsuAccRateSet.size()>1){
|
|
LCInsuAccRateSet tLCInsuAccRateSet = new LCInsuAccRateSet();
|
|
for(int k=1;k<=sLPInsuAccRateSet.size();k++){
|
|
|
|
LCInsuAccRateSchema tLCInsuAccRateSchema = new LCInsuAccRateSchema();
|
|
tRef.transFields(tLCInsuAccRateSchema, sLPInsuAccRateSet.get(k));
|
|
tLCInsuAccRateSchema.setARateDate(mLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setSRateDate(mLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setApproveCode(mOperator);
|
|
tLCInsuAccRateSchema.setAccserNo(mLPInsuAccRateSchema.getAccSerNo());
|
|
tLCInsuAccRateSchema.setMakeDate(PubFun.getCurrentDate());
|
|
tLCInsuAccRateSchema.setMakeTime(PubFun.getCurrentTime());
|
|
tLCInsuAccRateSet.add(tLCInsuAccRateSchema);
|
|
}
|
|
mMap.put(tLCInsuAccRateSet, MMap.Action.DELETE_INSERT);
|
|
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updategrpContNoandBalaDate(mGrpContNo,mBalaDate,PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
mMap.put(tSQL, MMap.Action.UPDATE);
|
|
|
|
}else{
|
|
LCInsuAccRateSchema tLCInsuAccRateSchema = new LCInsuAccRateSchema();
|
|
tRef.transFields(tLCInsuAccRateSchema, mLPInsuAccRateSchema);
|
|
tLCInsuAccRateSchema.setARateDate(mLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setSRateDate(mLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setApproveCode(mOperator);
|
|
tLCInsuAccRateSchema.setAccserNo(mLPInsuAccRateSchema.getAccSerNo());
|
|
tLCInsuAccRateSchema.setMakeDate(PubFun.getCurrentDate());
|
|
tLCInsuAccRateSchema.setMakeTime(PubFun.getCurrentTime());
|
|
|
|
mMap.put(tLCInsuAccRateSchema, MMap.Action.DELETE_INSERT);
|
|
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updateedorNo(mLPInsuAccRateSchema.getEdorNo(),PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
mMap.put(tSQL, MMap.Action.UPDATE);
|
|
}
|
|
// }
|
|
}
|
|
}}
|
|
else if(mOperateFlag.equals("all"))
|
|
{
|
|
ExeSQL tExeSQL = new ExeSQL();
|
|
if(mBonusType1.equals("2"))
|
|
{
|
|
if(mLPInsuAccRateSet!=null&&mLPInsuAccRateSet.size()>0){
|
|
for(int i=1;i<=mLPInsuAccRateSet.size();i++){
|
|
xLPInsuAccRateSchema=mLPInsuAccRateSet.get(i);
|
|
mGrpContNo=xLPInsuAccRateSchema.getGrpContNo();
|
|
mBalaDate=xLPInsuAccRateSchema.getBalaDate();
|
|
mInsuAccNo=xLPInsuAccRateSchema.getInsuAccNo();
|
|
|
|
SQLwithBindVariables SQL = insuAccRateCheckBLSQL.findBalaDateandgrpcontnoandinsuaccno(mBalaDate,mGrpContNo,mInsuAccNo);
|
|
String tFlag = tExeSQL.getOneValue(SQL);
|
|
if( !(tFlag == null || tFlag == ""))
|
|
{
|
|
buildError("dealData", new I18nMessage("已有设定,不可以再次设定!", "LIS-B-000025"));
|
|
return false;
|
|
}
|
|
LCInsuAccRateSchema tLCInsuAccRateSchema = new LCInsuAccRateSchema();
|
|
tRef.transFields(tLCInsuAccRateSchema, xLPInsuAccRateSchema);
|
|
tLCInsuAccRateSchema.setARateDate(xLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setSRateDate(xLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setAccserNo(xLPInsuAccRateSchema.getAccSerNo());
|
|
tLCInsuAccRateSchema.setApproveCode(mOperator);
|
|
tLCInsuAccRateSchema.setMakeDate(xLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setMakeTime(PubFun.getCurrentTime());
|
|
mMap.put(tLCInsuAccRateSchema, MMap.Action.DELETE_INSERT);
|
|
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updatexEdorNo(xLPInsuAccRateSchema.getEdorNo(),PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
mMap.put(tSQL, MMap.Action.UPDATE);
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if(mOperateFlag.equals("allc"))
|
|
{
|
|
if(mBonusType1.equals("2"))
|
|
{
|
|
if(mLPInsuAccRateSet!=null&&mLPInsuAccRateSet.size()>0){
|
|
for(int i=1;i<=mLPInsuAccRateSet.size();i++){
|
|
xLPInsuAccRateSchema=mLPInsuAccRateSet.get(i);
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updatemaketimeandOperatorandEdorNo(PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator,xLPInsuAccRateSchema.getEdorNo());
|
|
mMap.put(tSQL, MMap.Action.UPDATE);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
if(mBonusType.equals("1"))
|
|
{
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updatemakedateandmaketimeandOperatorandedorno(PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator,mLPMInsuAccRateSchema.getEdorNo());
|
|
mMap.put(tSQL,MMap.Action.UPDATE);
|
|
}
|
|
else
|
|
{
|
|
//add by qn 团险多主险需求----特殊-保单的结算利率,审核其中一个险种,该保单所有险种都可以审批拒绝
|
|
if(sLPInsuAccRateSet.size()>1){
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updatemakedateandmaketimeandoperatorandgrpcontnoandbaladate(PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator,mGrpContNo,mBalaDate);
|
|
mMap.put(tSQL,MMap.Action.UPDATE);
|
|
}else{
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updatemakedateandmaketimeandoperatorandedorno(PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator,mLPInsuAccRateSchema.getEdorNo());
|
|
mMap.put(tSQL,MMap.Action.UPDATE);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private boolean tDealData(LPInsuAccRateSet tLPInsuAccRateSet)
|
|
{
|
|
|
|
if(mOperateFlag.equals("1"))
|
|
{
|
|
for(int i=1;i<=tLPInsuAccRateSet.size();i++)
|
|
{
|
|
LPInsuAccRateSchema oLPInsuAccRateSchema = new LPInsuAccRateSchema();
|
|
oLPInsuAccRateSchema = tLPInsuAccRateSet.get(i).getSchema();
|
|
|
|
SQLwithBindVariables mSQL= insuAccRateCheckBLSQL.findBalaDateandInsuaccnoandGrpcontno(oLPInsuAccRateSchema.getBalaDate(),oLPInsuAccRateSchema.getInsuAccNo(),oLPInsuAccRateSchema.getGrpContNo());
|
|
String nullflag = new ExeSQL().getOneValue(mSQL);
|
|
if(nullflag.equals("")||nullflag == null)
|
|
{
|
|
LCInsuAccRateSchema tLCInsuAccRateSchema = new LCInsuAccRateSchema();
|
|
tRef.transFields(tLCInsuAccRateSchema, oLPInsuAccRateSchema);
|
|
tLCInsuAccRateSchema.setARateDate(oLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setSRateDate(oLPInsuAccRateSchema.getBalaDate());
|
|
tLCInsuAccRateSchema.setApproveCode(mOperator);
|
|
tLCInsuAccRateSchema.setAccserNo(oLPInsuAccRateSchema.getAccSerNo());
|
|
tLCInsuAccRateSchema.setMakeDate(PubFun.getCurrentDate());
|
|
tLCInsuAccRateSchema.setMakeTime(PubFun.getCurrentTime());
|
|
mMap.put(tLCInsuAccRateSchema, MMap.Action.DELETE_INSERT);
|
|
}
|
|
}
|
|
}
|
|
SQLwithBindVariables tSQL = insuAccRateCheckBLSQL.updateOperateFlagandEdorNo(mOperateFlag,mEdorNo,PubFun.getCurrentDate(),PubFun.getCurrentTime(),mOperator);
|
|
mMap.put(tSQL, MMap.Action.UPDATE);
|
|
return true;
|
|
}
|
|
|
|
private boolean prepareOutputData()
|
|
{
|
|
mResult.clear();
|
|
mResult.add(mMap);
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* 错误构造方法
|
|
* @param tFunctionName
|
|
* @param tErrorMessage
|
|
*/
|
|
private void buildError(String tFunctionName, I18nMessage tErrorMessage) {
|
|
|
|
CError tCError = new CError();
|
|
tCError.moduleName = this.getClass().getSimpleName();
|
|
tCError.functionName = tFunctionName;
|
|
tCError.errorMessage(tErrorMessage);
|
|
mErrors.addOneError(tCError);
|
|
}
|
|
public VData getResult()
|
|
{
|
|
return mResult;
|
|
}
|
|
|
|
public CErrors getErrors()
|
|
{
|
|
return mErrors;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|