package com.connor.erp.ItemImport;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

import com.connor.erpintegration.entity.CheckResult;

public class ItemImportXMLReader {
	public static void loadXMLDatas(File file, List<String> Info, List<String> orgExistRightItems,
			List<String> orgExistWrongItems, Map<String, String> map) {
		/* 23 */ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		/* 25 */ Document doc = null;
		try {
			/* 28 */ DocumentBuilder builder = factory.newDocumentBuilder();
			/* 29 */ doc = builder.parse(new FileInputStream(file));
			/* 30 */ } catch (ParserConfigurationException e) {
			/* 31 */ e.printStackTrace();
			/* 32 */ } catch (SAXException e) {
			/* 33 */ e.printStackTrace();
			/* 34 */ } catch (IOException e) {
			/* 35 */ e.printStackTrace();
		}
		/* 38 */ Element element = doc.getDocumentElement();
		/* 39 */ NodeList list = element.getChildNodes();
///*  40 */     loadElements(list, Info, orgExistRightItems, orgExistWrongItems, map);
	}

	public static void loadElements(List<CheckResult> list, List<String> Info, List<String> orgExistRightItems, List<String> orgExistWrongItems, Map<String, String> map) {
/*  44 */     int listLen = list.size();
/*  45 */     if (listLen == 0)
       return; 
/*  48 */     StringBuffer error = new StringBuffer("");
/*  49 */     Info.add("");
/*  50 */     for (int i = 0; i < listLen; i++) {
/*  51 */       CheckResult checkResult = list.get(i);
///*  52 */       NodeList childlist = node.getChildNodes();
///*  53 */       int listSize = childlist.getLength();
/*  54 */       boolean exist = false;
/*  55 */       String itemId = "";
/*  56 */       StringBuffer org_id = new StringBuffer("");
///*  57 */       for (int j = 0; j < listSize; j++) {
///*  58 */         Node childnode = childlist.item(j);
///*  59 */         String nodeName = childnode.getNodeName();
/*  60 */         String nodeValue = checkResult.getItem();
///*  61 */         if (nodeName.equals("Segment1")) {

		String Segment1_attrbute = "false";
		if(checkResult.getExistInNBJ()||checkResult.getExistInNHL()||checkResult.getExistInNSC()||checkResult.getExistInNSJ())
			Segment1_attrbute = "true";
/*  63 */           if (Segment1_attrbute.equals("true")) {
/*  64 */             itemId = nodeValue;
/*  65 */             exist = true;
           } 
///*  67 */         } else if (nodeName.equals("isExist")) {
/*  68 */           if (!exist) {
/*  69 */             org_id.append("0000");
/*  70 */             Info.add(org_id.toString());
           } else {
///*  73 */             NodeList isExist_child_node_list = childnode.getChildNodes();
/*  75 */             String str_org_main = null;
/*  76 */             String str_org_prodr = null;
/*  77 */             String str_org_unprodr = null;
/*  78 */             String str_org_spare = null;
///*  80 */             for (int k = 0; k < isExist_child_node_list.getLength(); k++) {
///*  82 */               Node isExist_child_node = isExist_child_node_list.item(k);
///*  83 */               String isExist_nodeName = isExist_child_node.getNodeName();
///*  84 */               String isExist_nodeValue = isExist_child_node.getTextContent();
///*  85 */               if (isExist_nodeName.equals("org_main")) {
	if(checkResult.getExistInNHL())
/*  86 */                 str_org_main = "true";
	else str_org_main = "false";
	if(checkResult.getExistInNSC())
		/*  86 */                 str_org_prodr = "true";
	else str_org_prodr = "false";
	if(checkResult.getExistInNSJ())
		/*  86 */                 str_org_unprodr = "true";
	else str_org_unprodr = "false";
	if(checkResult.getExistInNBJ())
		/*  86 */                 str_org_spare = "true";
	else str_org_spare = "false";

///*  87 */               } else if (isExist_nodeName.equals("org_prodr")) {
///*  88 */                 str_org_prodr = isExist_nodeValue;
///*  89 */               } else if (isExist_nodeName.equals("org_unprodr")) {
///*  90 */                 str_org_unprodr = isExist_nodeValue;
///*  91 */               } else if (isExist_nodeName.equals("org_spare")) {
///*  92 */                 str_org_spare = isExist_nodeValue;
//               } 
//             } 
/*  95 */             String org_str = map.get(itemId);
/*  96 */             String[] arrStr = org_str.split("-");
/*  97 */             StringBuffer error2 = new StringBuffer("");
/*  98 */             error2.append(itemId).append("  在");
/*  99 */             boolean org_prodr = false;
/* 100 */             boolean org_unprodr = false;
/* 101 */             boolean org_spare = false;
/* 103 */             if (str_org_main.equals("true")) {
/* 104 */               org_id.append('1');
/* 105 */             } else if (str_org_main.equals("false")) {
/* 106 */               org_id.append('0');
             } 
/* 109 */             if (arrStr[0].equals("true")) {
/* 110 */               if (str_org_prodr.equals("false")) {
/* 111 */                 error2.append("生产组织");
/* 112 */                 org_id.append('0');
/* 113 */               } else if (str_org_prodr.equals("true")) {
/* 114 */                 org_prodr = true;
/* 115 */                 org_id.append('1');
               } 
             } else {
/* 118 */               org_prodr = true;
/* 119 */               if (str_org_prodr.equals("true")) {
/* 120 */                 org_id.append('1');
/* 121 */               } else if (str_org_prodr.equals("false")) {
/* 122 */                 org_id.append('0');
               } 
             } 
/* 126 */             if (arrStr[2].equals("true")) {
/* 127 */               if (str_org_unprodr.equals("false")) {
/* 128 */                 if (error2.toString().endsWith("组织")) {
/* 129 */                   error2.append("、非生产组织");
                 } else {
/* 131 */                   error2.append("非生产组织");
                 } 
/* 133 */                 org_id.append('0');
/* 134 */               } else if (str_org_unprodr.equals("true")) {
/* 135 */                 org_unprodr = true;
/* 136 */                 org_id.append('1');
               } 
             } else {
/* 139 */               org_unprodr = true;
/* 140 */               if (str_org_unprodr.equals("true")) {
/* 141 */                 org_id.append('1');
/* 142 */               } else if (str_org_unprodr.equals("false")) {
/* 143 */                 org_id.append('0');
               } 
             } 
/* 146 */             if (arrStr[1].equals("true")) {
/* 147 */               if (str_org_spare.equals("false")) {
/* 148 */                 if (error2.toString().endsWith("组织")) {
/* 149 */                   error2.append("、备件组织");
                 } else {
/* 151 */                   error2.append("备件组织");
                 } 
/* 153 */                 org_id.append('0');
/* 154 */               } else if (str_org_spare.equals("true")) {
/* 155 */                 org_spare = true;
/* 156 */                 org_id.append('1');
               } 
             } else {
/* 159 */               org_spare = true;
/* 160 */               if (str_org_spare.equals("true")) {
/* 161 */                 org_id.append('1');
/* 162 */               } else if (str_org_spare.equals("false")) {
/* 163 */                 org_id.append('0');
               } 
             } 
/* 166 */             if (org_prodr && org_unprodr && org_spare) {
/* 167 */               orgExistRightItems.add(itemId);
             } else {
/* 169 */               orgExistWrongItems.add(itemId);
/* 170 */               error2.append("中不存在，但在主组织中已经存在，请至ERP中确认并处理！<br>");
/* 171 */               error.append(error2.toString());
             } 
           } 
///* 173 */         } else if (nodeName.equals("primary_uom_code")) {
///* 174 */           String Segment1_attrbute = childnode.getAttributes().getNamedItem("isExist").getNodeValue();
/* 175 */           if (!checkResult.getUomExist())
/* 176 */             error.append("“").append(nodeValue).append("”在ERP中不存在对应单位或单位不匹配，请联系管理员！<br>"); 
//         } 
        
/* 180 */       Info.add(org_id.toString());
     } 
/* 182 */     Info.set(0, error.toString());
   }
 }
