Пример #1
0
        /// <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);
            }
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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);
        }