收付款单全量更新资金计划科目优化,增加前台日志
This commit is contained in:
		
							parent
							
								
									26213d6473
								
							
						
					
					
						commit
						b3fb47a680
					
				|  | @ -13,6 +13,7 @@ import kd.bos.orm.query.QFilter; | |||
| import kd.bos.schedule.executor.AbstractTask; | ||||
| import kd.bos.servicehelper.BusinessDataServiceHelper; | ||||
| import kd.sdk.plugin.Plugin; | ||||
| import shjh.jhzj7.fi.fi.utils.JhzjUtils; | ||||
| 
 | ||||
| import java.util.*; | ||||
| 
 | ||||
|  | @ -21,7 +22,7 @@ public class RecBillZjjhTask extends AbstractTask implements Plugin { | |||
| 
 | ||||
|     private static final String recbillName = "cas_recbill";//收款单 T_CAS_ReceivingBill | ||||
| 
 | ||||
|     private static final String updateZero = "update T_CAS_ReceivingBill set fk_shjh_planclass=0 where fid=?";//更新资金计划科目为0 | ||||
| //    private static final String updateZero = "update T_CAS_ReceivingBill set fk_shjh_planclass=0 where fid=?";//更新资金计划科目为0 | ||||
|     private static final String updateKM = "update T_CAS_ReceivingBill set fk_shjh_planclass=? where fid=?";//更新资金计划科目为指定科目 | ||||
| 
 | ||||
|     @Override | ||||
|  | @ -35,18 +36,31 @@ public class RecBillZjjhTask extends AbstractTask implements Plugin { | |||
|         } | ||||
|         Map<Object, DynamicObject> recBillMap = BusinessDataServiceHelper.loadFromCache(ids.toArray(), recbillName); | ||||
|         DynamicObject zjaccount;//资金计划科目 | ||||
|         DynamicObject oldbillkm;//原单上资金计划科目 | ||||
|         String billno;//收款单编号 | ||||
|         for (DynamicObject recbill : recBillMap.values()) { | ||||
|             //根据配置表携带资金计划科目 | ||||
|             zjaccount = xdMembersubject(recbill); | ||||
|             billno = recbill.getString("billno"); | ||||
|             oldbillkm = recbill.getDynamicObject("shjh_planclass"); | ||||
| //            recbill.set("shjh_planclass", zjaccount); | ||||
| //            SaveServiceHelper.save(new DynamicObject[]{recbill}); | ||||
|             if(zjaccount == null){ | ||||
|                 logger.info(recbill.getString("billno")+"对应资金计划科目为空"); | ||||
|                 DB.update(DBRoute.of("fi"), updateZero, new Object[]{recbill.getPkValue()}); | ||||
|             }else{ | ||||
|                 logger.info(recbill.getString("billno")+"对应资金计划科目为"+zjaccount.getLong("id")); | ||||
|                 logger.info(billno+"对应新资金计划科目为空"); | ||||
| //                DB.update(DBRoute.of("fi"), updateZero, new Object[]{recbill.getPkValue()}); | ||||
|             }else if(oldbillkm != null && oldbillkm.getLong("id") != zjaccount.getLong("id")){ | ||||
|                 logger.info(billno+"对应新资金计划科目为"+zjaccount.getPkValue()); | ||||
|                 DB.update(DBRoute.of("fi"), updateKM, new Object[]{zjaccount.getPkValue(), recbill.getPkValue()}); | ||||
|                 JhzjUtils.saveLog(billno,"收款单更新资金计划科目","原科目id:"+oldbillkm.getPkValue()+"  新科目id:"+zjaccount.getPkValue(), | ||||
|                         null,true,"task"); | ||||
|             }else if(oldbillkm == null){ | ||||
|                 //原单上资金计划科目为空,现在获取到新的科目需要更新 | ||||
|                 logger.info(billno+"对应新资金计划科目为"+zjaccount.getPkValue()); | ||||
|                 DB.update(DBRoute.of("fi"), updateKM, new Object[]{zjaccount.getPkValue(), recbill.getPkValue()}); | ||||
|                 JhzjUtils.saveLog(billno,"收款单更新资金计划科目","原科目id为空 新科目id:"+zjaccount.getPkValue(), | ||||
|                         null,true,"task0"); | ||||
|             } | ||||
| 
 | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ import kd.bos.schedule.executor.AbstractTask; | |||
| import kd.bos.servicehelper.BusinessDataServiceHelper; | ||||
| import kd.bos.util.StringUtils; | ||||
| import kd.sdk.plugin.Plugin; | ||||
| import shjh.jhzj7.fi.fi.utils.JhzjUtils; | ||||
| 
 | ||||
| import java.util.*; | ||||
| 
 | ||||
|  | @ -27,7 +28,7 @@ public class ZjjhTask extends AbstractTask implements Plugin { | |||
| 
 | ||||
|     private static final String payapplyName = "ap_payapply";//付款申请单 | ||||
| 
 | ||||
|     private static final String updateZero = "update T_CAS_PaymentBill set fk_shjh_membersubject=0 where fid=?";//更新资金计划科目为0 | ||||
| //    private static final String updateZero = "update T_CAS_PaymentBill set fk_shjh_membersubject=0 where fid=?";//更新资金计划科目为0 | ||||
|     private static final String updateKM = "update T_CAS_PaymentBill set fk_shjh_membersubject=? where fid=?";//更新资金计划科目为指定科目 | ||||
| 
 | ||||
|     @Override | ||||
|  | @ -45,21 +46,33 @@ public class ZjjhTask extends AbstractTask implements Plugin { | |||
|             } | ||||
|             Map<Object, DynamicObject> recBillMap = BusinessDataServiceHelper.loadFromCache(ids.toArray(), paybillName); | ||||
|             String paymentidentify; | ||||
|             String billno;//付款单编号 | ||||
|             DynamicObject payapply; | ||||
|             DynamicObject zjjhkm; | ||||
|             DynamicObject zjjhkm;//新资金计划科目 | ||||
|             DynamicObject oldbillkm;//原单上资金计划科目 | ||||
|             for (DynamicObject cas_paybill : recBillMap.values()) { | ||||
|                 paymentidentify = cas_paybill.getString("paymentidentify.number"); | ||||
|                 billno = cas_paybill.getString("billno"); | ||||
|                 oldbillkm = cas_paybill.getDynamicObject("shjh_membersubject"); | ||||
|                 //被动 如果是被动付款,则将现有付款单保存操作后,获取资金计划科目的代码直接复制拷贝至此; | ||||
|                 if ("FKBS02".equals(paymentidentify)) { | ||||
|                     zjjhkm = xdMembersubject(cas_paybill); | ||||
|                     if(zjjhkm == null){ | ||||
|                         //科目为空,将单子上的字段值置为0 | ||||
|                         logger.info(cas_paybill.getString("billno")+"对应资金计划科目为空"); | ||||
|                         DB.update(DBRoute.of("fi"), updateZero, new Object[]{cas_paybill.getPkValue()}); | ||||
|                     }else{ | ||||
|                         //将科目id更新到表字段上 | ||||
|                         logger.info(cas_paybill.getString("billno")+"对应资金计划科目为"+zjjhkm.getLong("id")); | ||||
|                         //科目为空,将单子上的字段值置为0--经讨论不用处理 | ||||
|                         logger.info(billno+"对应新资金计划科目为空"); | ||||
| //                        DB.update(DBRoute.of("fi"), updateZero, new Object[]{cas_paybill.getPkValue()}); | ||||
|                     }else if(oldbillkm != null && oldbillkm.getLong("id") != zjjhkm.getLong("id")){ | ||||
|                         //当单据上原科目和这次查询到科目不一致时将科目id更新到表字段上--增加前台日志 | ||||
|                         logger.info(billno+"对应新资金计划科目为"+zjjhkm.getPkValue()); | ||||
|                         DB.update(DBRoute.of("fi"), updateKM, new Object[]{zjjhkm.getPkValue(), cas_paybill.getPkValue()}); | ||||
|                         JhzjUtils.saveLog(billno,"付款单更新资金计划科目","原科目id:"+oldbillkm.getPkValue()+"  新科目id:"+zjjhkm.getPkValue(), | ||||
|                                 null,true,"task"); | ||||
|                     }else if(oldbillkm == null){ | ||||
|                         //原单上资金计划科目为空,现在获取到新的科目需要更新 | ||||
|                         logger.info(billno+"对应新资金计划科目为"+zjjhkm.getPkValue()); | ||||
|                         DB.update(DBRoute.of("fi"), updateKM, new Object[]{zjjhkm.getPkValue(), cas_paybill.getPkValue()}); | ||||
|                         JhzjUtils.saveLog(billno,"付款单更新资金计划科目","原科目id为空 新科目id:"+zjjhkm.getPkValue(), | ||||
|                                 null,true,"task0"); | ||||
|                     } | ||||
| //                    cas_paybill.set("shjh_membersubject", ); | ||||
| //                    SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); | ||||
|  | @ -75,12 +88,20 @@ public class ZjjhTask extends AbstractTask implements Plugin { | |||
|                         zjjhkm = getzjkmbyapply(payapply); | ||||
|                         if(zjjhkm == null){ | ||||
|                             //科目为空,将单子上的字段值置为0 | ||||
|                             logger.info(cas_paybill.getString("billno")+"对应资金计划科目为空"); | ||||
|                             DB.update(DBRoute.of("fi"), updateZero, new Object[]{cas_paybill.getPkValue()}); | ||||
|                         }else{ | ||||
|                             logger.info(billno+"对应新资金计划科目为空"); | ||||
| //                            DB.update(DBRoute.of("fi"), updateZero, new Object[]{cas_paybill.getPkValue()}); | ||||
|                         }else if(oldbillkm != null && oldbillkm.getLong("id") != zjjhkm.getLong("id")){ | ||||
|                             //将科目id更新到表字段上 | ||||
|                             logger.info(cas_paybill.getString("billno")+"对应资金计划科目为"+zjjhkm.getLong("id")); | ||||
|                             logger.info(billno+"对应新资金计划科目为"+zjjhkm.getPkValue()); | ||||
|                             DB.update(DBRoute.of("fi"), updateKM, new Object[]{zjjhkm.getPkValue(), cas_paybill.getPkValue()}); | ||||
|                             JhzjUtils.saveLog(billno,"付款单更新资金计划科目","原科目id:"+oldbillkm.getPkValue()+"  新科目id:"+zjjhkm.getPkValue(), | ||||
|                                     null,true,"task"); | ||||
|                         }else if(oldbillkm == null){ | ||||
|                             //原单上资金计划科目为空,现在获取到新的科目需要更新 | ||||
|                             logger.info(billno+"对应新资金计划科目为"+zjjhkm.getPkValue()); | ||||
|                             DB.update(DBRoute.of("fi"), updateKM, new Object[]{zjjhkm.getPkValue(), cas_paybill.getPkValue()}); | ||||
|                             JhzjUtils.saveLog(billno,"付款单更新资金计划科目","原科目id为空 新科目id:"+zjjhkm.getPkValue(), | ||||
|                                     null,true,"task0"); | ||||
|                         } | ||||
| //                        cas_paybill.set("shjh_membersubject", xdMembersubject); | ||||
| //                        SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue