liusheng
昨天 068519d38ca60263d939ef8fc0522cce07212b93
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -45,6 +45,7 @@
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
/**
@@ -421,7 +422,8 @@
            SysUser user = loginUser.getUser();
            if (serviceFund.getFlowlevel() == Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1) && serviceFund.getBackflowlevel() == 100) {
                log.info("财务退回再提交,出纳再次审批,之后提交到财务");
                serviceFund.setFinancechecher("审批人:" + user.getUserName() + " & 审批时间" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 审批结果:通过");
//                serviceFund.setFinancechecher("审批人:" + user.getUserName() + " & 审批时间" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 审批结果:通过");
                serviceFund.setFinancechecher(user.getNickName());
                serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
                serviceFund.setRecordstatus(99);
@@ -454,7 +456,8 @@
            List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId());
            if (roleIds != null && roleIds.contains(11)) {
                //11为财务
                serviceFund.setFinancechecher("审批人:" + user.getUserName() + " & 审批时间" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 审批结果:通过");
//                serviceFund.setFinancechecher("审批人:" + user.getUserName() + " & 审批时间" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 审批结果:通过");
                serviceFund.setFinancechecher(user.getNickName());
            }
            //记录一下,下一级的审批,以便于下一级退回后,发起者提交时,能再提到当前审批层级
@@ -608,7 +611,7 @@
        // 主表字段数据
        Map<String, Object> data2 = new HashMap<>();
        data2.put("formmain_0831", getformmain_0831(fundShareInfos.get(0)));
        data2.put("formmain_0831", getformmain_0831(serviceFund));
        // 明细表字段数据,与附件的处理
        Map<String, List<Map<String, Object>>> map1 = formson_0832(serviceFunddetailShareds);
        data2.put("formson_0832", map1.get("formson_0832"));
@@ -679,6 +682,8 @@
        return true;
    }
    private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis());
    private Map<String, List<Map<String, Object>>> formson_0832(List<ServiceFunddetailShared> serviceFunddetailSharedList) {
        Map<String, List<Map<String, Object>>> allMap = new HashMap<>();
@@ -694,12 +699,12 @@
            map.put("收益人家属或专家", serviceFunddetailShared.getBeneficiaryname());
            map.put("税后金额", serviceFunddetailShared.getTaxamount());
            map.put("作废最终金额", null);
            Long fpuuid = System.currentTimeMillis() + 5;
            Long fpuuid = COUNTER.incrementAndGet();
            map.put("发票附件", fpuuid);
            map.put("发票识别", null);
            map.put("识别人", null);
            map.put("税额", null);
            long qtuuid = System.currentTimeMillis() + 20;
            long qtuuid = COUNTER.incrementAndGet();
            map.put("其他附件", qtuuid);
            map.put("项目编码", serviceFunddetailShared.getItemcode());
            map.put("预算项目", null);
@@ -744,46 +749,46 @@
    }
    private Map<String, Object> getformmain_0831(ServiceFundShared serviceFundShared) {
    private Map<String, Object> getformmain_0831(ServiceFund serviceFund) {
        Map<String, Object> formmain_0831 = new HashMap<>();
        formmain_0831.put("捐献者姓名", serviceFundShared.getDonorname());
        formmain_0831.put("报销人员", serviceFundShared.getUsername());
        formmain_0831.put("业务区域", serviceFundShared.getDeptmentname());
        formmain_0831.put("经手人", serviceFundShared.getUsername());
        formmain_0831.put("填表时间", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceFundShared.getApplyTime()));
        formmain_0831.put("报销金额合计", serviceFundShared.getPretaxcost());
        formmain_0831.put("捐献者姓名", serviceFund.getDonorname());
        formmain_0831.put("报销人员", serviceFund.getUsername());
        formmain_0831.put("业务区域", serviceFund.getDeptmentname());
        formmain_0831.put("经手人", serviceFund.getUsername());
        formmain_0831.put("填表时间", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceFund.getApplyTime()));
        formmain_0831.put("报销金额合计", serviceFund.getPretaxcost());
        formmain_0831.put("上传附件", null);
        formmain_0831.put("备注", null);
        formmain_0831.put("财务审批", serviceFundShared.getFinancechecher());
        formmain_0831.put("财务部负责人审批", serviceFundShared.getFinancedirector());
        formmain_0831.put("办公室主任审批", serviceFundShared.getOfficedirector());
        formmain_0831.put("业务副院长审批", serviceFundShared.getBusvicepresident());
        formmain_0831.put("财务副院长审批", serviceFundShared.getFinvicepresident());
        formmain_0831.put("中心负责人审批", serviceFundShared.getOpochecker());
        formmain_0831.put("支付方式", serviceFundShared.getZffs());
        formmain_0831.put("组长", null);
        formmain_0831.put("审批人员", null);
        formmain_0831.put("支付日期", serviceFundShared.getRiqi());
        formmain_0831.put("财务审批", null);
        formmain_0831.put("财务部负责人审批", serviceFund.getFinancedirector());
        formmain_0831.put("办公室主任审批", serviceFund.getOfficedirector());
        formmain_0831.put("业务副院长审批", serviceFund.getBusvicepresident());
        formmain_0831.put("财务副院长审批", serviceFund.getFinvicepresident());
        formmain_0831.put("中心负责人审批", serviceFund.getOpochecker());
        formmain_0831.put("支付方式", serviceFund.getZffs());
        formmain_0831.put("组长", serviceFund.getManagername());
        formmain_0831.put("审批人员", serviceFund.getFinancechecher());
        formmain_0831.put("支付日期", serviceFund.getRiqi());
        formmain_0831.put("识别人-作废", null);
        formmain_0831.put("财务审批签字", serviceFundShared.getFinancedirector());
        formmain_0831.put("财务部负责人签字", serviceFundShared.getFinancedirector());
        formmain_0831.put("财务审批签字", serviceFund.getFinancedirector());
        formmain_0831.put("财务部负责人签字", serviceFund.getFinancedirector());
        formmain_0831.put("表达类型", null);
        formmain_0831.put("税前金额合计", serviceFundShared.getPretaxcost());
        formmain_0831.put("税额合计", serviceFundShared.getPretaxcost() - serviceFundShared.getTaxedcost());
        formmain_0831.put("税前金额合计", serviceFund.getPretaxcost());
        formmain_0831.put("税额合计", serviceFund.getPretaxcost() - serviceFund.getTaxedcost());
        formmain_0831.put("表单编号1", null);
        formmain_0831.put("编码", null);
        formmain_0831.put("CIF账套配置1", null);
        formmain_0831.put(" 院区", null);
        formmain_0831.put("是否支付", serviceFundShared.getIsdistribute());
        formmain_0831.put("是否支付", serviceFund.getIsdistribute());
        formmain_0831.put("凭证号", null);
        formmain_0831.put("银行回单", null);
        formmain_0831.put("OFD", null);
        formmain_0831.put("表单附件", null);
        formmain_0831.put("现金流量分析", null);
        formmain_0831.put("凭证类别", null);
        formmain_0831.put("税后金额合计", serviceFundShared.getTaxedcost());
        formmain_0831.put("税后金额合计", serviceFund.getTaxedcost());
        formmain_0831.put("历史审批记录", null);
        formmain_0831.put("表单编号", serviceFundShared.getSerfunid());
        formmain_0831.put("表单编号", serviceFund.getId());
        formmain_0831.put("历史审批单查询", null);
        return formmain_0831;
    }
@@ -1641,7 +1646,7 @@
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("userName", "opo");
        map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5");
        map.put("loginName", "demo");
        map.put("loginName", "OPO系统");
        JSONObject jsonObj = new JSONObject(map);
@@ -1771,8 +1776,8 @@
        serviceFundflow.setUpdateTime(new Date());
        serviceFundflow.setFlowcontent(serviceProcessVO.getFlowcontent());
        serviceFundflow.setFlowconclusion(StringUtils.isNotEmpty(serviceProcessVO.getFlowconclusion()) ? Integer.valueOf(serviceProcessVO.getFlowconclusion()) : null);
        if (serviceProcessVO.getApplytype() == "0") serviceFundflow.setFundtype(1);
        if (serviceProcessVO.getApplytype() == "1") serviceFundflow.setFundtype(2);
        if (serviceProcessVO.getApplytype().equals("0")) serviceFundflow.setFundtype(1);
        if (serviceProcessVO.getApplytype().equals("1")) serviceFundflow.setFundtype(2);
        serviceFundflow.setFlowlevel(100);
        serviceFundflow.setApplytype(serviceProcessVO.getApplytype());
        serviceFundflow.setFundid(StringUtils.isNotEmpty(serviceProcessVO.getBackCode()) ? Long.valueOf(serviceProcessVO.getBackCode()) : null);