| 
					
				 | 
			
			
				@@ -1,198 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package fi.cas.opplugin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.alibaba.druid.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import dm.jdbc.util.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import fi.cas.common.SettlementStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.dataentity.entity.DynamicObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.entity.plugin.AbstractOperationServicePlugIn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.entity.plugin.args.BeginOperationTransactionArgs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.orm.query.QCP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.orm.query.QFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.servicehelper.BusinessDataServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.servicehelper.operation.SaveServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//付款处理单取消付款反写 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class UnPaymentProcessOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static String nckd_cas_arbill_gz_l = "nckd_cas_arbill"; //应收挂帐单标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static String nckd_er_prepaybill_ext = "er_prepaybill"; //预付借款单标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static String nckd_er_publicreimbur_ext = "er_publicreimbursebill"; //报销单标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static String er_contractbill = "er_contractbill"; //合同台账单标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private static String nckd_ap_finapbill_gz = "ap_finapbill"; //应付挂账单标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void beginOperationTransaction(BeginOperationTransactionArgs e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] dynamicObjects = e.getDataEntities(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (int i = 0; i < dynamicObjects.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //当前单头数据包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject info = BusinessDataServiceHelper.loadSingle(dynamicObjects[i].getPkValue(), dynamicObjects[i].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //获取源单id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long sourcebillid = info.getLong("sourcebillid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //存储源单分录id和付款处理分录实付金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            HashMap<String, BigDecimal> amountMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //循环付款明细分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (DynamicObject entryentity : info.getDynamicObjectCollection("entry")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //取当前循环付款明细分录的实付金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                BigDecimal expenseamount = entryentity.getBigDecimal("e_actamt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //取当前循环付款明细分录的源单分录id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String sourcebillentryid = entryentity.getString("e_sourcebillentryid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                amountMap.put(sourcebillentryid,expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询应收挂账单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            QFilter gzFilter = new QFilter("id", QCP.equals,sourcebillid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject[] gzDynamicObjects = BusinessDataServiceHelper.load(nckd_cas_arbill_gz_l,"id",new QFilter[] {gzFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询报销单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            QFilter bxFilter = new QFilter("id", QCP.equals,sourcebillid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject[] bxDynamicObjects = BusinessDataServiceHelper.load(nckd_er_publicreimbur_ext,"id",new QFilter[] {bxFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //应收方向的回写 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (gzDynamicObjects.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (int c=0;c<gzDynamicObjects.length;c++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //应收挂帐单头数据包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    DynamicObject gzInfo = BusinessDataServiceHelper.loadSingle(gzDynamicObjects[i].getPkValue(), gzDynamicObjects[i].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //获取预付借款单id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Long yfjkId = gzInfo.getLong("sourcebillid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //存储预付借款单分录id和付款处理分录实付金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    HashMap<String,BigDecimal> yfjkMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //应收挂帐单头已结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    BigDecimal totalSettledamt = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //应收挂帐单头未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    BigDecimal totalUnsettledamt = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //循环应收挂帐单付款明细分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (DynamicObject entryentity : gzInfo.getDynamicObjectCollection("entry")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //获取分录实付金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        BigDecimal expenseamount = amountMap.get(entryentity.getString("id")) == null ? BigDecimal.ZERO:amountMap.get(entryentity.getString("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //获取已结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        BigDecimal settledamt = entryentity.getBigDecimal("e_settledamt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        settledamt = settledamt.subtract(expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //反写分录已结算金额,未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        entryentity.set("e_settledamt",settledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        entryentity.set("e_unsettledamt",expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        totalSettledamt = totalSettledamt.add(settledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        totalUnsettledamt = totalUnsettledamt.add(expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        String yfjkSourceBillEntryId = entryentity.getString("e_sourcebillentryid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        yfjkMap.put(yfjkSourceBillEntryId,expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //结算字段赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    settleMethod(gzInfo,"settlestatus","settleamount","unsettleamount",totalSettledamt,totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SaveServiceHelper.save(new DynamicObject[]{gzInfo}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //查询预付借款单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    QFilter nckd_yfjkFilter = new QFilter("id", QCP.equals,yfjkId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    DynamicObject[] yfjkDynamicObjects = BusinessDataServiceHelper.load(nckd_er_prepaybill_ext,"id",new QFilter[] {nckd_yfjkFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //循环数组获取结算状态,已结算金额,未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (int d=0;d<yfjkDynamicObjects.length;d++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //预付借款单头数据包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        DynamicObject yfjkInfo = BusinessDataServiceHelper.loadSingle(yfjkDynamicObjects[i].getPkValue(), yfjkDynamicObjects[i].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //循环预付借款单预付借款信息分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (DynamicObject entryentity : yfjkInfo.getDynamicObjectCollection("expenseentryentity")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //获取分录实付金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            BigDecimal expenseamount = yfjkMap.get(entryentity.getString("id")) == null ? BigDecimal.ZERO:yfjkMap.get(entryentity.getString("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //获取已结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            BigDecimal settledamt = entryentity.getBigDecimal("nckd_settleamount_et"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            settledamt = settledamt.subtract(expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //反写分录已结算金额,未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            entryentity.set("nckd_settleamount_et",settledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            entryentity.set("nckd_unsettleamount_et",expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //结算字段赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        settleMethod(yfjkInfo,"nckd_settlestatus","nckd_settleamount","nckd_unsettleamount",totalSettledamt,totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        SaveServiceHelper.save(new DynamicObject[]{yfjkInfo}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }//应付方向的回写 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            else if (bxDynamicObjects.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //循环数组获取结算状态,已结算金额,未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (int c=0;c<bxDynamicObjects.length;c++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //报销单头数据包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    DynamicObject bxInfo = BusinessDataServiceHelper.loadSingle(bxDynamicObjects[i].getPkValue(), bxDynamicObjects[i].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Long bxId = bxInfo.getLong("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String nckd_sourcebillid = bxInfo.getString("nckd_sourcebillid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //报账类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String reimbursetype = bxInfo.getString("reimbursetype"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //已结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    BigDecimal totalSettledamt = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    BigDecimal totalUnsettledamt = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //循环报销单收款信息分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    for (DynamicObject entryentity : bxInfo.getDynamicObjectCollection("accountentry")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //获取分录收款金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        BigDecimal expenseamount = amountMap.get(entryentity.getString("id")) == null ? BigDecimal.ZERO:amountMap.get(entryentity.getString("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //获取已结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        BigDecimal settledamt = entryentity.getBigDecimal("nckd_settleamount_et"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        settledamt = settledamt.subtract(expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //反写分录已结算金额,未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        entryentity.set("nckd_settleamount_et",settledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        entryentity.set("nckd_unsettleamount_et",expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        totalSettledamt = totalSettledamt.add(settledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        totalUnsettledamt = totalUnsettledamt.add(expenseamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //结算字段赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    settleMethod(bxInfo,"nckd_settlestatus","nckd_settleamount","nckd_unsettleamount",totalSettledamt,totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SaveServiceHelper.save(new DynamicObject[]{bxInfo}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //查询应付挂账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    QFilter nckd_yfgzFilter = new QFilter("sourcebillid", QCP.equals,bxId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    DynamicObject[] yfgzDynamicObjects = BusinessDataServiceHelper.load(nckd_ap_finapbill_gz,"id",new QFilter[] {nckd_yfgzFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (yfgzDynamicObjects.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int f=0;f<yfgzDynamicObjects.length;f++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //应付挂账单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            DynamicObject gzInfo = BusinessDataServiceHelper.loadSingle(yfgzDynamicObjects[i].getPkValue(), yfgzDynamicObjects[i].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //结算字段赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            settleMethod(gzInfo,"settlestatus","settleamount","unsettleamount",totalSettledamt,totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SaveServiceHelper.save(new DynamicObject[]{gzInfo}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //报账类型等于工程报账回写合同台账单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (!StringUtils.isEmpty(nckd_sourcebillid)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //获取合同台账单id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Long contractbillId = Long.parseLong(nckd_sourcebillid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //查询合同台账单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        QFilter htFilter = new QFilter("id", QCP.equals,contractbillId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        DynamicObject[] htDynamicObjects = BusinessDataServiceHelper.load(er_contractbill,"id",new QFilter[] {htFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        for (int j=0;j<htDynamicObjects.length;j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //合同台账单头数据包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            DynamicObject htInfo = BusinessDataServiceHelper.loadSingle(htDynamicObjects[i].getPkValue(), htDynamicObjects[i].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            BigDecimal nckd_unsettleamount = htInfo.getBigDecimal("nckd_unsettleamount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //已结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            BigDecimal nckd_settleamount = htInfo.getBigDecimal("nckd_settleamount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (nckd_settleamount.compareTo(totalUnsettledamt) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                nckd_settleamount = nckd_settleamount.subtract(totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                nckd_settleamount = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            nckd_unsettleamount = nckd_unsettleamount.add(totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            htInfo.set("oripayedamount",nckd_settleamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            htInfo.set("orinotpayamount",nckd_unsettleamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //结算字段赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            settleMethod(htInfo,"nckd_settlestatus","nckd_settleamount","nckd_unsettleamount",nckd_settleamount,nckd_unsettleamount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            SaveServiceHelper.save(new DynamicObject[]{htInfo}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    * 给结算状态,结算金额,未结算金额赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    * */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void settleMethod(DynamicObject object ,String settlestatus ,String settleamount ,String unsettleamount ,BigDecimal totalSettledamt ,BigDecimal totalUnsettledamt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (totalSettledamt.compareTo(BigDecimal.ZERO) > 0 && totalUnsettledamt.compareTo(BigDecimal.ZERO) == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(settlestatus, SettlementStatusEnum.已结算.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(settleamount, totalSettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(unsettleamount, totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else if (totalUnsettledamt.compareTo(BigDecimal.ZERO) > 0 && totalSettledamt.compareTo(BigDecimal.ZERO) == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(settlestatus, SettlementStatusEnum.未结算.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(settleamount, totalSettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(unsettleamount, totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else if (totalSettledamt.compareTo(BigDecimal.ZERO) > 0 && totalUnsettledamt.compareTo(BigDecimal.ZERO) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(settlestatus, SettlementStatusEnum.部分结算.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(settleamount, totalSettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            object.set(unsettleamount, totalUnsettledamt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 |