diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/constants/FinancingConstants.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/constants/FinancingConstants.java index 2060b16..439d6db 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/constants/FinancingConstants.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/constants/FinancingConstants.java @@ -3,9 +3,8 @@ package com.seeyon.apps.src_financing.constants; public enum FinancingConstants { - plugin("src_financing","插件ID"); -// u8cUrl("http://ip:port", "U8C地址"), - + plugin("src_financing","插件ID"), + loginName("demo3", "辅助表创建人"); FinancingConstants(String defaultValue, String description) { this.defaultValue = defaultValue; this.description = description; diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/controller/InterestMeasurementController.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/controller/InterestMeasurementController.java index 01dfc3d..303db75 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/controller/InterestMeasurementController.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/controller/InterestMeasurementController.java @@ -1,12 +1,17 @@ package com.seeyon.apps.src_financing.controller; +import cn.hutool.log.Log; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.seeyon.apps.src_financing.dao.IFinancingContractDao; import com.seeyon.apps.src_financing.util.FormExportUtil; import com.seeyon.apps.src_financing.util.InterestCalculationUtil; import com.seeyon.apps.src_financing.util.NumberUtil; +import com.seeyon.apps.ydctu8c.U8CCommonNode; import com.seeyon.ctp.common.AppContext; import com.seeyon.ctp.common.controller.BaseController; +import com.seeyon.ctp.util.UUIDLong; import com.seeyon.ctp.util.json.JSONUtil; import com.seeyon.v3x.services.form.FormFactory; import com.seeyon.v3x.services.form.bean.FormExport; @@ -25,7 +30,7 @@ import java.text.SimpleDateFormat; import java.util.*; public class InterestMeasurementController extends BaseController { - + private static Log log = Log.get(InterestMeasurementController.class); private FormFactory formFactory; public FormFactory getFormFactory() { @@ -55,7 +60,7 @@ public class InterestMeasurementController extends BaseController { public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception { - logger.info("进入ajax方法"); + log.info("进入ajax方法"); // 设置返回值对象 Map res = new HashMap<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -79,7 +84,7 @@ public class InterestMeasurementController extends BaseController { jsonObject.put(params[0],params[1]); } } - logger.info("处理参数"); + log.info("处理参数"); String interestType = jsonObject.getString("interestType"); // 获取初次提款时间 String money = jsonObject.getString("money"); @@ -114,7 +119,7 @@ public class InterestMeasurementController extends BaseController { int periodNum = NumberUtil.convertChineseNumberToArabic(period); end.add(Calendar.YEAR, periodNum); end.add(Calendar.DATE, 1); - logger.info("设置结束时间"); + log.info("设置结束时间"); // 根据开始结束时间和周期计算时间列表 String cycle = jsonObject.getString("cycle"); int cycleNum = rentCalculationUtil.getCycleNum(cycle); @@ -135,7 +140,7 @@ public class InterestMeasurementController extends BaseController { render(response, JSONUtil.toJSONString(res)); return null; } - logger.info("设置利率开始时间"); + log.info("设置利率开始时间"); // 利率开始时间 Date llstartDate = sdf.parse(interestRateDateStr); if(llstartDate.getTime()>lxstartDate.getTime()){ @@ -147,7 +152,7 @@ public class InterestMeasurementController extends BaseController { render(response, JSONUtil.toJSONString(res)); return null; } - logger.info("判断是否为农发行规则"); + log.info("判断是否为农发行规则"); // 数据生成前根据合同编号清楚所有的辅助表信息 String contractCode = jsonObject.getString("contractCode"); @@ -162,7 +167,7 @@ public class InterestMeasurementController extends BaseController { System.out.println("删除失败,主表"+daleteFZFinancingSubnum+"明细表"+daleteFZFinancingnum+"合同编码"+contractCode); } } - logger.info("删除历史生成的数据"); + log.info("删除历史生成的数据"); // 创建保存利息明细信息 List> sublist = new ArrayList>(); // 判断利息测算类型 @@ -171,7 +176,6 @@ public class InterestMeasurementController extends BaseController { if("政府专项债券".equals(loanType)){ type = "政府专项利息测算"; }else{ - String[] principals = principal.split(";"); String str = principals[0].substring(principals[0].length()-2); if(!"~0".equals(str)){ @@ -202,7 +206,7 @@ public class InterestMeasurementController extends BaseController { // 计算利息信息保存利息明细对象 sublist = rentCalculationUtil.detailedHandle(jsonObject,type); - logger.info("生成完成所有利息"); + log.info("生成完成所有利息"); Map mainmap = new HashMap(); mainmap.put("合同编号", contractCode); mainmap.put("触发文本更新", contractCode+codenum); @@ -212,18 +216,63 @@ public class InterestMeasurementController extends BaseController { List valueExports = formExportUtil.setFormValue(mainmap); formExport.setSubordinateForms(subordinateFormExports); formExport.setValues(valueExports); - logger.info("创建档案"); -// getFormFactory().importBusinessFormData("shenxian", "LXCSMX", -// formExport, new String[] {}); + log.info("创建档案"); + getFormFactory().importBusinessFormData("shenxian", "LXCSMX", + formExport, new String[] {}); // getFormFactory().importBusinessFormData("admin1", "LXCSMX", // formExport, new String[] {}); - getFormFactory().importBusinessFormData("demo2", "LXCSMX", - formExport, new String[] {}); +// getFormFactory().importBusinessFormData("demo2", "LXCSMX", +// formExport, new String[] {}); res.put("success", true); res.put("name", AppContext.currentUserLoginName()); res.put("s", ""); res.put("num", contractCode+codenum); + JSONObject patchData = new JSONObject(); + patchData.put("code",0); + JSONObject jsonData = new JSONObject(); + jsonData.put("success",1); + jsonData.put("code","200"); + jsonData.put("message","操作成功!"); + JSONObject formData = new JSONObject(); + JSONObject tableData = new JSONObject(); + JSONObject formmain_0087 = new JSONObject(); + JSONObject formupdate0087 = new JSONObject(); + JSONObject field0215 = new JSONObject(); + field0215.put("value","1"); + field0215.put("showValue","1"); + field0215.put("showValue2","1"); + formupdate0087.put("field0215",field0215); + formmain_0087.put("update",formupdate0087); + formmain_0087.put("empty",false); + tableData.put("formmain_0087",formmain_0087); + JSONObject formson_0091 = new JSONObject(); + JSONArray formadds0091 = new JSONArray(); + sublist.size(); + for(int i = 0 ; i < sublist.size() ; i ++){ + JSONObject recordId = new JSONObject(); + recordId.put("recordId", UUIDLong.longUUID()); + formadds0091.add(recordId); + } + formson_0091.put("add",formadds0091); + List lxFinancingSubId = getLeaseContractDao().getLXFinancingSubId(contractCode); + String[] deletes0091 =lxFinancingSubId.stream().toArray(String[]::new); + formson_0091.put("delete",deletes0091); + formson_0091.put("empty",false); + tableData.put("formson_0091",formson_0091); + formData.put("tableData",tableData); + JSONObject extend = new JSONObject(); + formData.put("extend",extend); + jsonData.put("data",formData); + patchData.put("data",jsonData); + patchData.put("message",""); + +// String sss = "{\"code\":0,\"data\":{\"code\":\"2000\",\"data\":{\"tableData\":{\"formson_0091\":{\"update\":{\""+lxFinancingSubId.get(0)+"\":{\"field0193\":{\"showValue\":\"11\",\"showValue2\":\"11\",\"value\":\"11\"}}}}}},\"message\":\"the operation is success!!!\"},\"message\":\"\"}"; + +// JSONObject jsonnnn = JSON.parseObject(sss); + + res.put("data",patchData); + log.info(patchData.toString()); render(response, JSONUtil.toJSONString(res)); return null; } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/FinancingContractDaoImpl.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/FinancingContractDaoImpl.java index b8c085c..bbbabb2 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/FinancingContractDaoImpl.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/FinancingContractDaoImpl.java @@ -7,18 +7,20 @@ import com.seeyon.ctp.util.JDBCAgent; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; +import java.util.Map; public class FinancingContractDaoImpl implements IFinancingContractDao { // 本地 -// private String daleteFZFinancing = "delete from formmain_0097 WHERE field0002 = ?"; -// private String daleteFZFinancingSub = "delete from formson_0098 WHERE FORMMAIN_ID in (SELECT ID FROM formmain_0097 WHERE field0002 = ? )"; + private String daleteFZFinancing = "delete from formmain_0097 WHERE field0002 = ?"; + private String daleteFZFinancingSub = "delete from formson_0098 WHERE FORMMAIN_ID in (SELECT ID FROM formmain_0097 WHERE field0002 = ? )"; + private String getLXFinancingSub = "select id from formson_0091 WHERE FORMMAIN_ID in (SELECT ID FROM formmain_0087 WHERE field0001 = ? )"; // 测试 // private String daleteFZFinancing = "delete from formmain_0019 WHERE field0002 = ?"; // private String daleteFZFinancingSub = "delete from formson_0020 WHERE FORMMAIN_ID in (SELECT ID FROM formmain_0019 WHERE field0002 = ? )"; // 正式 - private String daleteFZFinancing = "delete from formmain_0760 WHERE field0002 = ?"; - private String daleteFZFinancingSub = "delete from formson_0761 WHERE FORMMAIN_ID in (SELECT ID FROM formmain_0760 WHERE field0002 = ? )"; +// private String daleteFZFinancing = "delete from formmain_0760 WHERE field0002 = ?"; +// private String daleteFZFinancingSub = "delete from formson_0761 WHERE FORMMAIN_ID in (SELECT ID FROM formmain_0760 WHERE field0002 = ? )"; @@ -59,5 +61,30 @@ public class FinancingContractDaoImpl implements IFinancingContractDao { return i; } + @Override + public List getLXFinancingSubId(String contractCode) throws BusinessException, SQLException { + List lists = new ArrayList(); + JDBCAgent agent = new JDBCAgent(); + try { + StringBuilder sql = new StringBuilder(getLXFinancingSub); + List p = new ArrayList(); + p.add(contractCode); + agent.execute(sql.toString(), p); + List list = agent.resultSetToList(); + if (list != null && list.size() > 0) { + for(int i = 0 ; i < list.size() ; i++) { + Map map = list.get(i); + Object object = map.get("id"); + lists.add(object.toString()); + } + } + }finally { + if (agent != null) { + agent.close(); + } + } + return lists; + } + } \ No newline at end of file diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/IFinancingContractDao.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/IFinancingContractDao.java index 571d3dc..2528c76 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/IFinancingContractDao.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/dao/IFinancingContractDao.java @@ -25,7 +25,14 @@ public interface IFinancingContractDao { * @throws BusinessException */ public int daleteFZFinancingSub(String contractCode) throws BusinessException, SQLException; - + /** + * 查询融资合同档案中利息明细信息 + * @param contractCode + * @return + * @throws SQLException + * @throws BusinessException + */ + public List getLXFinancingSubId(String contractCode) throws BusinessException, SQLException; } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/util/InterestCalculationUtil.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/util/InterestCalculationUtil.java index 12e07a3..14766f3 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/util/InterestCalculationUtil.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_financing/util/InterestCalculationUtil.java @@ -24,8 +24,10 @@ public class InterestCalculationUtil { for(Calendar start = startDate; start.getTime().getTime() map = new HashMap<>(); // 设置开始结束时间 if(i>0){ - Calendar calendar = Calendar.getInstance(); - calendar.setTime(cycleDates.get(i-1)); - calendar.add(Calendar.DAY_OF_MONTH, 1); // 增加1天 - lxstartDate = calendar.getTime(); + lxstartDate = cycleDates.get(i-1); lxendDate = cycleDates.get(i); }else{ } // 计算利息 // double countInterest = countInterestGovernment(lxstartDate,lxendDate,moneyList,interestRateList,principalList); - double days = ((lxendDate.getTime()-lxstartDate.getTime())/1000/60/60/24)+1; + double days = (lxendDate.getTime()-lxstartDate.getTime())/1000/60/60/24; double countInterest = credit*days*interestRate/100/360; map.put("计划还款金额",countInterest+""); // 利息还款编号 @@ -91,10 +90,7 @@ public class InterestCalculationUtil { Map map = new HashMap<>(); // 设置开始结束时间 if(i>0){ - Calendar calendar = Calendar.getInstance(); - calendar.setTime(cycleDates.get(i-1)); - calendar.add(Calendar.DAY_OF_MONTH, 1); // 增加1天 - lxstartDate = calendar.getTime(); + lxstartDate = cycleDates.get(i-1); lxendDate = cycleDates.get(i); } // 返回值设置:计划利息还款明细编号,还款费项类型(枚举),计划还款日期,计划还款金额,备注 @@ -138,15 +134,11 @@ public class InterestCalculationUtil { Map map = new HashMap<>(); // 设置开始结束时间 if(i>0){ - Calendar calendar = Calendar.getInstance(); - calendar.setTime(cycleDates.get(i-1)); - calendar.add(Calendar.DAY_OF_MONTH, 1); // 增加1天 - lxstartDate = calendar.getTime(); + lxstartDate = cycleDates.get(i-1); lxendDate = cycleDates.get(i); } // 返回值设置:计划利息还款明细编号,还款费项类型(枚举),计划还款日期,计划还款金额,备注 // 计算利息 - System.out.println(sdf.format(lxstartDate)+":"+sdf.format(lxendDate)); double countInterest = countInterest(lxstartDate,lxendDate,moneyList,interestRateList,principalList); map.put("计划还款金额",countInterest+""); // 利息还款编号 @@ -331,14 +323,13 @@ public class InterestCalculationUtil { // System.out.println("开始时间之前金额"+startNum+"开始时间之前利率"+startll+"开始时间"+sdf.format(startDate)); double lxnum = 0; for(int i = 1 ; i res = new HashMap<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmsssss"); + InterestCalculationUtil rentCalculationUtil = new InterestCalculationUtil(); + request.setCharacterEncoding("UTF-8"); + response.setCharacterEncoding("UTF-8"); + + BufferedReader reader = request.getReader(); + String line; + StringBuilder requestBody = new StringBuilder(); + while((line = reader.readLine())!=null){ + requestBody.append(line); + } + String data = requestBody.toString(); + String decodedParam = URLDecoder.decode(data, "UTF-8"); + String[] datas = decodedParam.split("&"); + JSONObject jsonObject = new JSONObject(); + for(int i = 0 ; i < datas.length ; i ++ ){ + String[] params = datas[i].split("="); + if(params.length>1){ + jsonObject.put(params[0],params[1]); + }else{ + if(params[0].equals("bdid")){ + jsonObject.put("bdid","0"); + } + } + } + try { + String bdidValue = jsonObject.getString("bdid"); + log.info("当前账单编号为:"+bdidValue); + if("0".equals(bdidValue)){ + Date formDate = new Date(); + String formId = simpleDateFormat.format(formDate); +// 账单编号 + bdidValue = formId; +// formDataVo.getNewFieldDataMap().put("账单编号", formId); + }else { + List ids = leaseBillDao.leaseBillByCode(bdidValue); + for (int i = 0; i < ids.size(); i++) { +// 删除明细账单 + leaseBillDao.deleteBillsByBillId(ids.get(i)); +// 删除主表数据 + leaseBillDao.deleteBillById(ids.get(i)); + } + } + + String code = bdidValue; +// 开始日期 + String startDateStr = jsonObject.getString("startDate"); + Date startDate = sdf.parse(startDateStr); +// 结束日期 + String endDateStr = jsonObject.getString("endDate"); + Date endDate = sdf.parse(endDateStr); +// 设置面积 + String jifeifs = jsonObject.getString("jifeifs"); +// 设置合同开始日期 + Calendar startTime = Calendar.getInstance(); + startTime.setTime(startDate); +// 判断合同开始时间是否为月底 + boolean isMaxDay = false; + int currentDay = startTime.get(Calendar.DAY_OF_MONTH); + int maxDay = startTime.getActualMaximum(Calendar.DAY_OF_MONTH); + if(currentDay==maxDay){ + isMaxDay = true; + } +// 设置合同结束日期 + Calendar endTime = Calendar.getInstance(); + endTime.setTime(endDate); + endTime.add(Calendar.DAY_OF_MONTH, 1); + +// 根据缴费方式设置开始结束时间 + String jiaofeifs = jsonObject.getString("jiaofeifs"); + int jfzqNum = dateUtil.getCycleNum(jiaofeifs); + + FormExport formExport = new FormExport(); +// 租金 + List> rents = new ArrayList>(); + if(jfzqNum==12){ + String njiaofeifs = jsonObject.getString("njiaofeifs"); + if(StringUtil.isEmpty(njiaofeifs)){ + res.put("success", true); + res.put("name", AppContext.currentUserLoginName()); + res.put("s", "请选择年缴费计算方式"); + res.put("num", ""); + render(response, JSONUtil.toJSONString(res)); + return null; + }else{ + if(njiaofeifs.contains("一")){ +// 采用方式一 + rents = leaseBillUtil.getLeaseBillYers1(startTime,endTime,isMaxDay,jfzqNum,jsonObject,jifeifs); + }else if(njiaofeifs.contains("二")){ +// 采用方式二 + rents = leaseBillUtil.getLeaseBillYers2(startTime,endTime,isMaxDay,jfzqNum,jsonObject,jifeifs); + } + } + }else{ +// 根据标准方法生成 + rents = leaseBillUtil.getLeaseBill(startTime,endTime,isMaxDay,jfzqNum,jsonObject,jifeifs); + } + log.info("创建档案"); + List subordinateFormExports = formExportUtil.setSubordinateFormValue(rents); + Map billMap = new HashMap(); + billMap.put("账单编号", code); + List valueExports = formExportUtil.setFormValue(billMap); + formExport.setSubordinateForms(subordinateFormExports); + formExport.setValues(valueExports); + String loginName = configVo.getParamVal(YdctLeaseBillConstant.loginName.name()); + getFormFactory().importBusinessFormData(loginName, "ZJZDMX", + formExport, new String[] {}); + res.put("success", true); + res.put("name", AppContext.currentUserLoginName()); + res.put("s", ""); + res.put("num", code); + }catch (Exception e){ + e.printStackTrace(); + } + render(response, JSONUtil.toJSONString(res)); + return null; + } + + + /** + * 给前台渲染json数据 + * @param response + * @param text + */ + private void render(HttpServletResponse response, String text) { + response.setContentType("application/json;charset=UTF-8"); + try { + response.setContentLength(text.getBytes("UTF-8").length); + response.getWriter().write(text); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public ConfigVo getYdctLeaseBillConfig() { + return cstConfigApi.getConfig(getPluginId()); + } + + public String getPluginId() { + return YdctLeaseBillConstant.getPluginId(); + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/dao/ILeaseBillDao.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/dao/ILeaseBillDao.java new file mode 100644 index 0000000..9e374b3 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/dao/ILeaseBillDao.java @@ -0,0 +1,20 @@ +package com.seeyon.apps.src_ydctleasebill.dao; + +import com.seeyon.ctp.common.exceptions.BusinessException; + +import java.sql.SQLException; +import java.util.List; + +public interface ILeaseBillDao { + + // 查询账单底表id + public List leaseBillByCode(String code) throws BusinessException, SQLException; + + // 删除账单底表 + public int deleteBillById(String id) throws BusinessException, SQLException; + + // 删除账单明细表 + public int deleteBillsByBillId(String formmainId) throws BusinessException, SQLException; + + +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/dao/impl/LeaseBillDaoImpl.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/dao/impl/LeaseBillDaoImpl.java new file mode 100644 index 0000000..8e45ed5 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/dao/impl/LeaseBillDaoImpl.java @@ -0,0 +1,84 @@ +package com.seeyon.apps.src_ydctleasebill.dao.impl; + +import com.seeyon.apps.src_ydctleasebill.dao.ILeaseBillDao; +import com.seeyon.ctp.common.exceptions.BusinessException; +import com.seeyon.ctp.util.JDBCAgent; + +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class LeaseBillDaoImpl implements ILeaseBillDao { +//本地 + private String leaseBillByCode = "SELECT id FROM formmain_0129 WHERE field0001 = ? "; + private String deleteBillById = "delete from formmain_0129 where id=?"; + private String deleteBillsByBillId = "delete from formson_0130 where formmain_id=?"; +// 正式 +// private String leaseBillByCode = "SELECT id FROM formmain_1062 WHERE field0004 = ? "; +// private String deleteBillById = "delete from formmain_1062 where id=?"; +// private String deleteBillsByBillId = "delete from formson_1182 where formmain_id=?"; + + + @Override + public List leaseBillByCode(String code) throws BusinessException, SQLException { + List lists = new ArrayList(); + JDBCAgent agent = new JDBCAgent(); + try { + StringBuilder sql = new StringBuilder(leaseBillByCode); +// StringBuilder sql = new StringBuilder("SELECT id FROM formmain_0536 WHERE field0013 = ? "); + List p = new ArrayList(); + p.add(code); + agent.execute(sql.toString(), p); + List list = agent.resultSetToList(); + if (list != null && list.size() > 0) { + for(int i = 0 ; i < list.size() ; i++) { + Map map = list.get(i); + Object object = map.get("id"); + lists.add(object.toString()); + } + } + }finally { + if (agent != null) { + agent.close(); + } + } + return lists; + } + + @Override + public int deleteBillById(String id) throws BusinessException, SQLException { + int i = 0 ; + JDBCAgent agent = new JDBCAgent(); + try { + StringBuilder sql = new StringBuilder(deleteBillById); +// StringBuilder sql = new StringBuilder("delete from formmain_0536 where id=?"); + List p = new ArrayList(); + p.add(id); + i=agent.execute(sql.toString(), p); + }finally { + if (agent != null) { + agent.close(); + } + } + return i; + } + + @Override + public int deleteBillsByBillId(String formmainId) throws BusinessException, SQLException { + int i = 0 ; + JDBCAgent agent = new JDBCAgent(); + try { + StringBuilder sql = new StringBuilder(deleteBillsByBillId); +// StringBuilder sql = new StringBuilder("delete from formson_0538 where formmain_id=?"); + List p = new ArrayList(); + p.add(formmainId); + i=agent.execute(sql.toString(), p); + }finally { + if (agent != null) { + agent.close(); + } + } + return i; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/fieldCtrl/YdctLeaseBillFieldCtrl.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/fieldCtrl/YdctLeaseBillFieldCtrl.java new file mode 100644 index 0000000..20308c7 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/fieldCtrl/YdctLeaseBillFieldCtrl.java @@ -0,0 +1,85 @@ +package com.seeyon.apps.src_ydctleasebill.fieldCtrl; + +import com.seeyon.cap4.form.bean.ParamDefinition; +import com.seeyon.cap4.form.bean.fieldCtrl.FormFieldCustomCtrl; +import com.seeyon.cap4.form.util.Enums.ParamType; +import www.seeyon.com.utils.UUIDUtil; + +import java.util.List; + +/** + *
+ * 自定义控件:调用接口
+ * 
+ */ +public class YdctLeaseBillFieldCtrl extends FormFieldCustomCtrl { + + /** + * UUIDLong.longUUID() + * UUIDUtil.getUUIDString() + */ + public String getKey() { + return "5209586381190735608"; + } + + public static void main(String[] args) { + System.out.println(UUIDUtil.getUUIDLong()); + } + + public String getFieldLength() { + return "20"; + } + + /** + * 控件初始化接口,此接口在控件初始化的时候,会调用,主要用于定义控件所属插件id、在表单编辑器中的图标、表单编辑器中有哪些属性可以设置。 + * 使用举例:在接口中定义自定义控件在在表单编辑器中有哪些控件属性需要配置 + */ + public void init() { + setPluginId("ydctLeaseBill"); + setIcon("cap-icon-interestMeasurement"); + // 自定义参数 + ParamDefinition templateIdParam = new ParamDefinition(); + templateIdParam.setParamType(ParamType.button); + addDefinition(templateIdParam); + } + + /** (non-Javadoc) + * @see FormFieldCustomCtrl#getPCInjectionInfo() + * PC端的资源文件路径 + */ + public String getPCInjectionInfo() { + return "{path:'apps_res/cap/customCtrlResources/ydctLeaseBillResources/',jsUri:'js/openUnflow.js',initMethod:'init',nameSpace:'field_" + getKey() + "'}"; + } + + /** (non-Javadoc) + * @see FormFieldCustomCtrl#getMBInjectionInfo() + * 移动端的资源地址 + */ + public String getMBInjectionInfo() { + return "{path:'http://newwidget.v5.cmp/v1.0.0/',weixinpath:'newwidget',jsUri:'js/newwidget.js',initMethod:'init',nameSpace:'field_" + this.getKey() + "'}"; + } + + public String getText() { + return "租金计算按钮"; + } + + public boolean canBathUpdate() { + return false; + } + + public List getListShowDefaultVal(Integer externalType) { + return null; + } + + /** + * 初始值生成接口 + */ + public String[] getDefaultVal(String defaultValue) { + return new String[0]; + } + + public boolean canInjectionWord() { + return false; + } + +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/DateUtil.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/DateUtil.java new file mode 100644 index 0000000..50743e0 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/DateUtil.java @@ -0,0 +1,135 @@ +package com.seeyon.apps.src_ydctleasebill.util; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +public class DateUtil { + +// 查询两个时间相差多少月 + public int betweenMonthByTwoCalendar(Calendar startCalendar,Calendar endCalendar) { + if(startCalendar.after(endCalendar)){ + Calendar temp = startCalendar; + startCalendar = endCalendar; + endCalendar = temp; + } +// int startYear = startCalendar.get(Calendar.YEAR); +// int endYear = endCalendar.get(Calendar.YEAR); +// int startMonth = startCalendar.get(Calendar.MONTH); +// int endMonth = endCalendar.get(Calendar.MONTH); +// int monthNum = (endYear - startYear)*12+(endMonth-startMonth); +// return monthNum; + + int yearsDiff = endCalendar.get(Calendar.YEAR) - startCalendar.get(Calendar.YEAR); + int monthsDiff = yearsDiff * 12 + endCalendar.get(Calendar.MONTH)- startCalendar.get(Calendar.MONTH); + if (endCalendar.get(Calendar.DAY_OF_MONTH) > startCalendar.get(Calendar.DAY_OF_MONTH)) { + monthsDiff++; + } + return monthsDiff; + + + } + + public String discrepancyDay(String str1,String str2) throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// 将字符串转换成日期 + Date start = sdf.parse(str1); + Date end = sdf.parse(str2); +// Date end = new Date(); + Date d3 = null; + if(start.getTime()-end.getTime()>0){ + d3 = start; + start = end; + end = d3; + } + Calendar c1 = Calendar.getInstance(); + + Calendar c2 = Calendar.getInstance(); + c1.setTime(start); + c2.setTime(end); + c2.add(c2.DATE,1); + end = c2.getTime(); +// System.out.println(sdf.format( c2.getTime())); + int year1 = c1.get(Calendar.YEAR); + + int year2 = c2.get(Calendar.YEAR); + + int month1 = c1.get(Calendar.MONTH); + + int month2 = c2.get(Calendar.MONTH); + + int day1 = c1.get(Calendar.DAY_OF_MONTH); + + int day2 = c2.get(Calendar.DAY_OF_MONTH); + + int yearInterval = year1 - year2; + + if (month1 < month2 || month1 == month2 && day1 < day2) + + yearInterval--; + + int monthInterval = (month1 + 12) - month2; + + if (day1 < day2) + + monthInterval--; + + monthInterval %= 12; + + int monthsDiff = Math.abs(yearInterval * 12 + monthInterval); + + + + int nian = monthsDiff/12; + int yue = monthsDiff - (nian*12); + c1.add(Calendar.YEAR, nian); + if(day1==day2){ + c1.add(Calendar.MONTH, yue); + }else { + + c1.add(Calendar.MONTH, yue-1); + if(yue-1<0) { + nian--; + yue=11; + }else { + yue -=1; + } + } +// System.out.println(nian+"年"); +// System.out.println(yue+"月"); + Date dt1 = c1.getTime(); + long l = dt1.getTime() - end.getTime(); + long tian = l/-(24*60*60*1000); + return nian+"-"+yue+"-"+tian; + } + + + public int getCycleNum (String cycle){ + int cycleNum = 1; + if("月".equals(cycle)){ + cycleNum = 1; + }else if("季".equals(cycle)){ + cycleNum = 3; + }else if("半年".equals(cycle)){ + cycleNum = 6; + }else if("年".equals(cycle)){ + cycleNum = 12; + }else if("一次性".equals(cycle)){ + cycleNum = 99; + } + return cycleNum; + } + + public double stringToNum(String str){ + double i = 0 ; + String[] strs = str.split(","); + StringBuilder numString = new StringBuilder(); + for (String value: strs) { + numString.append(value); + } + i = Double.parseDouble(numString.toString()); + return i; + } + +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/FormExportUtil.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/FormExportUtil.java new file mode 100644 index 0000000..8d847f3 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/FormExportUtil.java @@ -0,0 +1,62 @@ +package com.seeyon.apps.src_ydctleasebill.util; + +import com.seeyon.v3x.services.form.bean.RecordExport; +import com.seeyon.v3x.services.form.bean.SubordinateFormExport; +import com.seeyon.v3x.services.form.bean.ValueExport; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +//创建无流程表单数据处理工具类 +public class FormExportUtil { + + /** + * 设置主表信息 + * @param map 设置主表字段。Map<主表显示名称,主表数据> + * @return + */ + public List setFormValue(Map map){ +// 创建返回值对象 + List valueExports = new ArrayList(); + ValueExport valueExport ; +// 获取参数信息(显示名称) + Set keys = map.keySet(); + if(keys.size()>0) { +// 对控件赋值 + for (String key : keys) { + valueExport = new ValueExport(); + valueExport.setDisplayName(key); + valueExport.setValue(map.get(key)); + valueExports.add(valueExport); + } + } + return valueExports; + } + + /** + * 设置从表信息 + * @param map 设置主表字段。List> + */ + public List setSubordinateFormValue(List> lists){ + List subordinateFormExports = new ArrayList(); + SubordinateFormExport subordinateFormExport = new SubordinateFormExport(); + List recordExports = new ArrayList(); + List valueExports; + RecordExport recordExport; + for(int i = 0 ; i < lists.size() ; i++) { + recordExport = new RecordExport(); + valueExports = setFormValue(lists.get(i)); + recordExport.setRecord(valueExports); + recordExports.add(recordExport); + } + subordinateFormExport.setValues(recordExports); + subordinateFormExports.add(subordinateFormExport); + + return subordinateFormExports; + } + + + +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/LeaseBillUtil.java b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/LeaseBillUtil.java new file mode 100644 index 0000000..2de1718 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/src_ydctleasebill/util/LeaseBillUtil.java @@ -0,0 +1,242 @@ +package com.seeyon.apps.src_ydctleasebill.util; + +import com.alibaba.fastjson.JSONObject; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class LeaseBillUtil { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + /** + * 生成租金账单 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param isMaxDay 是否每月最后一天 + * @param jfzqNum 缴费周期月 + * @param jsonObject 请求参数 + * @param jifeifs 计费方式 + * @return + */ + public List> getLeaseBill(Calendar startTime, Calendar endTime, boolean isMaxDay, int jfzqNum, + JSONObject jsonObject,String jifeifs){ + List> rents = new ArrayList<>(); + DateUtil dateUtil = new DateUtil(); +// 两个日期相差多少月 + int monthNum = dateUtil.betweenMonthByTwoCalendar(startTime,endTime); + if(jfzqNum==99){ +// 一次性账单生成 + Map rent = new HashMap<>(); + float zlmjFloat = 0; + double zf = 0; + if("面积计费".equals(jifeifs)){ + String mjStr = jsonObject.getString("mj"); + zlmjFloat = Float.parseFloat(mjStr); + String mjzjStr = jsonObject.getString("mjzj"); + double mjzj = dateUtil.stringToNum(mjzjStr); + zf = mjzj*zlmjFloat; + }else if ("固定租金".equals(jifeifs)){ + zlmjFloat = 1; + String gdzjStr = jsonObject.getString("gdzj"); + double gdzj = dateUtil.stringToNum(gdzjStr); + zf = gdzj*zlmjFloat; + } + rent.put("开始日期",sdf.format(startTime.getTime())); + endTime.add(Calendar.DATE, -1); + rent.put("结束日期",sdf.format(endTime.getTime())); + rent.put("租费",zf+""); + rents.add(rent); + }else{ +// 月,季,半年,账单生成 + int termNum = monthNum/jfzqNum; + int mo = monthNum%jfzqNum; + if(mo!=0){ + termNum++; + } + float zlmjFloat = 0; + double zf = 0; + if("面积计费".equals(jifeifs)){ + String mjStr = jsonObject.getString("mj"); + zlmjFloat = Float.parseFloat(mjStr); + String mjzjStr = jsonObject.getString("mjzj"); + double mjzj = dateUtil.stringToNum(mjzjStr); + zf = mjzj*zlmjFloat; + }else if ("固定租金".equals(jifeifs)){ + zlmjFloat = 1; + String gdzjStr = jsonObject.getString("gdzj"); + double gdzj = dateUtil.stringToNum(gdzjStr); + zf = gdzj*zlmjFloat; + } + for(int i = 0 ; i < termNum ; i ++) { + if (startTime.getTime().getTime() < endTime.getTime().getTime()) { + Map rentMap = new HashMap(); +// 设置租费时间 + rentMap.put("开始日期", sdf.format(startTime.getTime())); + if (!isMaxDay) { + startTime.add(Calendar.MONTH, jfzqNum); + startTime.add(Calendar.DAY_OF_MONTH, -1); + }else{ + startTime.add(Calendar.MONTH, jfzqNum); + startTime.set(Calendar.DAY_OF_MONTH, startTime.getActualMaximum(Calendar.DAY_OF_MONTH)-1); + } + if (startTime.getTime().getTime() < endTime.getTime().getTime()) { +// rentMap.put("期间月数-租金",jfzqNum+""); + rentMap.put("租费", (zf * jfzqNum) + ""); + rentMap.put("结束日期", sdf.format(startTime.getTime())); + } else { + //两个日期相差多少月 + int qijianyueshu = dateUtil.betweenMonthByTwoCalendar(startTime, endTime); +// rentMap.put("期间月数-租金",qijianyueshu+""); + rentMap.put("租费", (zf * qijianyueshu) + ""); + endTime.add(Calendar.DAY_OF_MONTH, -1); + rentMap.put("结束日期", sdf.format(endTime.getTime())); + } + startTime.add(Calendar.DAY_OF_MONTH, 1); + if (isMaxDay) { + startTime.set(Calendar.DAY_OF_MONTH, startTime.getActualMaximum(Calendar.DAY_OF_MONTH)); + } + rents.add(rentMap); + } + } + } + return rents; + } + + + /** + * 生成租金账单 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param isMaxDay 是否每月最后一天 + * @param jfzqNum 缴费周期月 + * @param jsonObject 请求参数 + * @param jifeifs 计费方式 + * @return + */ + public List> getLeaseBillYers1(Calendar startTime, Calendar endTime, boolean isMaxDay, int jfzqNum, + JSONObject jsonObject,String jifeifs){ + List> rents = new ArrayList<>(); + DateUtil dateUtil = new DateUtil(); +// 两个日期相差多少月 + int monthNum = dateUtil.betweenMonthByTwoCalendar(startTime,endTime); + int termNum = monthNum/jfzqNum; + int mo = monthNum%jfzqNum; + if(mo!=0){ + termNum++; + } + float zlmjFloat = 0; + double zf = 0; + if("面积计费".equals(jifeifs)){ + String mjStr = jsonObject.getString("mj"); + zlmjFloat = Float.parseFloat(mjStr); + String mjzjStr = jsonObject.getString("mjzj"); + double mjzj = dateUtil.stringToNum(mjzjStr); + zf = mjzj*zlmjFloat; + }else if ("固定租金".equals(jifeifs)){ + zlmjFloat = 1; + String gdzjStr = jsonObject.getString("gdzj"); + double gdzj = dateUtil.stringToNum(gdzjStr); + zf = gdzj*zlmjFloat; + } + for(int i = 0 ; i < termNum ; i ++) { + if (startTime.getTime().getTime() < endTime.getTime().getTime()) { + Map rentMap = new HashMap(); +// 设置租费时间 + rentMap.put("开始日期", sdf.format(startTime.getTime())); + startTime.add(Calendar.MONTH, jfzqNum); + startTime.add(Calendar.DAY_OF_MONTH, -1); + if (startTime.getTime().getTime() < endTime.getTime().getTime()) { +// rentMap.put("期间月数-租金",jfzqNum+""); + rentMap.put("租费", (zf * jfzqNum) + ""); + rentMap.put("结束日期", sdf.format(startTime.getTime())); + } else { + //两个日期相差多少月 + int qijianyueshu = dateUtil.betweenMonthByTwoCalendar(startTime, endTime); +// rentMap.put("期间月数-租金",qijianyueshu+""); + rentMap.put("租费", (zf * qijianyueshu) + ""); + endTime.add(Calendar.DAY_OF_MONTH, -1); + rentMap.put("结束日期", sdf.format(endTime.getTime())); + } + startTime.add(Calendar.DAY_OF_MONTH, 1); + if (isMaxDay) { + startTime.set(Calendar.DAY_OF_MONTH, startTime.getActualMaximum(Calendar.DAY_OF_MONTH)); + } + rents.add(rentMap); + } + } + return rents; + } + + + /** + * 生成租金账单 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param isMaxDay 是否每月最后一天 + * @param jfzqNum 缴费周期月 + * @param jsonObject 请求参数 + * @param jifeifs 计费方式 + * @return + */ + public List> getLeaseBillYers2(Calendar startTime, Calendar endTime, boolean isMaxDay, int jfzqNum, + JSONObject jsonObject,String jifeifs){ + List> rents = new ArrayList<>(); + DateUtil dateUtil = new DateUtil(); +// 两个日期相差多少年 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(startTime.getTime()); + int starYear = startTime.get(Calendar.YEAR); + int endYear = endTime.get(Calendar.YEAR); + int termNum = endYear-starYear+1; + float zlmjFloat = 0; + double zf = 0; + if("面积计费".equals(jifeifs)){ + String mjStr = jsonObject.getString("mj"); + zlmjFloat = Float.parseFloat(mjStr); + String mjzjStr = jsonObject.getString("mjzj"); + double mjzj = dateUtil.stringToNum(mjzjStr); + zf = mjzj*zlmjFloat; + }else if ("固定租金".equals(jifeifs)){ + zlmjFloat = 1; + String gdzjStr = jsonObject.getString("gdzj"); + double gdzj = dateUtil.stringToNum(gdzjStr); + zf = gdzj*zlmjFloat; + } + + for(int i = 0 ; i < termNum ; i ++) { + if (startTime.getTime().getTime() < endTime.getTime().getTime()) { + Map rentMap = new HashMap(); +// 设置租费时间 + rentMap.put("开始日期", sdf.format(startTime.getTime())); + startTime.set(Calendar.MONTH, 11); + startTime.set(Calendar.DATE, 31); + if (startTime.getTime().getTime() < endTime.getTime().getTime()) { +// rentMap.put("期间月数-租金",jfzqNum+""); + startTime.add(Calendar.DAY_OF_MONTH, 1); + int qijianyueshu = dateUtil.betweenMonthByTwoCalendar(calendar, startTime); + startTime.add(Calendar.DAY_OF_MONTH, -1); + rentMap.put("租费", (zf * qijianyueshu) + ""); + rentMap.put("结束日期", sdf.format(startTime.getTime())); + calendar.set(Calendar.MONTH, 11); + calendar.set(Calendar.DATE, 31); + } else { + //两个日期相差多少月 + int qijianyueshu = dateUtil.betweenMonthByTwoCalendar(calendar, endTime); +// rentMap.put("期间月数-租金",qijianyueshu+""); + rentMap.put("租费", (zf * qijianyueshu) + ""); + endTime.add(Calendar.DAY_OF_MONTH, -1); + rentMap.put("结束日期", sdf.format(endTime.getTime())); + } + startTime.add(Calendar.DAY_OF_MONTH, 1); + calendar.add(Calendar.DAY_OF_MONTH, 1); + if (isMaxDay) { + startTime.set(Calendar.DAY_OF_MONTH, startTime.getActualMaximum(Calendar.DAY_OF_MONTH)); + } + rents.add(rentMap); + } + } + return rents; + } + +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/U8CCommonNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/U8CCommonNode.java index c0afc8e..98b91e2 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/U8CCommonNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/U8CCommonNode.java @@ -1,5 +1,6 @@ package com.seeyon.apps.ydctu8c; +import cn.hutool.log.Log; import com.seeyon.apps.common.config.ICstConfigApi; import com.seeyon.apps.common.plugin.vo.ConfigVo; import com.seeyon.apps.common.workflow.constants.WorkFlowType; @@ -15,8 +16,11 @@ import com.seeyon.apps.ydctu8c.vo.U8cResponse; import com.seeyon.cap4.form.api.FormDataApi4Cap4; import com.seeyon.cap4.form.bean.FormDataMasterBean; import com.seeyon.ctp.common.AppContext; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +//import org.apache.commons.logging.Log; +//import org.apache.commons.logging.LogFactory; + +import java.util.List; +import java.util.Map; /** * 功能描述:
@@ -29,8 +33,8 @@ import org.apache.commons.logging.LogFactory; */ public abstract class U8CCommonNode extends ACommonSuperNode { - private static Log log = LogFactory.getLog(U8CCommonNode.class); - +// private static Log log = LogFactory.getLog(U8CCommonNode.class); + private static Log log = Log.get(U8CCommonNode.class); protected ICstConfigApi cstConfigApi = (ICstConfigApi) AppContext.getBean("cstConfigApi"); @Override @@ -52,15 +56,22 @@ public abstract class U8CCommonNode extends ACommonSuperNode { return cstConfigApi.getConfig(getPluginId()); } + protected FormDataApi4Cap4 formDataApi4Cap4; + + public void setFormDataApi4Cap4(FormDataApi4Cap4 formDataApi4Cap4) { + this.formDataApi4Cap4 = formDataApi4Cap4; + } + @Override public SuperNodeContext proceed(String request, FormDataVo formDataVo, FormDataMasterBean formDataMasterBean) throws Exception { SuperNodeContext context = new SuperNodeContext(); + System.out.println("开始处理单据"+getNodeId()); ParamUtil paramUtil = new ParamUtil(); String param = paramUtil.param(request,getMethod(),formDataVo); Cap4ReturnUtil cap4ReturnUtil = new Cap4ReturnUtil(); try { - FieldDataVo fhjg = formDataVo.getFieldData("U8C返回结果"); + FieldDataVo fhjg = formDataVo.getFieldData("U8C-返回结果"); String value = fhjg.getStringValue(); if(value.startsWith("推送BIP成功")) { return context.success("跳过:" + value); @@ -86,22 +97,29 @@ public abstract class U8CCommonNode extends ACommonSuperNode { context.setResponse(response); U8cResponse u8cResponse = U8cHttpUtil.parseResponse(response); if(u8cResponse.isSuccess()) { - cap4ReturnUtil.setParamReturn(getMethod(),u8cResponse,formDataVo); + cap4ReturnUtil.setParamReturn(getMethod(),u8cResponse,formDataVo,getNodeId()); System.out.println("参数处理完成"+u8cResponse); log.info(u8cResponse.getData()); System.out.println("推送成功显示"+u8cResponse.getStatus()); context.success("推送U8C成功:" + u8cResponse.getStatus(), false); - formDataVo.getNewFieldDataMap().put("U8C返回结果", "推送U8C成功:" + u8cResponse.getStatus()); + if("DiaoBoYdctCollectionNode".equals(getNodeId())){ + formDataVo.getNewFieldDataMap().put("U8C-返回结果收", "推送U8C成功:" + u8cResponse.getStatus()); + }else if ("DiaoBoYdctPaymentNode".equals(getNodeId())){ + formDataVo.getNewFieldDataMap().put("U8C-返回结果付", "推送U8C成功:" + u8cResponse.getStatus()); + }else{ + formDataVo.getNewFieldDataMap().put("U8C-返回结果", "推送U8C成功:" + u8cResponse.getStatus()); + } + } else { context.setErrMsg(u8cResponse.getMsg()); context.setException(true); context.back("推送U8C失败:" + u8cResponse.getMsg()); - formDataVo.getNewFieldDataMap().put("U8C返回结果", "推送U8C失败:" + u8cResponse.getMsg()); + formDataVo.getNewFieldDataMap().put("U8C-返回结果", "推送U8C失败:" + u8cResponse.getMsg()); } } catch (Exception e) { context.setException(true); context.back("推送BIP失败:OA处理异常:" + e.getMessage()); - formDataVo.getNewFieldDataMap().put("BIP返回结果", "推送U8C失败:OA处理异常" + e.getMessage()); + formDataVo.getNewFieldDataMap().put("U8C-返回结果", "推送U8C失败:OA处理异常" + e.getMessage()); } return context; } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/aop/BpmProcessAop.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/aop/BpmProcessAop.java index 7b7ef02..5a29602 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/aop/BpmProcessAop.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/aop/BpmProcessAop.java @@ -1,6 +1,7 @@ package com.seeyon.apps.ydctu8c.aop; import cn.hutool.core.convert.Convert; +import cn.hutool.log.Log; import com.seeyon.cap4.form.api.FormApi4Cap4; import com.seeyon.cap4.form.bean.FormBean; import com.seeyon.cap4.form.bean.FormFieldBean; @@ -11,8 +12,8 @@ import com.seeyon.ctp.organization.bo.*; import com.seeyon.ctp.organization.manager.OrgManager; import org.apache.commons.collections.ListUtils; import org.apache.commons.lang.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +//import org.apache.commons.logging.Log; +//import org.apache.commons.logging.LogFactory; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; @@ -47,7 +48,8 @@ public class BpmProcessAop { @Inject private OrgManager orgManager; - private static final Log log = LogFactory.getLog(BpmProcessAop.class); + private static final Log log = Log.get(BpmProcessAop.class); + @Pointcut("execution(public * com.seeyon.apps.collaboration.manager.CollaborationBPMHandlerImpl.transPreStartProcess(..))") private void dealParam() { diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/CaiLiaocaigouYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/CaiLiaocaigouYdctPaymentNode.java new file mode 100644 index 0000000..08b4da1 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/CaiLiaocaigouYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class CaiLiaocaigouYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "CaiLiaocaigouYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT材料采购支付推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ChaiLvbaoxiaoYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ChaiLvbaoxiaoYdctPaymentNode.java new file mode 100644 index 0000000..1d48e90 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ChaiLvbaoxiaoYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class ChaiLvbaoxiaoYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "ChaiLvbaoxiaoYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT差旅费用报销推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctCollectionNode.java new file mode 100644 index 0000000..dec0094 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctCollectionNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class DiaoBoYdctCollectionNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/sj/insert"; + } + + @Override + public String getNodeId() { + return "DiaoBoYdctCollectionNode"; + } + + @Override + public String getNodeName() { + return "YDCT资金调拨推送U8C收款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZijinYdctTransferNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctPaymentNode.java similarity index 70% rename from v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZijinYdctTransferNode.java rename to v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctPaymentNode.java index 12b8efb..ab1a080 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZijinYdctTransferNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctPaymentNode.java @@ -11,7 +11,7 @@ import com.seeyon.apps.ydctu8c.U8CCommonNode; * @Author: HuangZhengguo * @Date: 2024/9/19 */ -public class ZijinYdctTransferNode extends U8CCommonNode { +public class DiaoBoYdctPaymentNode extends U8CCommonNode { @Override public String getMethod() { @@ -20,11 +20,11 @@ public class ZijinYdctTransferNode extends U8CCommonNode { @Override public String getNodeId() { - return "ZijinYdctTransferNode"; + return "DiaoBoYdctPaymentNode"; } @Override public String getNodeName() { - return "YDCT内部资金划拨推送U8C付款结算单"; + return "YDCT资金调拨推送U8C付款结算单"; } } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctRemittanceNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctRemittanceNode.java new file mode 100644 index 0000000..a0144e1 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/DiaoBoYdctRemittanceNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class DiaoBoYdctRemittanceNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/hj/insert"; + } + + @Override + public String getNodeId() { + return "DiaoBoYdctRemittanceNode"; + } + + @Override + public String getNodeName() { + return "YDCT资金调拨推送U8C划账结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ExamineYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ExamineYdctCollectionNode.java new file mode 100644 index 0000000..ba087c2 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ExamineYdctCollectionNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class ExamineYdctCollectionNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/sj/audit"; + } + + @Override + public String getNodeId() { + return "ExamineYdctCollectionNode"; + } + + @Override + public String getNodeName() { + return "YDCT收款结算单审核推送U8C"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ExamineYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ExamineYdctPaymentNode.java new file mode 100644 index 0000000..993b16a --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ExamineYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class ExamineYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/audit"; + } + + @Override + public String getNodeId() { + return "ExamineYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT付款结算单审核推送U8C"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/FeiYongbaoxiaoYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/FeiYongbaoxiaoYdctPaymentNode.java new file mode 100644 index 0000000..8963894 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/FeiYongbaoxiaoYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class FeiYongbaoxiaoYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "FeiYongbaoxiaoYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT费用报销推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/GongHuibaoxiaoYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/GongHuibaoxiaoYdctPaymentNode.java new file mode 100644 index 0000000..e8cb062 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/GongHuibaoxiaoYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class GongHuibaoxiaoYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "GongHuibaoxiaoYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT工会报销推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongYdctFenZhangNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/HeTongfukuanYdctPaymentNode.java similarity index 70% rename from v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongYdctFenZhangNode.java rename to v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/HeTongfukuanYdctPaymentNode.java index 662ad59..19132ca 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongYdctFenZhangNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/HeTongfukuanYdctPaymentNode.java @@ -11,7 +11,7 @@ import com.seeyon.apps.ydctu8c.U8CCommonNode; * @Author: HuangZhengguo * @Date: 2024/9/19 */ -public class TongYongYdctFenZhangNode extends U8CCommonNode { +public class HeTongfukuanYdctPaymentNode extends U8CCommonNode { @Override public String getMethod() { @@ -20,11 +20,11 @@ public class TongYongYdctFenZhangNode extends U8CCommonNode { @Override public String getNodeId() { - return "TongYongYdctFenZhangNode"; + return "HeTongfukuanYdctPaymentNode"; } @Override public String getNodeName() { - return "YDCT通用分账审批推送U8C付款结算单"; + return "YDCT合同付款推送U8C付款结算单"; } } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/HeTongshoukuanYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/HeTongshoukuanYdctCollectionNode.java new file mode 100644 index 0000000..8008278 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/HeTongshoukuanYdctCollectionNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class HeTongshoukuanYdctCollectionNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/sj/insert"; + } + + @Override + public String getNodeId() { + return "HeTongshoukuanYdctCollectionNode"; + } + + @Override + public String getNodeName() { + return "YDCT合同收款推送U8C收款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/JieZhiYdctPaymentNode.java similarity index 70% rename from v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongYdctPaymentNode.java rename to v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/JieZhiYdctPaymentNode.java index 0ddee5c..e1e3f4c 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongYdctPaymentNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/JieZhiYdctPaymentNode.java @@ -11,7 +11,7 @@ import com.seeyon.apps.ydctu8c.U8CCommonNode; * @Author: HuangZhengguo * @Date: 2024/9/19 */ -public class TongYongYdctPaymentNode extends U8CCommonNode { +public class JieZhiYdctPaymentNode extends U8CCommonNode { @Override public String getMethod() { @@ -20,11 +20,11 @@ public class TongYongYdctPaymentNode extends U8CCommonNode { @Override public String getNodeId() { - return "TongYongYdctPaymentNode"; + return "JiezhiYdctPaymentNode"; } @Override public String getNodeName() { - return "YDCT通用支付审批推送U8C付款结算单"; + return "YDCT借支申请推送U8C付款结算单"; } } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/RongZihuankuanYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/RongZihuankuanYdctPaymentNode.java new file mode 100644 index 0000000..a2971b9 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/RongZihuankuanYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class RongZihuankuanYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "RongZihuankuanYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT融资还款推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/RongZijiekuanYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/RongZijiekuanYdctCollectionNode.java new file mode 100644 index 0000000..317c816 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/RongZijiekuanYdctCollectionNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class RongZijiekuanYdctCollectionNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/sj/insert"; + } + + @Override + public String getNodeId() { + return "RongZijiekuanYdctCollectionNode"; + } + + @Override + public String getNodeName() { + return "YDCT融资借款推送U8C收款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ContractYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ShouKuanYdctCollectionNode.java similarity index 69% rename from v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ContractYdctCollectionNode.java rename to v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ShouKuanYdctCollectionNode.java index 6abaff8..d3c26e9 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ContractYdctCollectionNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ShouKuanYdctCollectionNode.java @@ -11,7 +11,7 @@ import com.seeyon.apps.ydctu8c.U8CCommonNode; * @Author: HuangZhengguo * @Date: 2024/9/19 */ -public class ContractYdctCollectionNode extends U8CCommonNode { +public class ShouKuanYdctCollectionNode extends U8CCommonNode { @Override public String getMethod() { @@ -20,11 +20,11 @@ public class ContractYdctCollectionNode extends U8CCommonNode { @Override public String getNodeId() { - return "ContractYdctCollectionNode"; + return "ShouKuanYdctCollectionNode"; } @Override public String getNodeName() { - return "YDCT合同收款审批推送U8C收款结算单"; + return "YDCT财务收款登记推送U8C收款结算单"; } } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ChaiLvYdctExpensePaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TingCheshoukanYdctCollectionNode.java similarity index 60% rename from v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ChaiLvYdctExpensePaymentNode.java rename to v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TingCheshoukanYdctCollectionNode.java index 6986243..1b8bba4 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ChaiLvYdctExpensePaymentNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TingCheshoukanYdctCollectionNode.java @@ -11,20 +11,20 @@ import com.seeyon.apps.ydctu8c.U8CCommonNode; * @Author: HuangZhengguo * @Date: 2024/9/19 */ -public class ChaiLvYdctExpensePaymentNode extends U8CCommonNode { +public class TingCheshoukanYdctCollectionNode extends U8CCommonNode { @Override public String getMethod() { - return "/u8cloud/api/cmp/fj/insert"; + return "/u8cloud/api/cmp/sj/insert"; } @Override public String getNodeId() { - return "ChaiLvYdctExpensePaymentNode"; + return "TingCheshoukanYdctCollectionNode"; } @Override public String getNodeName() { - return "YDCT差旅费用报销审批推送U8C付款结算单"; + return "YDCT华美停车场收款推送U8C收款结算单"; } } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMuYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongzhifuYdctPaymentNode.java similarity index 69% rename from v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMuYdctPaymentNode.java rename to v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongzhifuYdctPaymentNode.java index 9a1aac5..385065c 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMuYdctPaymentNode.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/TongYongzhifuYdctPaymentNode.java @@ -11,7 +11,7 @@ import com.seeyon.apps.ydctu8c.U8CCommonNode; * @Author: HuangZhengguo * @Date: 2024/9/19 */ -public class XiangMuYdctPaymentNode extends U8CCommonNode { +public class TongYongzhifuYdctPaymentNode extends U8CCommonNode { @Override public String getMethod() { @@ -20,11 +20,11 @@ public class XiangMuYdctPaymentNode extends U8CCommonNode { @Override public String getNodeId() { - return "XiangMuYdctPaymentNode"; + return "TongYongzhifuYdctPaymentNode"; } @Override public String getNodeName() { - return "YDCT项目合同支付审批推送U8C付款结算单"; + return "YDCT通用支付推送U8C付款结算单"; } } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMubofuYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMubofuYdctPaymentNode.java new file mode 100644 index 0000000..2daa3de --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMubofuYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class XiangMubofuYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "XiangMubofuYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT项目资金拨付推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMuzhifuYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMuzhifuYdctPaymentNode.java new file mode 100644 index 0000000..2dcd4f3 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/XiangMuzhifuYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class XiangMuzhifuYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "XiangMuzhifudctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT项目工程款支付推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctCollectionNode.java new file mode 100644 index 0000000..7f43c0c --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctCollectionNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class ZiJindiaoboExamineYdctCollectionNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/sj/audit"; + } + + @Override + public String getNodeId() { + return "ZiJindiaoboExamineYdctCollectionNode"; + } + + @Override + public String getNodeName() { + return "YDCT资金调拨收款结算单审核推送U8C"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctPaymentNode.java new file mode 100644 index 0000000..b16be15 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctPaymentNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class ZiJindiaoboExamineYdctPaymentNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/audit"; + } + + @Override + public String getNodeId() { + return "ZiJindiaoboExamineYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT资金调拨付款结算单审核推送U8C"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctRemittanceNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctRemittanceNode.java new file mode 100644 index 0000000..71e7f88 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZiJindiaoboExamineYdctRemittanceNode.java @@ -0,0 +1,30 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +/** + * 功能描述:
+ *
+ *
+ * 
+ * + * @Author: HuangZhengguo + * @Date: 2024/9/19 + */ +public class ZiJindiaoboExamineYdctRemittanceNode extends U8CCommonNode { + + @Override + public String getMethod() { + return "/u8cloud/api/cmp/hj/audit"; + } + + @Override + public String getNodeId() { + return "ZiJindiaoboExamineYdctRemittanceNode"; + } + + @Override + public String getNodeName() { + return "YDCT资金调拨划账结算单审核推送U8C"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZuLinFuKuanYdctPaymentNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZuLinFuKuanYdctPaymentNode.java new file mode 100644 index 0000000..1a1b6fd --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZuLinFuKuanYdctPaymentNode.java @@ -0,0 +1,20 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +public class ZuLinFuKuanYdctPaymentNode extends U8CCommonNode { + @Override + public String getMethod() { + return "/u8cloud/api/cmp/fj/insert"; + } + + @Override + public String getNodeId() { + return "ZongHeYdctPaymentNode"; + } + + @Override + public String getNodeName() { + return "YDCT租赁财务付款结算推送U8C付款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZuLinShouKuanYdctCollectionNode.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZuLinShouKuanYdctCollectionNode.java new file mode 100644 index 0000000..cdb7201 --- /dev/null +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/cash/node/ZuLinShouKuanYdctCollectionNode.java @@ -0,0 +1,20 @@ +package com.seeyon.apps.ydctu8c.cash.node; + +import com.seeyon.apps.ydctu8c.U8CCommonNode; + +public class ZuLinShouKuanYdctCollectionNode extends U8CCommonNode { + @Override + public String getMethod() { + return "/u8cloud/api/cmp/sj/insert"; + } + + @Override + public String getNodeId() { + return "ZuLinShouKuanYdctCollectionNode"; + } + + @Override + public String getNodeName() { + return "YDCT租赁财务收款结算推送U8C收款结算单"; + } +} diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/Cap4ReturnUtil.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/Cap4ReturnUtil.java index 49748ac..ef8f69d 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/Cap4ReturnUtil.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/Cap4ReturnUtil.java @@ -3,36 +3,244 @@ package com.seeyon.apps.ydctu8c.util; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.seeyon.apps.ext.workflow.vo.FieldDataVo; import com.seeyon.apps.ext.workflow.vo.FormDataVo; import com.seeyon.apps.ydctu8c.vo.U8cResponse; import com.seeyon.cap4.form.api.FormDataApi4Cap4; import com.seeyon.cap4.form.bean.FormDataMasterBean; import com.seeyon.cap4.form.bean.FormDataSubBean; import com.seeyon.ctp.common.exceptions.BusinessException; +import nc.vo.jcom.lang.StringUtil; import java.util.List; +import java.util.Map; public class Cap4ReturnUtil { - public void setParamReturn(String method, U8cResponse u8cResponse, FormDataVo formDataVo) throws BusinessException { + public void setParamReturn(String method, U8cResponse u8cResponse, FormDataVo formDataVo,String nodeId) throws BusinessException, NoSuchFieldException { if("/u8cloud/api/uapbd/custdoc/insert".equals(method)){ String data = u8cResponse.getData(); JSONArray jsonArray = (JSONArray) JSON.parse(data); JSONObject jsonObject = jsonArray.getJSONObject(0); JSONObject parentvo = jsonObject.getJSONObject("parentvo"); - formDataVo.getNewFieldDataMap().put("客商主键", parentvo.getString("pk_cubasdoc")); + formDataVo.getNewFieldDataMap().put("U8C-客商主键", parentvo.getString("pk_cubasdoc")); JSONArray banks = jsonObject.getJSONArray("BANK"); // 银行id String bankIds = ""; - for(int i = 0 ; i < banks.size() ; i++){ - JSONObject bank = banks.getJSONObject(i); - String bankNo = bank.getString("account"); - String bankId = bank.getString("pk_custbank"); - bankIds = bankIds+bankNo+":"+bankId+";"; + if(banks.size()>0){ + for(int i = 0 ; i < banks.size() ; i++){ + JSONObject bank = banks.getJSONObject(i); + String bankNo = bank.getString("account"); + String bankId = bank.getString("pk_custbank"); + bankIds = bankIds+bankNo+":"+bankId+";"; + } + bankIds = bankIds.substring(0,bankIds.length() - 1); + formDataVo.getNewFieldDataMap().put("U8C-返回客商银行对照", bankIds); } - bankIds = bankIds.substring(0,bankIds.length() - 1); - formDataVo.getNewFieldDataMap().put("U8C返回客商银行对照", bankIds); + }else if("/u8cloud/api/uapbd/custdoc/update".equals(method)){ + String data = u8cResponse.getData(); + JSONArray jsonArray = (JSONArray) JSON.parse(data); + JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONArray banks = jsonObject.getJSONArray("BANK"); +// 银行id + String bankIds = ""; + if(banks.size()>0){ + for(int i = 0 ; i < banks.size() ; i++){ + JSONObject bank = banks.getJSONObject(i); + String bankNo = bank.getString("account"); + String bankId = bank.getString("pk_custbank"); + bankIds = bankIds+bankNo+":"+bankId+";"; + } + bankIds = bankIds.substring(0,bankIds.length() - 1); + formDataVo.getNewFieldDataMap().put("U8C-返回客商银行对照", bankIds); + } + }else if("/u8cloud/api/cmp/fj/insert".equals(method)){ + String data = u8cResponse.getData(); + JSONArray jsonArray = (JSONArray) JSON.parse(data); + JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONObject parentvo = jsonObject.getJSONObject("parentvo"); + if("DiaoBoYdctPaymentNode".equals(nodeId)){ + formDataVo.getNewFieldDataMap().put("U8C-单据号付", parentvo.getString("djbh")); +// 税金回写 + JSONArray childrenvos = jsonObject.getJSONArray("childrenvo"); + Map> subFormMap = formDataVo.getSubFormMap(); + List subFormDataVos = subFormMap.get("U8C-结算明细付"); + for(int i = 0 ; i < subFormDataVos.size() ; i++){ + FormDataVo subFormDataVo = subFormDataVos.get(i); + FieldDataVo u8cSubNo = subFormDataVo.getFieldData("U8C-明细表编号付"); + String u8cSubNoValue = u8cSubNo.getStringValue(); + System.out.println("当前明细行编号为"+u8cSubNoValue); + for(int n = 0 ; n < childrenvos.size() ; n++){ + JSONObject childrenvo = childrenvos.getJSONObject(n); + String zyx20 = childrenvo.getString("zyx20"); + System.out.println(u8cSubNoValue.equals(zyx20)+":"+u8cSubNoValue+"="+zyx20); + if(u8cSubNoValue.equals(zyx20)){ + String jfybsj = childrenvo.getString("jfybsj"); + String jfybwsje = childrenvo.getString("jfybwsje"); + System.out.println("jfybsj"+jfybsj); + System.out.println("jfybwsje"+jfybwsje); + double jfybsjd = 0; + double jfybwsjed = 0; + System.out.println(!StringUtil.isEmpty(jfybsj)); + if(!StringUtil.isEmpty(jfybsj)){ + jfybsjd = Double.parseDouble(jfybsj); + } + System.out.println(!StringUtil.isEmpty(jfybwsje)); + if(!StringUtil.isEmpty(jfybwsje)){ + jfybwsjed = Double.parseDouble(jfybwsje); + } + subFormDataVo.getNewFieldDataMap().put("U8C-本币税金付", jfybsjd); + subFormDataVo.getNewFieldDataMap().put("U8C-本币无税金额付", jfybwsjed); + } + } + } + }else{ +// 单据号回写 + formDataVo.getNewFieldDataMap().put("U8C-单据号", parentvo.getString("djbh")); + + JSONArray childrenvos = jsonObject.getJSONArray("childrenvo"); + if("TongYongzhifuYdctPaymentNode".equals(nodeId)){ + JSONObject childrenvo = childrenvos.getJSONObject(0); + String jfybsj = childrenvo.getString("jfybsj"); + String jfybwsje = childrenvo.getString("jfybwsje"); + double jfybsjd = 0; + double jfybwsjed = 0; + System.out.println(!StringUtil.isEmpty(jfybsj)); + if(!StringUtil.isEmpty(jfybsj)){ + jfybsjd = Double.parseDouble(jfybsj); + } + System.out.println(!StringUtil.isEmpty(jfybwsje)); + if(!StringUtil.isEmpty(jfybwsje)){ + jfybwsjed = Double.parseDouble(jfybwsje); + } + formDataVo.getNewFieldDataMap().put("主表-U8C本币税金", jfybsjd); + formDataVo.getNewFieldDataMap().put("主表-U8C本币无税金额", jfybwsjed); + }else{ + // 税金回写 + Map> subFormMap = formDataVo.getSubFormMap(); + + for(Map.Entry> entry : subFormMap.entrySet()){ + String key = entry.getKey(); + boolean startsWith = key.startsWith("U8C-"); + if(startsWith){ + List subFormDataVos = entry.getValue(); + for(int i = 0 ; i < subFormDataVos.size() ; i++){ + FormDataVo subFormDataVo = subFormDataVos.get(i); + FieldDataVo u8cSubNo = subFormDataVo.getFieldData("U8C-明细表编号"); + String u8cSubNoValue = u8cSubNo.getStringValue(); + System.out.println("当前明细行编号为"+u8cSubNoValue); + for(int n = 0 ; n < childrenvos.size() ; n++){ + JSONObject childrenvo = childrenvos.getJSONObject(n); + String zyx20 = childrenvo.getString("zyx20"); + System.out.println(u8cSubNoValue.equals(zyx20)+":"+u8cSubNoValue+"="+zyx20); + if(u8cSubNoValue.equals(zyx20)){ + String jfybsj = childrenvo.getString("jfybsj"); + String jfybwsje = childrenvo.getString("jfybwsje"); + System.out.println("jfybsj"+jfybsj); + System.out.println("jfybwsje"+jfybwsje); + double jfybsjd = 0; + double jfybwsjed = 0; + System.out.println(!StringUtil.isEmpty(jfybsj)); + if(!StringUtil.isEmpty(jfybsj)){ + jfybsjd = Double.parseDouble(jfybsj); + } + System.out.println(!StringUtil.isEmpty(jfybwsje)); + if(!StringUtil.isEmpty(jfybwsje)){ + jfybwsjed = Double.parseDouble(jfybwsje); + } + subFormDataVo.getNewFieldDataMap().put("U8C-本币税金", jfybsjd); + subFormDataVo.getNewFieldDataMap().put("U8C-本币无税金额", jfybwsjed); + } + } + + } + } + } + } + } + }else if("/u8cloud/api/cmp/sj/insert".equals(method)){ + String data = u8cResponse.getData(); + JSONArray jsonArray = (JSONArray) JSON.parse(data); + JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONObject parentvo = jsonObject.getJSONObject("parentvo"); + if("DiaoBoYdctCollectionNode".equals(nodeId)){ + formDataVo.getNewFieldDataMap().put("U8C-单据号收", parentvo.getString("djbh")); + + Map> subFormMap = formDataVo.getSubFormMap(); + JSONArray childrenvos = jsonObject.getJSONArray("childrenvo"); + List subFormDataVos = subFormMap.get("U8C-结算明细收"); + for(int i = 0 ; i < subFormDataVos.size() ; i++){ + FormDataVo subFormDataVo = subFormDataVos.get(i); + FieldDataVo u8cSubNo = subFormDataVo.getFieldData("U8C-明细表编号收"); + String u8cSubNoValue = u8cSubNo.getStringValue(); + System.out.println("当前明细行编号为"+u8cSubNoValue); + for(int n = 0 ; n < childrenvos.size() ; n++){ + JSONObject childrenvo = childrenvos.getJSONObject(n); + String zyx20 = childrenvo.getString("zyx20"); + System.out.println(u8cSubNoValue.equals(zyx20)+":"+u8cSubNoValue+"="+zyx20); + if(u8cSubNoValue.equals(zyx20)){ + String dfybsj = childrenvo.getString("dfybsj"); + String dfybwsje = childrenvo.getString("dfybwsje"); + double dfybsjd = 0; + double dfybwsjed = 0; + if(!StringUtil.isEmpty(dfybsj)){ + dfybsjd = Double.parseDouble(dfybsj); + } + if(!StringUtil.isEmpty(dfybwsje)){ + dfybwsjed = Double.parseDouble(dfybwsje); + } + subFormDataVo.getNewFieldDataMap().put("U8C-本币税金收", dfybsjd); + subFormDataVo.getNewFieldDataMap().put("U8C-本币无税金额收", dfybwsjed); + } + } + } + }else{ +// 单据号回写 + formDataVo.getNewFieldDataMap().put("U8C-单据号", parentvo.getString("djbh")); + // 税金回写 + Map> subFormMap = formDataVo.getSubFormMap(); + JSONArray childrenvos = jsonObject.getJSONArray("childrenvo"); + for(Map.Entry> entry : subFormMap.entrySet()){ + String key = entry.getKey(); + boolean startsWith = key.startsWith("U8C-"); + if(startsWith){ + List subFormDataVos = entry.getValue(); + for(int i = 0 ; i < subFormDataVos.size() ; i++){ + FormDataVo subFormDataVo = subFormDataVos.get(i); + FieldDataVo u8cSubNo = subFormDataVo.getFieldData("U8C-明细表编号"); + String u8cSubNoValue = u8cSubNo.getStringValue(); + System.out.println("当前明细行编号为"+u8cSubNoValue); + for(int n = 0 ; n < childrenvos.size() ; n++){ + JSONObject childrenvo = childrenvos.getJSONObject(n); + String zyx20 = childrenvo.getString("zyx20"); + System.out.println(u8cSubNoValue.equals(zyx20)+":"+u8cSubNoValue+"="+zyx20); + if(u8cSubNoValue.equals(zyx20)){ + String dfybsj = childrenvo.getString("dfybsj"); + String dfybwsje = childrenvo.getString("dfybwsje"); + double dfybsjd = 0; + double dfybwsjed = 0; + if(!StringUtil.isEmpty(dfybsj)){ + dfybsjd = Double.parseDouble(dfybsj); + } + if(!StringUtil.isEmpty(dfybwsje)){ + dfybwsjed = Double.parseDouble(dfybwsje); + } + subFormDataVo.getNewFieldDataMap().put("U8C-本币税金", dfybsjd); + subFormDataVo.getNewFieldDataMap().put("U8C-本币无税金额", dfybwsjed); + } + } + } + } + } + } + }else if("/u8cloud/api/cmp/hj/insert".equals(method)){ + String data = u8cResponse.getData(); + JSONArray jsonArray = (JSONArray) JSON.parse(data); + JSONObject jsonObject = jsonArray.getJSONObject(0); + JSONObject parentvo = jsonObject.getJSONObject("parentvo"); + formDataVo.getNewFieldDataMap().put("U8C-单据号付", parentvo.getString("djbh")); } + } diff --git a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/ParamUtil.java b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/ParamUtil.java index 028089c..006db1c 100644 --- a/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/ParamUtil.java +++ b/v5/apps-customize/src/main/java/com/seeyon/apps/ydctu8c/util/ParamUtil.java @@ -6,6 +6,9 @@ import com.alibaba.fastjson.JSONObject; import com.seeyon.apps.ext.workflow.vo.FieldDataVo; import com.seeyon.apps.ext.workflow.vo.FormDataVo; +import java.util.List; +import java.util.Map; + public class ParamUtil { public String param(String request, String method , FormDataVo formDataVo) throws NoSuchFieldException { @@ -23,6 +26,9 @@ public class ParamUtil { case "/u8cloud/api/cmp/sj/insert": param = request; break; + case "/u8cloud/api/cmp/hj/insert": + param = insertRemittanceParam(request,formDataVo); + break; case "/u8cloud/api/arap/yf/insert": param = request; break; @@ -32,6 +38,15 @@ public class ParamUtil { case "/u8cloud/api/uapbd/custdoc/update": param = request; break; + case "/u8cloud/api/cmp/sj/audit": + param = request; + break; + case "/u8cloud/api/cmp/fj/audit": + param = request; + break; + case "/u8cloud/api/cmp/hj/audit": + param = request; + break; } return param; } @@ -106,6 +121,42 @@ public class ParamUtil { } + /** + * 客商管理档案新增,接口参数调整 + * @param request 自动获取接口原参数 + * @param formDataVo 表单字段对象 + * @return + * @throws NoSuchFieldException + */ + public String insertRemittanceParam(String request, FormDataVo formDataVo) throws NoSuchFieldException { +// 获取指定的json格式 + JSONObject jsonObject = JSON.parseObject(request); + JSONObject billvo = jsonObject.getJSONObject("billvo"); + JSONArray childrens = new JSONArray(); + Map> map = formDataVo.getSubFormMap(); + List formDataVos = map.get("结算明细付"); + for(int i = 0 ; i < formDataVos.size() ; i++){ + FormDataVo subformDataVo = formDataVos.get(i); + FieldDataVo zy = subformDataVo.getFieldData("U8C-摘要明细表付"); + String zyValue = zy.getStringValue(); + FieldDataVo fkybje = subformDataVo.getFieldData("U8C-付款原币金额明细表付"); + String fkybjeValue = fkybje.getStringValue(); + JSONObject children1 = new JSONObject(); + children1.put("dfybje",fkybjeValue); + children1.put("zy",zyValue); + JSONObject children2 = new JSONObject(); + children2.put("jfybje",fkybjeValue); + children2.put("zy",zyValue); + childrens.add(children1); + childrens.add(children2); + } + billvo.put("children",childrens); +// jsonObject.put("billvo",billvo); + System.out.println(jsonObject); + return jsonObject.toString(); + } + + diff --git a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/pluginCfg.xml b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/pluginCfg.xml new file mode 100644 index 0000000..451eb0e --- /dev/null +++ b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/pluginCfg.xml @@ -0,0 +1,6 @@ + + + src_ydctleasebill + 宜都城投租赁账单生成 + 20241123 + diff --git a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-controller.xml b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-controller.xml new file mode 100644 index 0000000..cbe156d --- /dev/null +++ b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-controller.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-dao.xml b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-dao.xml new file mode 100644 index 0000000..0dcf221 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-dao.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-fieldCtrl.xml b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-fieldCtrl.xml new file mode 100644 index 0000000..4ba4698 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-fieldCtrl.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-financing.xml b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-financing.xml new file mode 100644 index 0000000..59dc5d2 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/src_ydctleasebill/spring/spring-financing.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/ydctu8c/spring/spring-node.xml b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/ydctu8c/spring/spring-node.xml index 7822ddb..11ef7b7 100644 --- a/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/ydctu8c/spring/spring-node.xml +++ b/v5/apps-customize/src/main/webapp/WEB-INF/cfgHome/plugin/ydctu8c/spring/spring-node.xml @@ -12,13 +12,31 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/interestMeasurementResources/js/openUnflow.js b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/interestMeasurementResources/js/openUnflow.js index 1f3e4a4..75648db 100644 --- a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/interestMeasurementResources/js/openUnflow.js +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/interestMeasurementResources/js/openUnflow.js @@ -64,13 +64,13 @@ var jumpFun = function() { var url2 = window.location.origin; var s = self; - var recordId = self.messageObj.formdata.formsons.front_formson_7.records[0].recordId; - opts = { - fieldId: 'field0191', - tableName:'formson_0744', - recordId:recordId - }; - var data = csdk.core.getFieldData(opts); + // var recordId = self.messageObj.formdata.formsons.front_formson_7.records[0].recordId; + // opts = { + // fieldId: 'field0191', + // tableName:'formson_0744', + // recordId:recordId + // }; + // var data = csdk.core.getFieldData(opts); var field0206 = {fieldId: 'field0206'}; var field0206value = csdk.core.getFieldData(field0206).value; var field0001 = {fieldId: 'field0001'}; @@ -114,19 +114,56 @@ "period":field0011value}, dataType : 'json', contentType : 'application/json; charset=UTF-8', - success : function(res) { - + success(res) { var randomNum = Math.floor(Math.random() * 10001); if(res.success){ - var money = data.showValue; + var money = field0216value; if(money!="" ){ - - self.adaptation.formdata.field0215__.formmains.formmain_0725.field0216.value = res.num; + // self.adaptation.formdata.field0215.formmains.formmain_0725.field0216.value = res.num; + var data = { + fieldId: 'field0216', + fieldData: { + value: res.num+'', //数据值,存入数据库中的value值 + display: res.num+'' //字段渲染在页面上的显示值,通常是经过format后的值 + } + }; + csdk.core.setFieldData(data); }else{ - self.adaptation.formdata.field0215__.formmains.formmain_0725.field0211.value = randomNum; - self.adaptation.formdata.field0215__.formmains.formmain_0725.field0216.value = res.num; + var data = { + fieldId: 'field0216', + fieldData: { + value: res.num+'', //数据值,存入数据库中的value值 + display: res.num+'' //字段渲染在页面上的显示值,通常是经过format后的值 + } + }; + // csdk.core.setFieldData(data); + // var data1 = { + // fieldId: 'field0215', + // fieldData: { + // value: randomNum+'', //数据值,存入数据库中的value值 + // display: randomNum+'' //字段渲染在页面上的显示值,通常是经过format后的值 + // } + // }; + // csdk.core.setFieldData(data1); + + + csdk.core.patchData(res.data.data.data.tableData); + // csdk.core.preSave(function(err, data){ + // if (err) { + // //调用失败 + // console.log(err); + // return; + // } + // console.log(data) + // //调用成功 + // //do something + // }); + // window.thirdPartyFormAPI.backfillFormControlData(adddata); + // self.adaptation.formdata.field0215.formmains.formmain_0725.field0211.value = randomNum+''; + + } - $.alert(利息明细生成完成); + // alert("利息明细生成完成"); // var data = { // fieldId: 'field0211', // fieldData: { @@ -140,6 +177,7 @@ }else{ + $.alert(res.s); } } @@ -155,6 +193,9 @@ } } }; + function test1() { + console.log("回调方法"); + } var dynamicLoading = { css: function(path) { diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/formQueryBtn.css b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/formQueryBtn.css new file mode 100644 index 0000000..ae96722 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/formQueryBtn.css @@ -0,0 +1,27 @@ +.customButton_class_box { + width: 100%; + line-height: 24px; + height:24px; + color: #1f85ec; + cursor: pointer; + font-family: "Microsoft YaHei"!important; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-break:keep-all; +} +.customButton_box_content{ + width: 100%; + height: 24px; + box-sizing: border-box; + -webkit-box-sizing : border-box; + -moz-box-sizing : border-box; + text-align: center; + outline: none; + border: 1px solid #1f85ec; + background-color: #fff; + border-radius: 15px; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; +} + diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/img/icon16.png b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/img/icon16.png new file mode 100644 index 0000000..e43def3 Binary files /dev/null and b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/img/icon16.png differ diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/setCondition.css b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/setCondition.css new file mode 100644 index 0000000..6e08db4 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/setCondition.css @@ -0,0 +1,13 @@ +.relation_container .panel_bottom .zidong_guanlian .guanlian_map{ + padding-left: 10px; +} +.relation_container .panel_bottom .zidong_guanlian .guanlian_map .error-title{ + margin: 0 2px; + visibility: hidden; +} +.relation_container .panel_bottom .zidong_guanlian .guanlian_map .error-title.active{ + visibility: visible; +} +.relation_container .biz_groupguanlian .div_sel3.active{ + border-color: red; +} \ No newline at end of file diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/setTemplate.css b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/setTemplate.css new file mode 100644 index 0000000..a87540a --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/css/setTemplate.css @@ -0,0 +1,87 @@ +body{ + font-family: "microsoft yahei"; +} +#tab { + height: 26px; + width: 100%; + border-bottom: 1px solid #666666; + margin-bottom: 5px; +} +#tab span { + height: 30px; + line-height: 30px; + width: 50%; + font-size: 14px; + text-align: center; + color: #666666; + margin-right: 20px; + padding: 0 5px 0 5px; + cursor: pointer; +} +#tab span.select { + border-bottom: 2px solid #2453b3; + color: #2453b3; +} + +.list{ + list-style: none; + margin: 0; + padding: 0; + font-size: 14px; + height: 310px; + overflow: auto; +} +.list .active{ + background-color: #1F85EC; + border: 1px solid #1F85EC; + color: #ffffff; +} + +.list li{ + cursor: pointer; + margin: 3px 0 3px 0; +} +.list span{ + display: inline-block; + background: url("img/icon16.png") -32px -240px no-repeat scroll transparent; + margin-right: 2px; + vertical-align: middle; + width: 16px; + height: 16px; +} +.search-box { + height: 20px; + margin: 10px 0 10px 0; + position: relative; +} +.cap-icon-sousuo { + position: absolute; + top: 2px; + left: 170px; + color: #1F85EC; + font-size: 20px; + line-height: 20px; + cursor: pointer; +} +.cap-icon-sousuo:before { + content: ""; + background: url("img/icon16.png") -192px -176px no-repeat; + height: 16px; + line-height: 16px; + width: 16px; + font-size: 12px; + display: block; + position: absolute; + top: 5px; + margin-left: 2px; +} +.search-input { + background: #FFFFFF; + border: 1px solid #D4D4D4; + border-radius: 100px; + min-height: 20px; + width: 150px; + padding-right: 35px; + padding-left: 10px; + outline: none; +} diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/html/setTemplate.html b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/html/setTemplate.html new file mode 100644 index 0000000..edb3554 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/html/setTemplate.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+ 选择底表 +
+ +
+ +
    +
    + + + \ No newline at end of file diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/LodopFuncs.js b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/LodopFuncs.js new file mode 100644 index 0000000..9bf5413 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/LodopFuncs.js @@ -0,0 +1,188 @@ +//==本JS是加载Lodop插件或Web打印服务CLodop/Lodop7的综合示例,可直接使用,建议理解后融入自己程序== + +//用双端口加载主JS文件Lodop.js(或CLodopfuncs.js兼容老版本)以防其中某端口被占: +var MainJS ="CLodopfuncs.js", + URL_WS1 = "ws://localhost:8000/"+MainJS, //ws用8000/18000 + URL_WS2 = "ws://localhost:18000/"+MainJS, + URL_HTTP1 = "http://localhost:8000/"+MainJS, //http用8000/18000 + URL_HTTP2 = "http://localhost:18000/"+MainJS, + URL_HTTP3 = "https://localhost.lodop.net:8443/"+MainJS; //https用8000/8443 + +var CreatedOKLodopObject, CLodopIsLocal, LoadJsState; + +//==判断是否需要CLodop(那些不支持插件的浏览器):== +function needCLodop() { + try { + var ua = navigator.userAgent; + if (ua.match(/Windows\sPhone/i) || + ua.match(/iPhone|iPod|iPad/i) || + ua.match(/Android/i) || + ua.match(/Edge\D?\d+/i)) + return true; + var verTrident = ua.match(/Trident\D?\d+/i); + var verIE = ua.match(/MSIE\D?\d+/i); + var verOPR = ua.match(/OPR\D?\d+/i); + var verFF = ua.match(/Firefox\D?\d+/i); + var x64 = ua.match(/x64/i); + if ((!verTrident) && (!verIE) && (x64)) return true; + else if (verFF) { + verFF = verFF[0].match(/\d+/); + if ((verFF[0] >= 41) || (x64)) return true; + } else if (verOPR) { + verOPR = verOPR[0].match(/\d+/); + if (verOPR[0] >= 32) return true; + } else if ((!verTrident) && (!verIE)) { + var verChrome = ua.match(/Chrome\D?\d+/i); + if (verChrome) { + verChrome = verChrome[0].match(/\d+/); + if (verChrome[0] >= 41) return true; + } + } + return false; + } catch (err) { + return true; + } +} + +//==检查加载成功与否,如没成功则用http(s)再试== +//==低版本CLODOP6.561/Lodop7.043及前)用本方法== +function checkOrTryHttp() { + if (window.getCLodop) { + LoadJsState = "complete"; + return true; + } + if (LoadJsState == "loadingB" || LoadJsState == "complete") return; + LoadJsState = "loadingB"; + var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement; + var JS1 = document.createElement("script") + ,JS2 = document.createElement("script") + ,JS3 = document.createElement("script"); + JS1.src = URL_HTTP1; + JS2.src = URL_HTTP2; + JS3.src = URL_HTTP3; + JS1.onload = JS2.onload = JS3.onload = JS2.onerror = JS3.onerror=function(){LoadJsState = "complete";} + JS1.onerror = function(e) { + if (window.location.protocol !== 'https:') + head.insertBefore(JS2, head.firstChild); else + head.insertBefore(JS3, head.firstChild); + } + head.insertBefore(JS1,head.firstChild); +} + +//==加载Lodop对象的主过程:== +(function loadCLodop(){ + if (!needCLodop()) return; + CLodopIsLocal = !!((URL_WS1 + URL_WS2).match(/\/\/localho|\/\/127.0.0./i)); + LoadJsState = "loadingA"; + if (!window.WebSocket && window.MozWebSocket) window.WebSocket=window.MozWebSocket; + //ws方式速度快(小于200ms)且可避免CORS错误,但要求Lodop版本足够新: + try { + var WSK1=new WebSocket(URL_WS1); + WSK1.onopen = function(e) { setTimeout("checkOrTryHttp();",200); } + WSK1.onmessage = function(e) {if (!window.getCLodop) eval(e.data);} + WSK1.onerror = function(e) { + var WSK2=new WebSocket(URL_WS2); + WSK2.onopen = function(e) {setTimeout("checkOrTryHttp();",200);} + WSK2.onmessage = function(e) {if (!window.getCLodop) eval(e.data);} + WSK2.onerror= function(e) {checkOrTryHttp();} + } + } catch(e){ + checkOrTryHttp(); + } +})(); + +//==获取LODOP对象主过程,判断是否安装、需否升级:== +function getLodop(oOBJECT, oEMBED) { + var strFontTag = "
    打印控件"; + var strLodopInstall = strFontTag + "未安装!点击这里执行安装"; + var strLodopUpdate = strFontTag + "需要升级!点击这里执行升级"; + var strLodop64Install = strFontTag + "未安装!点击这里执行安装"; + var strLodop64Update = strFontTag + "需要升级!点击这里执行升级"; + var strCLodopInstallA = "
    Web打印服务CLodop未安装启动,点击这里下载执行安装"; + var strCLodopInstallB = "
    (若此前已安装过,可点这里直接再次启动)"; + var strCLodopUpdate = "
    Web打印服务CLodop需升级!点击这里执行升级"; + var strLodop7FontTag = "
    Web打印服务Lodop7"; + var strLodop7HrefX86 = "点击这里下载安装(下载后解压,点击lodop文件开始执行)"; + var strLodop7HrefARM = "点击这里下载安装(下载后解压,点击lodop文件开始执行)"; + var strLodop7Install_X86 = strLodop7FontTag + "未安装启动," + strLodop7HrefX86; + var strLodop7Install_ARM = strLodop7FontTag + "未安装启动," + strLodop7HrefARM; + var strLodop7Update_X86 = strLodop7FontTag + "需升级," + strLodop7HrefX86; + var strLodop7Update_ARM = strLodop7FontTag + "需升级," + strLodop7HrefARM; + var strInstallOK = ",成功后请刷新本页面或重启浏览器。"; + var LODOP; + try { + var isWinIE = (/MSIE/i.test(navigator.userAgent)) || (/Trident/i.test(navigator.userAgent)); + var isWinIE64 = isWinIE && (/x64/i.test(navigator.userAgent)); + var isLinuxX86 = (/Linux/i.test(navigator.platform)) && (/x86/i.test(navigator.platform)); + var isLinuxARM = (/Linux/i.test(navigator.platform)) && (/aarch/i.test(navigator.platform)); + + if (needCLodop() || isLinuxX86 || isLinuxARM) { + try { + LODOP = window.getCLodop(); + } catch (err) {} + if (!LODOP && LoadJsState !== "complete") { + if (!LoadJsState) + alert("未曾加载Lodop主JS文件,请先调用loadCLodop过程."); else + alert("网页还没下载完毕,请稍等一下再操作."); + return; + } + var strAlertMessage; + if (!LODOP) { + if (isLinuxX86) + strAlertMessage = strLodop7Install_X86; + else if (isLinuxARM) + strAlertMessage = strLodop7Install_ARM; + else + strAlertMessage = strCLodopInstallA + (CLodopIsLocal ? strCLodopInstallB : ""); + document.body.innerHTML = strAlertMessage + strInstallOK + document.body.innerHTML; + return; + } else { + if (isLinuxX86 && LODOP.CVERSION < "7.0.4.3") + strAlertMessage = strLodop7Update_X86; + else if (isLinuxARM && LODOP.CVERSION < "7.0.4.3") + strAlertMessage = strLodop7Update_ARM; + else if (CLODOP.CVERSION < "6.5.7.1") + strAlertMessage = strCLodopUpdate; + + if (strAlertMessage) + document.body.innerHTML = strAlertMessage + strInstallOK + document.body.innerHTML; + } + } else { + //==如果页面有Lodop插件就直接使用,否则新建:== + if (oOBJECT || oEMBED) { + if (isWinIE) + LODOP = oOBJECT; + else + LODOP = oEMBED; + } else if (!CreatedOKLodopObject) { + LODOP = document.createElement("object"); + LODOP.setAttribute("width", 0); + LODOP.setAttribute("height", 0); + LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;"); + if (isWinIE) + LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA"); + else + LODOP.setAttribute("type", "application/x-print-lodop"); + document.documentElement.appendChild(LODOP); + CreatedOKLodopObject = LODOP; + } else + LODOP = CreatedOKLodopObject; + //==Lodop插件未安装时提示下载地址:== + if ((!LODOP) || (!LODOP.VERSION)) { + document.body.innerHTML = (isWinIE64 ? strLodop64Install : strLodopInstall) + strInstallOK + document.body.innerHTML; + return LODOP; + } + if (LODOP.VERSION < "6.2.2.6") { + document.body.innerHTML = (isWinIE64 ? strLodop64Update : strLodopUpdate) + strInstallOK + document.body.innerHTML; + } + } + //===如下空白位置适合调用统一功能(如注册语句、语言选择等):======================= + + + //=============================================================================== + return LODOP; + } catch (err) { + alert("getLodop出错:" + err); + } +} + diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/openUnflow.js b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/openUnflow.js new file mode 100644 index 0000000..85d2614 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/openUnflow.js @@ -0,0 +1,247 @@ +(function(f){ + var nameSpace = 'field_5209586381190735608'; + if(!window[nameSpace]){ + var Builder = f(); + window[nameSpace] = { + instance: {} + }; + window[nameSpace].init = function (options) { + window[nameSpace].instance[options.privateId] = new Builder(options); + }; + } +})(function(){ + /** + * 构造函数 + * @param options + * @constructor + */ + function App(options) { + var self = this; + //初始化参数 + self.initParams(options); + //初始化dom + self.initDom(); + //事件 + self.events(); + } + + App.prototype = { + initParams : function (options) { + var self = this; + self.adaptation = options.adaptation; + self.adaptation.formMessage = options.formMessage; + self.privateId = options.privateId; + self.messageObj = options.getData; + self.preUrl = options.url_prefix; + }, + initDom : function () { + var self = this; + dynamicLoading.css(self.preUrl + 'css/formQueryBtn.css'); + self.appendChildDom(); + }, + events : function () { + var self = this; + // 监听是否数据刷新 + + $(".field0215__").css("background-color","#008BFF"); + $(".field0215__").css("color","#FFFFFF"); + $(".field0215__").css("border-radius","10px"); + $(".field0215__").mouseover(function (e) { + var $this = $(this);// 当前触发事件的标签对象 + }).mouseout(function (e) { + $(".field0215__").css("background-color","#008BFF"); + }).mousemove(function (e) { + $(".field0215__").css("background-color","#005297"); + }); + + }, + appendChildDom : function () { + var self = this; + var domStructure = '
    '+ + '
    '+ self.messageObj.display.escapeHTML() +'
    '+ + '
    '; + document.querySelector('#' + self.privateId).innerHTML = domStructure; + var jumpFun = function() { + var url2 = window.location.origin; + var s = self; + // var recordId = self.messageObj.formdata.formsons.front_formson_7.records[0].recordId; + // 计费方式 + var field0021 = {fieldId: 'field0021'}; + var field0021value = csdk.core.getFieldData(field0021).showValue; + // 缴费方式 + var field0019 = {fieldId: 'field0019'}; + var field0019value = csdk.core.getFieldData(field0019).showValue; + // 年缴费方式类型 + var field0025 = {fieldId: 'field0025'}; + var field0025value = csdk.core.getFieldData(field0025).showValue; + // 面积单价 + var field0022 = {fieldId: 'field0022'}; + var field0022value = csdk.core.getFieldData(field0022).value; + // 固定租金单价 + var field0023 = {fieldId: 'field0023'}; + var field0023value = csdk.core.getFieldData(field0023).value; + // 合同开始日期 + var field0027 = {fieldId: 'field0027'}; + var field0027value = csdk.core.getFieldData(field0027).value; + // 合同结束日期 + var field0028 = {fieldId: 'field0028'}; + var field0028value = csdk.core.getFieldData(field0028).value; + // 租赁面积 + var field0060 = {fieldId: 'field0060'}; + var field0060value = csdk.core.getFieldData(field0060).value; + // 账单编号 + // var field0083 = {fieldId: 'field0083'}; + // var field0083value = csdk.core.getFieldData(field0083).value; + var field0083 = {fieldId: 'field0082'}; + var field0083value = csdk.core.getFieldData(field0083).value; + + // 判断合同开始日期是否在合同结束日期之前 + if(!isEmpty(field0027value)|| !isEmpty(field0028value)){ + if(Date.parse(field0027value)>Date.parse(field0028value)){ + $.alert("请正确填写合同日期"); + return ; + } + }else{ + $.alert("请填写合同日期"); + return ; + } + + // 当缴费方式为年缴费时年缴费类型必填 + if(field0019value=='年'){ + if(isEmpty(field0025value)){ + $.alert("请选择年缴费方式选项"); + return ; + } + } + + console.log(url2); + var str = ""; + + $.ajax({ + type : 'post', + async : true, + // 记得加随机数,不然如果ajax轮询请求会不执行 + url : encodeURI('/seeyon/ydctLeaseBillController.do?datetime=' + Math.random()), + data:{ + "jifeifs":field0021value, + "jiaofeifs":field0019value, + "njiaofeifs":field0025value, + "startDate":field0027value, + "endDate":field0028value, + "mj":field0060value, + "mjzj":field0022value, + "gdzj":field0023value, + "bdid":field0083value + }, + dataType : 'json', + contentType : 'application/json; charset=UTF-8', + success : function(res) { + var randomNum = Math.floor(Math.random() * 10001); + if(res.success){ + // $.alert("账单明细生成完成"); + if(field0083value=="" ){ + //self.adaptation.formdata.field0215__.formmains.formmain_0725.field0216.value = res.num; + var data = { + fieldId: 'field0083', + fieldData: { + value: res.num+'', //数据值,存入数据库中的value值 + display: res.num+'', //字段渲染在页面上的显示值,通常是经过format后的值 + auth: '' + } + }; + csdk.core.setFieldData(data); + } + // var field0084 = {fieldId: 'field0084'}; + // let field0084val = csdk.core.getFieldData(field0084) + // field0084val.value = randomNum+""; + // field0084val.showValue = randomNum+""; + // field0084val.showValue2 = randomNum+""; + // var adddata = {tableName : "formmain_0126", + // tableCategory : "formmain", + // updateData : { + // field0084 :field0084val + // } + // }; + // window.thirdPartyFormAPI.backfillFormControlData(adddata); + self.adaptation.formdata.field0082__.formmains.formmain_0126.field0084.value = randomNum; + // for(var i = 0 ; i < 20 ; i++){ + // var data1 ={ + // tableName:"formson_0128", + // isFormRecords:false, + // chooseRecords:{ + // formson_0128 : 0, + // }, + // callbackFn:test() + // } + // + // window.thirdPartyFormAPI.insertFormsonRecords(data1); + // } + + + + //self.adaptation.formdata.field0215__.formmains.formmain_0725.field0211.value = randomNum; + //self.adaptation.formdata.field0215__.formmains.formmain_0725.field0216.value = res.num; + // var data = { + // fieldId: 'field0211', + // fieldData: { + // value: randomNum+'', //数据值,存入数据库中的value值 + // display: randomNum+'', //字段渲染在页面上的显示值,通常是经过format后的值 + // auth: '' + // } + // }; + // csdk.core.setFieldData(data); + // self.adaptation.formdata.field0210__.formmains.formmain_0087.field0215.value = randomNum; + + + }else{ + $.alert(res.s); + } + } + }); + var content = self.messageObj.formdata.content; + + }; + document.querySelector('.' + self.privateId).removeEventListener('click', jumpFun); + document.querySelector('.' + self.privateId).addEventListener('click', jumpFun); + //渲染隐藏权限 + if (self.messageObj.auth === 'hide') { + document.querySelector('#' + self.privateId).innerHTML = '
    ***
    '; + } + } + }; + + function test() { + console.log("明细行生成成功");; + } + + + function isEmpty(text) { + return !text || text.trim() === ''; + } + + var dynamicLoading = { + css: function(path) { + if(!path || path.length === 0) { + throw new Error('argument "path" is required !'); + } + var head = document.getElementsByTagName('head')[0]; + var link = document.createElement('link'); + link.href = path; + link.rel = 'stylesheet'; + link.type = 'text/css'; + head.appendChild(link); + }, + js: function(path) { + if(!path || path.length === 0) { + throw new Error('argument "path" is required !'); + } + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.src = path; + script.type = 'text/javascript'; + head.appendChild(script); + } + } + + return App; +}); \ No newline at end of file diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/openUnflow.js.bak b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/openUnflow.js.bak new file mode 100644 index 0000000..1eb4434 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/openUnflow.js.bak @@ -0,0 +1,134 @@ +(function(f){ + var nameSpace = 'field_6664988151731237757'; + if(!window[nameSpace]){ + var Builder = f(); + window[nameSpace] = { + instance: {} + }; + window[nameSpace].init = function (options) { + window[nameSpace].instance[options.privateId] = new Builder(options); + }; + } +})(function(){ + /** + * 构造函数 + * @param options + * @constructor + */ + function App(options) { + var self = this; + //初始化参数 + self.initParams(options); + //初始化dom + self.initDom(); + //事件 + self.events(); + } + + App.prototype = { + initParams : function (options) { + var self = this; + self.adaptation = options.adaptation; + self.adaptation.formMessage = options.formMessage; + self.privateId = options.privateId; + self.messageObj = options.getData; + self.preUrl = options.url_prefix; + }, + initDom : function () { + var self = this; + dynamicLoading.css(self.preUrl + 'css/formQueryBtn.css'); + self.appendChildDom(); + }, + events : function () { + var self = this; + // 监听是否数据刷新 + + //$(".field0313__").css("background-color","#008BFF"); + //$(".field0313__").css("color","#FFFFFF"); + //$(".field0313__").css("border-radius","10px"); + //$(".field0313__").mouseover(function (e) { + // var $this = $(this);// 当前触发事件的标签对象 + //}).mouseout(function (e) { + // $(".field0313__").css("background-color","#008BFF"); + //}).mousemove(function (e) { + // $(".field0313__").css("background-color","#005297"); + //}); + + }, + appendChildDom : function () { + var self = this; + var domStructure = '
    '+ + '
    '+ self.messageObj.display.escapeHTML() +'
    '+ + '
    '; + document.querySelector('#' + self.privateId).innerHTML = domStructure; + var jumpFun = function() { + var url2 = window.location.origin; + var s = self; + + var field0206 = {fieldId: 'field0206'}; + var field0206value = csdk.core.getFieldData(field0206).value; + var field0068 = {fieldId: 'field0068'}; + var field0068value = csdk.core.getFieldData(field0068).value; + var field0212 = {fieldId: 'field0212'}; + var field0212value = csdk.core.getFieldData(field0212).value; + var field0213 = {fieldId: 'field0213'}; + var field0213value = csdk.core.getFieldData(field0213).value; + var field0214 = {fieldId: 'field0214'}; + var field0214value = csdk.core.getFieldData(field0214).value; + var field0207 = {fieldId: 'field0207'}; + var field0207value = csdk.core.getFieldData(field0207).showValue; + + var str = ""; + + $.ajax({ + type : 'post', + async : true, + // 记得加随机数,不然如果ajax轮询请求会不执行 + url : encodeURI('/seeyon/interestMeasurementController.do?datetime=' + Math.random()), + data:{"startDate":field0206value,"cycle":field0207value,"credit":field0068,"principal":field0212,"money":field0213,"interestRate":field0214,}, + dataType : 'json', + contentType : 'application/json; charset=UTF-8', + success : function(res) { + alert("123123123"); + + + } + }); + var content = self.messageObj.formdata.content; + + }; + document.querySelector('.' + self.privateId).removeEventListener('click', jumpFun); + document.querySelector('.' + self.privateId).addEventListener('click', jumpFun); + //渲染隐藏权限 + if (self.messageObj.auth === 'hide') { + document.querySelector('#' + self.privateId).innerHTML = '
    ***
    '; + } + } + }; + + var dynamicLoading = { + css: function(path) { + if(!path || path.length === 0) { + throw new Error('argument "path" is required !'); + } + var head = document.getElementsByTagName('head')[0]; + var link = document.createElement('link'); + link.href = path; + link.rel = 'stylesheet'; + link.type = 'text/css'; + head.appendChild(link); + }, + js: function(path) { + if(!path || path.length === 0) { + throw new Error('argument "path" is required !'); + } + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.src = path; + script.type = 'text/javascript'; + head.appendChild(script); + } + } + + return App; +}); \ No newline at end of file diff --git a/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/setTemplate.js b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/setTemplate.js new file mode 100644 index 0000000..bc6bb40 --- /dev/null +++ b/v5/apps-customize/src/main/webapp/apps_res/cap/customCtrlResources/ydctLeaseBillResources/js/setTemplate.js @@ -0,0 +1,99 @@ +var unflowList, param, loading, process; +$(document).ready(function() { + param = initParam().params;// 获取页面参数 + // 处理进度条 + process = top.$.progressBar({ + text : "加载中..." + }); + loading = true; + getUnflowList(); +}); + + +// 获取底表 +function getUnflowList() { + $.ajax({ + url : "/seeyon/rest/cap4/unflow/select", + async : true, + success : function(data) { + // 处理进度条 + if (loading) + process.close(); + loading = false; + //data = JSON.parse(data); + var result = data.data; + unflowList = result; + for (var i = 0; i < result.length; i++) { + $("#queryList ul").append( + $("
  • " + + result[i].name + + "
  • ").attr("info", + JSON.stringify(result[i]))); + } + $("#queryList ul").delegate( + "li", + "click", + function() { + $(this).siblings().removeClass('active').end() + .addClass('active'); + }); + if (param && param.id) { // 激活当前项 + $('#' + param.id).trigger('click'); + } + } + }); +} + +// 搜索 +function search() { + var searchValue = $("#search_query").val(); + $("#queryList ul").empty(); + for (var i = 0; i < unflowList.length; i++) { + if (unflowList[i].name.indexOf(searchValue) != -1) { + $("#queryList ul").append( + $("
  • " + + unflowList[i].name + "
  • ").attr( + "info", JSON.stringify(unflowList[i]))); + } + } +} + +// 返回参数获取 +function getResult() { + return JSON.parse($("#queryList ul").find(".active").attr("info") + || "{}"); +} + +// --------------------以下为固定方法,需要实现返回参数获取-------------- + +// 获取弹窗传递过来的参数 +function initParam() { + var obj = window.parentDialogObj && (window.parentDialogObj["ctrlDialog"]);// 获取窗口对象 + if (obj && obj.getTransParams) { + // 然后通过V5方法获取弹窗传递过来的参数 + return obj.getTransParams(); + } +} + +// 确定按钮调用方法,返回需要的json数据 +function OK() { + var result = getResult(); + + if (param && param.designId !== result.designId) + return { + valid : true, + data : { + customParam : { + templateId : result, + mapping : null + } + } + }; + + return { + valid : true, + data : result + }; +} \ No newline at end of file