Ejemplo n.º 1
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(Mod_TRC_ROLL_QTCKD_ITEM model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into TRC_ROLL_QTCKD_ITEM(");
            strSql.Append("C_QTCKD_NO,C_BATCH_NO,C_JUDGE_LEV_ZH,C_MAT_CODE,C_MAT_DESC,C_STL_GRD,C_SPEC,N_NUM,N_WGT,C_Z_DW,C_F_DW,C_STOVE,C_ZYX1,C_ZYX2,C_BZYQ,C_ZYX4,N_STATUS,C_LINEWH_CODE)");
            strSql.Append(" values (");
            strSql.Append(":C_QTCKD_NO,:C_BATCH_NO,:C_JUDGE_LEV_ZH,:C_MAT_CODE,:C_MAT_DESC,:C_STL_GRD,:C_SPEC,:N_NUM,:N_WGT,:C_Z_DW,:C_F_DW,:C_STOVE,:C_ZYX1,:C_ZYX2,:C_BZYQ,:C_ZYX4,:N_STATUS,:C_LINEWH_CODE)");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_QTCKD_NO",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_BATCH_NO",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_JUDGE_LEV_ZH", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_CODE",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_DESC",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STL_GRD",      OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SPEC",         OracleDbType.Varchar2, 100),
                new OracleParameter(":N_NUM",          OracleDbType.Int16,     15),
                new OracleParameter(":N_WGT",          OracleDbType.Int16,     15),
                new OracleParameter(":C_Z_DW",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_F_DW",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STOVE",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ZYX1",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ZYX2",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_BZYQ",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ZYX4",         OracleDbType.Varchar2, 100),
                new OracleParameter(":N_STATUS",       OracleDbType.Int16,      1),
                new OracleParameter(":C_LINEWH_CODE",  OracleDbType.Varchar2, 100)
            };
            parameters[0].Value  = model.C_QTCKD_NO;
            parameters[1].Value  = model.C_BATCH_NO;
            parameters[2].Value  = model.C_JUDGE_LEV_ZH;
            parameters[3].Value  = model.C_MAT_CODE;
            parameters[4].Value  = model.C_MAT_DESC;
            parameters[5].Value  = model.C_STL_GRD;
            parameters[6].Value  = model.C_SPEC;
            parameters[7].Value  = model.N_NUM;
            parameters[8].Value  = model.N_WGT;
            parameters[9].Value  = model.C_Z_DW;
            parameters[10].Value = model.C_F_DW;
            parameters[11].Value = model.C_STOVE;
            parameters[12].Value = model.C_ZYX1;
            parameters[13].Value = model.C_ZYX2;
            parameters[14].Value = model.C_BZYQ;
            parameters[15].Value = model.C_ZYX4;
            parameters[16].Value = model.N_STATUS;
            parameters[17].Value = model.C_LINEWH_CODE;
            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TRC_ROLL_QTCKD_ITEM GetModel(string C_ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select C_ID,C_QTCKD_NO,C_BATCH_NO,C_JUDGE_LEV_ZH,C_MAT_CODE,C_MAT_DESC,C_STL_GRD,C_SPEC,N_NUM,N_WGT,C_Z_DW,C_F_DW,C_STOVE,C_ZYX1,C_ZYX2,C_BZYQ,C_ZYX4,N_STATUS,C_LINEWH_CODE,D_PRODUCE_DATE,C_JUDGE_LEV_BP,C_STD_CODE,N_SJNUM,N_SJWGT from TRC_ROLL_QTCKD_ITEM ");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID", OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = C_ID;

            Mod_TRC_ROLL_QTCKD_ITEM model = new Mod_TRC_ROLL_QTCKD_ITEM();
            DataSet ds = DbHelperOra.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TRC_ROLL_QTCKD_ITEM DataRowToModel(DataRow row)
        {
            Mod_TRC_ROLL_QTCKD_ITEM model = new Mod_TRC_ROLL_QTCKD_ITEM();

            if (row != null)
            {
                if (row["C_ID"] != null)
                {
                    model.C_ID = row["C_ID"].ToString();
                }
                if (row["C_QTCKD_NO"] != null)
                {
                    model.C_QTCKD_NO = row["C_QTCKD_NO"].ToString();
                }
                if (row["C_BATCH_NO"] != null)
                {
                    model.C_BATCH_NO = row["C_BATCH_NO"].ToString();
                }
                if (row["C_JUDGE_LEV_ZH"] != null)
                {
                    model.C_JUDGE_LEV_ZH = row["C_JUDGE_LEV_ZH"].ToString();
                }
                if (row["C_MAT_CODE"] != null)
                {
                    model.C_MAT_CODE = row["C_MAT_CODE"].ToString();
                }
                if (row["C_MAT_DESC"] != null)
                {
                    model.C_MAT_DESC = row["C_MAT_DESC"].ToString();
                }
                if (row["C_STL_GRD"] != null)
                {
                    model.C_STL_GRD = row["C_STL_GRD"].ToString();
                }
                if (row["C_SPEC"] != null)
                {
                    model.C_SPEC = row["C_SPEC"].ToString();
                }
                if (row["N_NUM"] != null && row["N_NUM"].ToString() != "")
                {
                    model.N_NUM = decimal.Parse(row["N_NUM"].ToString());
                }
                if (row["N_WGT"] != null && row["N_WGT"].ToString() != "")
                {
                    model.N_WGT = decimal.Parse(row["N_WGT"].ToString());
                }
                if (row["C_Z_DW"] != null)
                {
                    model.C_Z_DW = row["C_Z_DW"].ToString();
                }
                if (row["C_F_DW"] != null)
                {
                    model.C_F_DW = row["C_F_DW"].ToString();
                }
                if (row["C_STOVE"] != null)
                {
                    model.C_STOVE = row["C_STOVE"].ToString();
                }
                if (row["C_ZYX1"] != null)
                {
                    model.C_ZYX1 = row["C_ZYX1"].ToString();
                }
                if (row["C_ZYX2"] != null)
                {
                    model.C_ZYX2 = row["C_ZYX2"].ToString();
                }
                if (row["C_BZYQ"] != null)
                {
                    model.C_BZYQ = row["C_BZYQ"].ToString();
                }
                if (row["C_ZYX4"] != null)
                {
                    model.C_ZYX4 = row["C_ZYX4"].ToString();
                }
                if (row["N_STATUS"] != null && row["N_STATUS"].ToString() != "")
                {
                    model.N_STATUS = decimal.Parse(row["N_STATUS"].ToString());
                }
                if (row["C_LINEWH_CODE"] != null)
                {
                    model.C_LINEWH_CODE = row["C_LINEWH_CODE"].ToString();
                }
                if (row["D_PRODUCE_DATE"] != null && row["D_PRODUCE_DATE"].ToString() != "")
                {
                    model.D_PRODUCE_DATE = DateTime.Parse(row["D_PRODUCE_DATE"].ToString());
                }
                if (row["C_JUDGE_LEV_BP"] != null)
                {
                    model.C_JUDGE_LEV_BP = row["C_JUDGE_LEV_BP"].ToString();
                }
                if (row["C_STD_CODE"] != null)
                {
                    model.C_STD_CODE = row["C_STD_CODE"].ToString();
                }
                if (row["N_SJNUM"] != null && row["N_SJNUM"].ToString() != "")
                {
                    model.N_SJNUM = decimal.Parse(row["N_SJNUM"].ToString());
                }
                if (row["N_SJWGT"] != null && row["N_SJWGT"].ToString() != "")
                {
                    model.N_SJWGT = decimal.Parse(row["N_SJWGT"].ToString());
                }
            }
            return(model);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Mod_TRC_ROLL_QTCKD_ITEM model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update TRC_ROLL_QTCKD_ITEM set ");
            strSql.Append("C_QTCKD_NO=:C_QTCKD_NO,");
            strSql.Append("C_BATCH_NO=:C_BATCH_NO,");
            strSql.Append("C_JUDGE_LEV_ZH=:C_JUDGE_LEV_ZH,");
            strSql.Append("C_MAT_CODE=:C_MAT_CODE,");
            strSql.Append("C_MAT_DESC=:C_MAT_DESC,");
            strSql.Append("C_STL_GRD=:C_STL_GRD,");
            strSql.Append("C_SPEC=:C_SPEC,");
            strSql.Append("N_NUM=:N_NUM,");
            strSql.Append("N_WGT=:N_WGT,");
            strSql.Append("C_Z_DW=:C_Z_DW,");
            strSql.Append("C_F_DW=:C_F_DW,");
            strSql.Append("C_STOVE=:C_STOVE,");
            strSql.Append("C_ZYX1=:C_ZYX1,");
            strSql.Append("C_ZYX2=:C_ZYX2,");
            strSql.Append("C_BZYQ=:C_BZYQ,");
            strSql.Append("C_ZYX4=:C_ZYX4,");
            strSql.Append("N_STATUS=:N_STATUS,");
            strSql.Append("C_LINEWH_CODE=:C_LINEWH_CODE,");
            strSql.Append("D_PRODUCE_DATE=:D_PRODUCE_DATE,");
            strSql.Append("C_JUDGE_LEV_BP=:C_JUDGE_LEV_BP,");
            strSql.Append("C_STD_CODE=:C_STD_CODE,");
            strSql.Append("N_SJNUM=:N_SJNUM,");
            strSql.Append("N_SJWGT=:N_SJWGT");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_QTCKD_NO",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_BATCH_NO",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_JUDGE_LEV_ZH", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_CODE",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_DESC",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STL_GRD",      OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SPEC",         OracleDbType.Varchar2, 100),
                new OracleParameter(":N_NUM",          OracleDbType.Int16,     15),
                new OracleParameter(":N_WGT",          OracleDbType.Int16,     15),
                new OracleParameter(":C_Z_DW",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_F_DW",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STOVE",        OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ZYX1",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ZYX2",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_BZYQ",         OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ZYX4",         OracleDbType.Varchar2, 100),
                new OracleParameter(":N_STATUS",       OracleDbType.Int16,      1),
                new OracleParameter(":C_LINEWH_CODE",  OracleDbType.Varchar2, 100),
                new OracleParameter(":D_PRODUCE_DATE", OracleDbType.Date),
                new OracleParameter(":C_JUDGE_LEV_BP", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STD_CODE",     OracleDbType.Varchar2, 100),
                new OracleParameter(":N_SJNUM",        OracleDbType.Int16,     15),
                new OracleParameter(":N_SJWGT",        OracleDbType.Int16,     15),
                new OracleParameter(":C_ID",           OracleDbType.Varchar2, 100)
            };
            parameters[0].Value  = model.C_QTCKD_NO;
            parameters[1].Value  = model.C_BATCH_NO;
            parameters[2].Value  = model.C_JUDGE_LEV_ZH;
            parameters[3].Value  = model.C_MAT_CODE;
            parameters[4].Value  = model.C_MAT_DESC;
            parameters[5].Value  = model.C_STL_GRD;
            parameters[6].Value  = model.C_SPEC;
            parameters[7].Value  = model.N_NUM;
            parameters[8].Value  = model.N_WGT;
            parameters[9].Value  = model.C_Z_DW;
            parameters[10].Value = model.C_F_DW;
            parameters[11].Value = model.C_STOVE;
            parameters[12].Value = model.C_ZYX1;
            parameters[13].Value = model.C_ZYX2;
            parameters[14].Value = model.C_BZYQ;
            parameters[15].Value = model.C_ZYX4;
            parameters[16].Value = model.N_STATUS;
            parameters[17].Value = model.C_LINEWH_CODE;
            parameters[18].Value = model.D_PRODUCE_DATE;
            parameters[19].Value = model.C_JUDGE_LEV_BP;
            parameters[20].Value = model.C_STD_CODE;
            parameters[21].Value = model.N_SJNUM;
            parameters[22].Value = model.N_SJWGT;
            parameters[23].Value = model.C_ID;

            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 发送转库实绩信息给NC
        /// </summary>
        /// <param name="xmlFileName">xml完整路径</param>
        /// <returns></returns>
        public string SendXml_GP(string xmlFileName, string no)
        {
            try
            {
                string name = "QT4A" + no + ".xml";
                xmlFileName += "\\NCXML\\" + 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);
                Mod_TPB_LINEWH     mbck        = dal_TPB_LINEWH.GetModelByCode(mod_TRC_ROLL_QTCKD.C_MBWH_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);
                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", "update");
                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", mbck.C_ID);            //入库仓库ID
                CreateNode(xmlDoc, head, "cinwarehousename", mbck.C_LINEWH_NAME); //仓库名称
                CreateNode(xmlDoc, head, "isLocatorMgtIn", "0");
                CreateNode(xmlDoc, head, "isWasteWhIn", "0");
                CreateNode(xmlDoc, head, "whreservedptyin", "");
                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", "4A");
                CreateNode(xmlDoc, head, "cspecialhid", "");                                //特殊业务单据ID??

                #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.GetModel(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", "1001NC10000000ARTIFJ");    //???
                    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_WGT.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_WGT / mod_TRC_ROLL_QTCKD_ITEM.N_NUM), 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_NUM.ToString()); //应转辅数量
                    CreateNode(xmlDoc, item, "pk_measdoc", mod_TB_MATRL_MAIN.C_PK_MEASDOC);                 //主计量单位
                    CreateNode(xmlDoc, item, "scrq", djrq);                                                 //?
                    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", mod_TRC_ROLL_QTCKD_ITEM.C_STL_GRD + "'产品标准"); //?
                    CreateNode(xmlDoc, item, "vfreename2", mod_TRC_ROLL_QTCKD_ITEM.C_STL_GRD + "'技术要求"); //?
                    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_NUM.ToString());   //?
                    CreateNode(xmlDoc, item, "norderpointnum", mod_TRC_ROLL_QTCKD_ITEM.N_WGT.ToString()); //?
                    CreateNode(xmlDoc, item, "xczl", "");
                    CreateNode(xmlDoc, item, "nsafestocknum", "");
                    CreateNode(xmlDoc, item, "fbillflag", "");
                    CreateNode(xmlDoc, item, "vfreeid1", "0001NC100000000Q2VJX");   //?
                    CreateNode(xmlDoc, item, "vfreeid2", "0001NC100000000Q2VJZ");   //?
                    CreateNode(xmlDoc, item, "vfreeid3", "0001NC10000000001Y8M");   //?
                    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", DateTime.Now.ToString());
                    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", DateTime.Now.ToString());      //?
                    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 = SendNC.SendXML(xmlFileName);
                //parem.Add(dayplcode);
                //parem.Add(empID);
                //parem.Add("发运单");

                ////日志
                ////AddLog(parem);

                if (parem[0] == "1")
                {
                    return("1");
                }
                else
                {
                    return(parem[1]);
                }
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }