| | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import java.util.concurrent.atomic.AtomicLong; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | serviceFundSharedMapper.delfundsharedInfoById(null, serviceFund1.getId()); |
| | | |
| | | //这个消息发送,就不在这做了,在审批记录的接口里做(即日志接口) |
| | | //sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber()); |
| | | // sendMeg(serviceFund1.getApplytype(), sysUser.getPhonenumber()); |
| | | } |
| | | |
| | | return true; |
| | |
| | | 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.getNickName() + " & 审批时间" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 审批结果:通过"); |
| | | serviceFund.setFinancechecher(user.getNickName()); |
| | | |
| | | serviceFund.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue()); |
| | | serviceFund.setRecordstatus(99); |
| | |
| | | serviceFundflow.setCheckuserno(user.getUserName()); |
| | | serviceFundflow.setCheckusername(user.getNickName()); |
| | | serviceFundflow.setFundtype(2); |
| | | serviceFundflow.setCheckTime(new Date()); |
| | | serviceFundflow.setApplytype(serviceFund.getApplytype()); |
| | | serviceFundflow.setFlowconclusion(CheckFlag); |
| | | serviceFundflow.setFlowcontent("通过"); |
| | |
| | | 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.getNickName() + " & 审批时间" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 审批结果:通过"); |
| | | serviceFund.setFinancechecher(user.getNickName()); |
| | | } |
| | | |
| | | //记录一下,下一级的审批,以便于下一级退回后,发起者提交时,能再提到当前审批层级 |
| | |
| | | FlowLevel = 0; |
| | | RecordStatus = -1; |
| | | log.info("serviceFund进来了吗?????? :{},{}", RecordStatus, FlowLevel); |
| | | System.out.println("serviceFund进来了吗??????"); |
| | | } else { |
| | | RecordStatus = (FlowLevel + 1) * 2 - 1; |
| | | FlowLevel = (FlowLevel - 1); |
| | |
| | | serviceFundflow.setFundtype(2); |
| | | serviceFundflow.setApplytype(serviceFund.getApplytype()); |
| | | serviceFundflow.setFlowconclusion(CheckFlag); |
| | | serviceFundflow.setCheckTime(new Date()); |
| | | if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) { |
| | | serviceFundflow.setFlowcontent(checkFundVO.getFlowcontent()); |
| | | } else { |
| | |
| | | } |
| | | } |
| | | System.out.println("serviceFund的值是--------:" + serviceFund); |
| | | log.info("开始更新的的值是--------"); |
| | | |
| | | Boolean aBoolean1 = updateById(serviceFund); |
| | | log.info("integer更新的的值是-------- :{}", aBoolean1); |
| | | ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage(); |
| | |
| | | |
| | | // 主表字段数据 |
| | | 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")); |
| | |
| | | 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<>(); |
| | | |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | |
| | | private Map<String, Object> getformmain_0831(ServiceFundShared serviceFundShared) { |
| | | private Map<String, Object> getformmain_0831(ServiceFund serviceFund) { |
| | | ServiceFundflow serviceFundflow = new ServiceFundflow(); |
| | | serviceFundflow.setFundid(serviceFund.getId()); |
| | | serviceFundflow.setFundtype(2); |
| | | List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow); |
| | | |
| | | 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("财务部负责人审批", getLastApprovalInfo(serviceFundflows, serviceFund.getFinancedirector())); |
| | | formmain_0831.put("办公室主任审批", getLastApprovalInfo(serviceFundflows, 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("组长", getLastApprovalInfo(serviceFundflows, serviceFund.getManagername())); |
| | | formmain_0831.put("审批人员", StringUtils.isEmpty(getLastApprovalInfo(serviceFundflows, serviceFund.getFinancechecher())) ? "陈慕华" : getLastApprovalInfo(serviceFundflows, 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; |
| | | } |
| | | |
| | | |
| | | public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) { |
| | | log.info("---------------serviceFundflows的入参为:{},managerName的值为:{}", serviceFundflows, managerName); |
| | | if (StringUtils.isEmpty(managerName)) return ""; |
| | | if (CollectionUtils.isEmpty(serviceFundflows)) { |
| | | //如果是最后一个人审批,这个时候可能flow里还没有生成进去 |
| | | SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | return "审批人:" + managerName + " & 审批时间:" + sd.format(new Date()) + " & 审批结果:通过"; |
| | | } |
| | | |
| | | Optional<ServiceFundflow> lastApproval = serviceFundflows.stream().filter(flow -> managerName.contains(flow.getCheckusername())).max(Comparator.comparing(ServiceFundflow::getCreateTime)); |
| | | |
| | | if (lastApproval.isPresent()) { |
| | | ServiceFundflow flow = lastApproval.get(); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | if (flow.getCheckTime() == null) { |
| | | flow.setCheckTime(new Date()); |
| | | } |
| | | String formattedTime = sdf.format(flow.getCheckTime()); |
| | | |
| | | return "审批人:" + managerName + " & 审批时间:" + formattedTime + " & 审批结果:通过"; |
| | | } |
| | | |
| | | return ""; |
| | | } |
| | | |
| | | @Override |
| | |
| | | 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); |
| | | |
| | |
| | | serviceFundflow.setUpdateBy(serviceProcessVO.getCheckusername()); |
| | | serviceFundflow.setCheckusername(serviceProcessVO.getCheckusername()); |
| | | serviceFundflow.setCreateTime(new Date()); |
| | | serviceFundflow.setCheckTime(new Date()); |
| | | 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); |