diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/addDormantSettingEdit.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/addDormantSettingEdit.java new file mode 100644 index 0000000..fd2497a --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/addDormantSettingEdit.java @@ -0,0 +1,178 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package shkd.sys.sys.plugin.form; + +import kd.bos.db.DB; +import kd.bos.db.ResultSetHandler; +import kd.bos.db.tx.TX; +import kd.bos.db.tx.TXHandle; +import kd.bos.entity.operate.result.OperationResult; +import kd.bos.form.events.AfterDoOperationEventArgs; +import kd.bos.form.plugin.AbstractFormPlugin; +import kd.tmc.fbp.common.constant.DBRouteConst; +import kd.tmc.fbp.common.enums.RptDateRangeEnum; +import kd.tmc.fbp.common.helper.TmcDataServiceHelper; +import kd.tmc.fbp.common.util.EmptyUtil; + +import java.sql.ResultSet; +import java.util.Date; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Map; + +public class addDormantSettingEdit extends AbstractFormPlugin { + public static final String DORMANTSET_FID_CACHE = "DORMANTSET_FID_CACHE"; + public static final String FTRADECOUNT_MAP = "FTRADECOUNT_MAP"; + public static final String FDATARANGE_MAP = "FDATARANGE_MAP"; + + public addDormantSettingEdit() { + } + + public void beforeBindData(EventObject e) { + super.beforeBindData(e); + String dormantsetFid = this.getPageCache().get("DORMANTSET_FID_CACHE"); + TXHandle txHandle; + Throwable var4; + String selectStr; + String date; + if (EmptyUtil.isEmpty(dormantsetFid)) { + txHandle = TX.requiresNew(); + var4 = null; + + try { + selectStr = "SELECT FID FROM T_AM_DORMANTSET "; + Long fid = (Long)DB.query(DBRouteConst.SYS, selectStr, (Object[])null, new ResultSetHandler() { + public Long handle(ResultSet resultSet) throws Exception { + Long fid; + for(fid = 0L; resultSet.next(); fid = resultSet.getLong(1)) { + } + + return fid; + } + }); + if (EmptyUtil.isEmpty(fid) || fid == 0L) { + fid = 1L; + Object datarange = this.getModel().getValue("datarange"); + date = ""; + if (RptDateRangeEnum.CUSTOM.getValue().equals(datarange)) { + Date startDate = (Date)this.getModel().getValue("startdate"); + Date endDate = (Date)this.getModel().getValue("enddate"); + date = date.concat(RptDateRangeEnum.CUSTOM.getValue()).concat("&").concat(String.valueOf(startDate.getTime()).concat("&").concat(String.valueOf(endDate.getTime()))); + } else if (datarange != null) { + date = datarange.toString(); + } + + Object tradecount = this.getModel().getValue("tradecount"); + String insertStr = "INSERT INTO T_AM_DORMANTSET (FID,FTRADECOUNT,FDATARANGE) values (?,?,?)"; + TmcDataServiceHelper.execute(DBRouteConst.SYS, insertStr, new Object[]{fid, tradecount, date}); + this.getPageCache().put("DORMANTSET_FID_CACHE", String.valueOf(fid)); + } + } catch (Throwable var34) { + var4 = var34; + throw var34; + } finally { + if (txHandle != null) { + if (var4 != null) { + try { + txHandle.close(); + } catch (Throwable var30) { + var4.addSuppressed(var30); + } + } else { + txHandle.close(); + } + } + + } + } + + txHandle = TX.requiresNew(); + var4 = null; + + try { + selectStr = "SELECT FTRADECOUNT,FDATARANGE,addcolumn FROM T_AM_DORMANTSET"; + Map info = (Map)DB.query(DBRouteConst.SYS, selectStr, new Object[0], (rs) -> { + Map lockInfo = new HashMap(); + if (rs.next()) { + lockInfo.put("FTRADECOUNT_MAP", rs.getString(1)); + lockInfo.put("FDATARANGE_MAP", rs.getString(2)); + lockInfo.put("addcolumn", rs.getString(3)); + } + + return lockInfo; + }); + String count = (String)info.get("FTRADECOUNT_MAP"); + this.getModel().setValue("tradecount", EmptyUtil.isEmpty(count) ? 0L : Long.parseLong(count)); + date = (String)info.get("FDATARANGE_MAP"); + if (date.contains(RptDateRangeEnum.CUSTOM.getValue())) { + String[] data = date.split("&"); + if (data.length == 3) { + date = data[0]; + this.getModel().setValue("startdate", new Date(Long.parseLong(data[1]))); + this.getModel().setValue("enddate", new Date(Long.parseLong(data[2]))); + } + } + String addcolumn = (String)info.get("addcolumn"); + String[] addcolumnarray = new String[0]; + try { + addcolumnarray = addcolumn.split("&"); + } catch (Exception ex) { + + } + if (addcolumnarray.length == 2) { + if ("null".equals(addcolumnarray[0])){ + this.getModel().setValue("shkd_acctstyle_list", null); + }else { + this.getModel().setValue("shkd_acctstyle_list", addcolumnarray[0]); + } + + if ("0".equals(addcolumnarray[1])){ + this.getModel().setValue("shkd_acctproperty_list", null); + }else { + this.getModel().setValue("shkd_acctproperty_list", addcolumnarray[1]); + } + } + this.getModel().setValue("datarange", date); + } catch (Throwable var32) { + var4 = var32; + throw var32; + } finally { + if (txHandle != null) { + if (var4 != null) { + try { + txHandle.close(); + } catch (Throwable var31) { + var4.addSuppressed(var31); + } + } else { + txHandle.close(); + } + } + + } + + Date startDate = (Date)this.getModel().getValue("startdate"); + Date endDate = (Date)this.getModel().getValue("enddate"); + if (startDate == null) { + this.getModel().setValue("startdate", new Date()); + } + + if (endDate == null) { + this.getModel().setValue("enddate", new Date()); + } + + } + + public void afterDoOperation(AfterDoOperationEventArgs args) { + super.afterDoOperation(args); + String operateKey = args.getOperateKey(); + OperationResult opResult = args.getOperationResult(); + if ("btnok".equals(operateKey) && opResult.isSuccess()) { + this.getView().close(); + } + + } +} diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/addDormantSaveOp.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/addDormantSaveOp.java new file mode 100644 index 0000000..6866d80 --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/addDormantSaveOp.java @@ -0,0 +1,24 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package shkd.sys.sys.plugin.operation; + +import kd.tmc.fbp.business.opservice.ITmcBizOppService; +import kd.tmc.fbp.business.validate.AbstractTmcBizOppValidator; +import kd.tmc.fbp.opplugin.TmcOperationServicePlugIn; +import shkd.sys.sys.plugin.operation.domain.NewDormantSaveService; + +public class addDormantSaveOp extends TmcOperationServicePlugIn { + public addDormantSaveOp() { + } + + public ITmcBizOppService getBizOppService() { + return new NewDormantSaveService(); + } + + public AbstractTmcBizOppValidator getBizOppValidator() { + return null; + } +} diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewDormantSaveService.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewDormantSaveService.java new file mode 100644 index 0000000..3c4dff5 --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/domain/NewDormantSaveService.java @@ -0,0 +1,81 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package shkd.sys.sys.plugin.operation.domain; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.db.tx.TX; +import kd.bos.db.tx.TXHandle; +import kd.bos.exception.KDException; +import kd.tmc.fbp.business.opservice.AbstractTmcBizOppService; +import kd.tmc.fbp.common.constant.DBRouteConst; +import kd.tmc.fbp.common.enums.RptDateRangeEnum; +import kd.tmc.fbp.common.helper.TmcDataServiceHelper; + +import java.util.Date; + +public class NewDormantSaveService extends AbstractTmcBizOppService { + public NewDormantSaveService() { + } + + public void process(DynamicObject[] dataEntities) throws KDException { + DynamicObject dataEntity = dataEntities[0]; + int tradeint = dataEntity.getInt("tradecount"); + String datarange = dataEntity.getString("datarange"); + Date startDate = dataEntity.getDate("startdate"); + Date endDate = dataEntity.getDate("enddate"); + + String shkd_acctstyle_listString; + String shkd_acctstyle_list = dataEntity.getString("shkd_acctstyle_list");//账户类型 + if (shkd_acctstyle_list == null || shkd_acctstyle_list.isEmpty()) { + shkd_acctstyle_listString="null"; + }else { + shkd_acctstyle_listString=shkd_acctstyle_list; + } + + Long shkd_acctproperty_listLong;//账户用途 + DynamicObject shkd_acctproperty_list = dataEntity.getDynamicObject("shkd_acctproperty_list"); + if (shkd_acctproperty_list==null){ + shkd_acctproperty_listLong=0L; + }else { + shkd_acctproperty_listLong=shkd_acctproperty_list.getLong("id"); + } + + + if (RptDateRangeEnum.CUSTOM.getValue().equals(datarange)) { + datarange = datarange.concat("&").concat(String.valueOf(startDate.getTime()).concat("&").concat(String.valueOf(endDate.getTime()))); + } + String addcolumn=shkd_acctstyle_listString.concat("&").concat(String.valueOf(shkd_acctproperty_listLong)); +// String updateStr = "UPDATE T_AM_DORMANTSET SET FTRADECOUNT =?,FDATARANGE=?"; + String updateStr = "UPDATE T_AM_DORMANTSET SET FTRADECOUNT =?,FDATARANGE=?,addcolumn=?"; + + try { + TXHandle tx = TX.requiresNew(); + Throwable var9 = null; + + try { + TmcDataServiceHelper.execute(DBRouteConst.SYS, updateStr, new Object[]{tradeint, datarange,addcolumn}); + } catch (Throwable var19) { + var9 = var19; + throw var19; + } finally { + if (tx != null) { + if (var9 != null) { + try { + tx.close(); + } catch (Throwable var18) { + var9.addSuppressed(var18); + } + } else { + tx.close(); + } + } + + } + } catch (Exception var21) { + } + + } +} diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/addDormantDataListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/addDormantDataListPlugin.java new file mode 100644 index 0000000..082242c --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/addDormantDataListPlugin.java @@ -0,0 +1,149 @@ +package shkd.sys.sys.plugin.report; + +import kd.bos.algo.DataSet; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.db.DB; +import kd.bos.db.tx.TX; +import kd.bos.db.tx.TXHandle; +import kd.bos.entity.report.AbstractReportListDataPluginExt; +import kd.bos.event.AfterQueryEvent; +import kd.bos.orm.ORM; +import kd.tmc.fbp.common.constant.DBRouteConst; +import kd.tmc.fbp.common.enums.RptDateRangeEnum; +import kd.tmc.fbp.common.util.DateUtils; + +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +public class addDormantDataListPlugin extends AbstractReportListDataPluginExt { + + @Override + public void afterQuery(AfterQueryEvent event) { + DataSet dataSet = event.getDataSet(); + DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(dataSet.copy()); + Map settingFilterMap =dormantSettingFilter(); + for (Map.Entry entry : settingFilterMap.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + if (key.equals("shkd_acctstyle_list")&&value!=null){ + dataSet = dataSet.filter("acctstyle_list in ('"+value+"')"); + continue; + } + if (key.equals("shkd_acctproperty_list")&&value!=null){ + dataSet= dataSet.filter("acctproperty_list in ("+value+")"); + continue; + } + + } + event.setDataSet(dataSet); + + } + + private static Map dormantSettingFilter() { + HashMap settingFilterMap = new HashMap(); + int tradenumber = 5; + String datarange = "sixmonth"; + String addcolumn =null; + TXHandle txHandle = TX.requiresNew(); + Throwable var4 = null; + + try { + String selectStr = "SELECT FTRADECOUNT,FDATARANGE,addcolumn FROM T_AM_DORMANTSET"; + Map info = (Map) DB.query(DBRouteConst.SYS, selectStr, new Object[0], (rs) -> { + Map lockInfo = new HashMap(); + if (rs.next()) { + lockInfo.put("FTRADECOUNT_MAP", rs.getString(1)); + lockInfo.put("FDATARANGE_MAP", rs.getString(2)); + lockInfo.put("addcolumn", rs.getString(3)); + } + + return lockInfo; + }); + if (info.size() != 0) { + tradenumber = Integer.parseInt((String)info.get("FTRADECOUNT_MAP")); + datarange = (String)info.get("FDATARANGE_MAP"); + addcolumn = (String)info.get("addcolumn"); + } + } catch (Throwable var14) { + var4 = var14; + throw var14; + } finally { + if (txHandle != null) { + if (var4 != null) { + try { + txHandle.close(); + } catch (Throwable var13) { + var4.addSuppressed(var13); + } + } else { + txHandle.close(); + } + } + + } + + Date queryStartDate = new Date(); + Date queryEndDate = new Date(); + if (datarange.contains(RptDateRangeEnum.CUSTOM.getValue())) { + String[] data = datarange.split("&"); + if (data.length == 3) { + queryStartDate = new Date(Long.parseLong(data[1])); + queryEndDate = new Date(Long.parseLong(data[2])); + } + } else { + queryStartDate = transRange2Date(datarange); + queryEndDate = DateUtils.getNextDay(DateUtils.getCurrentDate(), 1); + } + + String[] addcolumnarray = new String[0]; + try { + addcolumnarray = addcolumn.split("&"); + } catch (Exception ex) { + settingFilterMap.put("shkd_acctstyle_list", null); + settingFilterMap.put("shkd_acctproperty_list", null); + } + if (addcolumnarray.length == 2) { + if ("null".equals(addcolumnarray[0])){ + settingFilterMap.put("shkd_acctstyle_list", null); + }else { + settingFilterMap.put("shkd_acctstyle_list", addcolumnarray[0]); + } + + if ("0".equals(addcolumnarray[1])){ + settingFilterMap.put("shkd_acctproperty_list", null); + }else { + settingFilterMap.put("shkd_acctproperty_list", addcolumnarray[1]); + } + } + settingFilterMap.put("queryStartDate", queryStartDate); + settingFilterMap.put("queryEndDate", queryEndDate); + settingFilterMap.put("tradenumber", tradenumber); + return settingFilterMap; + } + + private static Date transRange2Date(String datarange) { + Date endDate = DateUtils.getNextDay(DateUtils.getCurrentDate(), 1); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(endDate); + if (RptDateRangeEnum.ONEMONTH.getValue().equals(datarange)) { + calendar.add(2, -1); + } else if (RptDateRangeEnum.THREEMONTH.getValue().equals(datarange)) { + calendar.add(2, -3); + } else if (RptDateRangeEnum.SIXMONTH.getValue().equals(datarange)) { + calendar.add(2, -6); + } else if (RptDateRangeEnum.NIGHTMONTH.getValue().equals(datarange)) { + calendar.add(2, -9); + } else if (RptDateRangeEnum.ONEYEAR.getValue().equals(datarange)) { + calendar.add(1, -1); + } else if (RptDateRangeEnum.TWOYEAR.getValue().equals(datarange)) { + calendar.add(1, -2); + } else if (RptDateRangeEnum.THREEYEAR.getValue().equals(datarange)) { + calendar.add(1, -3); + } + + Date beginDate = DateUtils.getDataFormat(calendar.getTime(), true); + return beginDate; + } +}