diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeConDateFormPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeConDateFormPlugin.java index 69d461b..eb08a9b 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeConDateFormPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeConDateFormPlugin.java @@ -9,6 +9,7 @@ import kd.bos.form.events.BeforeClosedEvent; import kd.bos.form.field.ComboEdit; import kd.bos.form.field.ComboItem; import kd.bos.form.plugin.AbstractFormPlugin; +import com.alibaba.fastjson.JSONObject; import java.math.BigDecimal; import java.text.ParseException; @@ -28,8 +29,12 @@ public class GuaranteeConDateFormPlugin extends AbstractFormPlugin { @Override public void beforeBindData(EventObject e) { Object end = this.getView().getFormShowParameter().getCustomParam("end"); -// Map paramMap = this.getView().getFormShowParameter().getCustomParam("paramMap"); -// Object end = paramMap.get("end"); + Object shkd_generalfeerate = this.getView().getFormShowParameter().getCustomParam("shkd_generalfeerate"); + Object shkd_feetype = this.getView().getFormShowParameter().getCustomParam("shkd_feetype"); + Object shkd_feeoppunittype = this.getView().getFormShowParameter().getCustomParam("shkd_feeoppunittype"); + Object shkd_feeoppunit = this.getView().getFormShowParameter().getCustomParam("shkd_feeoppunit"); + Object shkd_feeoppbebank = this.getView().getFormShowParameter().getCustomParam("shkd_feeoppbebank"); + Object shkd_feeoppacctbank = this.getView().getFormShowParameter().getCustomParam("shkd_feeoppacctbank"); if (end!=null){ String enddateString = (String) end;//上次的结束日期 try { @@ -40,7 +45,36 @@ public class GuaranteeConDateFormPlugin extends AbstractFormPlugin { } catch (ParseException ex) { throw new RuntimeException(ex); } + } + if (shkd_generalfeerate!=null){ + BigDecimal shkd_generalfeerateBigDecimal =(BigDecimal)shkd_generalfeerate; + this.getModel().setValue("shkd_generalfeerate", shkd_generalfeerateBigDecimal); + } + if (shkd_feetype!=null){ + JSONObject shkd_feetypeJSONObject = (JSONObject) shkd_feetype; + Long id = shkd_feetypeJSONObject.getLong("id"); + this.getModel().setValue("shkd_feetype", id); + } + if (shkd_feeoppunittype!=null){ + String shkd_feeoppunittypeString = (String) shkd_feeoppunittype; + this.getModel().setValue("shkd_feeoppunittype", shkd_feeoppunittypeString); + } + if (shkd_feeoppunit!=null){ + JSONObject shkd_feeoppunitJSONObject = (JSONObject) shkd_feeoppunit; + Long id = shkd_feeoppunitJSONObject.getLong("id"); + this.getModel().setValue("shkd_feeoppunit", id); + + } + if (shkd_feeoppbebank!=null){ + JSONObject shkd_feeoppbebankJSONObject = (JSONObject) shkd_feeoppbebank; + Long id = shkd_feeoppbebankJSONObject.getLong("id"); + this.getModel().setValue("shkd_feeoppbebank", id); + } + if (shkd_feeoppacctbank!=null){ + JSONObject shkd_feeoppacctbankJSONObject = (JSONObject) shkd_feeoppacctbank; + Long id = shkd_feeoppacctbankJSONObject.getLong("id"); + this.getModel().setValue("shkd_feeoppacctbank", id); } } @@ -70,7 +104,6 @@ public class GuaranteeConDateFormPlugin extends AbstractFormPlugin { evt.setCancel(true); } } -// this.getView().close(); } @Override @@ -81,6 +114,12 @@ public class GuaranteeConDateFormPlugin extends AbstractFormPlugin { Date shkd_startdate = (Date) this.getModel().getValue("shkd_startdate"); Date shkd_enddate = (Date) this.getModel().getValue("shkd_enddate"); BigDecimal shkd_generalfeerate = (BigDecimal) this.getModel().getValue("shkd_generalfeerate"); + DynamicObject shkd_feetype = (DynamicObject) this.getModel().getValue("shkd_feetype");//费用类型 + String shkd_feeoppunittype = (String) this.getModel().getValue("shkd_feeoppunittype");//对方单位类型 + DynamicObject shkd_feeoppunit = (DynamicObject) this.getModel().getValue("shkd_feeoppunit");//对方单位 + DynamicObject shkd_feeoppbebank = (DynamicObject) this.getModel().getValue("shkd_feeoppbebank");//对方开户银行 + DynamicObject shkd_feeoppacctbank = (DynamicObject) this.getModel().getValue("shkd_feeoppacctbank");//对方银行账号 + BigDecimal shkd_csfy = (BigDecimal) this.getModel().getValue("shkd_csfy");//测算费用 // 指定日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 转换成字符串 @@ -88,7 +127,22 @@ public class GuaranteeConDateFormPlugin extends AbstractFormPlugin { String enddate = sdf.format(shkd_enddate); this.getPageCache().put("shkd_startdate", startdate); this.getPageCache().put("shkd_enddate", enddate); - this.getPageCache().put("shkd_jtfeerate", shkd_generalfeerate.toString()); + this.getPageCache().put("shkd_feerate", shkd_generalfeerate.toString()); + this.getPageCache().put("shkd_feetype", String.valueOf(shkd_feetype.getLong("id"))); + this.getPageCache().put("shkd_feeoppunittype", shkd_feeoppunittype); + this.getPageCache().put("shkd_feeoppunit", String.valueOf(shkd_feeoppunit.getLong("id"))); + if (shkd_feeoppbebank==null){ + this.getPageCache().put("shkd_feeoppbebank", null); + }else { + this.getPageCache().put("shkd_feeoppbebank", String.valueOf(shkd_feeoppbebank.getLong("id"))); + } + + if (shkd_feeoppacctbank==null){ + this.getPageCache().put("shkd_feeoppacctbank", null); + }else { + this.getPageCache().put("shkd_feeoppacctbank", String.valueOf(shkd_feeoppacctbank.getLong("id"))); + } + this.getPageCache().put("shkd_csfy", shkd_csfy.toString()); this.getPageCache().put("btnok", "true"); } this.getView().close(); @@ -102,10 +156,22 @@ public class GuaranteeConDateFormPlugin extends AbstractFormPlugin { if ("true".equals(btnok)){ String shkd_startdate = this.getPageCache().get("shkd_startdate"); String shkd_enddate = this.getPageCache().get("shkd_enddate"); - String shkd_jtfeerate = this.getPageCache().get("shkd_jtfeerate"); + String shkd_feerate = this.getPageCache().get("shkd_feerate"); + String shkd_feetype = this.getPageCache().get("shkd_feetype"); + String shkd_feeoppunittype = this.getPageCache().get("shkd_feeoppunittype"); + String shkd_feeoppunit = this.getPageCache().get("shkd_feeoppunit"); + String shkd_feeoppbebank = this.getPageCache().get("shkd_feeoppbebank"); + String shkd_feeoppacctbank = this.getPageCache().get("shkd_feeoppacctbank"); + String shkd_csfy = this.getPageCache().get("shkd_csfy"); map.put("shkd_startdate",shkd_startdate); map.put("shkd_enddate",shkd_enddate); - map.put("shkd_jtfeerate",shkd_jtfeerate); + map.put("shkd_feerate",shkd_feerate); + map.put("shkd_feetype",shkd_feetype); + map.put("shkd_feeoppunittype",shkd_feeoppunittype); + map.put("shkd_feeoppunit",shkd_feeoppunit); + map.put("shkd_feeoppbebank",shkd_feeoppbebank); + map.put("shkd_feeoppacctbank",shkd_feeoppacctbank); + map.put("shkd_csfy",shkd_csfy); this.getView().returnDataToParent(map); }else { this.getView().returnDataToParent(null); diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeContractFeeDetailPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeContractFeeDetailPlugin.java index 440a09d..8d0d07c 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeContractFeeDetailPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/GuaranteeContractFeeDetailPlugin.java @@ -6,11 +6,18 @@ import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.form.CloseCallBack; import kd.bos.form.FormShowParameter; import kd.bos.form.ShowType; +import kd.bos.form.control.EntryGrid; import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.events.ClosedCallBackEvent; import kd.bos.form.operate.AbstractOperate; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.tmc.fbp.common.enums.ShareTypeEnum; +import kd.tmc.fbp.common.helper.CodeRuleHelper; +import kd.tmc.fbp.common.util.EmptyUtil; import java.math.BigDecimal; import java.math.RoundingMode; @@ -49,14 +56,31 @@ public class GuaranteeContractFeeDetailPlugin extends AbstractBillPlugIn { ShowParameter.setCloseCallBack(new CloseCallBack(this, "jt")); ShowParameter.getOpenStyle().setShowType(ShowType.Modal); DynamicObjectCollection shkd_jtentry = this.getModel().getEntryEntity("shkd_jtentry"); - //获取最晚的日期 - Date shkd_jtenddate = shkd_jtentry.stream() - // 提取每个条目的 shkd_jtenddate 字段并确保它不为 null - .map(entry -> (Date) entry.getDate("shkd_jtenddate")) - .filter(date -> date != null) // 过滤掉 null 日期 - .max(Comparator.naturalOrder()) // 找到最大的日期 - .orElse(null);// 如果没有有效日期,返回 null - ShowParameter.setCustomParam("end", shkd_jtenddate); + if (shkd_jtentry.size()>0){//返回上次填写的日期 + DynamicObject dynamicObject = shkd_jtentry.get(shkd_jtentry.size() - 1);//最后一行的数据 + Date shkd_jtenddate = dynamicObject.getDate("shkd_jtenddate"); + BigDecimal shkd_jtfeerate = dynamicObject.getBigDecimal("shkd_jtfeerate"); + DynamicObject shkd_jtfeetype = dynamicObject.getDynamicObject("shkd_jtfeetype"); + String shkd_jtfeeoppunittype = dynamicObject.getString("shkd_jtfeeoppunittype"); + DynamicObject shkd_jtfeeoppunit = dynamicObject.getDynamicObject("shkd_jtfeeoppunit"); + DynamicObject shkd_jtfeeoppbebank = dynamicObject.getDynamicObject("shkd_jtfeeoppbebank"); + DynamicObject shkd_jtfeeoppacctbank = dynamicObject.getDynamicObject("shkd_jtfeeoppacctbank"); + ShowParameter.setCustomParam("end", shkd_jtenddate);//结束日期 + ShowParameter.setCustomParam("shkd_generalfeerate", shkd_jtfeerate);//费率 + ShowParameter.setCustomParam("shkd_feetype", shkd_jtfeetype);//费用类型 + ShowParameter.setCustomParam("shkd_feeoppunittype", shkd_jtfeeoppunittype);//对方单位类型 + ShowParameter.setCustomParam("shkd_feeoppunit", shkd_jtfeeoppunit);//对方单位 + ShowParameter.setCustomParam("shkd_feeoppbebank", shkd_jtfeeoppbebank);//对方开户银行 + ShowParameter.setCustomParam("shkd_feeoppacctbank", shkd_jtfeeoppacctbank);//对方开户银行 + }else { + ShowParameter.setCustomParam("end", null);//结束日期 + ShowParameter.setCustomParam("shkd_generalfeerate", null);//费率 + ShowParameter.setCustomParam("shkd_feetype", null);//费用类型 + ShowParameter.setCustomParam("shkd_feeoppunittype", null);//对方单位类型 + ShowParameter.setCustomParam("shkd_feeoppunit", null);//对方单位 + ShowParameter.setCustomParam("shkd_feeoppbebank", null);//对方开户银行 + ShowParameter.setCustomParam("shkd_feeoppacctbank", null);//对方开户银行 + } this.getView().showForm(ShowParameter); } else if ("yt".equals(operate.getOperateKey())) { FormShowParameter ShowParameter = new FormShowParameter(); @@ -64,15 +88,66 @@ public class GuaranteeContractFeeDetailPlugin extends AbstractBillPlugIn { ShowParameter.setCloseCallBack(new CloseCallBack(this, "yt")); ShowParameter.getOpenStyle().setShowType(ShowType.Modal); DynamicObjectCollection shkd_ytentry = this.getModel().getEntryEntity("shkd_ytentry"); - //获取最晚的日期 - Date shkd_ytenddate = shkd_ytentry.stream() - // 提取每个条目的 shkd_jtenddate 字段并确保它不为 null - .map(entry -> (Date) entry.getDate("shkd_jtenddate")) - .filter(date -> date != null) // 过滤掉 null 日期 - .max(Comparator.naturalOrder()) // 找到最大的日期 - .orElse(null);// 如果没有有效日期,返回 null - ShowParameter.setCustomParam("end", shkd_ytenddate); + if (shkd_ytentry.size()>0){//返回上次填写的日期 + DynamicObject dynamicObject = shkd_ytentry.get(shkd_ytentry.size() - 1);//最后一行的数据 + Date shkd_jtenddate = dynamicObject.getDate("shkd_ytenddate"); + BigDecimal shkd_jtfeerate = dynamicObject.getBigDecimal("shkd_ytfeerate"); + DynamicObject shkd_jtfeetype = dynamicObject.getDynamicObject("shkd_ytfeetype"); + String shkd_jtfeeoppunittype = dynamicObject.getString("shkd_ytfeeoppunittype"); + DynamicObject shkd_jtfeeoppunit = dynamicObject.getDynamicObject("shkd_ytfeeoppunit"); + DynamicObject shkd_jtfeeoppbebank = dynamicObject.getDynamicObject("shkd_ytfeeoppbebank"); + DynamicObject shkd_jtfeeoppacctbank = dynamicObject.getDynamicObject("shkd_ytfeeoppacctbank"); + ShowParameter.setCustomParam("end", shkd_jtenddate);//结束日期 + ShowParameter.setCustomParam("shkd_generalfeerate", shkd_jtfeerate);//费率 + ShowParameter.setCustomParam("shkd_feetype", shkd_jtfeetype);//费用类型 + ShowParameter.setCustomParam("shkd_feeoppunittype", shkd_jtfeeoppunittype);//对方单位类型 + ShowParameter.setCustomParam("shkd_feeoppunit", shkd_jtfeeoppunit);//对方单位 + ShowParameter.setCustomParam("shkd_feeoppbebank", shkd_jtfeeoppbebank);//对方开户银行 + ShowParameter.setCustomParam("shkd_feeoppacctbank", shkd_jtfeeoppacctbank);//对方开户银行 + }else { + ShowParameter.setCustomParam("end", null);//结束日期 + ShowParameter.setCustomParam("shkd_generalfeerate", null);//费率 + ShowParameter.setCustomParam("shkd_feetype", null);//费用类型 + ShowParameter.setCustomParam("shkd_feeoppunittype", null);//对方单位类型 + ShowParameter.setCustomParam("shkd_feeoppunit", null);//对方单位 + ShowParameter.setCustomParam("shkd_feeoppbebank", null);//对方开户银行 + ShowParameter.setCustomParam("shkd_feeoppacctbank", null);//对方开户银行 + } this.getView().showForm(ShowParameter); + } else if ("jtbatchinput".equals(operate.getOperateKey())) { + //获取选中行 + EntryGrid entryGrid = getControl("shkd_jtentry"); + int[] rows = entryGrid.getSelectRows(); + DynamicObject dataEntity = this.getModel().getDataEntity(); + for (int row : rows) { + DynamicObjectCollection shkd_jtentry = this.getModel().getEntryEntity("shkd_jtentry"); + DynamicObject seldata = shkd_jtentry.get(row); + DynamicObject savedata = savejtFeeBill(seldata, dataEntity); + if (seldata!=null){ + this.getModel().setValue("shkd_jtdbhtfyid",savedata.getLong("id")); + this.getModel().setValue("shkd_jtfeebillnum",savedata.getString("billno")); + } + } + SaveServiceHelper.save(new DynamicObject[]{this.getModel().getDataEntity(true)}); + this.getView().updateView("shkd_jtentry"); + this.getView().showTipNotification("功能成功"); + } else if ("ytbatchinput".equals(operate.getOperateKey())) { + //获取选中行 + EntryGrid entryGrid = getControl("shkd_ytentry"); + int[] rows = entryGrid.getSelectRows(); + DynamicObject dataEntity = this.getModel().getDataEntity(); + for (int row : rows) { + DynamicObjectCollection shkd_jtentry = this.getModel().getEntryEntity("shkd_ytentry"); + DynamicObject seldata = shkd_jtentry.get(row); + DynamicObject savedata = saveytFeeBill(seldata, dataEntity); + if (seldata!=null){ + this.getModel().setValue("shkd_ytdbhtfyid",savedata.getLong("id")); + this.getModel().setValue("shkd_ytfeebillnum",savedata.getString("billno")); + } + } + SaveServiceHelper.save(new DynamicObject[]{this.getModel().getDataEntity(true)}); + this.getView().updateView("shkd_ytentry"); + this.getView().showTipNotification("功能成功"); } } @@ -99,8 +174,6 @@ public class GuaranteeContractFeeDetailPlugin extends AbstractBillPlugIn { .filter(entry -> "A".equals(entry.getString("gstatus"))) .collect(Collectors.toList()); int index = this.getModel().createNewEntryRow("shkd_jtentry"); - this.getModel().setValue("shkd_jtfeerate",this.getModel().getValue("generalfeerate"),index);//费率(%) -// this.getModel().setValue("shkd_jtfeeamt", BigDecimal.valueOf(123),index);//费用金额 Date shkd_startdate; Date shkd_enddate; try { @@ -112,10 +185,25 @@ public class GuaranteeContractFeeDetailPlugin extends AbstractBillPlugIn { this.getModel().setValue("shkd_jtstartdate",shkd_startdate,index); this.getModel().setValue("shkd_jtenddate",shkd_enddate,index); this.getModel().setValue("shkd_jtfeepaydate",getNextDay(shkd_enddate),index); - String shkd_jtfeerate = (String) map.get("shkd_jtfeerate"); + String shkd_jtfeerate = (String) map.get("shkd_feerate"); BigDecimal fl = BigDecimal.valueOf(Double.parseDouble(shkd_jtfeerate)); this.getModel().setValue("shkd_jtfeerate",fl,index);//费率 - //计算金额 + String shkd_feetype = (String) map.get("shkd_feetype"); + this.getModel().setValue("shkd_jtfeetype", Long.parseLong(shkd_feetype),index);//费用类型 + String shkd_feeoppunittype = (String) map.get("shkd_feeoppunittype"); + this.getModel().setValue("shkd_jtfeeoppunittype", shkd_feeoppunittype,index);//对方单位类型 + String shkd_feeoppunit = (String) map.get("shkd_feeoppunit"); + this.getModel().setValue("shkd_jtfeeoppunit", Long.parseLong(shkd_feeoppunit),index);//对方单位 + String shkd_feeoppbebank = (String) map.get("shkd_feeoppbebank"); + this.getModel().setValue("shkd_jtfeeoppbebank", Long.parseLong(shkd_feeoppbebank),index);//对方开户银行 + String shkd_feeoppacctbank = (String) map.get("shkd_feeoppacctbank"); + if (shkd_feeoppacctbank!=null){ + this.getModel().setValue("shkd_jtfeeoppacctbank", Long.parseLong(shkd_feeoppacctbank),index);//对方开户银行 + } + String shkd_csfy = (String) map.get("shkd_csfy"); + BigDecimal csfy = BigDecimal.valueOf(Double.parseDouble(shkd_csfy)); + this.getModel().setValue("shkd_jtfeeamt",csfy,index);//费率 + //计算测算金额 BigDecimal getbalance = getbalance(shkd_startdate, shkd_enddate, gstatus,fl); this.getModel().setValue("shkd_jtcsfy",getbalance,index); SaveServiceHelper.save(new DynamicObject[]{this.getModel().getDataEntity(true)}); @@ -129,7 +217,40 @@ public class GuaranteeContractFeeDetailPlugin extends AbstractBillPlugIn { // 过滤出 gstatus 字段为 "A" 的条目 .filter(entry -> "A".equals(entry.getString("gstatus"))) .collect(Collectors.toList()); - + int index = this.getModel().createNewEntryRow("shkd_ytentry"); + Date shkd_startdate; + Date shkd_enddate; + try { + shkd_startdate = sdf.parse((String) map.get("shkd_startdate")); + shkd_enddate = sdf.parse((String) map.get("shkd_enddate")); + } catch (ParseException ex) { + throw new RuntimeException(ex); + } + this.getModel().setValue("shkd_ytstartdate",shkd_startdate,index); + this.getModel().setValue("shkd_ytenddate",shkd_enddate,index); + this.getModel().setValue("shkd_ytfeepaydate",getNextDay(shkd_enddate),index); + String shkd_jtfeerate = (String) map.get("shkd_feerate"); + BigDecimal fl = BigDecimal.valueOf(Double.parseDouble(shkd_jtfeerate)); + this.getModel().setValue("shkd_ytfeerate",fl,index);//费率 + String shkd_feetype = (String) map.get("shkd_feetype"); + this.getModel().setValue("shkd_ytfeetype", Long.parseLong(shkd_feetype),index);//费用类型 + String shkd_feeoppunittype = (String) map.get("shkd_feeoppunittype"); + this.getModel().setValue("shkd_ytfeeoppunittype", shkd_feeoppunittype,index);//对方单位类型 + String shkd_feeoppunit = (String) map.get("shkd_feeoppunit"); + this.getModel().setValue("shkd_ytfeeoppunit", Long.parseLong(shkd_feeoppunit),index);//对方单位 + String shkd_feeoppbebank = (String) map.get("shkd_feeoppbebank"); + this.getModel().setValue("shkd_ytfeeoppbebank", Long.parseLong(shkd_feeoppbebank),index);//对方开户银行 + String shkd_feeoppacctbank = (String) map.get("shkd_feeoppacctbank"); + if (shkd_feeoppacctbank!=null){ + this.getModel().setValue("shkd_ytfeeoppacctbank", Long.parseLong(shkd_feeoppacctbank),index);//对方开户银行 + } + String shkd_csfy = (String) map.get("shkd_csfy"); + BigDecimal csfy = BigDecimal.valueOf(Double.parseDouble(shkd_csfy)); + this.getModel().setValue("shkd_ytcsfy",csfy,index);//费率 + //计算金额 + BigDecimal getbalance = getbalance(shkd_startdate, shkd_enddate, gstatus,fl); + this.getModel().setValue("shkd_ytcsfy",getbalance,index); + SaveServiceHelper.save(new DynamicObject[]{this.getModel().getDataEntity(true)}); } } @@ -190,4 +311,116 @@ public class GuaranteeContractFeeDetailPlugin extends AbstractBillPlugIn { long diffInMillis = gdebtenddate.getTime() - gdebtstartdate.getTime(); return TimeUnit.DAYS.convert(diffInMillis, TimeUnit.MILLISECONDS); } + + private DynamicObject savejtFeeBill(DynamicObject seldata, DynamicObject dataEntity){ + DynamicObject feeBillDo = BusinessDataServiceHelper.newDynamicObject("cfm_feebill"); + feeBillDo.set("id", seldata.getLong("shkd_jtdbhtfyid")); + feeBillDo.set("shkd_jtyu","jt"); + feeBillDo.set("org",dataEntity.getDynamicObject("org"));//组织 + feeBillDo.set("feescheme", null);//费用方案 + feeBillDo.set("feetype", seldata.getDynamicObject("shkd_jtfeetype"));//费用类型 + feeBillDo.set("paydate", seldata.getDate("shkd_jtfeepaydate"));//费用日期 + feeBillDo.set("currency", seldata.getDynamicObject("shkd_jtcurrency"));//币别 + feeBillDo.set("payamt", seldata.getBigDecimal("shkd_jtfeeamt"));//费用金额 + feeBillDo.set("amountrate", seldata.getBigDecimal("shkd_jtfeerate"));//费率 + QFilter qFilter = new QFilter("name", QCP.equals,"电汇"); + DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype", qFilter.toArray()); + feeBillDo.set("settlementtype",settlementtype);//结算方式 + feeBillDo.set("feeacctbank", seldata.getDynamicObject("shkd_jtfeeoppacctbank"));//费用账号 + feeBillDo.set("oppunittype", seldata.getString("shkd_jtfeeoppunittype"));//对方单位类型 + feeBillDo.set("oppunit",seldata.getDynamicObject("shkd_jtfeeoppunit"));//对方单位 + feeBillDo.set("oppunittext", seldata.getDynamicObject("shkd_jtfeeoppunit").getString("name"));//对方单位 + if (seldata.getDynamicObject("shkd_jtfeeoppacctbank")!=null){ + feeBillDo.set("oppacctbank", seldata.getDynamicObject("shkd_jtfeeoppacctbank").get("name"));//账户名称 + } + feeBillDo.set("oppbebank", seldata.getDynamicObject("shkd_jtfeeoppbebank"));//开户行 + feeBillDo.set("billstatus", "C");//单据状态 + feeBillDo.set("feesource", "hand");//来源 +// feeBillDo.set("issettle", "");//已结算 + feeBillDo.set("sharetype", ShareTypeEnum.NOTSHARE.getValue()); + feeBillDo.set("appsource", "gm");//数据应用来源(担保) + + DynamicObjectCollection entrys = feeBillDo.getDynamicObjectCollection("entry"); + DynamicObject entry = entrys.addNew(); + DynamicObject tbd_tradetype = BusinessDataServiceHelper.loadSingle("tbd_tradetype", new QFilter("name", QCP.equals,"担保合同").toArray()); + entry.set("producttype", tbd_tradetype); + entry.set("srcbillno", dataEntity.getString("billno")); + entry.set("srcbillid", dataEntity.getLong("id")); + entry.set("feeratio", 100); + entry.set("feedetailamt", seldata.getBigDecimal("shkd_jtfeeamt")); + entry.set("remark", dataEntity.getString("description")); + entry.set("id", seldata.getLong("shkd_jtdbhtfyid")); + String shkd_jtfeebillnum = seldata.getString("shkd_jtfeebillnum"); + if (EmptyUtil.isEmpty(shkd_jtfeebillnum)) { + shkd_jtfeebillnum = CodeRuleHelper.generateNumber("cfm_feebill", feeBillDo, String.valueOf(dataEntity.getDynamicObject("org").getLong("id")), ""); + } + feeBillDo.set("billno", shkd_jtfeebillnum); + + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("cfm_feebill", new QFilter("id", QCP.equals, seldata.getLong("shkd_jtdbhtfyid")).toArray()); + if (dynamicObject==null){ + DynamicObject[] save = (DynamicObject[]) SaveServiceHelper.save(new DynamicObject[]{feeBillDo}); + return save[0]; + }else { + SaveServiceHelper.update(feeBillDo); + return feeBillDo; + } +// DynamicObject[] save = (DynamicObject[]) SaveServiceHelper.save(new DynamicObject[]{feeBillDo}); +// return save[0]; + } + + private DynamicObject saveytFeeBill(DynamicObject seldata, DynamicObject dataEntity){ + DynamicObject feeBillDo = BusinessDataServiceHelper.newDynamicObject("cfm_feebill"); + feeBillDo.set("id", seldata.getLong("shkd_ytdbhtfyid")); + feeBillDo.set("shkd_jtyu","yt"); + feeBillDo.set("org",dataEntity.getDynamicObject("org"));//组织 + feeBillDo.set("feescheme", null);//费用方案 + feeBillDo.set("feetype", seldata.getDynamicObject("shkd_ytfeetype"));//费用类型 + feeBillDo.set("paydate", seldata.getDate("shkd_ytfeepaydate"));//费用日期 + feeBillDo.set("currency", seldata.getDynamicObject("shkd_ytcurrency"));//币别 + feeBillDo.set("payamt", seldata.getBigDecimal("shkd_ytfeeamt"));//费用金额 + feeBillDo.set("amountrate", seldata.getBigDecimal("shkd_ytfeerate"));//费率 + QFilter qFilter = new QFilter("name", QCP.equals,"电汇"); + DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype", qFilter.toArray()); + feeBillDo.set("settlementtype",settlementtype);//结算方式 + feeBillDo.set("feeacctbank", seldata.getDynamicObject("shkd_ytfeeoppacctbank"));//费用账号 + feeBillDo.set("oppunittype", seldata.getString("shkd_ytfeeoppunittype"));//对方单位类型 + feeBillDo.set("oppunit",seldata.getDynamicObject("shkd_ytfeeoppunit"));//对方单位 + feeBillDo.set("oppunittext", seldata.getDynamicObject("shkd_ytfeeoppunit").getString("name"));//对方单位 + if (seldata.getDynamicObject("shkd_ytfeeoppacctbank")!=null){ + feeBillDo.set("oppacctbank", seldata.getDynamicObject("shkd_ytfeeoppacctbank").get("name"));//账户名称 + } + feeBillDo.set("oppbebank", seldata.getDynamicObject("shkd_ytfeeoppbebank"));//开户行 + feeBillDo.set("billstatus", "C");//单据状态 + feeBillDo.set("feesource", "hand");//来源 +// feeBillDo.set("issettle", "");//已结算 + feeBillDo.set("sharetype", ShareTypeEnum.NOTSHARE.getValue()); + feeBillDo.set("appsource", "gm");//数据应用来源(担保) + + DynamicObjectCollection entrys = feeBillDo.getDynamicObjectCollection("entry"); + DynamicObject entry = entrys.addNew(); + DynamicObject tbd_tradetype = BusinessDataServiceHelper.loadSingle("tbd_tradetype", new QFilter("name", QCP.equals,"担保合同").toArray()); + entry.set("producttype", tbd_tradetype); + entry.set("srcbillno", dataEntity.getString("billno")); + entry.set("srcbillid", dataEntity.getLong("id")); + entry.set("feeratio", 100); + entry.set("feedetailamt", seldata.getBigDecimal("shkd_ytfeeamt")); + entry.set("remark", dataEntity.getString("description")); + entry.set("id", seldata.getLong("shkd_ytdbhtfyid")); + String shkd_jtfeebillnum = seldata.getString("shkd_ytfeebillnum"); + if (EmptyUtil.isEmpty(shkd_jtfeebillnum)) { + shkd_jtfeebillnum = CodeRuleHelper.generateNumber("cfm_feebill", feeBillDo, String.valueOf(dataEntity.getDynamicObject("org").getLong("id")), ""); + } + feeBillDo.set("billno", shkd_jtfeebillnum); + + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("cfm_feebill", new QFilter("id", QCP.equals, seldata.getLong("shkd_ytdbhtfyid")).toArray()); + if (dynamicObject==null){ + DynamicObject[] save = (DynamicObject[]) SaveServiceHelper.save(new DynamicObject[]{feeBillDo}); + return save[0]; + }else { + SaveServiceHelper.update(feeBillDo); + return feeBillDo; + } + + + } }