• Excel 导入 分批导入


    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();
    }

  • 相关阅读:
    Spring之bean二生命周期
    Hibernate注解:一对多外键关联
    List<Object>和List<String>
    Eclipse设置模板代码
    Hibernate注解:一对一主键关联
    解决tomcat默认45s启动超时的问题
    ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别
    Spring配置项<context:annotation-config/>说明
    Hibernate 实体关联关系映射【转】
    freemarker中使用shiro标签
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/6872026.html
Copyright © 2020-2023  润新知