tm.begin();
sm.begin();
try {
result = excel.readE(headKeyV,path);
for (int index = 1; index < result.size(); index++) {
tempMap = result.get(index);
if(StringUtils.isEmpty(tempMap.get("XREDID_DUE_DATE"))&& !StringUtils.isEmpty(tempMap.get("XREDID_DATE"))) {
tempMap.put("XSSI_DOMAIN", request.getUser().getDomain());
tempMap.put("XSSI_CM", tempMap.get("XREDI_CM"));
Map map = (Map) sm.getItem("srm.edi.EdiReportBehind.getxssiList", tempMap);
if (map != null) {
//tempMap.remove(tempMap.get("XREDID_DUE_DATE"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();// 获取日历实例
calendar.setTime(sdf.parse(tempMap.get("XREDID_DATE")+ ""));
int val = Integer.parseInt((map.get("XSSI_ADVANCE") + ""));
calendar.add(Calendar.DAY_OF_MONTH, val);// 参数-1代表在原来时间的基础上减少一天,换为1则为加一天;
Date endDate = calendar.getTime();// 获取改变后的时间
tempMap.put("XREDID_DUE_DATE", sdf.format(endDate));
}
}

NewNbr = getnbr();
tempMap.put("NBR", NewNbr);
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateNowStr = sdf.format(d);
tempMap.put("XREDI_CRT_DATE", dateNowStr);
tempMap.put("XREDI_CRT_USER", request.getUser().getId());
tempMap.put("DOMAIN", request.getUser().getDomain());
tempMap.put("XREDI_STATUS", "00.LOADING");
tempMap.put("XREDI_TYPE", "IMPORT");
// tempMap.put("XREDI_DOMAIN", request.getUser().getDomain());

Calendar now = Calendar.getInstance();
tempMap.put("XREDID_LINE", index);
tempMap.put("XREDID_NBR", NewNbr);
count++;

int edi =sm.updateObject("srm.edi.EdiReportBehind.updatexredimstr",tempMap);

if (edi<=0) {
sm.createObject("srm.edi.EdiReportBehind.createxredimstr",tempMap);
}
List<Map<String, Object>> obj = sm.getList("srm.edi.EdiReportBehind.getxredimstrlist", tempMap);
if(obj.size()>0){
Map<String, Object> tmap= obj.get(0);
tmap.put("NBR", tmap.get("XREDI_NBR"));
tmap.put("DOMAIN", request.getUser().getDomain());
tmap.put("XREDID_QTY", tempMap.get("XREDID_QTY"));
if(!StringUtils.isEmpty(tempMap.get("XREDID_DATE"))){
tmap.put("XREDID_DATE", tempMap.get("XREDID_DATE"));
}
if(!StringUtils.isEmpty(tempMap.get("XREDID_DUE_DATE"))){
tmap.put("XREDID_DUE_DATE", tempMap.get("XREDID_DUE_DATE"));
}
if(!StringUtils.isEmpty(tempMap.get("XREDID_CPART"))){
tmap.put("CPART", tempMap.get("XREDID_CPART"));
}
if(!StringUtils.isEmpty(tempMap.get("XREDID_PART"))){
tmap.put("PART", tempMap.get("XREDID_PART"));
}
int edid =sm.updateObject("srm.edi.EdiReportBehind.updatexrediddet", tmap);
if (edi<=0) {
sm.createObject("srm.edi.EdiReportBehind.createxrediddet",tempMap);
tempMap.put("message", "修改成功");
}
tempMap.put("message", "修改成功");
}else{
sm.createObject("srm.edi.EdiReportBehind.createxrediddet",tempMap);
tempMap.put("message", "保存成功");
}
if((index+1)%100 == 0){
sm.commit();
sm.begin();
tm.commit();
tm.begin();
}
result2.add(tempMap);
bakList.add(0,tempMap);
}

//request.addRequestObject("list", result2);
if(result.size()% 60 != 0){
sm.commit();
tm.commit();
}
} catch (Exception e) {
bakList.add(0,tempMap);
sm.rollback();
tm.rollback();
}

