Compare commits

...

2 Commits

Author SHA1 Message Date
陈绍鑫 6ef97d7565 Merge remote-tracking branch 'origin/main' into main 2025-10-29 18:11:05 +08:00
陈绍鑫 7f8358d130 提交人:陈绍鑫
日期:2025/10/29 18:30
内容:担保合同插件
2025-10-29 18:10:52 +08:00
2 changed files with 326 additions and 27 deletions

View File

@ -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<String, Object> 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);

View File

@ -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;
}
}
}