using System; using System.Collections.Generic; using System.Linq; using System.Text; using CentralControl.BaseData; using CommonFunc; using LanJuLib; using System.Data; using System.Data.SqlClient; using MySql.Data.MySqlClient; using CommonFunc.Tools; using XGL.Models.Model; using XGL.Models; using XGL.Models.Model.OrderPrepare; namespace XGL.Dats.DBServiceFinishProd { public class FinishProdDBService { /// /// 得到一个对象实体集合 /// public static List GetCarProductList(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select"); strSql.Append(" id, carNo, productNo, productNm, IsDeleted, DATE_FORMAT(CreateTime,'%Y-%m-%d %H:%i:%s') CreateTime, CreateId, CreateBy, DATE_FORMAT(ModifyTime,'%Y-%m-%d %H:%i:%s') ModifyTime, ModifyId, ModifyBy"); strSql.Append(" from data_carproduct"); if (!string.IsNullOrWhiteSpace(strWhere)) strSql.Append(" where " + strWhere); List Items = new List(); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { CarProduct model = new CarProduct(); if (row["id"] != DBNull.Value) { model.id = Convert.ToInt32(row["id"]); } if (row["carNo"] != DBNull.Value) { model.carNo = Convert.ToString(row["carNo"]); } if (row["productNo"] != DBNull.Value) { model.productNo = Convert.ToString(row["productNo"]); } if (row["productNm"] != DBNull.Value) { model.productNm = Convert.ToString(row["productNm"]); } if (row["IsDeleted"] != DBNull.Value) { model.IsDeleted = row["IsDeleted"].ToString() == "False" ? false : true; } if (row["CreateTime"] != DBNull.Value) { model.CreateTime = Convert.ToString(row["CreateTime"]); } if (row["CreateId"] != DBNull.Value) { model.CreateId = Convert.ToInt32(row["CreateId"]); } if (row["CreateBy"] != DBNull.Value) { model.CreateBy = Convert.ToString(row["CreateBy"]); } if (row["ModifyTime"] != DBNull.Value) { model.ModifyTime = Convert.ToString(row["ModifyTime"]); } if (row["ModifyId"] != DBNull.Value) { model.ModifyId = Convert.ToInt32(row["ModifyId"]); } if (row["ModifyBy"] != DBNull.Value) { model.ModifyBy = Convert.ToString(row["ModifyBy"]); } Items.Add(model); } } return Items; } /// /// 刷卡功能变更为取pe_snr的值 /// /// /// public DataTable GetUserInfoFromCloudServer(string userID) { string sql = $@"SELECT user_name,nick_name,sex FROM [dbo].[sys_user] where del_flag = '0' and pe_snr like '%{userID}%'"; DataSet dtset = Utils.cloudDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 刷卡功能用户编码打卡 /// /// /// public DataTable GetUserCodeServer(string userID) { string sql = $@"SELECT user_name,nick_name,sex FROM [dbo].[sys_user] where del_flag = '0' and user_name = '{userID}'"; DataSet dtset = Utils.cloudDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 找出所有的打卡人员 /// /// /// public DataTable GetUserCodeServerAll() { string sql = $@"SELECT user_name,nick_name,sex FROM [dbo].[sys_user] where del_flag = '0'"; DataSet dtset = Utils.cloudDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public bool InsertAttendanceRecord(string userID, string userName, string sex, string deviceCode) { string attendanceTime = LoginUser.Start_Time + "-" + LoginUser.End_Time; string sql = $@" INSERT INTO [dbo].[mes_attendance_records] ([id], [user_id], [user_name], [attendance_status], [sex], [age], [id_number], [start_time], [start_addr], [end_time], [end_addr], [attendance_time], [attendance_date], [work_hours], [create_time]) VALUES ('{Common.GetUUID()}', '{userID}', '{userName}', '正常', '{sex}', 18, null, GetDate(), '{deviceCode}', null, null, '{attendanceTime}', CONVERT(VARCHAR(10), GetDate() , 120), 0, GetDate());"; int ret = Utils.netClientDBHelper.executeUpdate(sql); return ret > 0 ? true : false; } public bool UpdateAttendanceRecord(string userID, string deviceCode) { string sql = $@" UPDATE mes_attendance_records SET end_time = GETDATE(), end_addr = '{deviceCode}', work_hours = CONVERT(DECIMAL(12,2), DATEDIFF(MINUTE, start_time, GETDATE()) / 60.00) WHERE user_id = '{userID}' AND start_addr = '{deviceCode}' AND start_time = ( SELECT MAX(start_time) FROM mes_attendance_records WHERE user_id = '{userID}' AND start_addr = '{deviceCode}' )"; int ret = Utils.netClientDBHelper.executeUpdate(sql); return ret > 0 ? true : false; } public DataTable GetAttendanceRecord(string v,string data) { string sql = $@"SELECT id, user_id, user_name, attendance_status, sex, age, id_number, start_time, start_addr, end_time, end_addr, attendance_time, attendance_date, work_hours, create_time, CONVERT(DECIMAL(12, 2), CASE WHEN end_time IS NOT NULL THEN DATEDIFF(MINUTE, start_time, end_time) / 60.00 ELSE DATEDIFF(MINUTE, start_time, GetDate()) / 60.00 END) AS diff FROM mes_attendance_records WHERE start_addr = '{v}' AND create_time BETWEEN '{data} 00:00:00' AND '{data} 23:59:59' ORDER BY create_time DESC; "; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetExistAttendanceRecord(string v) { //不会存在一个人俩个班次工作的情况 string sql = $@" select id, user_id, user_name, attendance_status, sex, age, id_number, start_time, start_addr, end_time, end_addr, attendance_time, attendance_date, work_hours, create_time from mes_attendance_records where attendance_date = CONVERT(VARCHAR(10), GetDate() , 120)"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetOperationRecord(string v) { string sql = $" select user_id,user_name,operation_type,operation_time,operation_desc,old_value,new_value,device_code,remark,order_code from mes_operation_log where device_code = '{v}' order by operation_time desc"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetOperationShouJian(string v,string work) { string sql = $" SELECT bat.batch_code,bat.qc_result,bat.update_time,ordee.product_code,product_name,ordee.shift_id FROM pro_order_workorder_batch bat LEFT JOIN pro_order_workorder ordee on bat.workorder_id=ordee.workorder_id WHERE bat.qc_status=2 AND (bat.update_time>'{v} 00:00:00' AND bat.update_time< '{v} 23:59:59') AND ordee.workorder_name='{work}' AND ordee.product_date='{v}' ORDER BY bat.update_time "; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetCompleteHistoryList(string deviceCode) { string sql = $@"select report_type, report_code, workorder_code, product_code, product_name, spec, unit, quantity, quantity_feedback, quantity_qualified, quantity_unqualified, user_name, nick_name, feedback_channel, feedback_time, record_user, status, remark, work_time, machine_code, machine_name, team_code, shift_code, create_by, create_time, update_time, update_by, upload_time, upload_status, upload_msg, prod_type, use_man, work_center from mes_report_work where CONVERT(VARCHAR(10), create_time , 120)= CONVERT(VARCHAR(10), '{LoginUser.WorkDate}' , 120) and machine_code = '{deviceCode}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetCosumeData(string workorder) { string sql = $@"select DISTINCT '0' as qty,'' as remark, pre.workorder_code, SUBSTRING(material_code, 8, LEN(material_code)) as material_code1,material_code,material_name,detail.prod_type,material_spc,detail.unit,quantity, detail.create_by,detail.create_time,detail.update_by,detail.update_time,locator,need_date, recoil,fund_quanlity,detail.del_flag,parent_work_order,detail.attr1,orders.workorder_code_sap from mes_prepare_detail detail LEFT JOIN mes_prepare pre on detail.prepare_id = pre.prepare_id left join pro_order_workorder orders on pre.workorder_code = orders.workorder_code and orders.del_flag = '0' where detail.parent_work_order ='{workorder}' and detail.del_flag = '0'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetCostCenter() { string sql = $"select factory_code,factory_name from sys_factory where f_type = 'c'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } //根据线体查询成本中心 public DataTable GetCostCenter(string deviceCode) { string sql = $"SELECT workshop_code as factory_code,workshop_name as factory_name FROM [dbo].[base_equipment] where equipment_code = '{deviceCode}';"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable piciGetCostCenter(string workorder) { string sql = $" SELECT batch_code FROM pro_order_workorder_batch WHERE workorder_id='{workorder}' AND del_flag='0'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 查询订单报工次数 /// /// /// public DataTable GetBatchReportedCount(string workorder) { //string sql = $" select count(*) from mes_report_work where workorder_code = '{workorder}' AND del_flag='0'"; string sql = $@"select count(distinct batch) from mes_report_work where workorder_code = '{workorder}' AND del_flag='0';"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public bool IsLastBatchReport(string batchNo) { //string sql = $" select count(*) from mes_report_work where workorder_code = '{workorder}' AND del_flag='0'"; string sql = $@"select count(distinct batch) from mes_report_work where batch = '{batchNo}' AND del_flag='0';"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0].Rows[0][0].ToString().Equals("0") ? true : false; } return true; } public DataTable GetFactoryInfo(string sitecode) { string sql = $"select factory_name from sys_factory where factory_code = '{sitecode}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 设置系统配置字段 /// /// /// public static int SetSystemConfigItem(string settingno, string val) { string sql = " update basedata_systemconfig set settingval='" + val + "' where settingno='" + settingno + "' ; "; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 得到一个对象实体集合 /// public static List GetMaterialBomList(string strWhere, List mlist) { StringBuilder strSql = new StringBuilder(); strSql.Append("select "); strSql.Append(" Id, materiel_finish_no, materiel_box_no, Version, is_delete, DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') CreateTime,"); strSql.Append(" create_id CreateId, create_by CreateBy, DATE_FORMAT(modify_time, '%Y-%m-%d %H:%i:%s') ModifyTime, modify_id ModifyId, modify_by ModifyBy "); strSql.Append("from base_materialinfobom"); if (!string.IsNullOrWhiteSpace(strWhere)) strSql.Append(" where " + strWhere); List Items = new List(); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { MaterialBom model = new MaterialBom(); if (row["Id"] != DBNull.Value) { model.Id = row["Id"].ToString(); } if (row["materiel_finish_no"] != DBNull.Value) { model.MaterialNo = Convert.ToString(row["materiel_finish_no"]); model.ParentMaterialInfo = mlist.FirstOrDefault(t => t.MaterialNo == model.MaterialNo); } if (row["GateMaterialNo"] != DBNull.Value) { model.ChildMaterialNo = Convert.ToString(row["GateMaterialNo"]); model.ChildMaterialInfo = mlist.FirstOrDefault(t => t.MaterialNo == model.ChildMaterialNo); } if (row["Version"] != DBNull.Value) { model.Version = Convert.ToString(row["Version"]); } Items.Add(model); } } return Items; } /// /// 获取系统配置字段 /// /// /// public static string GetSystemConfigItem(string settingno) { string sql = " select settingval from basedata_systemconfig where settingno='" + settingno + "' ; "; return DbHelperSQLServer.ExecuteScalar(sql).ToString(); } /// /// 获取库位内物料明细 /// /// /// public static int GetClearMaterial(string where) { string sql = " update basedata_carrealinfo set materialno='',materialbarno='' ; "; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } public static void NightClearOldData() { string sql = @"delete from basedata_offlinemateriallist where createtime <'" + DateTime.Now.AddDays(-1) + @"'; delete from basedata_offlinemateriallist_his where createtime < '" + DateTime.Now.AddDays(-7) + @"'; delete from sysnotices where createtime < '" + DateTime.Now.AddDays(-7) + @"'; delete from basedata_uplinescancarlist where createtime < '" + DateTime.Now.AddDays(-7) + @"'; delete from basedata_uplinemateriallist where createtime < '" + DateTime.Now.AddDays(-7) + @"'; delete from sysconfig_operatelog where createtime < '" + DateTime.Now.AddDays(-7) + @"'; delete from basedata_productinfo where createtime < '" + DateTime.Now.AddDays(-7) + @"'; "; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); } /// /// 获取库位内分配物料明细 /// 获取库位内分配物料明细 /// /// /// public static int CleartLineAreaMaterial(string where) { string sql = " update basedata_linecatcharea set MaterialNo='' where areatype=4 "; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 获取库位内分配物料明细 /// 获取库位内分配物料明细 /// /// /// public static int SetLineAreaMaterial(int lineareaid, string materialno, string materialnm) { string sql = " update basedata_linecatcharea set MaterialNo='" + materialno + "',MaterialNm='" + materialnm + "' where id=" + lineareaid; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 获取库位内物料明细 /// /// /// public static bool GetDBTime(string where) { string sql = @"select now();"; object obj = DbHelperSQLServer.ExecuteScalar(sql); if (obj != null) { return true; } return false; } /// /// 获取库位内物料明细 /// /// /// public static int ClearScanOffMaterialDetailList() { string sql = @"delete from basedata_offlinemateriallist_detail;"; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 获取库位内物料明细 /// /// /// public static DataTable GetOffLocatorMaterialView(string where) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" select a.TrayCode,a.ProductBarNo,a.carcode,a.createtime,a.lineno,b.HadNumber from basedata_offlinemateriallist a left join basedata_carrealinfo b on a.carcode=b.carno where a.IsDeleted=0 order by a.createtime "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetUnitList() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.OutWareHouseQuantity FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.est>=date_sub(curdate(),interval 1 day) and a.IsOver=0 order by a.line_code,a.est "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetUnitList_new() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,a.prod_desc,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.OutWareHouseQuantity,a.production_sequence FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.est>=date_sub(curdate(),interval 1 day) and a.IsOver=0 order by a.line_code,a.est,a.production_sequence "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取库区和路途中库存信息 /// /// /// public DataTable GetWareHouseList_new_new() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT materiel_no materielNo,SUM(materiel_num) materielNum,'库中' carStatus FROM base_cararea where 1=1 and materiel_no <>'' GROUP BY materielNo union SELECT materiel_no materielNo,sum(materiel_num) materielNum,'队列' carStatus FROM base_waitdownline group by materielNo UNION select '总计' materielNo, (SELECT IFNULL(SUM(IFNULL(materiel_num,0)),0) materielNum FROM base_cararea where 1 = 1 and materiel_no<>'')+(SELECT IFNULL(sum(IFNULL(materiel_num,0)),0) materielNum FROM base_waitdownline ) materielNum,'总计' carStatus "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取工单信息 /// /// public DataTable GetWorkOrderList() { string sql = @"SELECT DISTINCT t1.workorder_code WorkOrderCode, t1.order_code OrderCode, t1.product_name ProductName, t1.product_spc ProductSpc, t1.quantity_split QuantitySplit, STUFF( ( SELECT ',' + t2.batch_code FROM pro_order_workorder_batch t2 WHERE t1.workorder_id = t2.workorder_id FOR XML PATH ( '' ) ), 1, 1, '' ) AS BatchCode FROM pro_order_workorder t1 INNER JOIN pro_order_workorder_batch t2 ON t1.workorder_id = t2.workorder_id AND t1.status = 'w1'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetWetPlanInfo(string deviceCode, string date) { string sql = $@"select workorder.factory_code,workorder.product_date as plan_time, workorder.workorder_id,workorder.workorder_code, product_code,product_name, product_spc,shifts.shift_desc,prod_line_code,workorder.status,route_code,quantity_split, workorder.unit,workorder.shift_id ,batch.batch_code,batch.batch_quantity,sort_no, workorder.parent_order,batch.qc_status,isnull(batch.qc_result,'') qc_result,batch.status as batchStatus,workorder_code_sap,salary_flag,qty.batchQty,batch.batch_quantity - qty.batchQty as diffQty, chack.create_time, chack.check_status from pro_order_workorder workorder WITH (NOLOCK) left JOIN base_shifts_t shifts WITH (NOLOCK) on workorder.shift_id = shifts.shift_id left JOIN pro_order_workorder_batch batch WITH (NOLOCK) on workorder.workorder_id = batch.workorder_id LEFT JOIN ( SELECT * FROM qc_check_task WHERE check_type='checkTypeCPPC' AND del_flag =0) chack ON workorder.workorder_code = chack.order_no AND batch.batch_code = chack.income_batch_no left join (SELECT sum(quantity_feedback) as batchQty,workorder_code,batch FROM [dbo].[mes_report_work] where del_flag = 0 GROUP BY workorder_code,batch) qty on qty.workorder_code = workorder.workorder_code and batch.batch_code = qty.batch where 1=1 and batch.del_flag = 0 and workorder.del_flag = 0 and workorder.parent_order ='0' and CONVERT(VARCHAR(10), workorder.product_date , 120)= CONVERT(VARCHAR(10), '{date}' , 120) and workorder.prod_line_code like '%{deviceCode}%' order by sort_no,batch_code"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 根据线体、产品获取工序列表 /// /// /// /// public DataTable GetProductStepListInfo(string deviceCode, string productCode) { string sql = $@"SELECT childprocess_code,childprocess_name,attr1 FROM [dbo].[mes_unit_price] where product_code = '{productCode.Replace("0000000","")}' and line_code = '{deviceCode}' ORDER BY childprocess_code"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetSubOrderInfo(string workorderID) { string sql = $@"select workorder.factory_code,workorder.product_date as plan_time, workorder.workorder_id,workorder.workorder_code, product_code,product_name, product_spc,shifts.shift_desc,prod_line_code,workorder.status,route_code,quantity_split,unit,workorder.shift_id from pro_order_workorder workorder left JOIN base_shifts_t shifts on workorder.shift_id = shifts.shift_id where 1=1 and workorder.parent_order ='{workorderID}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 根据线体、产品获取工序列表 /// /// /// /// public DataTable GetUnitPriceData(string deviceCode ,string sheredata) { string sql = $@"select [workorder_code], [workorder_code_sap], [product_name], SUBSTRING([product_code], 8, LEN(product_code)) as product_code, [user_name], [nick_name], [childprocess_code], [childprocess_name] ,[create_by], [create_time], [line_code] ,[attr1],[attr2] from mes_unitprice_report where line_code = '{deviceCode}' AND create_time BETWEEN '{sheredata} 00:00:00' AND '{sheredata} 23:59:59' ORDER BY childprocess_code,create_time"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public string GetUsernumbereData(string deviceCode) { string sql = $@"SELECT COALESCE(CAST(SUM(quantity_feedback) / SUM(use_man) AS INT), 0) as total_quantity FROM mes_report_work WHERE parent_order = '{deviceCode}' and del_flag='0'; "; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { DataTable dt = dtset.Tables[0]; return dt.Rows[0]["total_quantity"].ToString(); } return null; } /// /// 根据线体、产品获取工序列表 /// /// /// /// public DataTable GetUnitPriceDataNew(string deviceCode) { string sql = $@"select [workorder_code], [workorder_code_sap], [product_name], SUBSTRING([product_code], 8, LEN(product_code)) as product_code, [user_name], [nick_name], [childprocess_code], [childprocess_name] ,[create_by], [create_time], [line_code] from mes_unitprice_report where line_code = '{deviceCode}' and CONVERT(VARCHAR(10), Create_time , 120) = CONVERT(VARCHAR(10),GETDATE(), 120) ORDER BY childprocess_code,create_time"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 生成计件薪酬数据 /// /// /// public string GetCreateUnitPriceInfo(sys_user item,string workorderCode, string sapWorkorderCode,string productCode,string productName,string childProcessCode,string childProcessName,string deviceCode,string number,string credata,string attr2) { string sql = $@"INSERT INTO [dbo].[mes_unitprice_report] ( [id],[workorder_code], [workorder_code_sap], [product_name], [product_code], [user_name], [nick_name], [childprocess_code], [childprocess_name], [attr1], [attr2], [attr3], [create_by], [create_time], [update_by], [update_time], [remark] ,[line_code] ) VALUES ( '{Common.GetUUID()}', '{workorderCode}','{sapWorkorderCode}', '{productName}', '{productCode}', N'{item.user_name}', N'{item.nick_name}', N'{childProcessCode}', N'{childProcessName}',' {number}', {attr2}, NULL, '{LoginUser.UserName}', '{credata} 00:00:00', NULL, NULL, NULL,'{deviceCode}' );"; return sql; } public DataSet GetSapCode(string deviceCode) { string sapCodeSql = $"select sap_code from base_equipment where equipment_code = '{deviceCode}'"; string sapCode = ""; DataSet dtSapCode = Utils.netClientDBHelper.getDataSet(sapCodeSql); if (dtSapCode != null && dtSapCode.Tables.Count > 0 && dtSapCode.Tables[0].Rows.Count > 0) { sapCode = dtSapCode.Tables[0].Rows[0]["sap_code"].ToString(); return dtSapCode; } return null; } public List GetOnWorkUserList(string deviceCode,string shereDate) { string sql = $"WITH RankedRecords AS (\r\n SELECT \r\n user_id as user_name,\r\n user_name as nick_name,\r\n sex,\r\n age,\r\n create_time,\r\n ROW_NUMBER() OVER (PARTITION BY user_name ORDER BY create_time DESC) as rn\r\n FROM [dbo].[mes_attendance_records]\r\n WHERE start_addr = '{deviceCode}' \r\n AND create_time BETWEEN '{shereDate} 00:00:00' AND '{shereDate} 23:59:59'\r\n)\r\nSELECT \r\n user_name,\r\n nick_name,\r\n sex,\r\n age,\r\n create_time\r\nFROM RankedRecords\r\nWHERE rn = 1\r\nORDER BY create_time DESC;"; DataTable dt = Utils.netClientDBHelper.getDataSet(sql).Tables[0]; var lst = Utils.ToDataList(dt); if (lst.Count > 0) { return lst; } return null;//lst.Count > 0 ? true : false; } public string GetUpdateUnitPriceSql(string workOrderCode) { string updateOrderSql = $@"update pro_order_workorder set salary_flag = '1', update_by = '{LoginUser.UserName}',update_time = GETDATE() where workorder_code = '{workOrderCode}' "; return updateOrderSql; } public bool ExecuteCreateUnitPriceSql(List reportWorkSqlList) { bool issucc = Utils.netClientDBHelper.executeBatchSql(reportWorkSqlList); return issucc; } public bool IsExistData(string workOrderCode, string childprocessCode, string deviceCode) { string sql = $@"select * from mes_unitprice_report where line_code = '{deviceCode}' and workorder_code = '{workOrderCode}' and childprocess_code = '{childprocessCode}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return true; } return false; } public bool DelUnitPriceData(string workOrderCode, string childprocessCode, string deviceCode) { string sql = $@"delete mes_unitprice_report where line_code = '{deviceCode}' and workorder_code = '{workOrderCode}' and childprocess_code = '{childprocessCode}'"; int i = Utils.netClientDBHelper.executeUpdate(sql); bool issucc = i > 0 ? true : false; return issucc; } public string GetDelUnitPriceData(string workOrderCode, string childprocessCode, string deviceCode) { string sql = $@"delete mes_unitprice_report where line_code = '{deviceCode}' and workorder_code = '{workOrderCode}' and childprocess_code = '{childprocessCode}'"; return sql; } public List GeteqmentInfo() { List baseeqlist = new List(); string sql = $@"SELECT * FROM base_equipment WHERE 1=1"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { var dt = dtset.Tables[0]; // 请注意,这只是一个示例,您可以循环遍历所有行 foreach (DataRow row in dt.Rows) { BaseEquipment equipment = new BaseEquipment { EquipmentId = row[0] != DBNull.Value ? Convert.ToInt32(row[0]) : 0, EquipmentCode = row[1] != DBNull.Value ? row[1].ToString() : string.Empty, EquipmentName = row[2] != DBNull.Value ? row[2].ToString() : string.Empty, EquipmentBrand = row[3] != DBNull.Value ? row[3].ToString() : string.Empty, EquipmentSpec = row[4] != DBNull.Value ? row[4].ToString() : string.Empty, EquipmentTypeId = row[5] != DBNull.Value ? Convert.ToInt64(row[5]) : 0, EquipmentTypeCode = row[6] != DBNull.Value ? row[6].ToString() : string.Empty, EquipmentTypeName = row[7] != DBNull.Value ? row[7].ToString() : string.Empty, WorkshopId = row[8] != DBNull.Value ? Convert.ToInt64(row[8]) : 0, WorkshopCode = row[9] != DBNull.Value ? row[9].ToString() : string.Empty, WorkshopName = row[10] != DBNull.Value ? row[10].ToString() : string.Empty, Status = row[11] != DBNull.Value ? row[11].ToString() : string.Empty, Remark = row[12] != DBNull.Value ? row[12].ToString() : string.Empty, Attr1 = row[13] != DBNull.Value ? row[13].ToString() : string.Empty, Attr2 = row[14] != DBNull.Value ? row[14].ToString() : string.Empty, Attr3 = row[15] != DBNull.Value ? row[15].ToString() : string.Empty, Attr4 = row[16] != DBNull.Value ? row[16].ToString() : string.Empty, // CreateTime = row[17] != DBNull.Value ? Convert.ToDateTime(row[17]) : DateTime.MinValue, CreateBy = row[18] != DBNull.Value ? row[18].ToString() : string.Empty, // UpdateTime = row[19] != DBNull.Value ? Convert.ToDateTime(row[19]) : DateTime.MinValue, UpdateBy = row[20] != DBNull.Value ? row[20].ToString() : string.Empty, WorkshopSection = row[21] != DBNull.Value ? row[21].ToString() : string.Empty, EquipmentLocation = row[22] != DBNull.Value ? row[22].ToString() : string.Empty, //HourlyUnitPrice = row["hourly_unit_price"] != DBNull.Value ? Convert.ToDecimal(row["hourly_unit_price"]) : 0m, //EquipmentBarcode = row["equipment_barcode"] != DBNull.Value ? row["equipment_barcode"].ToString() : string.Empty, //EquipmentBarcodeImage = row["equipment_barcode_image"] != DBNull.Value ? row["equipment_barcode_image"].ToString() : string.Empty, //Manufacturer = row["manufacturer"] != DBNull.Value ? row["manufacturer"].ToString() : string.Empty, //Supplier = row["supplier"] != DBNull.Value ? row["supplier"].ToString() : string.Empty, //UseLife = row["use_life"] != DBNull.Value ? Convert.ToInt32(row["use_life"]) : 0, //BuyTime = row["buy_time"] != DBNull.Value ? Convert.ToDateTime(row["buy_time"]) : DateTime.MinValue, //AssetOriginalValue = row["asset_original_value"] != DBNull.Value ? Convert.ToDecimal(row["asset_original_value"]) : 0m, //NetAssetValue = row["net_asset_value"] != DBNull.Value ? Convert.ToDecimal(row["net_asset_value"]) : 0m, //AssetHead = row["asset_head"] != DBNull.Value ? row["asset_head"].ToString() : string.Empty, //FixedAssetCode = row["fixed_asset_code"] != DBNull.Value ? row["fixed_asset_code"].ToString() : string.Empty, //Department = row["department"] != DBNull.Value ? row["department"].ToString() : string.Empty, //UnitWorkingHours = row["unit_working_hours"] != DBNull.Value ? Convert.ToInt32(row["unit_working_hours"]) : 0, //PlcIp = row["plc_ip"] != DBNull.Value ? row["plc_ip"].ToString() : string.Empty, //PlcPort = row["plc_port"] != DBNull.Value ? Convert.ToInt32(row["plc_port"]) : 0, //DelFlag = row["del_flag"] != DBNull.Value ? row["del_flag"].ToString() == "1" : false, //SapAsset = row["sap_asset"] != DBNull.Value ? row["sap_asset"].ToString() : string.Empty, //EquipmentHead = row["equipment_head"] != DBNull.Value ? row["equipment_head"].ToString() : string.Empty }; baseeqlist.Add(equipment); } } return baseeqlist; } public DataTable GetCarInfo(string deviceCode) { string sql = $@"SELECT workshop_code,workshop_name FROM [dbo].[base_equipment] where equipment_code = '{deviceCode}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 查询工艺 /// /// public DataTable GetFlowInfo(string workorderno) { string sql = $@"SELECT process_code,process_name,order_num,next_process_code,next_process_name,color_code,workorder.workorder_code,route.route_code,route_name,workorder.product_code,workorder.product_name FROM [dbo].[pro_route_process] process LEFT JOIN pro_route route on process.route_id = route.route_id LEFT JOIN pro_order_workorder workorder on route.route_code = workorder.route_code where workorder_code = '{workorderno}' order by order_num"; //where CONVERT(VARCHAR(10), wet.plan_time , 120)= CONVERT(VARCHAR(10), GetDate() , 120) DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 查询SOP信息 /// /// public DataTable GetSOPInfo(string processid) { string sql = $@"select file_name,file_address from pro_route route LEFT JOIN base_file files ON route.route_id = files.source_id where route.route_code = '{processid}'"; //where CONVERT(VARCHAR(10), wet.plan_time , 120)= CONVERT(VARCHAR(10), GetDate() , 120) DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 查询物料信息 /// /// public DataTable GetMaterialInfo(string processid) { string sql = $@" select workorder_code, product_code, product_name, material_code, material_name,quantity,product_spc from mes_prepare pre LEFT JOIN mes_prepare_detail detail on pre.prepare_id = detail.prepare_id where workorder_code = '{processid}'"; //where CONVERT(VARCHAR(10), wet.plan_time , 120)= CONVERT(VARCHAR(10), GetDate() , 120) DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 查询工单清单率列表信息 /// /// public DataTable GetQitaolvInfo(string processid) { string sql = $@" select workorder_code, material_code,material_name,detail.prod_type,material_spc,detail.unit,quantity, detail.create_by,detail.create_time,detail.update_by,detail.update_time,locator,need_date, recoil,fund_quanlity,detail.del_flag from mes_prepare_detail detail LEFT JOIN mes_prepare pre on detail.prepare_id = pre.prepare_id where detail.parent_work_order = '{processid}'"; //where CONVERT(VARCHAR(10), wet.plan_time , 120)= CONVERT(VARCHAR(10), GetDate() , 120) DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取工单是否齐套 /// /// public DataTable GetWorkOrderQitaoLv(string workOrderNo) { string sql = $@"select status from mes_prepare where wet_detail_plan_id = '{workOrderNo}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取当天产线活动中工单的数量 /// /// public DataTable GetActivedOrdersQty(string deviceCode, string workDate) { string sql = $@"select count(*) from pro_order_workorder workorder where CONVERT(VARCHAR(10), workorder.product_date , 120)= CONVERT(VARCHAR(10), '{workDate}' , 120) and workorder.prod_line_code like '%{deviceCode}%' and workorder.del_flag = 0 and parent_order = '0' and workorder.status = 'w2'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 更新湿料计划同步状态、工单状态 /// /// public bool UpdateSycnFlag(string workOrderID,string deviceCode,string user) { string sql1 = $@"update pro_order_workorder set status = 'w2',workorder_name = '{deviceCode}', update_by = '{LoginUser.UserName}',attr3='{user}',update_time = GETDATE(),start_work_time = GETDATE() where workorder_code = '{workOrderID}' "; LogHelper.instance.log.Info("开始工单SQl:"+ sql1); return Utils.netClientDBHelper.executeUpdate(sql1) > 0 ? true : false; } /// /// 删除薪酬录入 /// /// public bool Updateremuneration(string workOrdercode, string nickName,string attr1,string childprocess_code) { string sql1 = $@"DELETE FROM mes_unitprice_report WHERE workorder_code_sap='{workOrdercode}' AND nick_name='{nickName}' AND attr1='{attr1}' and childprocess_code='{childprocess_code}' "; return Utils.netClientDBHelper.executeUpdate(sql1) > 0 ? true : false; } /// /// 删除打卡 /// /// public bool Updaterdaka(string userId, string startAddr, string data) { string sql1 = $@"DELETE FROM mes_attendance_records WHERE user_id='{userId}' AND start_addr='{startAddr}'AND attendance_date='{data}' "; return Utils.netClientDBHelper.executeUpdate(sql1) > 0 ? true : false; } /// /// 写入开始、报工状态 /// /// /// public void InsertOperationLog(DataRowView selectedRow,string state) { throw new NotImplementedException(); } public bool InsertOperationLog(string orderCode, string status, string remark, string type, string deviceCode,string materialCode,string materialDesc) { List sqlList = new List(); string logSql = ""; if (status.Equals("w2")) { logSql = $@"INSERT INTO [dbo].[mes_operation_log] ([id], [user_id], [user_name], [operation_type], [operation_time], [operation_desc], [old_value], [new_value], [device_code],[remark],[order_code],[material_code],[material_desc],[version],[ip]) VALUES ('{CommonFunc.Common.GetUUID()}', '{LoginUser.UserId}', '{LoginUser.UserName}', '{type}', GetDate(), '工单开始', 'w1', '{status}', '{deviceCode}','{remark}','{orderCode}','{materialCode}','{materialDesc}','{LoginUser.Version}','{LoginUser.CurrDeviceIP}');"; } else if(status.Equals("w3")) { logSql = $@"INSERT INTO [dbo].[mes_operation_log] ([id], [user_id], [user_name], [operation_type], [operation_time], [operation_desc], [old_value], [new_value], [device_code],[remark],[order_code],[material_code],[material_desc],[version],[ip]) VALUES ('{CommonFunc.Common.GetUUID()}', '{LoginUser.UserId}', '{LoginUser.UserName}', '{type}', GetDate(), '工单报工', 'w2', '{status}', '{deviceCode}','{remark}','{orderCode}','{materialCode}','{materialDesc}','{LoginUser.Version}','{LoginUser.CurrDeviceIP}');"; } sqlList.Add(logSql); bool issucc = Utils.netClientDBHelper.executeBatchSql(sqlList); return issucc; } /// /// 获取湿料计划指向的成型机 /// /// public DataTable GetCXJList(string workOrderNo) { //根据湿料计划获取所有工单用到的成型机 //string sql = $@"select prod_line_code,bucket_code //from pro_wet_material_plan wet //LEFT JOIN pro_wet_material_plan_detail wetDetail //on wet.id = wetDetail.wet_material_plan_id //left join pro_order_workorder workorder on workorder.workorder_id = wetDetail.workorder_id //where wet.id = '{workOrderNo}'"; //根据工单获取成型机 string sql = $@"select prod_line_code,bucket_code from pro_order_workorder workorder LEFT JOIN pro_wet_material_plan_detail wetDetail on workorder.workorder_id = wetDetail.workorder_id where workorder.workorder_id = '{workOrderNo}'"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取日志 /// /// public DataTable GetLogList(string datetime, string key) { //根据工单获取成型机 string sql = $@"SELECT * FROM [dbo].[mes_interface_log] where CONVERT(VARCHAR(10), creter_time , 120)= CONVERT(VARCHAR(10), '{datetime}' , 120) and remark like '%{key}%' order by creter_time desc ; "; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetPlcValueList(string key, string deviceCode) { //根据工单获取成型机 string sql = $@"SELECT * FROM [dbo].[base_equipment_attached] where explain like '%{key}%' and device_code like '%{deviceCode}%' ORDER BY device_code ; "; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetHFPlcValueList(string deviceCode) { //根据工单获取成型机 string sql = $@"SELECT * FROM mes_plc_log WHERE device_code ='{deviceCode}' and address='DB1.DBW6034' ORDER BY create_time DESC"; DataSet dtset = Utils.netClientDBHelper.getDataSet(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetUnitList_new_new(string line_name) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,a.prod_desc,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.OutWareHouseQuantity,a.production_sequence FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.est>=date_sub(curdate(),interval 1 day) and a.IsOver=0 "; if (!string.IsNullOrEmpty(line_name)) { sql += " and a.line_name='" + line_name + "' "; } sql += "order by a.line_code,a.est,a.production_sequence"; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetUnitList_line(string lineCode) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,a.prod_desc,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.OutWareHouseQuantity,a.production_sequence FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.est>=date_sub(curdate(),interval 1 day) and a.IsOver=0 "; if (!string.IsNullOrEmpty(lineCode)) { sql += " and a.line_code='" + lineCode + "' "; } sql += "order by a.line_code,a.est,a.production_sequence "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetOrderZYList() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.outwarehousequantity,a.UpQuantity-a.outwarehousequantity kzquantity FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.upquantity>a.outwarehousequantity order by a.line_code,a.est "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetOrderZFZYList() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.outwarehousequantity,a.UpQuantity-a.outwarehousequantity kzquantity FROM base_production_order_split_line a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.upquantity>a.outwarehousequantity and order_status=4 order by a.line_code,a.est "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetOrderTJList() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,a.prod_desc,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.OutWareHouseQuantity,a.production_sequence FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.est>=date_sub(curdate(),interval 1 day) and a.IsOver=0 order by a.line_code,a.est,a.production_sequence "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetOrderTJList_new(string lineCode) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,a.prod_desc,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.OutWareHouseQuantity,a.production_sequence FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.est>=date_sub(curdate(),interval 1 day) and a.IsOver=0 "; if (!string.IsNullOrEmpty(lineCode)) { sql += " and a.line_code='" + lineCode + "' "; } sql += "order by a.line_code,a.est,a.production_sequence "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取可用物料数量 /// /// /// public DataTable GetMaterielNoNumber(string materiel_no) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT IFNULL(sum(materiel_num),0) as materiel_num FROM base_cararea WHERE area_no IN(SELECT area_no FROM base_area WHERE ware_house IN (1,3,4)) AND car_status != 2 AND materiel_no = '" + materiel_no + "' "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public DataTable GetMaterielNoNumber_xb(string line_code, string materiel_no) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = ""; if (line_code == "C线") { sql = "SELECT IFNULL(SUM(materiel_num),0) AS materiel_num_add FROM base_cararea WHERE area_no IN (SELECT area_no FROM base_area WHERE ware_house = 5) AND materiel_no = '" + materiel_no + "' "; } else if (line_code == "B线") { sql = "SELECT IFNULL(SUM(materiel_num),0) AS materiel_num_add FROM base_cararea WHERE area_no IN (SELECT area_no FROM base_area WHERE ware_house = 6) AND materiel_no = '" + materiel_no + "' "; } else if (line_code == "F线") { sql = "SELECT IFNULL(SUM(materiel_num),0) AS materiel_num_add FROM base_cararea WHERE area_no IN (17,18,19) AND materiel_no = '" + materiel_no + "' "; } else { sql = " SELECT IFNULL(SUM(materiel_num),0) AS materiel_num_add FROM base_cararea WHERE area_no IN (44,10,11,12,13,14,15,16) AND materiel_no = '" + materiel_no + "' "; } DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单上件数量 /// /// /// public DataTable GetMaterielNoNumber_dingdan() { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT * FROM base_production_order_split a LEFT JOIN base_materialinfobom b ON a.prod_code = b.materiel_finish_no "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 修改订单数量 /// /// /// public static int SetUpdateOrderNum(string order_code, int num) { string sql = " update base_production_order_split set UpQuantity=UpQuantity+" + num + " where order_code='" + order_code + "'"; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 修改订单数量 /// /// /// public static int SetUpdateOrderLineNum(string order_code, int num) { string sql = " update base_production_order_split_line set UpQuantity=UpQuantity+" + num + " where order_code='" + order_code + "'"; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 修改订单上件数量/转入 /// /// /// public static int SetUpdateOrderLineNum_zhuanruCK(string order_code, int num) { string sql = " UPDATE base_production_order_split SET OutWareHouseQuantity = OutWareHouseQuantity + '" + num + "' WHERE order_code = '" + order_code + "'"; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 修改订单上件数量/转入 /// /// /// public static int SetUpdateOrderLineNum_zhuanru(string order_code, int num) { string sql = " UPDATE base_production_order_split SET UpQuantity = UpQuantity + '" + num + "' WHERE order_code = '" + order_code + "'"; int ret = DbHelperSQLServer.ExecuteNonQuery(sql); return ret; } /// /// 获取订单信息 /// /// /// public DataTable GetOrderZYList(string order_code) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.outwarehousequantity FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.upquantity>a.outwarehousequantity and order_code='" + order_code + "' order by a.line_code,a.est "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetOrderZYList(string order_code, string aa) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.outwarehousequantity FROM base_production_order_split a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where order_code='" + order_code + "' order by a.line_code,a.est "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取订单信息 /// /// /// public DataTable GetOrderZFZYList(string order_code) { //string sql = @"select materialno,MaterialBarNo,count(1) as carno from basedata_carrealinfo where IsOutLocator=0 and MaterialNo<>'' group by materialno,MaterialBarNo order by CarNo desc;"; string sql = @" SELECT a.id,a.order_code,case a.line_code when 'D3' then 'A线' when 'TV' then 'B线' when 'TQ' then 'C线' when 'W8' then 'F线' end line_code,a.prod_code,b.materiel_box_no,a.est,a.Quantity,a.UpQuantity,a.outwarehousequantity FROM base_production_order_split_line a LEFT JOIN base_materialinfobom b on a.prod_code = b.materiel_finish_no where a.upquantity>a.outwarehousequantity and order_code='" + order_code + "' and order_status=4 order by a.line_code,a.est "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取库位内物料明细 /// /// /// public static DataTable GetLocatorMaterialGroup(string where) { string sql = @" select aa.materialno,aa.MaterialBarNo,(ifnull(aa.number,0)-ifnull(bb.number,0) ) as number,ifnull(cc.number,0) as total from (select basedata_carrealinfo.materialno,MaterialBarNo ,sum(ifnull(basedata_carrealinfo.HadNumber,0)) as number from basedata_carrealinfo where basedata_carrealinfo.MaterialNo<>'' and ( basedata_carrealinfo.locatorid>0 or basedata_carrealinfo.IsProOutLocator=1 ) group by basedata_carrealinfo.materialno,MaterialBarNo) aa left join (select basedata_offlinemateriallist.materialno ,count(1) as number from basedata_offlinemateriallist where isdeleted=0 and IsOver=0 and Number=1 group by basedata_offlinemateriallist.materialno) bb on aa.materialno=bb.materialno left join (select basedata_offlinemateriallist_detail.materialno ,count(1) as number from basedata_offlinemateriallist_detail where isdeleted=0 group by basedata_offlinemateriallist_detail.materialno) cc on aa.materialno=cc.materialno order by aa.materialno desc "; // string sql = @" //select basedata_carrealinfo.materialno,MaterialBarNo //,sum(ifnull(basedata_carrealinfo.HadNumber,0)) as number //from basedata_carrealinfo // where basedata_carrealinfo.MaterialNo<>'' and (basedata_carrealinfo.locatorid>0 // or basedata_carrealinfo.IsProOutLocator=1) //group by basedata_carrealinfo.materialno,MaterialBarNo"; // string sql = @" //select aa.materialno,aa.MaterialBarNo,(ifnull(aa. number,0)-ifnull(bb.number,0) ) as carno // from (select basedata_carrealinfo.materialno,MaterialBarNo //,sum(ifnull(basedata_carrealinfo.HadNumber,0)) as number //from basedata_carrealinfo // where basedata_carrealinfo.MaterialNo<>'' and basedata_carrealinfo.locatorid>0 //group by basedata_carrealinfo.materialno,MaterialBarNo) aa // left join (select basedata_offlinemateriallist.materialno //,count(1) as number //from basedata_offlinemateriallist where isover=0 and Number>0 group by basedata_offlinemateriallist.materialno) bb on aa.materialno=bb.materialno //order by carno desc //"; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取库位内物料明细 /// /// /// public static DataTable GetUpLIneMaterialView(int weekno) { string sql = @" select a.MaterialNo,a.MaterialBarNo,a.HadNumber ,a.MaxNumber,a.AreaNo,ifnull(amount,0) as amount,ifnull(total,0) total from ( select a.MaterialNo,MaterialBarNo,sum(Number) as HadNumber ,b.MaxNumber,b.AreaNo from ( select a.MaterialNo,MaterialBarNo,LocatorId as LocatorId,count(1) as Number from basedata_carrealinfo a where a.MaterialNo<>'' and LocatorId>0 group by a.MaterialNo,MaterialBarNo,LocatorId union all select b.MaterialNo,MaterialBarNo,LocatorNodeId as LocatorId ,count(1) as Number from basedata_carrealinfo b where b.MaterialNo<>'' and LocatorNodeId>0 group by b.MaterialNo,MaterialBarNo,LocatorNodeId ) a left join basedata_linecatcharea b on (a.LocatorId=b.Id ) where a.MaterialNo<>'' group by a.MaterialNo,MaterialBarNo,b.AreaNo,b.MaxNumber ) a left join (select productcode,ifnull(amount,0) as amount,(ifnull(amount,0)-sum(ifnull(b.Number,0))) as total from basedata_orderplan a left join basedata_uplinescancarlist b on a.productcode=b.materialno and WEEK(b.createtime)=" + weekno + @" where a.planweek=" + weekno + @" group by productcode,amount ) b on a.materialno=b.productcode ORDER BY a.AreaNo desc"; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 从mes获取 扫描时间端内的条码信息 /// /// /// /// public static DataTable GetOffLineMaterialByMESView(string bdt, string edt) { string sql = @" select * from basedata_offlinemateriallist_his where createtime<='" + bdt + "' and createtime>='" + edt + "'; "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public static int AddSystemLog(string titel, string message) { string strSql = "insert into sysnotices(Title,Content) values(@titel,@message);"; MySqlParameter[] parameters = { new MySqlParameter("@titel", titel), new MySqlParameter("@message", message) }; object obj = DbHelperSQLServer.ExecuteScalar(strSql, parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } public static int AddSystemLog(string titel, CarRealInfo car) { string carstr = "CarNo:" + car.CarNo + ",CurrNodeId:" + car.CurrNodeId + ",IsOutLocator:" + car.IsOutLocator + ",IsProOutLocator:" + car.IsProOutLocator + ",Number:" + car.Number + ",HadNumber:" + car.HadNumber + ",MaterialNo:" + car.MaterialNo + ",OffMaterialId:" + car.OffMaterialId + ",CreateDt:" + car.OutLocatorDt + ",OptDt:" + car.OptDt + ",LocatorId:" + car.LocatorId + ",IsOver:" + car.IsOver + ","; string strSql = "insert into sysnotices(Title,Content,createtime) values(@titel,@message,now());"; MySqlParameter[] parameters = { new MySqlParameter("@titel", titel), new MySqlParameter("@message", carstr) }; object obj = DbHelperSQLServer.ExecuteScalar(strSql, parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 增加一条数据 /// public static int AddOffLineMaterialList(OffLineMaterialList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_offlinemateriallist("); strSql.Append("MaterialNo,ProductBarNo,IsOver,IsDeleted,CreateTime,CreateId,CreateBy,ModifyTime,ModifyId,ModifyBy,Number,CarCode,TrayCode,LineNo"); strSql.Append(") values ("); strSql.Append("@MaterialNo,@ProductBarNo,@IsOver,@IsDeleted,@CreateTime,@CreateId,@CreateBy,@ModifyTime,@ModifyId,@ModifyBy,@Number,@CarCode,@TrayCode,@LineNo"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@ProductBarNo", MySqlDbType.VarChar,50) , new MySqlParameter("@IsOver", MySqlDbType.Int32,11) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.VarChar,50) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@ModifyBy", MySqlDbType.VarChar,50), new MySqlParameter("@Number", MySqlDbType.VarChar,50), new MySqlParameter("@CarCode", MySqlDbType.VarChar,50), new MySqlParameter("@TrayCode", MySqlDbType.VarChar,50), new MySqlParameter("@LineNo", MySqlDbType.VarChar,50), }; parameters[0].Value = model.MaterialNo; parameters[1].Value = model.ProductBarNo; parameters[2].Value = model.IsOver; parameters[3].Value = model.IsDeleted; parameters[4].Value = model.CreateTime; parameters[5].Value = model.CreateId; parameters[6].Value = model.CreateBy; parameters[7].Value = model.ModifyTime; parameters[8].Value = model.ModifyId; parameters[9].Value = model.ModifyBy; parameters[10].Value = model.Number; parameters[11].Value = model.CarCode; parameters[12].Value = model.MaterialDes; parameters[13].Value = model.LineNo; object obj = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 增加一条数据 /// public static int AddOffLineMaterialDetailList(OffLineMaterialList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_offlinemateriallist_detail("); strSql.Append("MaterialNo,ProductBarNo,IsOver,IsDeleted,CreateTime,CreateId,CreateBy,ModifyTime,ModifyId,ModifyBy,Number,CarCode,TrayCode,LineNo"); strSql.Append(") values ("); strSql.Append("@MaterialNo,@ProductBarNo,@IsOver,@IsDeleted,@CreateTime,@CreateId,@CreateBy,@ModifyTime,@ModifyId,@ModifyBy,@Number,@CarCode,@TrayCode,@LineNo"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@ProductBarNo", MySqlDbType.VarChar,50) , new MySqlParameter("@IsOver", MySqlDbType.Int32,11) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.VarChar,50) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@ModifyBy", MySqlDbType.VarChar,50), new MySqlParameter("@Number", MySqlDbType.VarChar,50), new MySqlParameter("@CarCode", MySqlDbType.VarChar,50), new MySqlParameter("@TrayCode", MySqlDbType.VarChar,50), new MySqlParameter("@LineNo", MySqlDbType.VarChar,50), }; parameters[0].Value = model.MaterialNo; parameters[1].Value = model.ProductBarNo; parameters[2].Value = model.IsOver; parameters[3].Value = model.IsDeleted; parameters[4].Value = model.CreateTime; parameters[5].Value = model.CreateId; parameters[6].Value = model.CreateBy; parameters[7].Value = model.ModifyTime; parameters[8].Value = model.ModifyId; parameters[9].Value = model.ModifyBy; parameters[10].Value = model.Number; parameters[11].Value = model.CarCode; parameters[12].Value = model.MaterialDes; parameters[13].Value = model.LineNo; object obj = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 增加一条数据 /// public static int AddOffLineMaterialHistoryList(OffLineMaterialList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_offlinemateriallist_his("); strSql.Append("MaterialNo,ProductBarNo,IsOver,IsDeleted,CreateTime,CreateId,CreateBy,ModifyTime,ModifyId,ModifyBy,Number,CarCode,TrayCode,LineNo"); strSql.Append(") values ("); strSql.Append("@MaterialNo,@ProductBarNo,@IsOver,@IsDeleted,@CreateTime,@CreateId,@CreateBy,@ModifyTime,@ModifyId,@ModifyBy,@Number,@CarCode,@TrayCode,@LineNo"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@ProductBarNo", MySqlDbType.VarChar,50) , new MySqlParameter("@IsOver", MySqlDbType.Int32,11) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.VarChar,50) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@ModifyBy", MySqlDbType.VarChar,50), new MySqlParameter("@Number", MySqlDbType.VarChar,50), new MySqlParameter("@CarCode", MySqlDbType.VarChar,50), new MySqlParameter("@TrayCode", MySqlDbType.VarChar,50), new MySqlParameter("@LineNo", MySqlDbType.VarChar,50), }; parameters[0].Value = model.MaterialNo; parameters[1].Value = model.ProductBarNo; parameters[2].Value = model.IsOver; parameters[3].Value = model.IsDeleted; parameters[4].Value = model.CreateTime; parameters[5].Value = model.CreateId; parameters[6].Value = model.CreateBy; parameters[7].Value = model.ModifyTime; parameters[8].Value = model.ModifyId; parameters[9].Value = model.ModifyBy; parameters[10].Value = model.Number; parameters[11].Value = model.CarCode; parameters[12].Value = model.MaterialDes; parameters[13].Value = model.LineNo; object obj = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public static bool UpdateOffLineMaterialList(OffLineMaterialList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update basedata_offlinemateriallist set "); strSql.Append(" MaterialNo = @MaterialNo , "); strSql.Append(" ProductBarNo = @ProductBarNo , "); strSql.Append(" LineNo = @LineNo , "); strSql.Append(" IsOver = @IsOver , "); strSql.Append(" IsDeleted = @IsDeleted , "); strSql.Append(" CreateTime = @CreateTime , "); strSql.Append(" CreateId = @CreateId , "); strSql.Append(" CreateBy = @CreateBy , "); strSql.Append(" ModifyTime = @ModifyTime , "); strSql.Append(" ModifyId = @ModifyId , "); strSql.Append(" CarCode = @CarCode , "); strSql.Append(" LeftNoData = @LeftNoData , "); strSql.Append(" RightNoData = @RightNoData , "); strSql.Append(" Number = @Number "); strSql.Append(" where Id=@Id "); MySqlParameter[] parameters = { new MySqlParameter("@Id", MySqlDbType.Int32,11) , new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@ProductBarNo", MySqlDbType.VarChar,50) , new MySqlParameter("@LineNo", MySqlDbType.Int32,11) , new MySqlParameter("@IsOver", MySqlDbType.Int32,11) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.VarChar,50) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@CarCode", MySqlDbType.VarChar,50), new MySqlParameter("@Number", MySqlDbType.VarChar,50), new MySqlParameter("@LeftNoData", MySqlDbType.VarChar,50), new MySqlParameter("@RightNoData", MySqlDbType.VarChar,50) }; parameters[0].Value = model.Id; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.ProductBarNo; parameters[3].Value = model.LineNo; parameters[4].Value = model.IsOver; parameters[5].Value = model.IsDeleted; parameters[6].Value = model.CreateTime; parameters[7].Value = model.CreateId; parameters[8].Value = model.CreateBy; parameters[9].Value = model.ModifyTime; parameters[10].Value = model.ModifyId; parameters[11].Value = model.CarCode; parameters[12].Value = model.Number; parameters[13].Value = model.LeftNoData; parameters[14].Value = model.RightNoData; int rows = DbHelperSQLServer.ExecuteNonQuery(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } public static List getOffLineMaterialLists(string strwhere) { List list = new List(); string sql = @"select * FROM basedata_offlinemateriallist where isdeleted=0 " + strwhere + " order by createtime; "; DataSet ds = DbHelperSQLServer.Query(sql); if (ds != null && ds.Tables.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { OffLineMaterialList model = new OffLineMaterialList(); if (ds.Tables[0].Rows[i]["Id"].ToString() != "") { model.Id = int.Parse(ds.Tables[0].Rows[i]["Id"].ToString()); } model.MaterialNo = ds.Tables[0].Rows[i]["MaterialNo"].ToString(); model.ProductBarNo = ds.Tables[0].Rows[i]["ProductBarNo"].ToString(); if (ds.Tables[0].Rows[i]["Number"].ToString() != "") { model.Number = int.Parse(ds.Tables[0].Rows[i]["Number"].ToString()); } if (ds.Tables[0].Rows[i]["CarCode"].ToString() != "") { model.CarCode = ds.Tables[0].Rows[i]["CarCode"].ToString(); } if (ds.Tables[0].Rows[i]["IsOver"].ToString() != "") { model.IsOver = int.Parse(ds.Tables[0].Rows[i]["IsOver"].ToString()); } if (ds.Tables[0].Rows[i]["IsDeleted"].ToString() != "") { model.IsDeleted = ds.Tables[0].Rows[i]["IsDeleted"].ToString() == "False" ? 0 : 1; } if (ds.Tables[0].Rows[i]["CreateTime"].ToString() != "") { model.CreateTime = DateTime.Parse(ds.Tables[0].Rows[i]["CreateTime"].ToString()); } if (ds.Tables[0].Rows[i]["CreateId"].ToString() != "") { model.CreateId = int.Parse(ds.Tables[0].Rows[i]["CreateId"].ToString()); } if (ds.Tables[0].Rows[i]["LeftNoData"].ToString() != "") { model.LeftNoData = int.Parse(ds.Tables[0].Rows[i]["LeftNoData"].ToString()); } if (ds.Tables[0].Rows[i]["RightNoData"].ToString() != "") { model.RightNoData = int.Parse(ds.Tables[0].Rows[i]["RightNoData"].ToString()); } model.CreateBy = ds.Tables[0].Rows[i]["CreateBy"].ToString(); if (ds.Tables[0].Rows[i]["ModifyTime"].ToString() != "") { model.ModifyTime = DateTime.Parse(ds.Tables[0].Rows[i]["ModifyTime"].ToString()); } if (ds.Tables[0].Rows[i]["ModifyId"].ToString() != "") { model.ModifyId = int.Parse(ds.Tables[0].Rows[i]["ModifyId"].ToString()); } model.ModifyBy = ds.Tables[0].Rows[i]["ModifyBy"].ToString(); list.Add(model); } } return list; } /// /// 增加一条数据 /// public int Addofflinemateriallist(OffLineMaterialList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_offlinemateriallist("); strSql.Append("MaterialNo,ProductBarNo,LineNo,IsOver,IsDeleted,CreateTime,CreateId,CreateBy,ModifyTime,ModifyId,ModifyBy,Number"); strSql.Append(") values ("); strSql.Append("@MaterialNo,@ProductBarNo,@LineNo,@IsOver,@IsDeleted,@CreateTime,@CreateId,@CreateBy,@ModifyTime,@ModifyId,@ModifyBy,@Number"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@ProductBarNo", MySqlDbType.VarChar,50) , new MySqlParameter("@LineNo", MySqlDbType.Int32,11) , new MySqlParameter("@IsOver", MySqlDbType.Int32,11) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.VarChar,50) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@ModifyBy", MySqlDbType.VarChar,50), new MySqlParameter("@Number", MySqlDbType.VarChar,50) }; parameters[0].Value = model.MaterialNo; parameters[1].Value = model.ProductBarNo; //parameters[2].Value = model.LineNo; parameters[3].Value = model.IsOver; parameters[4].Value = model.IsDeleted; parameters[5].Value = model.CreateTime; parameters[6].Value = model.CreateId; parameters[7].Value = model.CreateBy; parameters[8].Value = model.ModifyTime; parameters[9].Value = model.ModifyId; parameters[10].Value = model.ModifyBy; parameters[11].Value = model.Number; object obj = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 增加一条数据 /// public int AddOffProductInfo(OffProductInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_offproductinfo("); strSql.Append("ProductBarno,MaterialNo,LineNo,IsDeleted,CreateTime,CreateId,CreateBy,ModifyTime,ModifyId,ModifyBy"); strSql.Append(") values ("); strSql.Append("@ProductBarno,@MaterialNo,@LineNo,@IsDeleted,@CreateTime,@CreateId,@CreateBy,@ModifyTime,@ModifyId,@ModifyBy"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@ProductBarno", MySqlDbType.VarChar,50) , new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@LineNo", MySqlDbType.Int32,11) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.LongText) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@ModifyBy", MySqlDbType.LongText) }; parameters[0].Value = model.ProductBarno; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.LineNo; object obj = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 修改点位放行状态 /// /// /// /// public static int UpdateNodesettingState(int nodeid, int val) { string sqlstr = "update basedata_nodesetting set IsClearCar=@val where id=@id"; MySqlParameter[] parameters = { new MySqlParameter("@id", MySqlDbType.Int32,4) , new MySqlParameter("@val", MySqlDbType.Int32,4) }; parameters[0].Value = nodeid; parameters[1].Value = val; return DbHelperSQLServer.ExecuteNonQuery(sqlstr, parameters); } /// /// 修改小车时候结束状态 /// /// /// /// public static int UpdateCarOverState(int carno, int val) { string sqlstr = "update basedata_carrealinfo set IsOver=@val where carno=@id"; MySqlParameter[] parameters = { new MySqlParameter("@id", MySqlDbType.Int32,4) , new MySqlParameter("@val", MySqlDbType.Int32,4) }; parameters[0].Value = carno; parameters[1].Value = val; return DbHelperSQLServer.ExecuteNonQuery(sqlstr, parameters); } /// /// 修改小车时候结束状态 /// /// /// /// public static int SetLocatorMaterial(int locatorid, string val, string val1) { string sqlstr = "update basedata_linecatcharea set materialno='" + val + "' , materialnm='" + val1 + "' where id=" + locatorid + ";"; return DbHelperSQLServer.ExecuteNonQuery(sqlstr); } /// /// 获取点位关系列表 /// /// /// public static List getNodeRelation(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select * from basedata_nodeprecuss a INNER join basedata_nodesetting b on a.PreNodeId=b.Id INNER join basedata_nodesetting c on a.AfterNodeId=c.Id where a.isdeleted=0;"); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); List list = new List(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { NodePrecuss model = new NodePrecuss(); if (ds.Tables[0].Rows[i]["Id"].ToString() != "") { model.Id = int.Parse(ds.Tables[0].Rows[i]["Id"].ToString()); } if (ds.Tables[0].Rows[i]["PreNodeId"].ToString() != "") { model.PreNodeId = int.Parse(ds.Tables[0].Rows[i]["PreNodeId"].ToString()); } if (ds.Tables[0].Rows[i]["AfterNodeId"].ToString() != "") { model.AfterNodeId = int.Parse(ds.Tables[0].Rows[i]["AfterNodeId"].ToString()); } if (ds.Tables[0].Rows[i]["NodeValue"].ToString() != "") { model.NodeValue = int.Parse(ds.Tables[0].Rows[i]["NodeValue"].ToString()); } model.PreNodeSetting = new NodeSetting(); if (ds.Tables[0].Rows[i]["Id1"].ToString() != "") { model.PreNodeSetting.Id = int.Parse(ds.Tables[0].Rows[i]["Id1"].ToString()); } model.PreNodeSetting.NodeNo = ds.Tables[0].Rows[i]["NodeNo"].ToString(); model.PreNodeSetting.NodeDesc = ds.Tables[0].Rows[i]["NodeDesc"].ToString(); if (ds.Tables[0].Rows[i]["PlcId"].ToString() != "") { model.PreNodeSetting.PlcId1 = int.Parse(ds.Tables[0].Rows[i]["PlcId"].ToString()); } if (ds.Tables[0].Rows[i]["NodeType"].ToString() != "") { model.PreNodeSetting.NodeType = int.Parse(ds.Tables[0].Rows[i]["NodeType"].ToString()); } if (ds.Tables[0].Rows[i]["LineAreaId"].ToString() != "") { model.PreNodeSetting.LineAreaId = int.Parse(ds.Tables[0].Rows[i]["LineAreaId"].ToString()); } if (ds.Tables[0].Rows[i]["IsStaticNumber"].ToString() != "") { model.PreNodeSetting.IsStaticNumber = int.Parse(ds.Tables[0].Rows[i]["IsStaticNumber"].ToString()); } if (ds.Tables[0].Rows[i]["IsClearCar"].ToString() != "") { model.PreNodeSetting.IsClearCar = int.Parse(ds.Tables[0].Rows[i]["IsClearCar"].ToString()); } if (ds.Tables[0].Rows[i]["LocalThriftip"].ToString() != "") { model.PreNodeSetting.LocalThriftip = ds.Tables[0].Rows[i]["LocalThriftip"].ToString(); } if (ds.Tables[0].Rows[i]["LocalThriftport"].ToString() != "") { model.PreNodeSetting.LocalThriftport = int.Parse(ds.Tables[0].Rows[i]["LocalThriftport"].ToString()); } if (ds.Tables[0].Rows[i]["ServerThriftport"].ToString() != "") { model.PreNodeSetting.ServerThriftport = int.Parse(ds.Tables[0].Rows[i]["ServerThriftport"].ToString()); } model.AfterNodeSetting = new NodeSetting(); if (ds.Tables[0].Rows[i]["Id2"].ToString() != "") { model.AfterNodeSetting.Id = int.Parse(ds.Tables[0].Rows[i]["Id2"].ToString()); } model.AfterNodeSetting.NodeNo = ds.Tables[0].Rows[i]["NodeNo1"].ToString(); model.AfterNodeSetting.NodeDesc = ds.Tables[0].Rows[i]["NodeDesc1"].ToString(); if (ds.Tables[0].Rows[i]["PlcId1"].ToString() != "") { model.AfterNodeSetting.PlcId1 = int.Parse(ds.Tables[0].Rows[i]["PlcId1"].ToString()); } if (ds.Tables[0].Rows[i]["NodeType1"].ToString() != "") { model.AfterNodeSetting.NodeType = int.Parse(ds.Tables[0].Rows[i]["NodeType1"].ToString()); } if (ds.Tables[0].Rows[i]["LineAreaId1"].ToString() != "") { model.AfterNodeSetting.LineAreaId = int.Parse(ds.Tables[0].Rows[i]["LineAreaId1"].ToString()); } if (ds.Tables[0].Rows[i]["IsStaticNumber1"].ToString() != "") { model.AfterNodeSetting.IsStaticNumber = int.Parse(ds.Tables[0].Rows[i]["IsStaticNumber1"].ToString()); } if (ds.Tables[0].Rows[i]["IsClearCar1"].ToString() != "") { model.AfterNodeSetting.IsClearCar = int.Parse(ds.Tables[0].Rows[i]["IsClearCar1"].ToString()); } if (ds.Tables[0].Rows[i]["LocalThriftip"].ToString() != "") { model.PreNodeSetting.LocalThriftip = ds.Tables[0].Rows[i]["LocalThriftip"].ToString(); } if (ds.Tables[0].Rows[i]["LocalThriftport"].ToString() != "") { model.PreNodeSetting.LocalThriftport = int.Parse(ds.Tables[0].Rows[i]["LocalThriftport"].ToString()); } if (ds.Tables[0].Rows[i]["ServerThriftport"].ToString() != "") { model.PreNodeSetting.ServerThriftport = int.Parse(ds.Tables[0].Rows[i]["ServerThriftport"].ToString()); } list.Add(model); } } return list; } /// /// 获取小车实时数据缓存,便于启动初始化 /// /// /// public static List getCarInfoList(string strWhere, List arealist, List materialist, List productlist) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select * from basedata_carrealinfo a left join basedata_nodesetting b on a.CurrNodeId=b.Id where a.isdeleted=0 order by a.OptDt "); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); List list = new List(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { CarRealInfo model = new CarRealInfo(); model.CarNo = ds.Tables[0].Rows[i]["CarNo"].ToString(); model.LoadingMaterial = materialist.Where(t => t.carNo == model.CarNo).ToList(); model.LoadingProduct = productlist.Where(t => t.carNo == model.CarNo).ToList(); model.MaterialNo = ds.Tables[0].Rows[i]["MaterialNo"].ToString(); model.MaterialBarNo = ds.Tables[0].Rows[i]["MaterialBarNo"].ToString(); if (ds.Tables[0].Rows[i]["CurrNodeId"].ToString() != "") { model.CurrNodeId = int.Parse(ds.Tables[0].Rows[i]["CurrNodeId"].ToString()); } if (ds.Tables[0].Rows[i]["LocatorNodeId"].ToString() != "") { model.LocatorNodeId = int.Parse(ds.Tables[0].Rows[i]["LocatorNodeId"].ToString()); model.ProLocatorArea = arealist != null ? arealist.FirstOrDefault(t => t.Id == model.LocatorNodeId) : null; } if (ds.Tables[0].Rows[i]["IsOver"].ToString() != "") { model.IsOver = int.Parse(ds.Tables[0].Rows[i]["IsOver"].ToString()); } if (ds.Tables[0].Rows[i]["HadNumber"].ToString() != "") { model.HadNumber = int.Parse(ds.Tables[0].Rows[i]["HadNumber"].ToString()); } if (ds.Tables[0].Rows[i]["LocatorId"].ToString() != "") { model.LocatorId = int.Parse(ds.Tables[0].Rows[i]["LocatorId"].ToString()); model.LocatorArea = arealist != null ? arealist.FirstOrDefault(t => t.Id == model.LocatorId) : null; } if (ds.Tables[0].Rows[i]["OptDt"].ToString() != "") { model.OptDt = DateTime.Parse(ds.Tables[0].Rows[i]["OptDt"].ToString()); } if (ds.Tables[0].Rows[i]["createtime"].ToString() != "") { model.OutLocatorDt = DateTime.Parse(ds.Tables[0].Rows[i]["createtime"].ToString()); } if (ds.Tables[0].Rows[i]["Id"].ToString() != "") { model.Id = int.Parse(ds.Tables[0].Rows[i]["Id"].ToString()); } if (ds.Tables[0].Rows[i]["Number"].ToString() != "") { model.Number = int.Parse(ds.Tables[0].Rows[i]["Number"].ToString()); } if (ds.Tables[0].Rows[i]["OffMaterialId"].ToString() != "") { model.OffMaterialId = int.Parse(ds.Tables[0].Rows[i]["OffMaterialId"].ToString()); } if (ds.Tables[0].Rows[i]["IsOutLocator"].ToString() != "") { model.IsOutLocator = int.Parse(ds.Tables[0].Rows[i]["IsOutLocator"].ToString()); } if (ds.Tables[0].Rows[i]["IsProOutLocator"].ToString() != "") { model.IsProOutLocator = int.Parse(ds.Tables[0].Rows[i]["IsProOutLocator"].ToString()); } model.CurrNodeSetting = new NodeSetting(); if (ds.Tables[0].Rows[i]["Id1"].ToString() != "") { model.CurrNodeSetting.Id = int.Parse(ds.Tables[0].Rows[i]["Id1"].ToString()); } model.CurrNodeSetting.NodeNo = ds.Tables[0].Rows[i]["NodeNo"].ToString(); model.CurrNodeSetting.NodeDesc = ds.Tables[0].Rows[i]["NodeDesc"].ToString(); if (ds.Tables[0].Rows[i]["PlcId"].ToString() != "") { model.CurrNodeSetting.PlcId1 = int.Parse(ds.Tables[0].Rows[i]["PlcId"].ToString()); } if (ds.Tables[0].Rows[i]["NodeType"].ToString() != "") { model.CurrNodeSetting.NodeType = int.Parse(ds.Tables[0].Rows[i]["NodeType"].ToString()); } if (ds.Tables[0].Rows[i]["LineAreaId"].ToString() != "") { model.CurrNodeSetting.LineAreaId = int.Parse(ds.Tables[0].Rows[i]["LineAreaId"].ToString()); } if (ds.Tables[0].Rows[i]["IsStaticNumber"].ToString() != "") { model.CurrNodeSetting.IsStaticNumber = int.Parse(ds.Tables[0].Rows[i]["IsStaticNumber"].ToString()); } if (ds.Tables[0].Rows[i]["IsClearCar"].ToString() != "") { model.CurrNodeSetting.IsClearCar = int.Parse(ds.Tables[0].Rows[i]["IsClearCar"].ToString()); } if (ds.Tables[0].Rows[i]["LocalThriftip"].ToString() != "") { model.CurrNodeSetting.LocalThriftip = ds.Tables[0].Rows[i]["LocalThriftip"].ToString(); } if (ds.Tables[0].Rows[i]["LocalThriftport"].ToString() != "") { model.CurrNodeSetting.LocalThriftport = int.Parse(ds.Tables[0].Rows[i]["LocalThriftport"].ToString()); } if (ds.Tables[0].Rows[i]["ServerThriftport"].ToString() != "") { model.CurrNodeSetting.ServerThriftport = int.Parse(ds.Tables[0].Rows[i]["ServerThriftport"].ToString()); } // model.LocatorNodeSetting = new NodeSetting(); //if (ds.Tables[0].Rows[i]["Id2"].ToString() != "") //{ // model.LocatorNodeSetting.Id = int.Parse(ds.Tables[0].Rows[i]["Id2"].ToString()); //} //model.LocatorNodeSetting.NodeNo = ds.Tables[0].Rows[i]["NodeNo1"].ToString(); //model.LocatorNodeSetting.NodeDesc = ds.Tables[0].Rows[i]["NodeDesc1"].ToString(); //if (ds.Tables[0].Rows[i]["PlcId1"].ToString() != "") //{ // model.LocatorNodeSetting.PlcId1 = int.Parse(ds.Tables[0].Rows[i]["PlcId1"].ToString()); //} //if (ds.Tables[0].Rows[i]["NodeType1"].ToString() != "") //{ // model.LocatorNodeSetting.NodeType = int.Parse(ds.Tables[0].Rows[i]["NodeType1"].ToString()); //} //if (ds.Tables[0].Rows[i]["LineAreaId1"].ToString() != "") //{ // model.LocatorNodeSetting.LineAreaId = int.Parse(ds.Tables[0].Rows[i]["LineAreaId1"].ToString()); //} //if (ds.Tables[0].Rows[i]["IsStaticNumber1"].ToString() != "") //{ // model.LocatorNodeSetting.IsStaticNumber = int.Parse(ds.Tables[0].Rows[i]["IsStaticNumber1"].ToString()); //} //if (ds.Tables[0].Rows[i]["IsClearCar1"].ToString() != "") //{ // model.LocatorNodeSetting.IsClearCar = int.Parse(ds.Tables[0].Rows[i]["IsClearCar1"].ToString()); //} list.Add(model); } } return list; } /// /// 获取小车实时数据缓存,便于启动初始化 /// /// /// public static List getOutCarInfo() { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select carno,a.materialno,a.materialbarno,b.areano,a.createtime from basedata_carrealinfo a left join basedata_linecatcharea b on a.locatorid=b.id where a.isdeleted=0 and isoutlocator=1 order by a.createtime "); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); List list = new List(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { CarRealInfo model = new CarRealInfo(); model.CarNo = ds.Tables[0].Rows[i]["carno"].ToString(); model.MaterialNo = ds.Tables[0].Rows[i]["materialno"].ToString(); model.MaterialBarNo = ds.Tables[0].Rows[i]["materialbarno"].ToString(); model.LineAreaNo = ds.Tables[0].Rows[i]["areano"].ToString(); model.TimeStr = DateTime.Parse(ds.Tables[0].Rows[i]["createtime"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"); list.Add(model); } } return list; } /// /// 获取小车实时数据缓存,便于启动初始化 /// /// /// public static List getCurrCarInfo(string carno) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select carno,a.materialno,a.materialbarno,b.areano,a.optdt,c.nodeno from basedata_carrealinfo a left join basedata_linecatcharea b on a.locatorid=b.id left join basedata_nodesetting c on a.CurrNodeId=c.id where carno=@carno "); MySqlParameter param = new MySqlParameter("@carno", carno); DataSet ds = DbHelperSQLServer.Query(strSql.ToString(), param); List list = new List(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { CarRealInfo model = new CarRealInfo(); model.CarNo = ds.Tables[0].Rows[i]["carno"].ToString(); model.MaterialNo = ds.Tables[0].Rows[i]["materialno"].ToString(); model.MaterialBarNo = ds.Tables[0].Rows[i]["materialbarno"].ToString(); model.LineAreaNo = ds.Tables[0].Rows[i]["areano"].ToString(); model.TimeStr = DateTime.Parse(ds.Tables[0].Rows[i]["optdt"].ToString()).ToString("yyyy-MM-dd HH:mm:ss"); model.CurrNodeNo = ds.Tables[0].Rows[i]["nodeno"].ToString(); list.Add(model); } } return list; } /// /// 修改订单表上件 下件数量 /// /// /// 0: 上件总数量 1 :下件数量修改 /// public static int UpdatePlanOrderAmount(int id, int UpDownType) { string sqlstr = ""; if (UpDownType == 0) { sqlstr = "UPDATE basedata_orderplan set upAmount=UpAmount+1 where id=@id"; } else { sqlstr = "UPDATE basedata_orderplan set downAount=downAount+1 where id=@id"; } MySqlParameter[] parameters = { new MySqlParameter("@id", MySqlDbType.Int32,4) , new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) }; parameters[0].Value = id; parameters[1].Value = UpDownType; return DbHelperSQLServer.ExecuteNonQuery(sqlstr, parameters); } public static DateTime GetLastTime() { StringBuilder strSql = new StringBuilder(); strSql.Append("select max(createtime) from basedata_offlinemateriallist_his where isdeleted=0 ;"); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows[0][0] != DBNull.Value) { return Convert.ToDateTime(ds.Tables[0].Rows[0][0]); } return DateTime.Now.AddMinutes(-10); } /// /// 增加一条数据 /// public static int AddProductInfo(Productinfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_productinfo("); strSql.Append("ProductBarno,MaterialNo,IsDeleted,CreateTime,CreateId,CreateBy,ModifyTime,ModifyId,ModifyBy"); strSql.Append(") values ("); strSql.Append("@ProductBarno,@MaterialNo,@IsDeleted,@CreateTime,@CreateId,@CreateBy,@ModifyTime,@ModifyId,@ModifyBy"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@ProductBarno", MySqlDbType.VarChar,50) , new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , new MySqlParameter("@CreateBy", MySqlDbType.LongText) , new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , new MySqlParameter("@ModifyBy", MySqlDbType.LongText) }; parameters[0].Value = model.ProductBarno; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.IsDeleted; parameters[3].Value = model.CreateTime; parameters[4].Value = model.CreateId; parameters[5].Value = model.CreateBy; parameters[6].Value = model.ModifyTime; parameters[7].Value = model.ModifyId; parameters[8].Value = model.ModifyBy; object obj = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } //public static List getUpLineMaterialLists(string strwhere) //{ // List list = new List(); // StringBuilder strSql = new StringBuilder(); // strSql.Append("select * from basedata_uplinemateriallist "); // DataSet ds = DbHelperMySQL.Query(strSql.ToString()); // if (ds.Tables[0].Rows.Count > 0) // { // for (int i = 0; i < ds.Tables[0].Rows.Count; i++) // { // UpLineMaterialList model = new UpLineMaterialList(); // if (ds.Tables[0].Rows[i]["Id"].ToString() != "") // { // model.Id = int.Parse(ds.Tables[0].Rows[i]["Id"].ToString()); // } // model.MaterialNo = ds.Tables[0].Rows[i]["MaterialNo"].ToString(); // model.ProductBarNo = ds.Tables[0].Rows[i]["ProductBarNo"].ToString(); // model.LineNo = ds.Tables[0].Rows[i]["LineNo"].ToString(); // if (ds.Tables[0].Rows[i]["IsOver"].ToString() != "") // { // model.IsOver = int.Parse(ds.Tables[0].Rows[i]["IsOver"].ToString()); // } // list.Add(model); // } // } // return list; //} public static List getUpLineScanCarLists(string strwhere) { List list = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("select * from basedata_uplinescancarlist where isdeleted=0;"); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { UpLineScanCarList model = new UpLineScanCarList(); if (ds.Tables[0].Rows[i]["Id"].ToString() != "") { model.Id = int.Parse(ds.Tables[0].Rows[i]["Id"].ToString()); } model.MaterialNo = ds.Tables[0].Rows[i]["MaterialNo"].ToString(); model.CarNo = ds.Tables[0].Rows[i]["Carcode"].ToString(); model.LineNo = ds.Tables[0].Rows[i]["LineNo"].ToString(); if (ds.Tables[0].Rows[i]["IsOver"].ToString() != "") { model.IsOver = int.Parse(ds.Tables[0].Rows[i]["IsOver"].ToString()); } if (ds.Tables[0].Rows[i]["number"].ToString() != "") { model.Number = int.Parse(ds.Tables[0].Rows[i]["number"].ToString()); } list.Add(model); } } return list; } /// /// 删除一条数据 /// public static bool DeleteUpLineMaterial(int Id) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from basedata_uplinescancarlist "); strSql.Append(" where Id=@Id "); MySqlParameter[] parameters = { new MySqlParameter("@Id", MySqlDbType.Int32,11) }; parameters[0].Value = Id; int rows = DbHelperSQLServer.ExecuteNonQuery(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } /// /// 删除一条数据 /// public static bool DeleteOffLineMaterial(int Id) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from basedata_offlinemateriallist "); strSql.Append(" where Id=@Id "); MySqlParameter[] parameters = { new MySqlParameter("@Id", MySqlDbType.Int32,11) }; parameters[0].Value = Id; int rows = DbHelperSQLServer.ExecuteNonQuery(strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } } ///// ///// 增加一条数据 ///// //public static int AddUpLineMaterial(UpLineMaterialList model) //{ // StringBuilder strSql = new StringBuilder(); // strSql.Append("insert into basedata_uplinemateriallist("); // strSql.Append("Id,MaterialNo,ProductBarNo,LineNo"); // strSql.Append(") values ("); // strSql.Append("@Id,@MaterialNo,@ProductBarNo,@LineNo"); // strSql.Append(");select @@IDENTITY "); // MySqlParameter[] parameters = { // new MySqlParameter("@Id", MySqlDbType.Int32,11) , // new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , // new MySqlParameter("@ProductBarNo", MySqlDbType.VarChar,50) , // new MySqlParameter("@LineNo", MySqlDbType.Int32,11) , // //new MySqlParameter("@IsDeleted", MySqlDbType.Int32,1) , // //new MySqlParameter("@CreateTime", MySqlDbType.DateTime) , // //new MySqlParameter("@CreateId", MySqlDbType.Int32,11) , // //new MySqlParameter("@CreateBy", MySqlDbType.LongText) , // //new MySqlParameter("@ModifyTime", MySqlDbType.DateTime) , // //new MySqlParameter("@ModifyId", MySqlDbType.Int32,11) , // //new MySqlParameter("@ModifyBy", MySqlDbType.LongText) // }; // parameters[0].Value = model.Id; // parameters[1].Value = model.MaterialNo; // parameters[2].Value = model.ProductBarNo; // // parameters[3].Value = model.LineNo; // //parameters[4].Value = model.IsDeleted; // //parameters[5].Value = model.CreateTime; // //parameters[6].Value = model.CreateId; // //parameters[7].Value = model.CreateBy; // //parameters[8].Value = model.ModifyTime; // //parameters[9].Value = model.ModifyId; // //parameters[10].Value = model.ModifyBy; // int id = 0; // object ret = DbHelperMySQL.ExecuteScalar(strSql.ToString(), parameters); // if (ret != null && ret != DBNull.Value) // { // id = Convert.ToInt32(ret); // } // return id; //} /// /// 增加一条数据 /// public static int AddUpLineScancar(UpLineScanCarList model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into basedata_uplinescancarlist("); strSql.Append("Id,MaterialNo,CarNo,MaterialBarCode,ProductMaterialNo,LineNo,Number,CreateTime,IsDeleted"); strSql.Append(") values ("); strSql.Append("@Id,@MaterialNo,@CarNo,@MaterialBarCode,@ProductMaterialNo,@LineNo,@Number,now(),0"); strSql.Append(");select @@IDENTITY "); MySqlParameter[] parameters = { new MySqlParameter("@Id", MySqlDbType.Int32,11) , new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@CarNo", MySqlDbType.VarChar,50) , new MySqlParameter("@MaterialBarCode",MySqlDbType.VarChar,50) , new MySqlParameter("@ProductMaterialNo", MySqlDbType.VarChar,50) , new MySqlParameter("@LineNo", MySqlDbType.VarChar,50) , new MySqlParameter("@Number", MySqlDbType.Int32,11) , }; parameters[0].Value = model.Id; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.CarNo; parameters[3].Value = model.MaterialBarCode; parameters[4].Value = model.ProductMaterialNo; parameters[5].Value = model.LineNo; parameters[6].Value = model.Number; int id = 0; object ret = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (ret != null && ret != DBNull.Value) { id = Convert.ToInt32(ret); } return id; } /// /// 查询时序订单 /// /// /// public static List getOrderPlanList(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select a.*,b.material_name FROM base_orderinfo a left join "); strSql.Append("base_materialinfo b on a.material_no = b.material_no where a.is_delete = 0 and b.is_delete = 0 "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); List list = new List(); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Orderplan model = new Orderplan(); if (ds.Tables[0].Rows[i]["id"].ToString() != "") { model.id = ds.Tables[0].Rows[i]["id"].ToString(); //id } model.orderNo = ds.Tables[0].Rows[i]["order_no"].ToString();//订单号 model.productCode = ds.Tables[0].Rows[i]["material_no"].ToString();//物料号 model.productDesc = ds.Tables[0].Rows[i]["material_name"].ToString();//物料描述 if (ds.Tables[0].Rows[i]["product_amount"].ToString() != "") { model.amount = int.Parse(ds.Tables[0].Rows[i]["product_amount"].ToString()); //计划数量 } //model.planType = ds.Tables[0].Rows[i]["planType"].ToString(); //类型 需求计划类型(0:T - 1需求计划,1:两小时时序计划) if (ds.Tables[0].Rows[i]["product_sortno"].ToString() != "") { model.PlanOrder = int.Parse(ds.Tables[0].Rows[i]["product_sortno"].ToString());//顺序号 } if (ds.Tables[0].Rows[i]["plan_state"].ToString() != "") { model.planState = int.Parse(ds.Tables[0].Rows[i]["plan_state"].ToString());//计划状态 } if (ds.Tables[0].Rows[i]["plan_starttime"].ToString() != "") { model.planStartTime = DateTime.Parse(ds.Tables[0].Rows[i]["plan_starttime"].ToString());//计划日期 } if (ds.Tables[0].Rows[i]["up_amount"].ToString() != "") { model.upAmount = int.Parse(ds.Tables[0].Rows[i]["up_amount"].ToString());//上件数量 } if (ds.Tables[0].Rows[i]["down_amount"].ToString() != "") { model.downAmount = int.Parse(ds.Tables[0].Rows[i]["down_amount"].ToString());//下件数量 } list.Add(model); } } return list; } public static DataTable getOrderPlanDt(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select ProductCode,ProductDesc as selectitem FROM basedata_orderplan where isdeleted=0; "); if (strWhere.Trim() != "") { strSql.Append(" where " + strWhere); } DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); List list = new List(); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0]; } return null; ; } /// /// 是否存在该小车记录 /// /// 主键值 /// 是否存在 public static bool ExistsCarRealInfo(string CarNo) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(1) from BaseData_CarRealInfo"); strSql.Append(" where CarNo = @CarNo "); MySqlParameter[] parameters = { new MySqlParameter("@CarNo", MySqlDbType.VarChar,50) }; parameters[0].Value = CarNo; return Convert.ToInt32(DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters)) != 0; } /// /// 增加一条数据 /// /// model public static int AddCarRealRecord(CarRealInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" insert into BaseData_CarRealInfo(CarNo,MaterialNo,MaterialBarNo,CurrNodeId,LocatorNodeId,LocatorId,OptDt,OffMaterialId,Number,IsOver,HadNumber,createtime) values (@CarNo,@MaterialNo,@MaterialBarNo,@CurrNodeId,@LocatorNodeId,@LocatorId,@OptDt,@OffMaterialId,@Number,0,@HadNumber,now())"); strSql.Append(@" ; select @@identity; "); MySqlParameter[] parameters = { new MySqlParameter("@CarNo", MySqlDbType.VarChar,50), new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50), new MySqlParameter("@MaterialBarNo", MySqlDbType.VarChar,50), new MySqlParameter("@CurrNodeId", MySqlDbType.Int32), new MySqlParameter("@LocatorNodeId", MySqlDbType.Int32), new MySqlParameter("@LocatorId", MySqlDbType.Int32), new MySqlParameter("@OptDt", MySqlDbType.DateTime), new MySqlParameter("@OffMaterialId", MySqlDbType.Int32), new MySqlParameter("@Number", MySqlDbType.Int32), new MySqlParameter("@HadNumber", MySqlDbType.Int32) }; parameters[0].Value = model.CarNo; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.MaterialBarNo; parameters[3].Value = model.CurrNodeId; parameters[4].Value = model.LocatorNodeId; parameters[5].Value = model.LocatorId; parameters[6].Value = DateTime.Now; parameters[7].Value = model.OffMaterialId; parameters[8].Value = model.Number; parameters[9].Value = model.HadNumber; int id = 0; object ret = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (ret != null && ret != DBNull.Value) { id = Convert.ToInt32(ret); } return id; } /// /// 更新一条数据 /// /// model public static void ModifyRealCarinfoRecord(CarRealInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" update BaseData_CarRealInfo set MaterialNo=@MaterialNo, MaterialBarNo=@MaterialBarNo, CurrNodeId=@CurrNodeId, LocatorNodeId=@LocatorNodeId, LocatorId=@LocatorId, OffMaterialId=@OffMaterialId, IsOver=@IsOver, Number=@Number, Number=@Number, OptDt=@OptDt, IsProOutLocator=@IsProOutLocator, IsOutLocator=@IsOutLocator, HadNumber=@HadNumber ,createtime=now() where CarNo = @CarNo "); MySqlParameter[] parameters = { new MySqlParameter("@CarNo", MySqlDbType.VarChar,50), new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50), new MySqlParameter("@MaterialBarNo", MySqlDbType.VarChar,50), new MySqlParameter("@CurrNodeId", MySqlDbType.Int32), new MySqlParameter("@LocatorNodeId", MySqlDbType.Int32), new MySqlParameter("@LocatorId", MySqlDbType.Int32), new MySqlParameter("@OptDt", MySqlDbType.DateTime), new MySqlParameter("@OffMaterialId", MySqlDbType.Int32), new MySqlParameter("@Number", MySqlDbType.Int32), new MySqlParameter("@IsOver", MySqlDbType.Int32), new MySqlParameter("@IsProOutLocator", MySqlDbType.Int32), new MySqlParameter("@IsOutLocator", MySqlDbType.Int32), new MySqlParameter("@HadNumber", MySqlDbType.Int32), // new MySqlParameter("@CreateTime", MySqlDbType.DateTime), }; parameters[0].Value = model.CarNo; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.MaterialBarNo; parameters[3].Value = model.CurrNodeId; parameters[4].Value = model.LocatorNodeId; parameters[5].Value = model.LocatorId; parameters[6].Value = model.OptDt; parameters[7].Value = model.OffMaterialId; parameters[8].Value = model.Number; parameters[9].Value = model.IsOver; parameters[10].Value = model.IsProOutLocator; parameters[11].Value = model.IsOutLocator; parameters[12].Value = model.HadNumber; // parameters[12].Value = model.CreateDt; DbHelperSQLServer.ExecuteNonQuery(strSql.ToString(), parameters); } /// /// 增加一条数据 /// /// model public static int AddCarHistoryRecord(CarRealInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" insert into BaseData_CarHistoryInfo(CarNo,MaterialNo,MaterialBarNo,CurrNodeId,LocatorNodeId,LocatorId,OptDt,OffMaterialId,Number,IsOver) values (@CarNo,@MaterialNo,@MaterialBarNo,@CurrNodeId,@LocatorNodeId,@LocatorId,@OptDt,@OffMaterialId,@Number,0)"); strSql.Append(@" ; select @@identity; "); MySqlParameter[] parameters = { new MySqlParameter("@CarNo", MySqlDbType.VarChar,50), new MySqlParameter("@MaterialNo", MySqlDbType.VarChar,50), new MySqlParameter("@MaterialBarNo", MySqlDbType.VarChar,50), new MySqlParameter("@CurrNodeId", MySqlDbType.Int32), new MySqlParameter("@LocatorNodeId", MySqlDbType.Int32), new MySqlParameter("@LocatorId", MySqlDbType.Int32), new MySqlParameter("@OptDt", MySqlDbType.DateTime), new MySqlParameter("@OffMaterialId", MySqlDbType.Int32), new MySqlParameter("@Number", MySqlDbType.Int32) }; parameters[0].Value = model.CarNo; parameters[1].Value = model.MaterialNo; parameters[2].Value = model.MaterialBarNo; parameters[3].Value = model.CurrNodeId; parameters[4].Value = model.LocatorNodeId; parameters[5].Value = model.LocatorId; parameters[6].Value = DateTime.Now; parameters[7].Value = model.OffMaterialId; parameters[8].Value = model.Number; int id = 0; object ret = DbHelperSQLServer.ExecuteScalar(strSql.ToString(), parameters); if (ret != null && ret != DBNull.Value) { id = Convert.ToInt32(ret); } return id; } /// /// 得到一个model /// /// 主键值 /// model public static CarRealInfo GetCarModel(string CarNo) { StringBuilder strSql = new StringBuilder(); strSql.Append(@" select * from BaseData_CarRealInfo"); strSql.Append(@" where CarNo = @CarNo "); MySqlParameter[] parameters = { new MySqlParameter("@CarNo", MySqlDbType.VarChar,50) }; parameters[0].Value = CarNo; CarRealInfo model = new CarRealInfo(); DataSet ds = DbHelperSQLServer.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { DataRow row = ds.Tables[0].Rows[0]; if (row["Id"] != DBNull.Value) { model.Id = Convert.ToInt32(row["Id"]); } if (row["CarNo"] != DBNull.Value) { model.CarNo = Convert.ToString(row["CarNo"]); } if (row["IsOver"] != DBNull.Value) { model.IsOver = Convert.ToInt32(row["IsOver"]); } if (row["MaterialNo"] != DBNull.Value) { model.MaterialNo = Convert.ToString(row["MaterialNo"]); } if (row["MaterialBarNo"] != DBNull.Value) { model.MaterialBarNo = Convert.ToString(row["MaterialBarNo"]); } if (row["CurrNodeId"] != DBNull.Value) { model.CurrNodeId = Convert.ToInt32(row["CurrNodeId"]); } if (row["LocatorNodeId"] != DBNull.Value) { model.LocatorNodeId = Convert.ToInt32(row["LocatorNodeId"]); } if (row["LocatorId"] != DBNull.Value) { model.LocatorId = Convert.ToInt32(row["LocatorId"]); } if (row["OptDt"] != DBNull.Value) { model.OptDt = Convert.ToDateTime(row["OptDt"]); } return model; } else { return null; } } ///// ///// 获取线体列表 ///// ///// ///// //public static List GetLineInfoList(string where) //{ // List list = new List(); // string sql = "select * from basedata_lineinfo "; // DataSet dtset = DbHelperMySQL.Query(sql); // if (dtset != null && dtset.Tables.Count > 0) // { // foreach (DataRow row in dtset.Tables[0].Rows) // { // LineInfo model = new LineInfo(); // if (row["Id"] != DBNull.Value) // { // model.Id = Convert.ToInt32(row["Id"]); // } // if (row["LineNumber"] != DBNull.Value) // { // model.LineNumber = Convert.ToString(row["LineNumber"]); // } // if (row["LineNm"] != DBNull.Value) // { // model.LineNm = Convert.ToString(row["LineNm"]); // } // if (row["LineNo"] != DBNull.Value) // { // model.LineNo = Convert.ToString(row["LineNo"]); // } // if (row["LineType"] != DBNull.Value) // { // model.LineType = Convert.ToInt32(row["LineType"]); // } // list.Add(model); // } // } // return list; //} /// /// 获取线体缓存区列表 /// /// /// public static List GetLineCatchAreaList(string where) { List list = new List(); string sql = "select * from basedata_linecatcharea where isdeleted=0 " + where; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0) { foreach (DataRow row in dtset.Tables[0].Rows) { LineCatchArea model = new LineCatchArea(); if (row["Id"] != DBNull.Value) { model.Id = Convert.ToInt32(row["Id"]); } if (row["AreaNo"] != DBNull.Value) { model.AreaNo = Convert.ToString(row["AreaNo"]); } model.MaterialNo = row["Materialno"].ToString(); model.MaterialNm = row["MaterialNm"].ToString(); if (row["AreaNm"] != DBNull.Value) { model.AreaNm = Convert.ToString(row["AreaNm"]); } if (row["LineNo"] != DBNull.Value) { model.LineNo = row["LineNo"].ToString(); } if (row["AreaType"].ToString() != "") { model.AreaType = int.Parse(row["AreaType"].ToString()); } if (row["MaxNumber"].ToString() != "") { model.MaxNumber = int.Parse(row["MaxNumber"].ToString()); } if (row["AreaStorageType"].ToString() != "") { model.AreaStorageType = int.Parse(row["AreaStorageType"].ToString()); } list.Add(model); } } return list; } /// /// 获取线体缓存区列表 /// /// /// public static DataTable GetLineCatchAreaDt(string where) { List list = new List(); string sql = "select areano as selectitem from basedata_linecatcharea where isdeleted=0 " + where; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0) { return dtset.Tables[0]; } return null; } /// /// 获取PLC配置列表 /// /// /// public static Dictionary GetPlcSettingList(string where) { Dictionary list = new Dictionary(); string sql = "select * from BaseData_PlcSetting where isdeleted=0"; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0) { foreach (DataRow row in dtset.Tables[0].Rows) { PlcSetting model = new PlcSetting(); if (row["Id"] != DBNull.Value) { model.Id = Convert.ToInt32(row["Id"]); } if (row["PlcNo"] != DBNull.Value) { model.PlcNo = Convert.ToString(row["PlcNo"]); } if (row["PlcAddress"] != DBNull.Value) { model.PlcAddress = Convert.ToString(row["PlcAddress"]); } if (row["PlcValueLength"] != DBNull.Value) { model.PlcValueLength = Convert.ToString(row["PlcValueLength"]); } if (row["PlcDataType"] != DBNull.Value) { model.PlcDataType = Convert.ToInt32(row["PlcDataType"]); } list.Add(model.PlcNo, model); } } return list; } /// /// 获取线体预设列表 /// /// /// public static List GetLinePreInfoList(string where) { List list = new List(); string sql = "select * from BaseData_LinePreInfo "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0) { foreach (DataRow row in dtset.Tables[0].Rows) { LinePreInfo model = new LinePreInfo(); if (row["Id"] != DBNull.Value) { model.Id = Convert.ToInt32(row["Id"]); } if (row["LinePreNo"] != DBNull.Value) { model.LinePreNo = Convert.ToString(row["LinePreNo"]); } if (row["LineStartNo"] != DBNull.Value) { model.LineStartNo = Convert.ToString(row["LineStartNo"]); } if (row["LineEndNo"] != DBNull.Value) { model.LineEndNo = Convert.ToString(row["LineEndNo"]); } if (row["AllNeedTime"] != DBNull.Value) { model.AllNeedTime = Convert.ToInt32(row["AllNeedTime"]); } if (row["RunType"] != DBNull.Value) { model.RunType = Convert.ToInt32(row["RunType"]); } list.Add(model); } } return list; } /// /// 获取节点配置列表 /// /// /// public static List GetNodeSettingList(string where, List Arealist) { List list = new List(); string sql = @"select * from basedata_nodesetting a left join basedata_plcsetting b on a.PlcId=b.Id left join basedata_linecatcharea g on g.Id=a.LineAreaId left join basedata_plcsetting c on a.PlcId2=c.Id left join basedata_plcsetting d on a.PlcId3=d.Id left join basedata_plcsetting e on a.PlcId4=e.Id left join basedata_plcsetting f on a.PlcId5=f.Id where a.isdeleted=0; "; DataSet dtset = DbHelperSQLServer.Query(sql); if (dtset != null && dtset.Tables.Count > 0) { foreach (DataRow row in dtset.Tables[0].Rows) { NodeSetting model = new NodeSetting(); if (row["Id"] != DBNull.Value) { model.Id = Convert.ToInt32(row["Id"]); } if (row["NodeNo"] != DBNull.Value) { model.NodeNo = Convert.ToString(row["NodeNo"]); } if (row["NodeDesc"] != DBNull.Value) { model.NodeDesc = Convert.ToString(row["NodeDesc"]); } if (row["PlcId"] != DBNull.Value) { model.PlcId1 = Convert.ToInt32(row["PlcId"]); } if (row["NodeType"] != DBNull.Value) { model.NodeType = Convert.ToInt32(row["NodeType"]); } if (row["LineAreaId"] != DBNull.Value) { model.LineAreaId = Convert.ToInt32(row["LineAreaId"]); var linearea = Arealist.FirstOrDefault(t => t.Id == model.LineAreaId); if (linearea != null) { model.LineCatchArea = linearea; } } if (row["LocalThriftip"].ToString() != "") { model.LocalThriftip = row["LocalThriftip"].ToString(); } if (row["LocalThriftport"].ToString() != "") { model.LocalThriftport = int.Parse(row["LocalThriftport"].ToString()); } if (row["ServerThriftport"].ToString() != "") { model.ServerThriftport = int.Parse(row["ServerThriftport"].ToString()); } if (row["IsStaticNumber"] != DBNull.Value) { model.IsStaticNumber = Convert.ToInt32(row["IsStaticNumber"]); } if (row["IsClearCar"] != DBNull.Value) { model.IsClearCar = Convert.ToInt32(row["IsClearCar"]); } PlcSetting plcmodel = new PlcSetting(); if (row["Id1"] != DBNull.Value) { plcmodel.Id = Convert.ToInt32(row["Id1"]); } if (row["PlcNo"] != DBNull.Value) { plcmodel.PlcNo = Convert.ToString(row["PlcNo"]); } if (row["PlcAddress"] != DBNull.Value) { plcmodel.PlcAddress = Convert.ToString(row["PlcAddress"]); } if (row["PlcValueLength"] != DBNull.Value) { plcmodel.PlcValueLength = Convert.ToString(row["PlcValueLength"]); } if (row["PlcDataType"] != DBNull.Value) { plcmodel.PlcDataType = Convert.ToInt32(row["PlcDataType"]); } model.PlcSetting1 = plcmodel; model.PlcSetting2 = new PlcSetting(); if (row["Id3"] != DBNull.Value) { model.PlcSetting2.Id = Convert.ToInt32(row["Id3"]); } if (row["PlcNo1"] != DBNull.Value) { model.PlcSetting2.PlcNo = Convert.ToString(row["PlcNo1"]); } if (row["PlcAddress1"] != DBNull.Value) { model.PlcSetting2.PlcAddress = Convert.ToString(row["PlcAddress1"]); } if (row["PlcValueLength1"] != DBNull.Value) { model.PlcSetting2.PlcValueLength = Convert.ToString(row["PlcValueLength1"]); } if (row["PlcDataType1"] != DBNull.Value) { model.PlcSetting2.PlcDataType = Convert.ToInt32(row["PlcDataType1"]); } model.PlcSetting3 = new PlcSetting(); if (row["Id4"] != DBNull.Value) { model.PlcSetting3.Id = Convert.ToInt32(row["Id4"]); } if (row["PlcNo2"] != DBNull.Value) { model.PlcSetting3.PlcNo = Convert.ToString(row["PlcNo2"]); } if (row["PlcAddress2"] != DBNull.Value) { model.PlcSetting3.PlcAddress = Convert.ToString(row["PlcAddress2"]); } if (row["PlcValueLength2"] != DBNull.Value) { model.PlcSetting3.PlcValueLength = Convert.ToString(row["PlcValueLength2"]); } if (row["PlcDataType2"] != DBNull.Value) { model.PlcSetting3.PlcDataType = Convert.ToInt32(row["PlcDataType2"]); } model.PlcSetting4 = new PlcSetting(); if (row["Id5"] != DBNull.Value) { model.PlcSetting4.Id = Convert.ToInt32(row["Id5"]); } if (row["PlcNo3"] != DBNull.Value) { model.PlcSetting4.PlcNo = Convert.ToString(row["PlcNo3"]); } if (row["PlcAddress3"] != DBNull.Value) { model.PlcSetting4.PlcAddress = Convert.ToString(row["PlcAddress3"]); } if (row["PlcValueLength3"] != DBNull.Value) { model.PlcSetting4.PlcValueLength = Convert.ToString(row["PlcValueLength3"]); } if (row["PlcDataType3"] != DBNull.Value) { model.PlcSetting4.PlcDataType = Convert.ToInt32(row["PlcDataType3"]); } model.PlcSetting5 = new PlcSetting(); if (row["Id6"] != DBNull.Value) { model.PlcSetting5.Id = Convert.ToInt32(row["Id6"]); } if (row["PlcNo4"] != DBNull.Value) { model.PlcSetting5.PlcNo = Convert.ToString(row["PlcNo4"]); } if (row["PlcAddress4"] != DBNull.Value) { model.PlcSetting5.PlcAddress = Convert.ToString(row["PlcAddress4"]); } if (row["PlcValueLength4"] != DBNull.Value) { model.PlcSetting5.PlcValueLength = Convert.ToString(row["PlcValueLength4"]); } if (row["PlcDataType4"] != DBNull.Value) { model.PlcSetting5.PlcDataType = Convert.ToInt32(row["PlcDataType4"]); } list.Add(model); } } return list; } /// /// 得到一个对象实体集合 /// public static List GetMaterialInfoList(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select Id, material_no, material_name, is_delete, DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') create_time, create_id, "); strSql.Append("create_by, DATE_FORMAT(modify_time, '%Y-%m-%d %H:%i:%s') modify_time, modify_id, modify_by from base_materialinfo"); if (!string.IsNullOrWhiteSpace(strWhere)) strSql.Append(" where isdeleted=0 " + strWhere); List Items = new List(); DataSet ds = DbHelperSQLServer.Query(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { MaterialInfo model = new MaterialInfo(); if (row["Id"] != DBNull.Value) { model.Id = Guid.Parse(row["Id"].ToString()); } if (row["material_no"] != DBNull.Value) { model.MaterialNo = Convert.ToString(row["material_no"]).Trim().ToUpper(); } if (row["material_name"] != DBNull.Value) { model.MaterialNm = Convert.ToString(row["material_name"]); } Items.Add(model); } } return Items; } public DataTable WeighingTask(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append("select qt.check_name,"); strSql.Append(" qct.check_type, "); strSql.Append(" qct.check_no,"); strSql.Append(" qct.material_code,"); strSql.Append(" qct.material_name, "); strSql.Append(" qct.income_time, "); strSql.Append(" qctd.rule_name, "); strSql.Append(" qctd.record_id, "); strSql.Append(" qctd.actual_value "); strSql.Append("from qc_check_task qct "); strSql.Append("left join qc_check_type qt on qt.order_code = qct.check_type "); strSql.Append("left join qc_check_task_detail qctd on qctd.belong_to = qct.record_id "); strSql.Append("left join qc_check_type_project qctp on qctd.type_project_id = qctp.id"); if (!string.IsNullOrWhiteSpace(strWhere)) { strSql.Append(" where 1=1 " + strWhere); strSql.Append(" and qctp.weight = '1' and qctp.del_flag = '0' and qct.del_flag = '0' and qt.del_flag = '0' and qctd.del_flag = '0'"); } else { strSql.Append(" where qctp.weight = '1' and qctp.del_flag = '0' and qct.del_flag = '0' and qt.del_flag = '0' and qctd.del_flag = '0'"); } DataSet dtset= Utils.netClientDBHelper.getDataSet(strSql.ToString()); if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0) { return dtset.Tables[0]; } return null; } public int InsertCheckTaskDetail(string value,string where) { StringBuilder strSql = new StringBuilder(); strSql.Append("UPDATE qc_check_task_detail "); strSql.Append("SET actual_value ="); if (value == null) { strSql.Append("NULL"); } else { strSql.Append($"'{value}'"); } strSql.Append(" WHERE record_id ="); strSql.Append($"'{where}'"); int result= Utils.netClientDBHelper.executeUpdate(strSql.ToString()); return result; } // /// // /// 获取物料bom列表 // /// // /// // /// // public static List GetMaterialBomList(string where) // { // List list = new List(); // string sql = @"select a.id,b.id as pid,b.MaterialNo as bmno,b.MaterialNm as bmnm,c.id as cid,c.MaterialNo as cmno,c.MaterialNm as cmnm // from basedata_materialbom a //left join basedata_materialinfo b on a.ProductNo=b.MaterialNo //left join basedata_materialinfo c on a.GateMaterialNo=c.MaterialNo // where a.isdeleted=0; // "; // DataSet dtset = DbHelperMySQL.Query(sql); // if (dtset != null && dtset.Tables.Count > 0) // { // foreach (DataRow row in dtset.Tables[0].Rows) // { // MaterialBom model = new MaterialBom(); // model.ParentMaterialInfo = new MaterialInfo(); // model.ChildMaterialInfo = new MaterialInfo(); // if (row["Id"] != DBNull.Value) // { // model.Id = Convert.ToInt32(row["Id"]); // } // if (row["pid"] != DBNull.Value) // { // model.ParentMaterialInfo.Id = Convert.ToInt32(row["pid"]); // } // if (row["cid"] != DBNull.Value) // { // model.ChildMaterialInfo.Id = Convert.ToInt32(row["pid"]); // } // if (row["bmno"] != DBNull.Value) // { // model.ParentMaterialInfo.MaterialNo = row["bmno"].ToString(); // model.MaterialNo = row["bmno"].ToString(); // } // if (row["bmnm"] != DBNull.Value) // { // model.ParentMaterialInfo.MaterialNm = row["bmnm"].ToString(); // } // if (row["cmno"] != DBNull.Value) // { // model.ChildMaterialInfo.MaterialNo = row["cmno"].ToString(); // } // if (row["cmnm"] != DBNull.Value) // { // model.ChildMaterialInfo.MaterialNm = row["cmnm"].ToString(); // } // list.Add(model); // } // } // return list; // } } }