Excel 导入 分批导入的更多相关文章

  1. [moka同学笔记]PHPexcel之excel导出和导入

    原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)

  2. Excel自文本导入内容时如何做到单元格内换行

    前言:今天在处理数据的时候,在数据库中用到了\n换行符号,目的是在同表格内做到数据多行显示,比如  字段名1  字段名2  字段名3  1 数据一行 数据二行 数据三行 例子是在sql查询后的结果  ...

  3. Excel的数据导入到PB的DW中

    Excel的数据导入到PB的DW中//==================================================================== // Event:cb_ ...

  4. Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012

    (注:注释的颜色原本为绿色,在这里变为黑色,有点不便,但不会造成阅读影响.放入Visual Basic2012代码编辑器后会还原成绿色.) 摘  要:DataGridView控件作为数据传输的中介,只 ...

  5. 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作

    随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到C#开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了. 其实也许我 ...

  6. 将EXCEL数据表导入到SQL中

    工具/原料 SQL Server Management Studio 已建立SQL数据库 方法/步骤   打开SQL Server Management Studio,按图中的路径进入导入数据界面. ...

  7. 将Excel中数据导入数据库(三)

    上篇文章将Excel中数据导入数据库时,将从Excel读入的数据均转换成了数据库相应字段的类型,其实这是没有必要的,因为对于数据库各种类型的插入,均可以字符串格式插入.比如表WQ_SWMSAR_A字段 ...

  8. 将Excel中数据导入数据库(二)

    在上篇文章中介绍到将Excel中数据导入到数据库中,但上篇文章例子只出现了nvachar类型,且数据量很小.今天碰到将Excel中数据导入数据库中的Excel有6419行,其中每行均有48个字段,有i ...

  9. 将Excel中数据导入数据库(一)

    在工作中经常要将Excel中数据导入数据库,这里介绍一种方法. 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: Excel中数据导入数据库帮助类如下: using System; ...

随机推荐

  1. Linux网络编程:UDP实现可靠的文件传输

    我们知道,用TCP实现文件传输很简单.相对于TCP,因为UDP是面向无连接.不可靠的传输协议,所以我们需要考虑丢包和后发先至(包的顺序)的问题,所以我们想要实现UDP传输文件,则需要解决这两个问题.方 ...

  2. 在Tomcat服务器中去端口访问域名

    在刚购买域名并解析后,从外网访问Tomcat服务器时是需要在域名后面加端口":8080".要去端口访问的步骤如下: 在Tomcat目录下的conf文件夹下,打开server.xml ...

  3. mac 下安装caffe(二)

    使用Anaconda Python 1.brew edit opencv args << "-DPYTHON_LIBRARY=#{py_lib}/libpython2.7.#{d ...

  4. jquery操作删除元素

    通过 jQuery,可以很容易地删除已有的 HTML 元素. 删除元素/内容 如需删除元素和内容,一般可使用以下两个 jQuery 方法: remove() - 删除被选元素(及其子元素) empty ...

  5. ALSA声卡驱动中的DAPM详解之二:widget-具备路径和电源管理信息的kcontrol

    上一篇文章中,我们介绍了音频驱动中对基本控制单元的封装:kcontrol.利用kcontrol,我们可以完成对音频系统中的mixer,mux,音量控制,音效控制,以及各种开关量的控制,通过对各种kco ...

  6. ubuntu安装go语言

    1.下载安装包 2.解压 sudo tar -zvxf go1.10.linux-amd64.tar.gz -C /usr/local 3.配置 sudo vim /etc/profile 添加 #s ...

  7. [Swift通天遁地]二、表格表单-(7)电子邮件Mail:实现单元格左右滑动调出功能按钮

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. C++ friend关键字

    友元:友元函数 友元类. 友元函数:不属于任何类,只是在类中声明一下(可以放在 private 或者 public,没有区别),告诉这个类,这个函数是你的朋友,当然朋友不是白当的:这个函数可以访问你的 ...

  9. Zookeeper的临时节点和永久节点

    Zookeeper中节点分为两种:临时节点和永久节点. 临时节点有一个节点: 当创建临时节点的程序停掉之后,这个临时节点就会消失. 更直观的,如下   Persistent是临时节点. Persist ...

  10. ASP.NET 之正则表达式

    转载自:http://www.regexlib.com/cheatsheet.htm?AspxAutoDetectCookieSupport=1 Metacharacters Defined MCha ...