/// <summary> /// 发送转库实绩信息给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <returns></returns> public string SendXml_GP(string xmlFileName, string no) { try { string name = "QT4I" + no + ".xml"; xmlFileName += "\\" + name; DataTable itemdt = dal_TRC_ROLL_QTCKD_ITEM.GetQTCKXQByDH(no).Tables[0]; //要传输的出库单数据 if (itemdt.Rows.Count == 0) { return("PCI转库单表未查询到其他出库单单:" + no + "信息!"); } Mod_TRC_ROLL_QTCKD mod_TRC_ROLL_QTCKD = dal_TRC_ROLL_QTCKD.GetModelByQTCKD(no); string mbckid = ""; if (mod_TRC_ROLL_QTCKD.C_MBWH_ID.Substring(0, 1) == "6" || mod_TRC_ROLL_QTCKD.C_MBWH_ID.Substring(0, 1) == "7") { Mod_TPB_LINEWH mbck = dal_TPB_LINEWH.GetModelByCode(mod_TRC_ROLL_QTCKD.C_MBWH_ID);//源仓库 mbckid = mbck.C_ID; } else { Mod_TPB_SLABWH mbck = dal_TPB_SLABWH.GetModel_Interface(mod_TRC_ROLL_QTCKD.C_MBWH_ID);//源仓库 mbckid = mbck.C_ID; } Mod_TPB_LINEWH yck = dal_TPB_LINEWH.GetModelByCode(itemdt.Rows[0]["C_LINEWH_CODE"].ToString()); //源仓库 string djrq = Convert.ToDateTime(mod_TRC_ROLL_QTCKD.D_CREATE_DT).ToString("yyyy-MM-dd"); Mod_TS_USER mod_TS_USER = dal_TS_USER.GetModel(mod_TRC_ROLL_QTCKD.C_CREATE_ID); //mod_TRC_ROLL_QTCKD.C_CREATE_ID string bmid = dal_TS_DEPT.GetDept(mod_TS_USER.C_ACCOUNT); if (bmid == "") { return("操作人部门未维护!"); } Mod_TS_DEPT mod_TS_DEPT = dal_TS_DEPT.GetModel(bmid);//获取部门 XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "4K"); root.SetAttribute("filename", "QTCK" + mod_TRC_ROLL_QTCKD.C_QTCKD_NO + ".xml"); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); #region//节点属性 bill.SetAttribute("id", "QT" + mod_TRC_ROLL_QTCKD.C_ID); #endregion root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "ctjname", ""); CreateNode(xmlDoc, head, "bz", ""); CreateNode(xmlDoc, head, "cbilltypecode", "4K"); //库存单据类型编码 CreateNode(xmlDoc, head, "cinbsrid", ""); CreateNode(xmlDoc, head, "cinbsrname", ""); CreateNode(xmlDoc, head, "cindeptid", mod_TS_DEPT.C_ID); //入库部门ID CreateNode(xmlDoc, head, "cindeptname", mod_TS_DEPT.C_NAME); CreateNode(xmlDoc, head, "cinwarehouseid", mbckid); //入库仓库ID CreateNode(xmlDoc, head, "cinwarehousename", mod_TRC_ROLL_QTCKD.C_MBWH_NAME); //仓库名称 CreateNode(xmlDoc, head, "isLocatorMgtIn", "0"); CreateNode(xmlDoc, head, "isWasteWhIn", "0"); CreateNode(xmlDoc, head, "whreservedptyin", ""); CreateNode(xmlDoc, head, "islocatormgtin", "0"); CreateNode(xmlDoc, head, "iswastewhin", "0"); CreateNode(xmlDoc, head, "whreservedptyin", ""); CreateNode(xmlDoc, head, "coutbsor", ""); CreateNode(xmlDoc, head, "coutbsorname", ""); CreateNode(xmlDoc, head, "coutdeptid", mod_TS_DEPT.C_ID); //出库部门ID CreateNode(xmlDoc, head, "coutdeptname", mod_TS_DEPT.C_NAME); //出库部门名称 CreateNode(xmlDoc, head, "coutwarehouseid", yck.C_ID); //出库仓库ID CreateNode(xmlDoc, head, "coutwarehousename", yck.C_LINEWH_NAME); //仓库名称 CreateNode(xmlDoc, head, "isLocatorMgtOut", "0"); CreateNode(xmlDoc, head, "isWasteWhOut", "0"); CreateNode(xmlDoc, head, "whReservedPtyOut", ""); CreateNode(xmlDoc, head, "islocatormgtout", "0"); CreateNode(xmlDoc, head, "iswastewhout", "0"); CreateNode(xmlDoc, head, "whreservedptyout", ""); CreateNode(xmlDoc, head, "cshlddiliverdate", djrq); //单据日期 CreateNode(xmlDoc, head, "ctj", ""); CreateNode(xmlDoc, head, "dbilldate", djrq); //单据日期 CreateNode(xmlDoc, head, "nfixdisassemblymny", ""); //组装拆卸费用 CreateNode(xmlDoc, head, "pdfs", ""); CreateNode(xmlDoc, head, "pk_corp", "1001"); //公司ID CreateNode(xmlDoc, head, "vbillcode", mod_TRC_ROLL_QTCKD.C_QTCKD_NO); //单据号 CreateNode(xmlDoc, head, "vnote", ""); //备注 CreateNode(xmlDoc, head, "vshldarrivedate", djrq); //应到货日期 CreateNode(xmlDoc, head, "vuserdef1", ""); CreateNode(xmlDoc, head, "vuserdef2", ""); CreateNode(xmlDoc, head, "vuserdef3", ""); CreateNode(xmlDoc, head, "vuserdef4", ""); CreateNode(xmlDoc, head, "vuserdef5", ""); CreateNode(xmlDoc, head, "vuserdef6", ""); CreateNode(xmlDoc, head, "vuserdef7", ""); CreateNode(xmlDoc, head, "vuserdef8", ""); CreateNode(xmlDoc, head, "vuserdef9", ""); CreateNode(xmlDoc, head, "vuserdef10", ""); CreateNode(xmlDoc, head, "vuserdef11", ""); CreateNode(xmlDoc, head, "vuserdef12", ""); CreateNode(xmlDoc, head, "vuserdef13", ""); CreateNode(xmlDoc, head, "vuserdef14", ""); CreateNode(xmlDoc, head, "vuserdef15", ""); CreateNode(xmlDoc, head, "vuserdef16", ""); CreateNode(xmlDoc, head, "vuserdef17", ""); CreateNode(xmlDoc, head, "vuserdef18", ""); CreateNode(xmlDoc, head, "vuserdef19", ""); CreateNode(xmlDoc, head, "vuserdef20", ""); CreateNode(xmlDoc, head, "vuserdef11h", ""); CreateNode(xmlDoc, head, "vuserdef12h", ""); CreateNode(xmlDoc, head, "vuserdef13h", ""); CreateNode(xmlDoc, head, "vuserdef14h", ""); CreateNode(xmlDoc, head, "vuserdef15h", ""); CreateNode(xmlDoc, head, "vuserdef16h", ""); CreateNode(xmlDoc, head, "vuserdef17h", ""); CreateNode(xmlDoc, head, "vuserdef18h", ""); CreateNode(xmlDoc, head, "vuserdef19h", ""); CreateNode(xmlDoc, head, "vuserdef20h", ""); CreateNode(xmlDoc, head, "pk_defdoc1", ""); CreateNode(xmlDoc, head, "pk_defdoc2", ""); CreateNode(xmlDoc, head, "pk_defdoc3", ""); CreateNode(xmlDoc, head, "pk_defdoc4", ""); CreateNode(xmlDoc, head, "pk_defdoc5", ""); CreateNode(xmlDoc, head, "pk_defdoc6", ""); CreateNode(xmlDoc, head, "pk_defdoc7", ""); CreateNode(xmlDoc, head, "pk_defdoc8", ""); CreateNode(xmlDoc, head, "pk_defdoc9", ""); CreateNode(xmlDoc, head, "pk_defdoc10", ""); CreateNode(xmlDoc, head, "pk_defdoc1h", ""); CreateNode(xmlDoc, head, "pk_defdoc2h", ""); CreateNode(xmlDoc, head, "pk_defdoc3h", ""); CreateNode(xmlDoc, head, "pk_defdoc4h", ""); CreateNode(xmlDoc, head, "pk_defdoc5h", ""); CreateNode(xmlDoc, head, "pk_defdoc6h", ""); CreateNode(xmlDoc, head, "pk_defdoc7h", ""); CreateNode(xmlDoc, head, "pk_defdoc8h", ""); CreateNode(xmlDoc, head, "pk_defdoc9h", ""); CreateNode(xmlDoc, head, "pk_defdoc10h", ""); CreateNode(xmlDoc, head, "pk_defdoc11", ""); CreateNode(xmlDoc, head, "pk_defdoc12", ""); CreateNode(xmlDoc, head, "pk_defdoc13", ""); CreateNode(xmlDoc, head, "pk_defdoc14", ""); CreateNode(xmlDoc, head, "pk_defdoc15", ""); CreateNode(xmlDoc, head, "pk_defdoc16", ""); CreateNode(xmlDoc, head, "pk_defdoc17", ""); CreateNode(xmlDoc, head, "pk_defdoc18", ""); CreateNode(xmlDoc, head, "pk_defdoc19", ""); CreateNode(xmlDoc, head, "pk_defdoc20", ""); CreateNode(xmlDoc, head, "pk_defdoc11h", ""); CreateNode(xmlDoc, head, "pk_defdoc12h", ""); CreateNode(xmlDoc, head, "pk_defdoc13h", ""); CreateNode(xmlDoc, head, "pk_defdoc14h", ""); CreateNode(xmlDoc, head, "pk_defdoc15h", ""); CreateNode(xmlDoc, head, "pk_defdoc16h", ""); CreateNode(xmlDoc, head, "pk_defdoc17h", ""); CreateNode(xmlDoc, head, "pk_defdoc18h", ""); CreateNode(xmlDoc, head, "pk_defdoc19h", ""); CreateNode(xmlDoc, head, "pk_defdoc20h", ""); CreateNode(xmlDoc, head, "vuserdef1h", ""); CreateNode(xmlDoc, head, "vuserdef2h", ""); CreateNode(xmlDoc, head, "vuserdef3h", ""); CreateNode(xmlDoc, head, "vuserdef4h", ""); CreateNode(xmlDoc, head, "vuserdef5h", ""); CreateNode(xmlDoc, head, "vuserdef6h", ""); CreateNode(xmlDoc, head, "vuserdef7h", ""); CreateNode(xmlDoc, head, "vuserdef8h", ""); CreateNode(xmlDoc, head, "vuserdef9h", ""); CreateNode(xmlDoc, head, "vuserdef10h", ""); CreateNode(xmlDoc, head, "cauditorid", ""); CreateNode(xmlDoc, head, "cauditorname", ""); CreateNode(xmlDoc, head, "coperatorid", mod_TS_USER.C_ID); //制单人 CreateNode(xmlDoc, head, "coperatorname", mod_TS_USER.C_NAME); //制单人名称 CreateNode(xmlDoc, head, "vadjuster", ""); CreateNode(xmlDoc, head, "vadjustername", ""); CreateNode(xmlDoc, head, "coperatoridnow", ""); CreateNode(xmlDoc, head, "ctjname", ""); CreateNode(xmlDoc, head, "pk_calbody_in", "1001NC10000000000669"); CreateNode(xmlDoc, head, "pk_calbody_out", "1001NC10000000000669"); CreateNode(xmlDoc, head, "vcalbody_inname", "邢钢库存组织"); CreateNode(xmlDoc, head, "vcalbody_outname", "邢钢库存组织"); CreateNode(xmlDoc, head, "ts", DateTime.Now.ToString()); CreateNode(xmlDoc, head, "timestamp", ""); //? CreateNode(xmlDoc, head, "headts", DateTime.Now.ToString()); CreateNode(xmlDoc, head, "isforeignstor_in", "N"); CreateNode(xmlDoc, head, "isgathersettle_in", "N"); CreateNode(xmlDoc, head, "isforeignstor_out", "N"); CreateNode(xmlDoc, head, "isgathersettle_out", "N"); CreateNode(xmlDoc, head, "icheckmode", ""); CreateNode(xmlDoc, head, "fassistantflag", "N"); //是否计算期间业务量 CreateNode(xmlDoc, head, "fbillflag", ""); CreateNode(xmlDoc, head, "vostatus", ""); CreateNode(xmlDoc, head, "iprintcount", ""); CreateNode(xmlDoc, head, "clastmodiid", mod_TS_USER.C_ID); //最后修改人 CreateNode(xmlDoc, head, "clastmodiname", mod_TS_USER.C_NAME); //最后修改人名称 CreateNode(xmlDoc, head, "tlastmoditime", mod_TS_USER.D_MOD_DT.ToString()); //最后修改时间 CreateNode(xmlDoc, head, "cnxtbilltypecode", "4I"); CreateNode(xmlDoc, head, "cspecialhid", ""); #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); foreach (DataRow qtck in itemdt.Rows) { Mod_TRC_ROLL_QTCKD_ITEM mod_TRC_ROLL_QTCKD_ITEM = dal_TRC_ROLL_QTCKD_ITEM.GetModeltran(qtck["C_ID"].ToString()); Mod_TB_MATRL_MAIN mod_TB_MATRL_MAIN = dal_TB_MATRL_MAIN.GetModel(qtck["C_MAT_CODE"].ToString()); Mod_TQB_CHECKSTATE mod_TQB_CHECKSTATE = dal_TQB_CHECKSTATE.GetModelByName(qtck["C_JUDGE_LEV_ZH"].ToString(), "1001"); XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "csourcetypename", ""); CreateNode(xmlDoc, item, "cinvbasid", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); //来源单据号 CreateNode(xmlDoc, item, "pk_invbasdoc", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); CreateNode(xmlDoc, item, "fixedflag", "N"); CreateNode(xmlDoc, item, "bgssl", ""); CreateNode(xmlDoc, item, "castunitid", mod_TB_MATRL_MAIN.C_FJLDW); //辅计量单位ID CreateNode(xmlDoc, item, "castunitname", mod_TB_MATRL_MAIN.C_FJLDWMC); CreateNode(xmlDoc, item, "cinventorycode", mod_TB_MATRL_MAIN.C_MAT_CODE); CreateNode(xmlDoc, item, "cinventoryid", mod_TB_MATRL_MAIN.C_PK_INVMANDOC); //存货ID CreateNode(xmlDoc, item, "cinvmanid", mod_TB_MATRL_MAIN.C_PK_INVBASDOC); CreateNode(xmlDoc, item, "isLotMgt", "1"); CreateNode(xmlDoc, item, "isSerialMgt", "0"); CreateNode(xmlDoc, item, "isValidateMgt", "0"); CreateNode(xmlDoc, item, "isAstUOMmgt", "1"); CreateNode(xmlDoc, item, "isFreeItemMgt", "1"); CreateNode(xmlDoc, item, "isSet", "0"); CreateNode(xmlDoc, item, "standStoreUOM", ""); CreateNode(xmlDoc, item, "defaultAstUOM", mod_TB_MATRL_MAIN.C_FJLDW); CreateNode(xmlDoc, item, "isSellProxy", "0"); CreateNode(xmlDoc, item, "qualityDay", ""); CreateNode(xmlDoc, item, "invReservedPty", ""); CreateNode(xmlDoc, item, "isSolidConvRate", "0"); CreateNode(xmlDoc, item, "islotmgt", "1"); CreateNode(xmlDoc, item, "isserialmgt", "0"); CreateNode(xmlDoc, item, "isvalidatemgt", "0"); CreateNode(xmlDoc, item, "isastuommgt", "1"); CreateNode(xmlDoc, item, "isfreeitemmgt", "1"); CreateNode(xmlDoc, item, "isset", "0"); CreateNode(xmlDoc, item, "standstoreuom", ""); CreateNode(xmlDoc, item, "defaultastuom", mod_TB_MATRL_MAIN.C_FJLDW); CreateNode(xmlDoc, item, "issellproxy", "0"); CreateNode(xmlDoc, item, "qualityday", ""); CreateNode(xmlDoc, item, "invreservedpty", ""); CreateNode(xmlDoc, item, "issolidconvrate", "0"); CreateNode(xmlDoc, item, "csourcebillbid", ""); CreateNode(xmlDoc, item, "csourcebillhid", ""); CreateNode(xmlDoc, item, "csourcetype", ""); CreateNode(xmlDoc, item, "cspaceid", ""); CreateNode(xmlDoc, item, "cspacecode", ""); CreateNode(xmlDoc, item, "cspacename", ""); CreateNode(xmlDoc, item, "cspecialhid", ""); //??? CreateNode(xmlDoc, item, "cwarehouseid", ""); CreateNode(xmlDoc, item, "cwarehousename", ""); CreateNode(xmlDoc, item, "isLocatorMgt", ""); CreateNode(xmlDoc, item, "isWasteWh", ""); CreateNode(xmlDoc, item, "whreservedpty", ""); CreateNode(xmlDoc, item, "islocatormgt", ""); CreateNode(xmlDoc, item, "iswastewh", ""); CreateNode(xmlDoc, item, "whreservedpty", ""); CreateNode(xmlDoc, item, "cyfsl", ""); CreateNode(xmlDoc, item, "cysl", ""); CreateNode(xmlDoc, item, "desl", ""); CreateNode(xmlDoc, item, "dshldtransnum", mod_TRC_ROLL_QTCKD_ITEM.N_SJWGT.ToString()); //应转数量 CreateNode(xmlDoc, item, "dvalidate", ""); CreateNode(xmlDoc, item, "fbillrowflag", ""); CreateNode(xmlDoc, item, "hlzl", ""); CreateNode(xmlDoc, item, "hsl", Math.Round(Convert.ToDouble(mod_TRC_ROLL_QTCKD_ITEM.N_SJWGT / mod_TRC_ROLL_QTCKD_ITEM.N_SJNUM), 6).ToString()); //换算率 CreateNode(xmlDoc, item, "invname", mod_TB_MATRL_MAIN.C_MAT_NAME); //物料名称 CreateNode(xmlDoc, item, "invspec", mod_TRC_ROLL_QTCKD_ITEM.C_SPEC); //规格 CreateNode(xmlDoc, item, "invtype", mod_TRC_ROLL_QTCKD_ITEM.C_STL_GRD); //钢种 CreateNode(xmlDoc, item, "je", ""); //? CreateNode(xmlDoc, item, "jhdj", ""); //? CreateNode(xmlDoc, item, "jhje", ""); //? CreateNode(xmlDoc, item, "jhpdzq", ""); CreateNode(xmlDoc, item, "measdocname", mod_TB_MATRL_MAIN.C_ZJLDWMC); //计量单位名称 CreateNode(xmlDoc, item, "naccountastnum", ""); CreateNode(xmlDoc, item, "naccountnum", ""); CreateNode(xmlDoc, item, "nadjustastnum", ""); CreateNode(xmlDoc, item, "nadjustnum", ""); CreateNode(xmlDoc, item, "ncheckastnum", ""); CreateNode(xmlDoc, item, "nchecknum", ""); CreateNode(xmlDoc, item, "nprice", ""); CreateNode(xmlDoc, item, "nmny", ""); CreateNode(xmlDoc, item, "nplannedmny", ""); //计划金额 CreateNode(xmlDoc, item, "nplannedprice", ""); //计划单价 CreateNode(xmlDoc, item, "nshldtransastnum", mod_TRC_ROLL_QTCKD_ITEM.N_SJNUM.ToString()); //应转辅数量 CreateNode(xmlDoc, item, "pk_measdoc", mod_TB_MATRL_MAIN.C_PK_MEASDOC); //主计量单位 CreateNode(xmlDoc, item, "scrq", mod_TRC_ROLL_QTCKD_ITEM.D_PRODUCE_DATE.ToString()); //? CreateNode(xmlDoc, item, "sjpdzq", ""); CreateNode(xmlDoc, item, "vbatchcode", mod_TRC_ROLL_QTCKD_ITEM.C_BATCH_NO); //? CreateNode(xmlDoc, item, "vfree0", ""); //? CreateNode(xmlDoc, item, "vfree1", mod_TRC_ROLL_QTCKD_ITEM.C_ZYX1); //? CreateNode(xmlDoc, item, "vfree2", mod_TRC_ROLL_QTCKD_ITEM.C_ZYX2); //? CreateNode(xmlDoc, item, "vfree3", mod_TRC_ROLL_QTCKD_ITEM.C_BZYQ); //? CreateNode(xmlDoc, item, "vfree4", ""); CreateNode(xmlDoc, item, "vfree5", ""); CreateNode(xmlDoc, item, "vfree6", ""); CreateNode(xmlDoc, item, "vfree7", ""); CreateNode(xmlDoc, item, "vfree8", ""); CreateNode(xmlDoc, item, "vfree9", ""); CreateNode(xmlDoc, item, "vfree10", ""); CreateNode(xmlDoc, item, "vfreename1", ""); //? CreateNode(xmlDoc, item, "vfreename2", ""); //? CreateNode(xmlDoc, item, "vfreename3", ""); //? CreateNode(xmlDoc, item, "vfreename4", ""); CreateNode(xmlDoc, item, "vfreename5", ""); CreateNode(xmlDoc, item, "vfreename6", ""); CreateNode(xmlDoc, item, "vfreename7", ""); CreateNode(xmlDoc, item, "vfreename8", ""); CreateNode(xmlDoc, item, "vfreename9", ""); CreateNode(xmlDoc, item, "vfreename10", ""); CreateNode(xmlDoc, item, "vsourcebillcode", ""); CreateNode(xmlDoc, item, "vuserdef1", ""); CreateNode(xmlDoc, item, "vuserdef2", ""); CreateNode(xmlDoc, item, "vuserdef3", ""); CreateNode(xmlDoc, item, "vuserdef4", ""); CreateNode(xmlDoc, item, "vuserdef5", ""); CreateNode(xmlDoc, item, "vuserdef6", ""); CreateNode(xmlDoc, item, "vuserdef7", ""); CreateNode(xmlDoc, item, "vuserdef8", ""); CreateNode(xmlDoc, item, "vuserdef9", ""); CreateNode(xmlDoc, item, "vuserdef10", mod_TRC_ROLL_QTCKD_ITEM.C_ID); //自定义项 CreateNode(xmlDoc, item, "vuserdef11", ""); CreateNode(xmlDoc, item, "vuserdef12", ""); CreateNode(xmlDoc, item, "vuserdef13", ""); CreateNode(xmlDoc, item, "vuserdef14", ""); CreateNode(xmlDoc, item, "vuserdef15", ""); CreateNode(xmlDoc, item, "vuserdef16", ""); CreateNode(xmlDoc, item, "vuserdef17", ""); CreateNode(xmlDoc, item, "vuserdef18", ""); CreateNode(xmlDoc, item, "vuserdef19", ""); CreateNode(xmlDoc, item, "vuserdef20", ""); CreateNode(xmlDoc, item, "pk_defdoc1", ""); CreateNode(xmlDoc, item, "pk_defdoc2", ""); CreateNode(xmlDoc, item, "pk_defdoc3", ""); CreateNode(xmlDoc, item, "pk_defdoc4", ""); CreateNode(xmlDoc, item, "pk_defdoc5", ""); CreateNode(xmlDoc, item, "pk_defdoc6", ""); CreateNode(xmlDoc, item, "pk_defdoc7", ""); CreateNode(xmlDoc, item, "pk_defdoc8", ""); CreateNode(xmlDoc, item, "pk_defdoc9", ""); CreateNode(xmlDoc, item, "pk_defdoc10", ""); CreateNode(xmlDoc, item, "pk_defdoc11", ""); CreateNode(xmlDoc, item, "pk_defdoc12", ""); CreateNode(xmlDoc, item, "pk_defdoc13", ""); CreateNode(xmlDoc, item, "pk_defdoc14", ""); CreateNode(xmlDoc, item, "pk_defdoc15", ""); CreateNode(xmlDoc, item, "pk_defdoc16", ""); CreateNode(xmlDoc, item, "pk_defdoc17", ""); CreateNode(xmlDoc, item, "pk_defdoc18", ""); CreateNode(xmlDoc, item, "pk_defdoc19", ""); CreateNode(xmlDoc, item, "pk_defdoc20", ""); CreateNode(xmlDoc, item, "yy", ""); CreateNode(xmlDoc, item, "ztsl", ""); CreateNode(xmlDoc, item, "bkxcl", ""); CreateNode(xmlDoc, item, "chzl", ""); CreateNode(xmlDoc, item, "neconomicnum", ""); CreateNode(xmlDoc, item, "nmaxstocknum", ""); CreateNode(xmlDoc, item, "nminstocknum", mod_TRC_ROLL_QTCKD_ITEM.N_SJNUM.ToString()); //? CreateNode(xmlDoc, item, "norderpointnum", mod_TRC_ROLL_QTCKD_ITEM.N_SJWGT.ToString()); //? CreateNode(xmlDoc, item, "xczl", ""); CreateNode(xmlDoc, item, "nsafestocknum", ""); CreateNode(xmlDoc, item, "fbillflag", ""); CreateNode(xmlDoc, item, "vfreeid1", ""); //? CreateNode(xmlDoc, item, "vfreeid2", ""); //? CreateNode(xmlDoc, item, "vfreeid3", ""); //? CreateNode(xmlDoc, item, "vfreeid4", ""); CreateNode(xmlDoc, item, "vfreeid5", ""); CreateNode(xmlDoc, item, "vfreeid6", ""); CreateNode(xmlDoc, item, "vfreeid7", ""); CreateNode(xmlDoc, item, "vfreeid8", ""); CreateNode(xmlDoc, item, "vfreeid9", ""); CreateNode(xmlDoc, item, "vfreeid10", ""); CreateNode(xmlDoc, item, "discountflag", "N"); CreateNode(xmlDoc, item, "laborflag", "N"); CreateNode(xmlDoc, item, "childsnum", ""); CreateNode(xmlDoc, item, "invsetparttype", ""); CreateNode(xmlDoc, item, "partpercent", ""); CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "vbodynote", ""); CreateNode(xmlDoc, item, "ccorrespondtypename", ""); CreateNode(xmlDoc, item, "cfirstbillbid", ""); CreateNode(xmlDoc, item, "cfirstbillhid", ""); CreateNode(xmlDoc, item, "cfirsttypename", ""); CreateNode(xmlDoc, item, "cfirsttype", ""); CreateNode(xmlDoc, item, "csourcetypename", ""); CreateNode(xmlDoc, item, "pk_calbody", ""); CreateNode(xmlDoc, item, "vcalbodyname", ""); CreateNode(xmlDoc, item, "ts", DateTime.Now.ToString()); //? CreateNode(xmlDoc, item, "timestamp", ""); //? CreateNode(xmlDoc, item, "bodyts", DateTime.Now.ToString()); //? CreateNode(xmlDoc, item, "crowno", "1"); //行号??? CreateNode(xmlDoc, item, "nperiodastnum", ""); //期间业务辅数量 CreateNode(xmlDoc, item, "nperiodnum", ""); //期间业务数量 CreateNode(xmlDoc, item, "isforeignstor", "N"); CreateNode(xmlDoc, item, "isgathersettle", "N"); CreateNode(xmlDoc, item, "csortrowno", ""); CreateNode(xmlDoc, item, "cvendorid", ""); CreateNode(xmlDoc, item, "cvendorname", ""); CreateNode(xmlDoc, item, "pk_cubasdoc", ""); CreateNode(xmlDoc, item, "pk_corp", "1001"); //公司ID CreateNode(xmlDoc, item, "tbatchtime", ""); CreateNode(xmlDoc, item, "dproducedate", ""); CreateNode(xmlDoc, item, "dvalidate", ""); CreateNode(xmlDoc, item, "vvendbatchcode", ""); CreateNode(xmlDoc, item, "qualitymanflag", ""); CreateNode(xmlDoc, item, "qualitydaynum", ""); CreateNode(xmlDoc, item, "cqualitylevelid", mod_TQB_CHECKSTATE.C_ID); //? CreateNode(xmlDoc, item, "vnote", ""); CreateNode(xmlDoc, item, "tchecktime", ""); //? CreateNode(xmlDoc, item, "vdef1", ""); CreateNode(xmlDoc, item, "vdef2", ""); CreateNode(xmlDoc, item, "vdef3", ""); CreateNode(xmlDoc, item, "vdef4", ""); CreateNode(xmlDoc, item, "vdef5", ""); CreateNode(xmlDoc, item, "vdef6", ""); CreateNode(xmlDoc, item, "vdef7", ""); CreateNode(xmlDoc, item, "vdef8", ""); CreateNode(xmlDoc, item, "vdef9", ""); CreateNode(xmlDoc, item, "vdef10", ""); CreateNode(xmlDoc, item, "vdef11", ""); CreateNode(xmlDoc, item, "vdef12", ""); CreateNode(xmlDoc, item, "vdef13", ""); CreateNode(xmlDoc, item, "vdef14", ""); CreateNode(xmlDoc, item, "vdef15", ""); CreateNode(xmlDoc, item, "vdef16", ""); CreateNode(xmlDoc, item, "vdef17", ""); CreateNode(xmlDoc, item, "vdef18", ""); CreateNode(xmlDoc, item, "vdef19", ""); CreateNode(xmlDoc, item, "vdef20", ""); CreateNode(xmlDoc, item, "naccountgrsnum", ""); CreateNode(xmlDoc, item, "ncheckgrsnum", ""); CreateNode(xmlDoc, item, "nadjustgrsnum", ""); CreateNode(xmlDoc, item, "nshldtransgrsnum", ""); CreateNode(xmlDoc, item, "cspecialbid", ""); //? CreateNode(xmlDoc, item, "vbatchcode_temp", ""); //? CreateNode(xmlDoc, item, "cqualitylevelname", mod_TRC_ROLL_QTCKD_ITEM.C_JUDGE_LEV_ZH); //? CreateNode(xmlDoc, item, "vdef1", ""); //? CreateNode(xmlDoc, item, "vdef2", ""); //? CreateNode(xmlDoc, item, "vdef3", ""); //? #endregion body.AppendChild(item); } xmlDoc.Save(xmlFileName); List <string> parem = dalSendNC.SendXML(xmlFileName); if (parem[0] == "1") { return("1"); } else { return(parem[1]); } } catch (Exception ex) { return(ex.ToString()); } }
/// <summary> /// 发送入库实绩给NC /// </summary> /// <param name="xmlFileName">xml完整路径</param> /// <param name="c_stove">炉号</param> /// <param name="user_id">操作人员</param> /// <returns></returns> public bool SendXml_SLAB_46(string xmlFileName, string c_stove, string user_id) { try { string urlname = "GPRK" + c_stove + ".XML";//XML名称 string url = xmlFileName + "\\NCXML"; if (!Directory.Exists(url)) { Directory.CreateDirectory(url); } DataTable dt = dal_slab_mes.GetList("", "", c_stove, "", "全部").Tables[0]; Mod_TSC_SLAB_MAIN mod_slab_main = dal_slab_main.GetModel_Stove_Trans(c_stove); //钢坯实绩 Mod_TB_MATRL_MAIN mod_mater_main = dal_mater_main.GetModel(mod_slab_main.C_MAT_CODE); //物料主表 Mod_TS_USER mod_ts_user = dal_user.GetModel(user_id); //用户主表 Mod_TPB_SLABWH mod_SLABWH = dal_slabwh.GetModel_Interface(mod_slab_main.C_SLABWH_CODE); //库存表 Mod_TB_STD_CONFIG mod_std_config = dal_std_config.GetModel_Interface(mod_slab_main.C_STD_CODE, mod_slab_main.C_STL_GRD); // 自由项 Mod_TMO_ORDER mod_tmo_order = dal_tmo_order.GetModelByORDERNO(mod_slab_main.C_ORD_NO); //订单池 Mod_TQB_CHECKSTATE mod_checkstate = dal_checkstate.GetModelByName(mod_slab_main.C_JUDGE_LEV_ZH, mod_tmo_order.C_XGID); //判定等级 DateTime dt_time = Convert.ToDateTime(mod_slab_main.D_WE_DATE.ToString()); if (dt == null) { return(false); } if (mod_slab_main == null) { return(false); } if (mod_mater_main == null) { return(false); } if (mod_ts_user == null) { return(false); } if (mod_SLABWH == null) { return(false); } if (mod_std_config == null) { return(false); } if (mod_tmo_order == null) { return(false); } if (mod_checkstate == null) { return(false); } XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"); xmlDoc.AppendChild(node); //创建根节点 XmlElement root = xmlDoc.CreateElement("ufinterface"); #region//给节点属性赋值 root.SetAttribute("billtype", "46"); root.SetAttribute("filename", ""); root.SetAttribute("isexchange", "Y"); root.SetAttribute("operation", "req"); root.SetAttribute("proc", "add"); root.SetAttribute("receiver", "101"); root.SetAttribute("replace", "Y"); root.SetAttribute("roottag", "bill"); root.SetAttribute("sender", "1107"); #endregion xmlDoc.AppendChild(root); //创建子根节点 XmlElement bill = xmlDoc.CreateElement("bill"); #region//节点属性 bill.SetAttribute("id", mod_slab_main.C_STOVE); #endregion root.AppendChild(bill); XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null); #region //表头_order_head CreateNode(xmlDoc, head, "cwarehouseid", mod_SLABWH.C_ID); //仓库ID #endregion bill.AppendChild(head); XmlElement body = xmlDoc.CreateElement("bill_body"); bill.AppendChild(body); XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null); #region //表体_item CreateNode(xmlDoc, item, "cwarehouseid", mod_SLABWH.C_ID); //仓库ID CreateNode(xmlDoc, item, "taccounttime", mod_slab_main.D_WE_DATE.ToString()); //库房签字时间 CreateNode(xmlDoc, item, "coperatorid", mod_ts_user.C_ID); //制单人 CreateNode(xmlDoc, item, "ccheckstate_bid", mod_checkstate.C_ID); //质量等级 CreateNode(xmlDoc, item, "cworkcenterid", dt.Rows[0]["连铸主键"].ToString()); //工作中心主键/连铸机号 CreateNode(xmlDoc, item, "dbizdate", dt_time.ToString("yyyy-MM-dd")); //业务日期 CreateNode(xmlDoc, item, "vbatchcode", mod_slab_main.C_STOVE); //批次号 CreateNode(xmlDoc, item, "cinvbasid", mod_mater_main.C_PK_INVBASDOC); //存货基本ID CreateNode(xmlDoc, item, "pk_produce", ""); //介质物料PK CreateNode(xmlDoc, item, "ninnum", dt.Rows[0]["重量"].ToString()); //实入数量-重量 CreateNode(xmlDoc, item, "ninassistnum", dt.Rows[0]["支数"].ToString()); //实入辅数量-件数 CreateNode(xmlDoc, item, "castunitid", mod_mater_main.C_FJLDW); //辅计量单位ID CreateNode(xmlDoc, item, "vfree1", mod_std_config.C_ZYX1); //自由项1 CreateNode(xmlDoc, item, "vfree2", mod_std_config.C_ZYX2); //自由项2 CreateNode(xmlDoc, item, "vfree3", ""); //自由项3 CreateNode(xmlDoc, item, "vfree4", ""); //自由项4 CreateNode(xmlDoc, item, "vfree5", ""); //自由项5 CreateNode(xmlDoc, item, "pk_corp", ""); //公司 CreateNode(xmlDoc, item, "gcbm", ""); //工厂 #endregion body.AppendChild(item); xmlDoc.Save(url + "\\" + urlname); List <string> parem = dalSendNC.SendXML(url + "\\" + urlname); if (parem[0] == "1") { return(true); } else { return(false); } } catch { return(false); } }
/// <summary> /// 获取NC正式库数据列表 /// </summary> /// <param name="type">NC正式库/测试</param> /// <returns></returns> public List <Mod_TSC_SLAB_MAIN> Get_GPKNCZS(string type) { DataTable dtnc = null; if (type == "NC正式库") { dtnc = bll_slab.GetNCGPK(); } else { dtnc = bll_slab.GetNCCSGPK(); } List <Mod_TSC_SLAB_MAIN> lst = new List <Mod_TSC_SLAB_MAIN>(); if (dtnc.Rows.Count > 0) { for (int i = 0; i < dtnc.Rows.Count; i++) { string dd = dtnc.Rows[i]["辅数量"].ToString(); int num = 0; try { num = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(dtnc.Rows[i]["辅数量"].ToString())));//支数 } catch (Exception) { num = 10; } string lh = ""; string pch = ""; if (dtnc.Rows[i]["连铸炉号"].ToString().Trim() != "") { lh = dtnc.Rows[i]["连铸炉号"].ToString(); pch = dtnc.Rows[i]["批次号"].ToString(); } else { lh = dtnc.Rows[i]["批次号"].ToString(); pch = ""; } decimal wgt = Convert.ToDecimal(Convert.ToDouble(dtnc.Rows[i]["数量"].ToString())) / Convert.ToDecimal(dtnc.Rows[i]["辅数量"].ToString()); //单重 Mod_TB_MATRL_MAIN motral = bll_matrl.GetModel(dtnc.Rows[i]["INVCODE"].ToString()); string zyx1 = dtnc.Rows[i]["VFREE1"].ToString(); //自由项1 string zyx2 = dtnc.Rows[i]["VFREE2"].ToString(); //自由项2 string bz = zyx1.Split('~')[1].Contains("协议") ? zyx2.Split('~')[1] : zyx1.Split('~')[1]; //执行标准// string zyx3 = dtnc.Rows[i]["VFREE3"].ToString(); //自由项3 DateTime wedate = Convert.ToDateTime(dtnc.Rows[i]["生产入库日期"].ToString()); //生产入库时间 string wlid = dtnc.Rows[i]["INVCODE"].ToString(); //物料编码 string wumc = dtnc.Rows[i]["INVNAME"].ToString(); //物料名称 string hw = dtnc.Rows[i]["STORCODE"].ToString(); //仓库 Mod_TQB_STD_MAIN modbz = bll_bz.GetModel(motral.C_STL_GRD, zyx1, zyx2); for (int j = 0; j < num; j++) { Mod_TSC_SLAB_MAIN mod = new Mod_TSC_SLAB_MAIN(); mod.C_PLAN_ID = type; mod.C_STOVE = lh; mod.C_ID = System.Guid.NewGuid().ToString(); mod.C_BATCH_NO = pch; if (mod.C_STOVE == "24") { mod.C_STA_ID = "890EAA2949E743AFB26C06B8D4209B17"; mod.C_STA_CODE = "3#CC"; mod.C_STA_DESC = "3#铸机"; } else if (mod.C_STOVE == "23") { mod.C_STA_ID = "5263048C90B44B4D9934C513CE028250"; mod.C_STA_CODE = "4#CC"; mod.C_STA_DESC = "4#铸机"; } else if (mod.C_STOVE == "61") { mod.C_STA_ID = "01C145B259E740F6A258AF313DD9268C"; mod.C_STA_CODE = "6#CC"; mod.C_STA_DESC = "6#铸机"; } else { mod.C_STA_ID = "77B9FDA79B884D07AA2B3601D1DA11A2"; mod.C_STA_CODE = "5#CC"; mod.C_STA_DESC = "5#铸机"; } mod.D_WE_DATE = wedate; mod.C_MAT_CODE = wlid; mod.C_MAT_NAME = wumc; mod.C_SPEC = motral.C_SLAB_SIZE;; mod.N_LEN = motral.N_LTH; mod.C_STL_GRD = motral.C_STL_GRD; mod.N_WGT = wgt; mod.C_SCUTCHEON = "白牌"; mod.N_QUA = 1; if (modbz != null) { mod.C_STD_CODE = modbz.C_STD_CODE; } if (mod.C_STD_CODE == "") { mod.C_STD_CODE = bz.Replace(" ", "").Replace("(", "(").Replace(")", ")"); } mod.C_MOVE_TYPE = "M"; mod.D_CCM_DATE = wedate.AddHours(-2); mod.C_STOCK_STATE = "F"; mod.C_MAT_TYPE = "合格品"; mod.C_JUDGE_LEV_ZH = "合格品"; //mod.C_ISXM = "N"; mod.C_ZYX1 = zyx1; mod.C_ZYX2 = zyx2; mod.C_IS_QR = "Y"; mod.C_SLABWH_CODE = hw; lst.Add(mod); } } return(lst); } return(null); }
private void btn_change_wl_Click(object sender, EventArgs e) { if (DialogResult.No == MessageBox.Show("是否确认重新修改物料编码?\r\n重新修改后浇次计划将会重新生成!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)) { return; } WaitingFrom.ShowWait("系统正对计划进行处理,请稍候..."); int[] aa = this.gv_Lg_plan_Query.GetSelectedRows(); string C_STL_GRD1 = ""; string C_ROUTE = ""; for (int i = 0; i < aa.Length; i++) { int selectedHandle = aa[i]; if (i > 0) { if (this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString() != C_STL_GRD1 || this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ROUTE").ToString() != C_ROUTE) { MessageBox.Show("只能同时修改钢种和工艺路线一样的订单的物料编码!"); return; } } C_STL_GRD1 = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString(); C_ROUTE = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ROUTE").ToString(); } int cou = 0; for (int i = 0; i < aa.Length; i++) { int selectedHandle = aa[i]; string C_ID = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ID").ToString(); string C_STL_GRD2 = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString(); string C_ROUTE2 = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ROUTE").ToString(); if (C_STL_GRD1 != C_STL_GRD2 || C_ROUTE != C_ROUTE2) { MessageBox.Show("选中行和选定物料不一致,不能修改物料!"); return; } if (this.cbo_lzpwl.SelectedIndex < 0) { MessageBox.Show("请选择要修改的连铸坯物料!"); return; } string c_matral_rz_id = "";//热轧坯物料主键 if (C_ROUTE2.Contains("KP")) { if (this.cbo_rzpwl.SelectedIndex < 0) { MessageBox.Show("请选择要修改的热轧坯物料!"); return; } c_matral_rz_id = this.cbo_rzpwl.Properties.Items[this.cbo_rzpwl.SelectedIndex].Value.ToString(); } else { c_matral_rz_id = ""; } string c_matral_id = this.cbo_lzpwl.Properties.Items[this.cbo_lzpwl.SelectedIndex].Value.ToString(); Mod_TB_MATRL_MAIN modlz = bll_wl.GetModel(c_matral_id);//连铸坯物料 Mod_TB_MATRL_MAIN mod_rz = null; if (c_matral_rz_id.Trim() != "") { mod_rz = bll_wl.GetModel(c_matral_rz_id); } Mod_TRP_PLAN_ROLL mod_roll = bll_trp_plan.GetModel(C_ID); string C_ORDER_ID = mod_roll.C_INITIALIZE_ITEM_ID; Mod_TMO_ORDER mod_order = bll_order.GetModel(C_ORDER_ID); mod_order.C_MATRL_CODE_SLAB = modlz.C_ID; mod_order.C_MATRL_NAME_SLAB = modlz.C_MAT_NAME; mod_order.C_SLAB_SIZE = modlz.C_SLAB_SIZE; mod_order.N_SLAB_LENGTH = modlz.N_LTH; mod_order.N_SLAB_PW = modlz.N_HSL; if (mod_rz != null) { mod_order.C_MATRL_CODE_KP = mod_rz.C_ID; mod_order.C_MATRL_NAME_KP = mod_rz.C_MAT_NAME; mod_order.C_KP_SIZE = mod_rz.C_SLAB_SIZE; mod_order.N_KP_LENGTH = mod_rz.N_LTH; mod_order.N_KP_PW = mod_rz.N_HSL; } if (bll_order.Update(mod_order)) { mod_roll.C_MATRL_CODE_SLAB = modlz.C_ID; mod_roll.C_MATRL_NAME_SLAB = modlz.C_MAT_NAME; mod_roll.C_SLAB_SIZE = modlz.C_SLAB_SIZE; mod_roll.N_SLAB_LENGTH = modlz.N_LTH; mod_roll.N_SLAB_PW = modlz.N_HSL; if (mod_rz != null) { mod_roll.C_MATRL_CODE_KP = mod_rz.C_ID; mod_roll.C_MATRL_NAME_KP = mod_rz.C_MAT_NAME; mod_roll.C_KP_SIZE = mod_rz.C_SLAB_SIZE; mod_roll.N_KP_LENGTH = mod_rz.N_LTH; mod_roll.N_KP_PW = mod_rz.N_HSL; } if (bll_trp_plan.Update(mod_roll)) { cou = cou + i; } } } MessageBox.Show("物料信息修改成功!"); WaitingFrom.CloseWait(); btn_query_lc_plan_Click(null, null); }