博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让你写的代码“说话”
阅读量:6714 次
发布时间:2019-06-25

本文共 1902 字,大约阅读时间需要 6 分钟。

方法很简单: 按功能点用空行隔开。下面的注释我不会加,写上只是说明我的观点。什么时候加注释:你对所在公司有好的期望,敷衍公司的规定。    
//方法的命名一定要用英文,别说英文不行,下个有道或什么的工具,如果是一个项目,建议开工前搞一个面向领域的词汇集,就算意
//义不是很明确也比汉语拼音的简写强百倍。
public String batch_pay() throws DbException
    {
//这两句话代码要对字符串数组处理,一个功能点
            String[] fybxdh =  this.getParameterValues("fybxdh");
            String[] ss = fybxdh[0].replaceAll("\'|\\[|\\]", "").split(",");
   //这两点话表示产生当前日期的格式化字符串 ,刚开始我把这两句话放到第二个循环中,如果数据量巨大,不断地new ,
//影响程序性能 ,为了程序阅读方便,其实这两句应该移到第二个for之前。       
            SimpleDateFormat formatter = new SimpleDateFormat ("yyyy/MM/dd");
            String date_bxrq = formatter.format(new Date());
              //循环表示对上面的字符串数组进行迭代处理   
            for(int i = 0; i < ss.length; i++)
            {
                 String select_dqzt = "select t.dqzt  from SBXT_YWCL_B_FYBX_BXMXB t where   t.FYBXDH = '"+ ss[i] +"'";
                 Result rs = sqlSession._sqlQuery(select_dqzt);
                 rs.next();
                 String dqzt = rs.getString("dqzt");
                   //对当前状态判断,如果有杂质,返回去重新去选。             
                 if(dqzt.equals("支付") )
                 {
                        return "您选择的报销单中有已支付状态的选项,请重新选择!";
                 }
            }
//程序到这里,已经没有杂质了,可以进行数据库操作。以下这个循环我现在怀疑会产生数据异常,是否在一个事务中呢?
            for(int i = 0; i < ss.length; i++)
            {
               
                String update_bx_sql = "UPDATE SBXT_YWCL_B_FYBX_BXMXB SET dqzt = '支付', bxrq = to_date('"+date_bxrq+"', 'yyyy/mm/dd')  " +
                                       "WHERE fybxdh IN (" +
                                                 "SELECT T.fybxdh\n" +
                                                 "FROM (SELECT T.FYBXDH, T.KHYH\n" +
                                                       "FROM SBXT_YWCL_B_FYBX_BXMXB T, SBXT_XTGL_B_JBXX_CBRJBXXB T1\n" +
                                                       "WHERE T.BXXMBM = '003'\n" +
                                                       "AND T.FYBXDH = '"+ ss[i] +"'" +
                                                       "AND T1.CBRID = T.CBRID) T)";
               String update_zf_sql = "UPDATE SBXT_YWCL_B_FYBX_zfMXB SET dqzt='支付' WHERE fyzfdh IN (SELECT T.fybxdh\n" +
                                   "  FROM (SELECT T.FYBXDH, T.KHYH\n" +
                                   "                 FROM SBXT_YWCL_B_FYBX_BXMXB T, SBXT_XTGL_B_JBXX_CBRJBXXB T1\n" +
                                   "                 WHERE T.BXXMBM = '003'\n" +
                                   "                 AND T.FYBXDH = '"+ ss[i] +"'" + 
                                   "                 AND T1.CBRID = T.CBRID) T\n" +
                                   ")";
       
               int result = sqlSession._sqlUpdate(update_bx_sql);
               result = sqlSession._sqlUpdate(update_zf_sql);
           }
           //返回处理的结果
           if(ss.length > 0)
           {
               return "成功支付"+ss.length+"个报销单!";
           }else
           {
               return "没有要支付的报销单!";
           }
    }   

转载于:https://www.cnblogs.com/herosoft/p/5150723.html

你可能感兴趣的文章
关于Unity粒子系统优化,你可能遇到这些问题
查看>>
细粒度审计导致SYSTEM表空间异常引发ORA-01653同时性能异常
查看>>
QTP中VBS脚本下FSO、WSH的应用(二)
查看>>
Mysql 备份恢复与xtrabackup备份
查看>>
C#常用集合总结-3
查看>>
windows和Linux双系统卸载Linux系统
查看>>
Apache+Fastcgi模块+APC经典配置
查看>>
perl学习笔记(8)
查看>>
推荐一款USB维护系统:杏雨梨云USB维护系统
查看>>
【电信增值业务学习笔记】8 3G视频类增值业务
查看>>
SQL SERVER2008R2 不允许保存更改,您所做…
查看>>
【Java习作】提取汉字拼音首字母(Java版)
查看>>
基于WebSphere与Domino的电子商务网站构架分析
查看>>
Apache 内存暴增解决方法
查看>>
演示:Linux工程环境应用实训(防火墙、NAT、静态路由)详细配步骤
查看>>
10月第4周安全回顾 PDF漏洞攻击泛滥 趋势收购Provilla
查看>>
Citrix VDI实战攻略之六:构建虚拟桌面
查看>>
手把手教你将CMS论坛数据导入到SQL Server数据库里
查看>>
02-Windows Server 2012 R2 会话远程桌面-快速部署(RemoteApp)
查看>>
如何将word中的图片复制到windows live writer 保持大小不变--清晰度不变
查看>>