//package com.changhong.epc.form.execute.impl; // //import java.util.ArrayList; //import java.util.List; //import java.util.Map; //import java.util.Objects; // //import com.changhong.autoform.entity.ProcessBudget; //import com.changhong.epc.bean.form.CpnVal; //import com.changhong.epc.bean.form.Fieldsets; //import com.changhong.epc.bean.form.FormType; //import com.changhong.epc.constter.system.businesscode.BudgetBusinessMeaningCode; //import com.changhong.epc.form.execute.BudgetRecord; //import com.changhong.epc.form.execute.IFormOthersOperation; //import com.changhong.epc.form.execute.IProcessBudgetBack; //import com.iemsoft.framework.cloud.core.tools.JSONTool; //import com.iemsoft.framework.cloud.core.tools.SpringUtil; // //import lombok.extern.slf4j.Slf4j; // ///** // * // * 一个预算单 1000元 // * 1. 申请100元 —— 回写预算 900 // * 2. 报销200元 __ 加会报销单对应的申请单 900+100 - 200 = 800元 为负数 抛异常 // * 3. 报销单直接选择预算 直接扣除预算 // * // * 每一次操作都要记录log // * @param processBudget // */ //@Slf4j //public class ProcessBudgetBack2 implements IProcessBudgetBack, BudgetBusinessMeaningCode { // // private MainLogic mainLogic; // // // @Resource // private IFormOthersOperation formOthersOperation = SpringUtil.getBean(IFormOthersOperation.class); // = new FormOthersOperationImpl(); // // private String costType; // private Boolean sjys = true; // // public ProcessBudgetBack2(MainLogic mainLogic) { // this.mainLogic = mainLogic; // } // // @Override // public BudgetRecord exeBudget(List budgetRecords, ProcessBudget processBudget) { // //// // BudgetRecord exeBasic = exeBasic(budgetRecords,processBudget); //// //// if(sjys && //// ( exeBasic.getProcessBudget() !=null //// && exeBasic.getProcessBudget().getFormID() != null)) { //// sjys = false; //// // System.out.println("exeBasic.getProcessBudget(): "+exeBasic.getProcessBudget()); //// exeBudget(budgetRecords, exeBasic.getProcessBudget()); //// } // return null; // } // // // // // // // // public String findFormCpnInfo(Map fromInfo,String alias){ // if(fromInfo == null){ // return "0"; // } // return Objects.toString(fromInfo.get(alias), "0"); // // } // // public void budgetExe(ProcessBudget processBudget){ // List budgetRecords = new ArrayList<>(); // // Fieldsets formFieldProperty = formOthersOperation.getFormFieldProperty(processBudget); // // List mainCpn = formFieldProperty.getMainCpn(); // // Map fromInfo = formOthersOperation.getFromInfo(processBudget); // List> subInfo = (List>) fromInfo.get(BUDGET_SUB_FROM); // // // for (CpnVal cpnVal : mainCpn) { // // // 引用上级表单 // if (Objects.equals(cpnVal.getTagType(), "mytext")) { // BudgetRecord budgetRecor = new BudgetRecord(); // //ProcessBudget processBudget = new ProcessBudget(); // try { // if (Objects.equals(processBudget.getCostType(), costType)) { // // budgetRecor.setProcessBudget(cpnVal.getChooseForm()); // // String[] subIds = Objects.toString(fromInfo.get(cpnVal.getAlias())).split(","); // // budgetRecor.getProcessBudget().setDataRowNUm(null); // budgetRecor.getProcessBudget().setAlias(BUDGET_SUB_FROM); // ProcessBudget mbpro = budgetRecor.getProcessBudget(); // for (String ids : subIds) { // Integer valueOf = Integer.valueOf(ids); // ProcessBudget obj = JSONTool.toObj(JSONTool.toJson(mbpro), ProcessBudget.class); // obj.setDataRowNUm(valueOf); // BudgetRecord budgetRecord = new BudgetRecord(); // budgetRecord.setProcessBudget(obj); // // } // } // budgetRecor.setCpnVal(cpnVal); // // // 查询表单数据信息 // // budgetRecord.setValue(formOthersOperation.getFromInfo(budgetRecord.getProcessBudget())); // // } catch (Exception e) { // // } // // } // // } // // } // // // public void supperbudgetExe(){ // // } // // /** // * // */ // @Override // public BudgetRecord exeBasics(List budgetRecords, // ProcessBudget processBudget){ // // Fieldsets formFieldProperty = formOthersOperation.getFormFieldProperty(processBudget); // // List mainCpn = formFieldProperty.getMainCpn(); // List subCpn = new ArrayList<>(); // // List budgetRecords1 = new ArrayList<>(); //new BudgetRecord(); // Map fromInfo = formOthersOperation.getFromInfo(processBudget); // List> subInfo = (List>) fromInfo.get(BUDGET_SUB_FROM); // // // // // // budgetRecord.setType(FormType.SQ); // budgetRecord.setAtProcessBudget(processBudget); // // List pBudgets = new ArrayList<>(); // // for(CpnVal subCpnValKey : formFieldProperty.getSubform().keySet()){ // if(Objects.equals(subCpnValKey.getAlias(), BUDGET_SUB_FROM)){ // subCpn = formFieldProperty.getSubform().get(subCpnValKey); // } // } // // /* // * 当前详细 // */ // for (CpnVal cpnVal : mainCpn) { // // // 引用上级表单 // if(Objects.equals(cpnVal.getTagType(), "mytext")){ // BudgetRecord budgetRecor = new BudgetRecord(); // try { // if(Objects.equals(processBudget.getCostType(),costType)){ // // budgetRecor.setProcessBudget(cpnVal.getChooseForm()); // // String[] subIds = Objects.toString(fromInfo.get(cpnVal.getAlias())).split(","); // // // budgetRecor.getProcessBudget().setDataRowNUm(null); // budgetRecor.getProcessBudget().setAlias(BUDGET_SUB_FROM); // ProcessBudget mbpro = budgetRecor.getProcessBudget(); // for(String ids : subIds){ // Integer valueOf = Integer.valueOf(ids); // ProcessBudget obj = JSONTool.toObj(JSONTool.toJson(mbpro),ProcessBudget.class); // obj.setDataRowNUm(valueOf); // pBudgets.add(obj); // } // } // budgetRecor.setCpnVal(cpnVal); // // // 查询表单数据信息 // // budgetRecord.setValue(formOthersOperation.getFromInfo(budgetRecord.getProcessBudget())); // // } catch (Exception e) { // // } // // } // // } // // // for(int i=0; i < subInfo.size(); i++){ // BudgetRecord budgetRecord = new BudgetRecord(); // // ProcessBudget obj = JSONTool.toObj(JSONTool.toJson(processBudget),ProcessBudget.class); // obj.setAlias(BUDGET_SUB_FROM); // obj.setDataRowNUm(Integer.valueOf(subInfo.get(i).get(DATAROWNUMBER).toString())); // budgetRecord.setAtProcessBudget(obj); // // for(CpnVal cpnVal : subCpn){ // // 报销金额 // if(Objects.equals(cpnVal.getAlias(), EXPEND_USE_MONEY)){ // budgetRecord.getMoney().alias = cpnVal.getAlias(); // budgetRecord.getMoney().money = Double.valueOf( // findFormCpnInfo(fromInfo, cpnVal.getAlias()) // ); // budgetRecord.getSumMoney().oldMoney = budgetRecord.getSumMoney().money; // } // // // // 获得申请金额 // if(Objects.equals(cpnVal.getAlias(), APPLY_USE_MONEY)){ // budgetRecord.getMoney().alias = cpnVal.getAlias(); // budgetRecord.getMoney().money = Double.valueOf( // findFormCpnInfo(fromInfo, cpnVal.getAlias()) // ); // budgetRecord.getSumMoney().oldMoney = budgetRecord.getSumMoney().money; // } // // // 获得预算余额 // if(Objects.equals(cpnVal.getAlias(), BUDGET_ITEM_BALANCE)){ // // budgetRecord.getMoney().alias = cpnVal.getAlias(); // budgetRecord.getMoney().money = Double.valueOf( // findFormCpnInfo(fromInfo, cpnVal.getAlias()) // ); // budgetRecord.getSumMoney().oldMoney = budgetRecord.getSumMoney().money; // // } // // // 获得预算总额 // if(Objects.equals(cpnVal.getAlias(), BUDGET_ITEM_MONEY)){ // budgetRecord.getSumMoney().alias = cpnVal.getAlias(); // budgetRecord.getSumMoney().money = Double.valueOf( // findFormCpnInfo(fromInfo, cpnVal.getAlias()) // ); // budgetRecord.getSumMoney().oldMoney = budgetRecord.getSumMoney().money; // // } // } // } // // // // budgetRecords1.add(budgetRecord); // return budgetRecord; // } // // @Override // public BudgetRecord exeApply(List budgetRecords, ProcessBudget processBudget) { // return null; // } // // @Override // public BudgetRecord exeExpense(List budgetRecords, ProcessBudget processBudget) { // return null; // } // // //}