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;
// }
}
}