起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: rqlf

[结贴] 预算DEMO作预算变更后不可用!

  [复制链接]

32

主题

94

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2014-7-4 18:44:36 | 显示全部楼层
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import com.justep.system.process.ProcessUtils;
import com.justep.system.util.CommonUtils;
import com.justep.system.data.KSQL;
import com.justep.system.data.Row;
import com.justep.system.data.Table;

public class BadgutAlter {
        public static void badgutAlterProcessAfterFinish() throws Exception {
                String sql = null, detailID = null, fact = null, plan = null;
                int year;
                String deptID = null, deptName = null, personID = null, personName = null, url = null, businessID = null;
                String bizID = ProcessUtils.getProcessData1();
                sql = "select d.fBGDetailID,m.fYear,m.fCreateDeptID,m.fCreateDeptName,m.fCreatePsnID,m.fCreatePsnName,m.fCreatePsnFID,d.fBGAlterID,"
                        +"d.fPlan1,d.fPlan2,d.fPlan3,d.fPlan4,d.fPlan5,d.fPlan6,d.fPlan7,d.fPlan8,d.fPlan9,d.fPlan10,d.fPlan11,d.fPlan12,"
                        +"d.fAlter1,d.fAlter2,d.fAlter3,d.fAlter4,d.fAlter5,d.fAlter6,d.fAlter7,d.fAlter8,d.fAlter9,d.fAlter10,d.fAlter11,d.fAlter12 from OA_BG_AlterD d join OA_BG_AlterM m on m = d.fBGAlterID where d.fBGAlterID = '" + bizID + "'";
                Table table = KSQL.select(sql, null, "/OA/badgut/data", null);
                Iterator<Row> rows = table.iterator();
                while (rows.hasNext()) {
                        Row rs = rows.next();
                        detailID = rs.getString("fBGDetailID");
                        year = rs.getInteger("fYear");
                        deptID = rs.getString("fCreateDeptID");
                        deptName = rs.getString("fCreateDeptName");
                        personID = rs.getString("fCreatePsnID");
                        personName = rs.getString("fCreatePsnName");
                        url = rs.getString("fCreatePsnFID");
                        businessID = rs.getString("fBGAlterID");
                        for (int i = 1; i < 13; i++) {
                                if (rs.getDecimal("fPlan" + i)!=rs.getDecimal("fAlter" + i)) {
                                //        sql = "update OA_BG_BadgutD d set d.fPlan" + i + " = " + fact + " where d = '" + detailID + "'";
                                        KSQL.executeUpdate(sql, null, "/OA/badgut/data", null);
                                       
                                        sql = "insert into OA_BG_History  h(h,h.fAccountID,h.fAccountCode,h.fAccountName,h.version,h.fCostCenterID,h.fCostCenterCode,h.fCostCenterName,"
                                                        + "h.fYear,h.fMonth,h.fKindID,h.fKindName,h.fAmount,h.fSurplus,h.fDeptID,h.fDeptName,h.fPersonID,h.fPersonName,h.fURL,h.fBusinessID,"
                                                        + "h.fFuncURL,h.fDateTime,h.fProcess,h.fActivity)"
                                                        +"(select guid(),d.fAccountID,d.fAccountCode,d.fAccountName,0,m.fCostCenterID,m.fCostCenterCode,m.fCostCenterName,'"
                                                        + year + "','" + i + "','alter','预算变更'," + rs.getDecimal("fAlter" + i) + " - " + rs.getDecimal("fPlan" + i) + "," + rs.getDecimal("fAlter" + i) + ",'"
                                                        + deptID + "','" + deptName + "','" + personID + "','" + personName + "','"
                                                        + url + "','" + businessID
                                                        + "','/OA/badgut/process/badgutAlterDetail/badgutAlterDetail.w',:strDate,'/OA/badgut/process/badgutAlterQuery/badgutAlterQueryProcess','startActivity' "
                                                        +" from OA_BG_BadgutM m join OA_BG_BadgutD d on m=d.fBGBadgutID where d = '"
                                                        + detailID + "')";
                                        Map<String, Object> param = new HashMap<String, Object>();
                                        param.put("strDate", CommonUtils.getCurrentDateTime());
                                        KSQL.executeUpdate(sql, param, "/OA/badgut/data", null);
                                }
                        }
                }
        }
}
回复 支持 反对

使用道具 举报

32

主题

94

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2014-7-4 18:45:46 | 显示全部楼层
        sql = "update OA_BG_BadgutD d set d.fPlan" + i + " = " + fact + " where d = '" + detailID + "'";
为什么这够加入的数据都是null?
回复 支持 反对

使用道具 举报

32

主题

94

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2014-7-4 19:12:40 | 显示全部楼层
问题出在这句:KSQL.executeUpdate(sql, null, "/OA/badgut/data", null);
回复 支持 反对

使用道具 举报

32

主题

94

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
 楼主| 发表于 2014-7-4 19:12:56 | 显示全部楼层
如何如何修改
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-7-5 13:35:52 | 显示全部楼层

数据有问题,导致格式化数据失败,具体哪个数据有问题,楼主设断点跟一下
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 11:28 , Processed in 0.126150 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表