Ejemplo n.º 1
0
        public void Execute()
        {
            string sql     = "";
            string LogName = Context.JobDetail.JobDataMap.GetString("LogName");
            int    Days    = Context.JobDetail.JobDataMap.GetInt("Days");

            DbHelp dbHelp = new DbHelp(ConnString);

            #region 执行任务语句
            sql = string.Format("DELETE FROM [dbo].[sys_oper_log] WHERE createTime < '{0}';", DateTime.Now.AddDays(-1 * double.Parse(Days.ToString())));
            dbHelp.DataOperator(sql);

            sql = string.Format("DELETE FROM [dbo].[sys_job_log] WHERE createTime < '{0}';", DateTime.Now.AddDays(-1 * double.Parse(Days.ToString())));
            dbHelp.DataOperator(sql);
            #endregion
        }
        public void Execute()
        {
            DbHelp  dbHelp = new DbHelp(ConnString);
            string  sql    = string.Format(@"SELECT dbo.order_header.code,dbo.order_header.productCode,dbo.order_header.partMaterialCode,dbo.order_header.planQty FROM dbo.order_header WHERE dbo.order_header.status = '{0}'; ", OrderStatus.已准备);
            DataSet ds     = dbHelp.SelectGet(sql);

            List <OrderHeader> ohlist = new List <OrderHeader>();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                OrderHeader orderheader = new OrderHeader();
                orderheader.Code        = dr["code"].ToString();
                orderheader.ProductCode = dr["productCode"].ToString();
                if (string.IsNullOrEmpty(dr["partMaterialCode"].ToString()))
                {
                    orderheader.PartMaterialCode = dr["productCode"].ToString();
                }
                else
                {
                    orderheader.PartMaterialCode = dr["partMaterialCode"].ToString();
                }
                orderheader.PlanQty = decimal.Parse(dr["planQty"].ToString());
                ohlist.Add(orderheader);
            }
            if (ohlist.Count == ds.Tables[0].Rows.Count)
            {
                foreach (OrderHeader oh in ohlist)
                {
                    string  sqlmd          = string.Format(@"SELECT * FROM dbo.material_demand where dbo.material_demand.orderCode = '{0}'; ", oh.Code);
                    DataSet materialdemand = dbHelp.SelectGet(sqlmd);
                    if (materialdemand.Tables[0].Rows.Count < 1)
                    {
                        string  sqls  = string.Format(@"SELECT * FROM dbo.mbom_header where dbo.mbom_header.productCode= '{0}'; ", oh.ProductCode);
                        DataSet mbomh = dbHelp.SelectGet(sqls);
                        if (mbomh.Tables[0].Rows.Count > 0)
                        {
                            string  sqlmbd = string.Format(@"SELECT * FROM dbo.mbom_detail where dbo.mbom_detail.mbomHeaderId = {0}; ", int.Parse(mbomh.Tables[0].Rows[0]["id"].ToString()));
                            DataSet mbomdt = dbHelp.SelectGet(sqlmbd);
                            if (mbomdt.Tables[0].Rows.Count > 0)
                            {
                                for (int i = 0; i < mbomdt.Tables[0].Rows.Count; i++)
                                {
                                    string  materialsql = string.Format("SELECT dbo.material.classABC FROM dbo.material where dbo.material.code = '{0}'; ", mbomdt.Tables[0].Rows[i]["materialCode"].ToString());
                                    DataSet mateialds   = dbHelp.SelectGet(materialsql);
                                    decimal?DamandQty   = oh.PlanQty * decimal.Parse(mbomdt.Tables[0].Rows[i]["BaseQty"].ToString());


                                    string insql = string.Format(@"INSERT INTO [dbo].[material_demand] ([orderCode],[productCode],[partMaterialCode],[materialCode],[damandQty],[distributeQty],[status],[classABC],[createTime],[createBy])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}'); ",
                                                                 oh.Code, oh.ProductCode, oh.PartMaterialCode, mbomdt.Tables[0].Rows[i]["materialCode"].ToString(), DamandQty, decimal.Parse(mbomdt.Tables[0].Rows[i]["baseQty"].ToString()), "ready", mateialds.Tables[0].Rows[0]["classABC"].ToString(), DateTime.Now, "AutoJob");
                                    dbHelp.DataOperator(insql);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public void LoggerJob()
        {
            string sql    = "";
            DbHelp dbHelp = new DbHelp(ConnString);

            #region 更新任务时间
            sql = string.Format("UPDATE [dbo].[sys_job] SET lastFireTime = '{0}', nextFireTime = '{1}' WHERE jobName = '{2}';", LastFireTime, NextFireTime, JobName);
            dbHelp.DataOperator(sql);
            #endregion

            #region 记录任务日志
            stopwatch.Stop();
            JobMessage = "总共耗时:" + stopwatch.Elapsed.TotalMilliseconds.ToString() + " 毫秒";

            JobName       = JobName.Replace("'", "''");
            JobGroup      = JobGroup.Replace("'", "''");
            MethodName    = MethodName.Replace("'", "''");
            MethodParams  = MethodParams.Replace("'", "''");
            JobMessage    = JobMessage.Replace("'", "''");
            ExceptionInfo = ExceptionInfo.Replace("'", "''");

            sql = string.Format(@"INSERT INTO [dbo].[sys_job_log]
                        ([jobName]
                        ,[jobGroup]
                        ,[methodName]
                        ,[methodParams]
                        ,[jobMessage]
                        ,[exceptionInfo]
                        ,[createTime]
                        ,[createBy])
                    VALUES
                        ('{0}'
                        ,'{1}'
                        ,'{2}'
                        ,'{3}'
                        ,'{4}'
                        ,'{5}'
                        , GETDATE()
                        , 'System')", JobName, JobGroup, MethodName, MethodParams, JobMessage, ExceptionInfo);
            dbHelp.DataOperator(sql);
            #endregion
        }
        public void Execute()
        {
            DbHelp  dbHelp = new DbHelp(ConnString);
            string  sql    = string.Format(@"SELECT * FROM dbo.order_header WHERE dbo.order_header.status = '{0}'; ", OrderStatus.完成);
            DataSet ds     = dbHelp.SelectGet(sql);

            if (ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    //获取工单历史表,确定历史表中有此条数据
                    string  orderhsql = string.Format(@"SELECT * FROM dbo.order_header_history WHERE dbo.order_header_history.code = '{0}'; ", dr["code"]);
                    DataSet ohds      = dbHelp.SelectGet(orderhsql);
                    if (ohds.Tables[0].Rows.Count > 0)
                    {
                        string deldetail = string.Format(@"DELETE FROM dbo.order_detiail WHERE dbo.order_detiail.orderHeaderId = {0}; ", dr["id"]);
                        dbHelp.DataOperator(deldetail);

                        string delheader = string.Format(@"DELETE FROM dbo.order_header WHERE dbo.order_header.id = {0}; ", dr["id"]);
                        dbHelp.DataOperator(delheader);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        private void Log(bool bresult)
        {
            Stopwatch.Stop();

            try
            {
                if (string.IsNullOrEmpty(ConnString))
                {
                    return;
                }

                string   type   = "发送";
                string   system = _System;
                string   method = _method;
                string   server = Server;
                string   path   = _requestApi;
                string[] paths  = _requestApi.Split('/');
                paths = paths[paths.Length - 1].Split('?');
                string actionName        = paths[0];
                string queryString       = paths.Length > 1 ? paths[1] : "";
                string apiGroup          = _apiGroup;
                string request           = _request;
                string response          = _response;
                double totalMilliseconds = Stopwatch.Elapsed.TotalMilliseconds;
                string logTime           = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
                string name       = "MES";
                string ip         = "";
                string browser    = "";
                string result     = bresult ? "成功" : "失败";
                int    flag       = 1;
                string createTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
                string createBy   = "MES";

                DbHelp dbHelp = new DbHelp(ConnString);
                string sql    = string.Format(@"INSERT INTO [dbo].[sys_interface_log]
                                        ([type]
                                        ,[system]
                                        ,[method]
                                        ,[server]
                                        ,[path]
                                        ,[actionName]
                                        ,[queryString]
                                        ,[apiGroup]
                                        ,[request]
                                        ,[response]
                                        ,[totalMilliseconds]
                                        ,[logTime]
                                        ,[name]
                                        ,[ip]
                                        ,[browser]
                                        ,[result]
                                        ,[flag]
                                        ,[createTime]
                                        ,[createBy])
                                    VALUES
                                        ('{0}'
                                        ,'{1}'
                                        ,'{2}'
                                        ,'{3}'
                                        ,'{4}'
                                        ,'{5}'
                                        ,'{6}'
                                        ,'{7}'
                                        ,'{8}'
                                        ,'{9}'
                                        ,'{10}'
                                        ,'{11}'
                                        ,'{12}'
                                        ,'{13}'
                                        ,'{14}'
                                        ,'{15}'
                                        ,'{16}'
                                        ,'{17}'
                                        ,'{18}')",
                                              type
                                              , system
                                              , method
                                              , server
                                              , path
                                              , actionName
                                              , queryString
                                              , apiGroup
                                              , request
                                              , response
                                              , totalMilliseconds
                                              , logTime
                                              , name
                                              , ip
                                              , browser
                                              , result
                                              , flag
                                              , createTime
                                              , createBy
                                              );
                dbHelp.DataOperator(sql);
            }
            catch (Exception ex) {
                throw ex;
            }
        }
Ejemplo n.º 6
0
        public void Execute()
        {
            DbHelp            dbHelp = new DbHelp(ConnString);
            string            sql    = string.Format(@"SELECT dbo.order_header.code,dbo.order_header.productCode,dbo.order_header.partMaterialCode,dbo.order_header.status,
                          (SELECT ISNULL(dbo.order_detiail.serialNumber, '') FROM dbo.order_detiail WHERE dbo.order_header.code=dbo.order_detiail.orderCode) AS serialNumber
                           FROM dbo.order_header WHERE dbo.order_header.status <> '{0}' AND dbo.order_header.status <> '{1}' AND dbo.order_header.status <> '{2}' AND dbo.order_header.planEndTime < GETDATE()
                           ORDER BY dbo.order_header.code ASC,dbo.order_header.planStartTime ASC; ", OrderStatus.完成, OrderStatus.已冻结, OrderStatus.已撤消);
            DataSet           ds     = dbHelp.SelectGet(sql);
            List <OrderAlert> oalist = new List <OrderAlert>();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                OrderAlert orderAlert = new OrderAlert();
                orderAlert.OrderCode        = dr["code"].ToString();
                orderAlert.ProductCode      = dr["productCode"].ToString();
                orderAlert.PartMaterialCode = dr["partMaterialCode"].ToString();
                orderAlert.SerialNumber     = dr["serialNumber"].ToString();
                orderAlert.AlertMsg         = "已逾期未按计划时间完成生产";
                orderAlert.Flag             = 0;
                orderAlert.IsSpeak          = true;
                orderAlert.Status           = dr["status"].ToString();
                oalist.Add(orderAlert);
            }
            if (oalist.Count == ds.Tables[0].Rows.Count)
            {
                foreach (OrderAlert oalt in oalist)
                {
                    string  sqls    = string.Format(@"SELECT top 1 orderCode FROM dbo.order_alert WHERE dbo.order_alert.orderCode = '{0}' AND Flag=0; ", oalt.OrderCode);
                    DataSet dsalert = dbHelp.SelectGet(sqls);
                    if (dsalert.Tables[0].Rows.Count < 1)
                    {
                        string insql = string.Format(@"INSERT INTO [dbo].[order_alert] ([orderCode],[productCode],[partMaterialCode],[serialNumber],[status],[AlertMsg],[Flag],[IsSpeak],[createTime],[createBy])
                       VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','Job'); ", oalt.OrderCode, oalt.ProductCode, oalt.PartMaterialCode, oalt.SerialNumber, oalt.Status, oalt.AlertMsg, oalt.Flag, oalt.IsSpeak, DateTime.Now);
                        dbHelp.DataOperator(insql);
                    }
                }
            }
            string            donesql     = string.Format(@"SELECT dbo.order_header.code,dbo.order_header.productCode,dbo.order_header.partMaterialCode,dbo.order_header.status,
                             (SELECT ISNULL(dbo.order_detiail.serialNumber, '') FROM dbo.order_detiail WHERE dbo.order_header.code=dbo.order_detiail.orderCode) AS serialNumber
                              FROM dbo.order_header WHERE (dbo.order_header.status = '{0}' OR dbo.order_header.status='{1}' OR dbo.order_header.status='{2}') AND dbo.order_header.planEndTime < GETDATE()
                              ORDER BY dbo.order_header.code ASC,dbo.order_header.planStartTime ASC; ", OrderStatus.完成, OrderStatus.已冻结, OrderStatus.已撤消);
            DataSet           doneds      = dbHelp.SelectGet(donesql);
            List <OrderAlert> orderAlerts = new List <OrderAlert>();

            foreach (DataRow dr in doneds.Tables[0].Rows)
            {
                OrderAlert orderAlert = new OrderAlert();
                orderAlert.OrderCode = dr["code"].ToString();
                //orderAlert.ProductCode = dr["productCode"].ToString();
                //orderAlert.PartMaterialCode = dr["partMaterialCode"].ToString();
                //orderAlert.SerialNumber = dr["serialNumber"].ToString();
                orderAlert.Flag    = 1;
                orderAlert.IsSpeak = false;
                orderAlert.Status  = dr["status"].ToString();
                orderAlerts.Add(orderAlert);
            }
            if (orderAlerts.Count == ds.Tables[0].Rows.Count)
            {
                foreach (OrderAlert oalt in orderAlerts)
                {
                    string  sqls    = string.Format(@"SELECT top 1 orderCode FROM dbo.order_alert WHERE dbo.order_alert.orderCode = '{0}' AND Flag=0; ", oalt.OrderCode);
                    DataSet dsalert = dbHelp.SelectGet(sqls);
                    if (dsalert.Tables[0].Rows.Count > 0)
                    {
                        string upsql = string.Format(@"UPDATE [dbo].[order_alert] set [status]='{0}', [Flag]='{1}',[IsSpeak]='{2}',[updatetime]='{4}',[updateBy]='Job' WHERE [orderCode]='{3}'; ", oalt.Status, oalt.Flag, oalt.IsSpeak, oalt.OrderCode, DateTime.Now);
                        dbHelp.DataOperator(upsql);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public void Execute()
        {
            DbHelp  dbHelp = new DbHelp(ConnString);
            string  sql    = string.Format(@"SELECT [id],[needStation],[locationCode],[callTime],[callType] FROM [dbo].[material_call_header] WHERE [dbo].[material_call_header].[status] = '{0}'; ", CallStatus.已准备);
            DataSet ds     = dbHelp.SelectGet(sql);
            var     ccode  = "";
            List <MaterialCallHeader> chlist = new List <MaterialCallHeader>();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                MaterialCallHeader callheader = new MaterialCallHeader();
                callheader.Id           = int.Parse(dr["id"].ToString());
                callheader.NeedStation  = dr["needStation"].ToString();
                callheader.LocationCode = dr["locationCode"].ToString();
                callheader.CallTime     = DateTime.Parse(dr["callTime"].ToString());
                callheader.CallType     = dr["callType"].ToString();
                chlist.Add(callheader);
            }
            if (chlist.Count == ds.Tables[0].Rows.Count)
            {
                foreach (MaterialCallHeader callhd in chlist)
                {
                    string  sqlmdth      = string.Format(@"SELECT * FROM [dbo].[material_distribute_task_header] WHERE [dbo].[material_distribute_task_header].materialCallId = {0}; ", callhd.Id);
                    DataSet materialdthd = dbHelp.SelectGet(sqlmdth);
                    if (materialdthd.Tables[0].Rows.Count < 1)
                    {   //读取叫料明细数据
                        string  calldtsql = string.Format("SELECT * FROM dbo.material_call_detail where dbo.material_call_detail.callHeaderId = {0}; ", callhd.Id);
                        DataSet calldtds  = dbHelp.SelectGet(calldtsql);
                        //取料框ABC类别
                        string  ABCsql = string.Format("SELECT * FROM dbo.location where dbo.location.code = '{0}'; ", callhd.LocationCode);
                        DataSet ABCds  = dbHelp.SelectGet(ABCsql);
                        if (!string.IsNullOrEmpty(ABCds.Tables[0].Rows[0]["ContainerCode"].ToString()))
                        {
                            ccode = ABCds.Tables[0].Rows[0]["ContainerCode"].ToString();
                        }
                        string taskNo = "";
                        if (callhd.CallType == CallType.料)
                        {
                            string product   = "";
                            string productid = "";
                            string confirm   = MaterialConfirm.已确认.ToString();
                            if (ABCds.Tables[0].Rows[0]["type"].ToString() != "C")
                            {
                                product   = calldtds.Tables[0].Rows[0]["productCode"].ToString();
                                productid = calldtds.Tables[0].Rows[0]["productId"].ToString();
                                confirm   = MaterialConfirm.未确认.ToString();
                            }
                            if (ABCds.Tables[0].Rows[0]["Status"].ToString() == LocationStatus.空仓位)
                            {//第一次叫料,直接生成配送任务
                                SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@TASKTYPE", AGVTaskNo.工位叫料), new SqlParameter("@NEW_ID", SqlDbType.VarChar, 32) };
                                parameters[1].Direction = ParameterDirection.Output;
                                taskNo = dbHelp.ProcOutput("Proc_GetTaskNo", parameters, "@NEW_ID").ToString();//生成任务号
                                //写入物料配送任务主表
                                string intaskhdsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_header] ([taskNo],[materialCallId],[productCode],[containerType],[userCode],[needStation],[locationCode],[containerCode],[needTime],[status],[createTime],[createBy],[callType],[startPlace],[EndPlace],[productId],[materialConfirm])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}'); ",
                                                                   taskNo, callhd.Id, product, ABCds.Tables[0].Rows[0]["type"].ToString(), "AutoJob", callhd.NeedStation, callhd.LocationCode, "", callhd.CallTime, "1", DateTime.Now, "AutoJob", TaskType.料配送, "", callhd.LocationCode, productid, confirm);
                                dbHelp.DataOperator(intaskhdsql);
                            }
                            else
                            {//先生成取空料框任务
                                SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@TASKTYPE", AGVTaskNo.取空料框), new SqlParameter("@NEW_ID", SqlDbType.VarChar, 32) };
                                parameters[1].Direction = ParameterDirection.Output;
                                string emptyTaskNo = dbHelp.ProcOutput("Proc_GetTaskNo", parameters, "@NEW_ID").ToString();//生成任务号
                                //写入物料配送任务主表
                                string intaskhdsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_header] ([taskNo],[materialCallId],[productCode],[containerType],[userCode],[needStation],[locationCode],[containerCode],[needTime],[status],[createTime],[createBy],[callType],[startPlace],[EndPlace],[materialConfirm])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}'); ",
                                                                   emptyTaskNo, callhd.Id, "", ABCds.Tables[0].Rows[0]["type"].ToString(), "AutoJob", callhd.NeedStation, callhd.LocationCode, ccode, callhd.CallTime, "1", DateTime.Now, "AutoJob", TaskType.回收料框, callhd.LocationCode, "", MaterialConfirm.已确认);
                                dbHelp.DataOperator(intaskhdsql);
                                //再生成配送任务
                                SqlParameter[] gparameters = new SqlParameter[] { new SqlParameter("@TASKTYPE", AGVTaskNo.工位叫料), new SqlParameter("@NEW_ID", SqlDbType.VarChar, 32) };
                                gparameters[1].Direction = ParameterDirection.Output;
                                taskNo = dbHelp.ProcOutput("Proc_GetTaskNo", gparameters, "@NEW_ID").ToString();//生成任务号
                                //写入物料配送任务主表
                                string gintaskhdsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_header] ([taskNo],[materialCallId],[productCode],[containerType],[userCode],[needStation],[locationCode],[containerCode],[needTime],[status],[createTime],[createBy],[callType],[startPlace],[EndPlace],[productId],[materialConfirm])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}'); ",
                                                                    taskNo, callhd.Id, product, ABCds.Tables[0].Rows[0]["type"].ToString(), "AutoJob", callhd.NeedStation, callhd.LocationCode, "", callhd.CallTime, "1", DateTime.Now, "AutoJob", TaskType.料配送, "", callhd.LocationCode, productid, confirm);
                                dbHelp.DataOperator(gintaskhdsql);
                            }
                            //写入配送明细表逻辑
                            if (calldtds.Tables[0].Rows.Count > 0)
                            {
                                //遍历叫料明细数据
                                foreach (DataRow item in calldtds.Tables[0].Rows)
                                {
                                    //获取写入的配送头表信息
                                    string  dtaskheadersql = string.Format(@"SELECT * FROM [dbo].[material_distribute_task_header] WHERE [dbo].[material_distribute_task_header].taskNo = '{0}'; ", taskNo);
                                    DataSet dtaskheaderds  = dbHelp.SelectGet(dtaskheadersql);
                                    if (dtaskheaderds.Tables[0].Rows.Count > 0)
                                    {
                                        //获取物料需求表数据
                                        string  materialmdsql = string.Format(@"SELECT * FROM dbo.material_demand where dbo.material_demand.orderCode = '{0}'; ", item["orderCode"].ToString());
                                        DataSet materialmdds  = dbHelp.SelectGet(materialmdsql);
                                        if (materialmdds.Tables[0].Rows.Count > 0)
                                        {
                                            //遍历物料需求数据
                                            foreach (DataRow mditem in materialmdds.Tables[0].Rows)
                                            {
                                                if (mditem["classABC"].ToString() == ABCds.Tables[0].Rows[0]["type"].ToString())
                                                {
                                                    string intaskdtsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_detail] ([materialDistributeTaskHeaderId],[orderCode],[materialCode],[serialNumber],[qty],[userCode],[createTime],[createBy])
                                         VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}'); ",
                                                                                       dtaskheaderds.Tables[0].Rows[0]["id"].ToString(), mditem["orderCode"].ToString(), mditem["materialCode"].ToString(), item["serialNumber"].ToString(), mditem["distributeQty"].ToString(), "AutoJob", DateTime.Now, "AutoJob");
                                                    dbHelp.DataOperator(intaskdtsql);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        else if (callhd.CallType == CallType.料)
                        {
                            if (ABCds.Tables[0].Rows[0]["Status"].ToString() == LocationStatus.空仓位)
                            {//第一次呼叫下料,先补空料框
                                SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@TASKTYPE", AGVTaskNo.补给空框), new SqlParameter("@NEW_ID", SqlDbType.VarChar, 32) };
                                parameters[1].Direction = ParameterDirection.Output;
                                taskNo = dbHelp.ProcOutput("Proc_GetTaskNo", parameters, "@NEW_ID").ToString(); //生成任务号
                                                                                                                //写入物料配送任务主表
                                string intaskhdsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_header] ([taskNo],[materialCallId],[productCode],[containerType],[userCode],[needStation],[locationCode],[containerCode],[needTime],[status],[createTime],[createBy],[callType],[startPlace],[EndPlace],[materialConfirm])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}'); ",
                                                                   taskNo, callhd.Id, "", ABCds.Tables[0].Rows[0]["type"].ToString(), "AutoJob", callhd.NeedStation, callhd.LocationCode, "", callhd.CallTime, "1", DateTime.Now, "AutoJob", TaskType.补给料框, "", callhd.LocationCode, MaterialConfirm.已确认);
                                dbHelp.DataOperator(intaskhdsql);
                            }
                            else
                            {//生成下料任务
                                SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@TASKTYPE", AGVTaskNo.成品下料), new SqlParameter("@NEW_ID", SqlDbType.VarChar, 32) };
                                parameters[1].Direction = ParameterDirection.Output;
                                taskNo = dbHelp.ProcOutput("Proc_GetTaskNo", parameters, "@NEW_ID").ToString();//生成任务号
                                //写入物料配送任务主表
                                string intaskhdsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_header] ([taskNo],[materialCallId],[productCode],[containerType],[userCode],[needStation],[locationCode],[containerCode],[needTime],[status],[createTime],[createBy],[callType],[startPlace],[EndPlace],[materialConfirm])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}'); ",
                                                                   taskNo, callhd.Id, "", ABCds.Tables[0].Rows[0]["type"].ToString(), "AutoJob", callhd.NeedStation, callhd.LocationCode, ccode, callhd.CallTime, "1", DateTime.Now, "AutoJob", TaskType.料取件, callhd.LocationCode, "", MaterialConfirm.已确认);
                                dbHelp.DataOperator(intaskhdsql);

                                //下料完成后,补给空料框任务
                                SqlParameter[] bparameters = new SqlParameter[] { new SqlParameter("@TASKTYPE", AGVTaskNo.补给空框), new SqlParameter("@NEW_ID", SqlDbType.VarChar, 32) };
                                bparameters[1].Direction = ParameterDirection.Output;
                                taskNo = dbHelp.ProcOutput("Proc_GetTaskNo", bparameters, "@NEW_ID").ToString();//生成任务号
                                //写入物料配送任务主表
                                string bintaskhdsql = string.Format(@"INSERT INTO [dbo].[material_distribute_task_header] ([taskNo],[materialCallId],[productCode],[containerType],[userCode],[needStation],[locationCode],[containerCode],[needTime],[status],[createTime],[createBy],[callType],[startPlace],[EndPlace],[materialConfirm])
                                    VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}'); ",
                                                                    taskNo, callhd.Id, "", ABCds.Tables[0].Rows[0]["type"].ToString(), "AutoJob", callhd.NeedStation, callhd.LocationCode, "", callhd.CallTime, "1", DateTime.Now, "AutoJob", TaskType.补给料框, "", callhd.LocationCode, MaterialConfirm.已确认);
                                dbHelp.DataOperator(bintaskhdsql);
                            }
                        }
                    }
                }
            }
        }