/** * @param csv * @return List<FetorderimeiVo> * @throws Exception */ private List<FetorderimeiVo> buildImeiCollection(List<String[]> csv) throws Exception { List<FetorderimeiVo> list = new ArrayList<FetorderimeiVo>(); FetorderimeiVo imeivo = null; int imeiCount = 0; try { String area = ""; String bcode = ""; String storename = ""; String orderdate = ""; String eorderno = ""; String itemno = ""; String itemname = ""; String imei = ""; String sender = ""; String strStatus = ""; int status = 1; FieldObject fo = null; FetOrderImeiFormat orderFields = new FetOrderImeiFormat(); // 以訂單編號查詢存在訂單檔案 for (String[] ss : csv) { fo = orderFields.getField(FetOrderImeiFormat.Fields.AREA.getName()); area = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.STORE_CODE.getName()); bcode = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.STORE_NAME.getName()); storename = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.ORDER_DATE.getName()); orderdate = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.ORDER_E_NO.getName()); eorderno = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.ITEM_NO.getName()); itemno = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.ITEM_NAME.getName()); itemname = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.IMEI.getName()); imei = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.STATUS.getName()); strStatus = ss[fo.getItemno() - 1]; fo = orderFields.getField(FetOrderImeiFormat.Fields.SENDER.getName()); sender = ss[fo.getItemno() - 1]; Date d = new Date( DateConverter.parseDateTime(orderdate, DateConverter.FORMAT_WEST_DATE).getTime()); switch (strStatus) { case "作業處理中": status = 2; break; case "未啟用": status = 0; break; case "已啟用": status = 1; break; default: status = 0; break; } imeivo = new FetorderimeiVo(); imeivo.setArea(area); imeivo.setBcode(bcode); imeivo.setStorename(storename); imeivo.setOrderdate(d); imeivo.setEorderno(eorderno); imeivo.setItemno(itemno); imeivo.setItemname(itemname); imeivo.setImei(imei); imeivo.setStatus(status); imeivo.setSender(sender); list.add(imeivo); } // 匯入 IMEI進貨明細表 for (FetorderimeiVo v : list) { imei = v.getImei(); imeivo = isImeiExist(imei); if (NullTK.isNull(imeivo)) { orderimeiDao.insert(v); } else { orderimeiDao.update(v); } imeiCache.put(imei, v); imeiCount++; } logger.info("匯入IMEI筆數:" + imeiCount); importmemo.append("/匯入IMEI筆數:" + imeiCount + "\n"); } catch (Exception e) { logger.error(e); throw new Exception("FetImeiImporter:匯入 IMEI進貨明細表 異常:" + e.getMessage()); } return list; }