566 lines
26 KiB
C#
566 lines
26 KiB
C#
using AUTS.Domain.Entities;
|
|
using AUTS.Domain.ViewModels;
|
|
using AUTS.Services.DBUtility.Custom;
|
|
using AUTS.Services.Enums;
|
|
using AUTS.Services.Extensions;
|
|
using AUTS.Services.Tool;
|
|
using MySql.Data.MySqlClient;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
|
|
namespace AUTS.Services.Manager
|
|
{
|
|
public partial class AutsChart
|
|
{
|
|
private static string TestLogTbName = "TBL_{0}_{1}_TestLog";//测试记录表名
|
|
|
|
/// <summary>
|
|
/// 图表-未完成订单生产进度统计
|
|
/// </summary>
|
|
/// <param name="reqModel">查询条件实体</param>
|
|
/// <param name="cacheUserProject">机型缓存</param>
|
|
/// <param name="cacheUserOrder">订单缓存</param>
|
|
/// <param name="cacheUserCustomer">客户缓存</param>
|
|
/// <param name="cacheUserStationList">工作站缓存</param>
|
|
/// <returns></returns>
|
|
public static ReturnResult<object> GetOrderStats(RequestOrderStats reqModel, List<TBL_Project> cacheUserProject, List<TBL_Orders> cacheUserOrder, List<TBL_Customer> cacheUserCustomer, List<TBL_StationList> cacheUserStationList)
|
|
{
|
|
ReturnResult<object> result = new ReturnResult<object>();
|
|
try
|
|
{
|
|
var project = cacheUserProject.SingleOrDefault(x => x.ID == reqModel.ProjectID);
|
|
|
|
if (!reqModel.IsOrder)//如果不是按照订单
|
|
{
|
|
if (project == null)
|
|
{
|
|
result.Message = "无效或不存在的机型";
|
|
return result;
|
|
}
|
|
if (reqModel.StartDate == null)
|
|
{
|
|
|
|
result.Message = "请输入起始时间";
|
|
return result;
|
|
}
|
|
}
|
|
|
|
var orderNotList = cacheUserOrder.Where(x => x.OrderStatus == (int)OrderStatus.InProduction);//取出该机型未完成订单
|
|
|
|
var minTime = reqModel.StartDate ?? DateTime.Now;//起始时间
|
|
|
|
if (project != null)
|
|
{
|
|
orderNotList = orderNotList.Where(x => x.ProductID == project.ID);
|
|
}
|
|
|
|
if (!reqModel.IsOrder)
|
|
{
|
|
orderNotList = orderNotList.Where(x => x.CreateTime <= minTime && x.DeliveryTime >= minTime);//取出未完成订单
|
|
//minTime = orderNotList.Min(m => m.CreateTime);//订单最早日期
|
|
}
|
|
else
|
|
{
|
|
if (reqModel.StartDate == null && orderNotList.Count() > 0)
|
|
{
|
|
minTime = orderNotList.Min(m => m.CreateTime);//订单最早日期
|
|
}
|
|
}
|
|
|
|
if (orderNotList.Count() == 0)
|
|
{
|
|
result.Status = 200;
|
|
return result;
|
|
}
|
|
|
|
var maxTime = reqModel.EndDate ?? DateTime.Now;//最晚日期
|
|
|
|
minTime = Convert.ToDateTime(minTime.ToString("yyyy/MM/dd"));//订单最早日期
|
|
maxTime = Convert.ToDateTime(maxTime.ToString("yyyy/MM/dd"));//订单最晚日期
|
|
|
|
TimeSpan ts = maxTime - minTime;
|
|
int differenceInDays = ts.Days + 1;
|
|
|
|
DataTable tblDatas = new DataTable("Datas");
|
|
|
|
tblDatas.Columns.Add("ID", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("单号", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("机型", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("客户", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("数量", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("已完成", Type.GetType("System.String"));//新列
|
|
|
|
for (var i = 0; i < differenceInDays; i++)
|
|
{
|
|
tblDatas.Columns.Add(minTime.AddDays(i).ToString("yy/MM/dd"), Type.GetType("System.String"));//新列
|
|
|
|
}
|
|
|
|
var dbTableName = "";
|
|
var sumTotal = 0;
|
|
var dalHelperCustom = new DALHelperCustom<VM_PlannedSpeed>();
|
|
var thisDataList = new List<VM_PlannedSpeed>();
|
|
|
|
string connectionString = Users.GerOnUserCofin();//当前库连接串
|
|
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
|
{
|
|
DataSet dataSet = new DataSet();
|
|
|
|
connection.Open();
|
|
MySqlDataAdapter command = new MySqlDataAdapter();
|
|
var strSql = "";
|
|
|
|
foreach (var item in orderNotList)
|
|
{
|
|
strSql = "";
|
|
dataSet.Clear();
|
|
sumTotal = 0;
|
|
DataRow newRow = tblDatas.NewRow();//新行
|
|
|
|
newRow["ID"] = item.ID;
|
|
newRow["单号"] = item.OrderNo;
|
|
newRow["机型"] = cacheUserProject.Single(x => x.ID == item.ProductID).ProjectName;
|
|
newRow["客户"] = cacheUserCustomer.Single(x => x.ID == item.CompanyID).CustomerAbbr;
|
|
newRow["数量"] = item.OrderCount;
|
|
|
|
var endTestStation = cacheUserStationList.Where(x => x.ProjectID == item.ProductID && (x.StationType == StationType.Test.GetEnumDesc() || x.StationType == StationType.Test2.GetEnumDesc())).OrderByDescending(o => o.ArtworkOrder).FirstOrDefault();//最大测试站
|
|
|
|
dbTableName = string.Format(TestLogTbName, item.ProductID, endTestStation.ID);//最大测试站表名
|
|
|
|
//strSql = "select StartTime,DATE_FORMAT(StartTime,'%Y%m%d') DAYS,COUNT(*) Total from `" + dbTableName + "` Where OrderID=" + item.OrderID + " AND TestResult=1 GROUP BY DAYS;";//查询语句
|
|
|
|
strSql = "select {0} StartTime,DATE_FORMAT({0},'%Y%m%d') DAYS,COUNT(*) Total from `" + dbTableName + "` Where TestResult=1";//查询语句
|
|
|
|
if (reqModel.StartDate != null)
|
|
{
|
|
strSql += " AND (DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s') >='" + minTime.ToString("yyyy-MM-dd 00:00:00") + "')";
|
|
//strSql += (string.Format(" AND (DATE_FORMAT(StartTime, '%Y-%m-%d %H:%i:%s') >='{0}')", minTime.ToString("yyyy-MM-dd 00:00:00")));
|
|
}
|
|
|
|
if (reqModel.EndDate != null && reqModel.StartDate != null)
|
|
{
|
|
strSql += " AND (DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s') <='" + maxTime.ToString("yyyy-MM-dd 23:59:59") + "')";
|
|
//strSql += (string.Format(" AND (DATE_FORMAT(StartTime, '%Y-%m-%d %H:%i:%s') <='{0}')", maxTime.ToString("yyyy-MM-dd 23:59:59")));
|
|
}
|
|
|
|
if (reqModel.IsOrder)
|
|
{
|
|
strSql += " AND OrderID=" + item.ID;
|
|
}
|
|
strSql += " GROUP BY DAYS;";
|
|
if (endTestStation.StationType == StationType.Test2.GetEnumDesc())
|
|
{
|
|
strSql = string.Format(strSql, "DateTime_2nd");
|
|
}
|
|
else
|
|
{
|
|
strSql = string.Format(strSql, "StartTime");
|
|
}
|
|
|
|
command = new MySqlDataAdapter(strSql, connection);
|
|
command.Fill(dataSet, "ds");
|
|
|
|
if (dataSet.Tables[0].Rows.Count > 0)
|
|
{
|
|
thisDataList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]);
|
|
|
|
foreach (var itemData in thisDataList)
|
|
{
|
|
newRow[itemData.StartTime.ToString("yy/MM/dd")] = itemData.Total;
|
|
sumTotal += itemData.Total;
|
|
}
|
|
}
|
|
|
|
newRow["已完成"] = sumTotal;
|
|
tblDatas.Rows.Add(newRow);
|
|
}
|
|
}
|
|
|
|
var rows = ModelHelper.TableToRow(tblDatas);
|
|
|
|
result.Data = rows;
|
|
result.Status = 200;
|
|
}
|
|
catch (MySqlException ex)
|
|
{
|
|
result.Message = ex.Message;
|
|
Logs.WriteErrorLog(ex);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
result.Message = "网络系统繁忙,请稍候再试!";
|
|
LogHelp.WriteExceptionLog(ex);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 图表-该订单各站生产进度统计
|
|
/// </summary>
|
|
/// <param name="reqModel">查询条件实体</param>
|
|
/// <param name="cacheUserProject">机型缓存</param>
|
|
/// <param name="cacheUserOrder">订单缓存</param>
|
|
/// <param name="cacheUserCustomer">客户缓存</param>
|
|
/// <param name="cacheUserStationList">工作站缓存</param>
|
|
/// <param name="connectionString">数据库连接串</param>
|
|
/// <returns></returns>
|
|
public static ReturnResult<object> GetOrdersPlannedSpeedDetails(RequestOrdersPlanned reqModel, List<TBL_Project> cacheUserProject, List<TBL_Orders> cacheUserOrder, List<TBL_Customer> cacheUserCustomer, List<TBL_StationList> cacheUserStationList, string connectionString)
|
|
{
|
|
ReturnResult<object> result = new ReturnResult<object>();
|
|
|
|
try
|
|
{
|
|
var id = reqModel.id;
|
|
var order = cacheUserOrder.Single(x => x.ID == id);//取出订单
|
|
|
|
var stationList = cacheUserStationList.Where(x => x.StationType != StationType.QA.GetEnumDesc() && x.ProjectID == order.ProductID);//不为该机型QA的测试站
|
|
|
|
var minTime = reqModel.StartDate ?? order.CreateTime;//订单最早日期
|
|
var maxTime = reqModel.EndDate ?? DateTime.Now;//订单最晚日期
|
|
|
|
minTime = Convert.ToDateTime(minTime.ToString("yyyy/MM/dd"));//订单最早日期
|
|
maxTime = Convert.ToDateTime(maxTime.ToString("yyyy/MM/dd"));//订单最晚日期
|
|
|
|
TimeSpan ts = maxTime - minTime;
|
|
int differenceInDays = ts.Days + 1;
|
|
|
|
DataTable tblDatas = new DataTable("Datas");
|
|
|
|
tblDatas.Columns.Add("测试站", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("数量", Type.GetType("System.String"));//新列
|
|
|
|
for (var i = 0; i < differenceInDays; i++)
|
|
{
|
|
tblDatas.Columns.Add(minTime.AddDays(i).ToString("yy/MM/dd"), Type.GetType("System.String"));//新列
|
|
}
|
|
|
|
var dbTableName = "";
|
|
var strSql = "";
|
|
var sumTotal = 0;
|
|
var dalHelperCustom = new DALHelperCustom<VM_PlannedSpeed>();
|
|
|
|
//string connectionString = Users.GerOnUserCofin();//当前库连接串
|
|
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
|
{
|
|
DataSet dataSet = new DataSet();
|
|
MySqlDataAdapter command = new MySqlDataAdapter();
|
|
|
|
connection.Open();
|
|
|
|
//测试站列表
|
|
foreach (var itemStation in stationList)
|
|
{
|
|
strSql = "";
|
|
sumTotal = 0;
|
|
dataSet.Clear();
|
|
DataRow newRow = tblDatas.NewRow();//新行
|
|
newRow["测试站"] = itemStation.StationName;
|
|
newRow["数量"] = "当日";
|
|
|
|
DataRow newRow2 = tblDatas.NewRow();//新行
|
|
newRow2["测试站"] = itemStation.StationName;
|
|
newRow2["数量"] = "累计";
|
|
|
|
dbTableName = string.Format(TestLogTbName, itemStation.ProjectID, itemStation.ID);//测试站表名
|
|
|
|
//strSql = "select StartTime,DATE_FORMAT(StartTime,'%Y%m%d') DAYS,COUNT(*) Total from `" + dbTableName + "` Where OrderID=" + id + " AND TestResult=1 GROUP BY DAYS;";//查询语句
|
|
strSql = "select {0},DATE_FORMAT({0},'%Y%m%d') DAYS,COUNT(*) Total from `" + dbTableName + "` Where TestResult=1";//查询语句
|
|
if (reqModel.IsOrder)
|
|
{
|
|
strSql += " AND OrderID=" + id;
|
|
}
|
|
|
|
if (reqModel.StartDate != null)
|
|
{
|
|
strSql += " AND (DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s') >='" + minTime.ToString("yyyy-MM-dd 00:00:00") + "')";
|
|
}
|
|
|
|
if (reqModel.EndDate != null && reqModel.StartDate != null)
|
|
{
|
|
strSql += " AND (DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s') <='" + maxTime.ToString("yyyy-MM-dd 23:59:59") + "')";
|
|
}
|
|
|
|
strSql += " GROUP BY DAYS;";
|
|
|
|
if (itemStation.StationType == StationType.Test2.GetEnumDesc())
|
|
{
|
|
strSql = string.Format(strSql, "DateTime_2nd");
|
|
}
|
|
else
|
|
{
|
|
strSql = string.Format(strSql, "StartTime");
|
|
}
|
|
|
|
command = new MySqlDataAdapter(strSql, connection);
|
|
command.Fill(dataSet, "ds");
|
|
|
|
if (dataSet.Tables[0].Rows.Count > 0)
|
|
{
|
|
var thisDataList = dalHelperCustom.DataRowToModels(dataSet.Tables[0]).OrderBy(x => x.StartTime);
|
|
|
|
foreach (var itemData in thisDataList)
|
|
{
|
|
newRow[itemData.StartTime.ToString("yy/MM/dd")] = itemData.Total;
|
|
sumTotal += itemData.Total;
|
|
|
|
newRow2[itemData.StartTime.ToString("yy/MM/dd")] = sumTotal;
|
|
}
|
|
}
|
|
tblDatas.Rows.Add(newRow);
|
|
tblDatas.Rows.Add(newRow2);
|
|
}
|
|
|
|
}
|
|
|
|
var rows = ModelHelper.TableToRow(tblDatas);
|
|
|
|
result.Data = rows;
|
|
result.Status = 200;
|
|
}
|
|
catch (MySqlException ex)
|
|
{
|
|
result.Message = ex.Message;
|
|
Logs.WriteErrorLog(ex);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
result.Message = "网络系统繁忙,请稍候再试!";
|
|
LogHelp.WriteExceptionLog(ex);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生产实时统计
|
|
/// </summary>
|
|
/// <param name="reqModel"></param>
|
|
/// <param name="cacheUserProject"></param>
|
|
/// <param name="cacheUserOrder"></param>
|
|
/// <param name="cacheUserCustomer"></param>
|
|
/// <param name="cacheUserStationList"></param>
|
|
/// <param name="connectionString"></param>
|
|
/// <returns></returns>
|
|
public static ReturnResult<object> GetOrdersStatsDetails(RequestOrdersRealTime reqModel, List<TBL_Project> cacheUserProject, List<TBL_Orders> cacheUserOrder, List<TBL_Customer> cacheUserCustomer, List<TBL_StationList> cacheUserStationList, string connectionString)
|
|
{
|
|
ReturnResult<object> result = new ReturnResult<object>();
|
|
|
|
try
|
|
{
|
|
//var vModelList = new VM_OrderPlannedSpeed();
|
|
|
|
var id = reqModel.Order;
|
|
var order = cacheUserOrder.SingleOrDefault(x => x.ID == id);//取出订单
|
|
if (order == null)
|
|
{
|
|
result.Message = "无订单或无效订单";
|
|
return result;
|
|
}
|
|
|
|
var project = cacheUserProject.Single(x => x.ID == order.ProductID);//取出订单
|
|
var customer = cacheUserCustomer.Single(x => x.ID == order.CompanyID);//取出订单
|
|
|
|
var stationList = cacheUserStationList.Where(x => x.StationType != StationType.QA.GetEnumDesc() && x.ProjectID == order.ProductID).OrderBy(o => o.ArtworkOrder);//不为该机型QA的测试站
|
|
|
|
//vModelList.ProjectName = project.ProjectName;
|
|
//vModelList.OrderNo = order.OrderNo;
|
|
//vModelList.CustomerAbbr = customer.CustomerAbbr;
|
|
//vModelList.OrderCount = order.OrderCount;
|
|
//vModelList.CreateTime = order.CreateTime.ToString("yyyy/MM/dd");
|
|
//vModelList.DeliveryTime = order.DeliveryTime.ToString("yyyy/MM/dd");
|
|
|
|
////测试站列表
|
|
//foreach (var itemStation in stationList)
|
|
//{
|
|
// vModelList.StationDes += itemStation.StationName + "-" + itemStation.StationDesc + " ";
|
|
//}
|
|
|
|
DataTable tblDatas = new DataTable("Datas");
|
|
|
|
tblDatas.Columns.Add("DataType", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("日期", Type.GetType("System.String"));//新列
|
|
tblDatas.Columns.Add("数据类型", Type.GetType("System.String"));//新列
|
|
|
|
//foreach (var station in stationList)
|
|
//{
|
|
// tblDatas.Columns.Add(station.StationName, Type.GetType("System.String"));//新列
|
|
//}
|
|
|
|
var strSql = "";//查询语句
|
|
var dbTableName = "";//测试记录表名
|
|
var timeStr = "";//日期
|
|
var totalDic = new Dictionary<string, TbTotalDic>();//计算字典
|
|
var ppNum = 0;
|
|
var actualNum = 0;
|
|
var thisRow = 1;
|
|
var rowKey = 0;
|
|
var pPlan = new TBL_ProductionPlan();
|
|
var testLog = new OrderTestLogData();
|
|
using (MySqlConnection connection = new MySqlConnection(connectionString))
|
|
{
|
|
DataSet dataSet = new DataSet();
|
|
MySqlDataAdapter command = new MySqlDataAdapter();
|
|
|
|
connection.Open();
|
|
|
|
strSql = "SELECT * FROM `TBL_ProductionPlan` WHERE OrderID=" + order.ID + ";";
|
|
command = new MySqlDataAdapter(strSql, connection);
|
|
command.Fill(dataSet, "ds");
|
|
|
|
var dalHelperPP = new DALHelperCustom<TBL_ProductionPlan>();
|
|
var dalHelperPSpeed = new DALHelperCustom<OrderTestLogData>();
|
|
|
|
var pSpeed = new List<OrderTestLogData>();
|
|
|
|
var ppList = dalHelperPP.DataRowToModels(dataSet.Tables[0]);//计划列表
|
|
var ppListGroup = ppList.GroupBy(g => g.ProductionTime).OrderBy(x => x.Key);//计划列表按时间分组
|
|
|
|
if (ppListGroup.Count() > 0)
|
|
{
|
|
foreach (var dateTime in ppListGroup)
|
|
{
|
|
timeStr = dateTime.Key.ToString("yyyy/MM/dd");
|
|
|
|
DataRow planRow = tblDatas.NewRow();//新行 计划行
|
|
planRow["DataType"] = "plan";
|
|
planRow["日期"] = timeStr;
|
|
planRow["数据类型"] = "计划";
|
|
tblDatas.Rows.Add(planRow);
|
|
|
|
DataRow planTotalRow = tblDatas.NewRow();//新行 累计计划行
|
|
planTotalRow["DataType"] = "plantotal";
|
|
planTotalRow["日期"] = timeStr;
|
|
planTotalRow["数据类型"] = "累计计划";
|
|
tblDatas.Rows.Add(planTotalRow);
|
|
|
|
DataRow testNumRow = tblDatas.NewRow();//新行 累计计划行
|
|
testNumRow["DataType"] = "test";
|
|
testNumRow["日期"] = timeStr;
|
|
testNumRow["数据类型"] = "当日";
|
|
tblDatas.Rows.Add(testNumRow);
|
|
|
|
DataRow testNumTotalRow = tblDatas.NewRow();//新行 累计计划行
|
|
testNumTotalRow["DataType"] = "testtotal";
|
|
testNumTotalRow["日期"] = timeStr;
|
|
testNumTotalRow["数据类型"] = "累计当日";
|
|
tblDatas.Rows.Add(testNumTotalRow);
|
|
|
|
}
|
|
|
|
var minTime = ppList.Min(m => m.ProductionTime);//订单最早日期
|
|
var maxTime = ppList.Max(m => m.ProductionTime);//订单最晚日期
|
|
|
|
var timeWhere = " AND(DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s') >= '" + minTime.ToString("yyyy-MM-dd 00:00:00") + "') AND (DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s') <='" + maxTime.ToString("yyyy-MM-dd 23:59:59") + "')";
|
|
//测试站列表
|
|
foreach (var itemStation in stationList)
|
|
{
|
|
tblDatas.Columns.Add(itemStation.StationName, Type.GetType("System.String"));//新列
|
|
|
|
totalDic.Add(itemStation.StationName, new TbTotalDic());
|
|
|
|
dataSet.Clear();
|
|
dbTableName = string.Format(TestLogTbName, order.ProductID, itemStation.ID);//测试站表名
|
|
|
|
strSql = "select {0} StartTime,DATE_FORMAT({0},'%Y/%m/%d') DAYS,COUNT(*) Total from `" + dbTableName + "` Where TestResult=1";//查询语句
|
|
|
|
strSql += timeWhere;
|
|
|
|
if (itemStation.StationType == StationType.Test2.GetEnumDesc())
|
|
{
|
|
strSql = string.Format(strSql, "DateTime_2nd");
|
|
}
|
|
else
|
|
{
|
|
strSql = string.Format(strSql, "StartTime");
|
|
}
|
|
strSql += " GROUP BY DAYS;";
|
|
|
|
command = new MySqlDataAdapter(strSql, connection);
|
|
command.Fill(dataSet, "ds");
|
|
|
|
pSpeed = dalHelperPSpeed.DataRowToModels(dataSet.Tables[0]);//测试记录数据
|
|
|
|
thisRow = 1;
|
|
foreach (var dateTime in ppListGroup)
|
|
{
|
|
rowKey = (thisRow * 4);
|
|
pPlan = null;
|
|
testLog = null;
|
|
|
|
if (dateTime.ToList().Count > 0)
|
|
{
|
|
pPlan = dateTime.ToList().SingleOrDefault(x => x.StationID == itemStation.ID);
|
|
|
|
}
|
|
testLog = pSpeed.SingleOrDefault(x => x.DAYS == timeStr);
|
|
|
|
timeStr = dateTime.Key.ToString("yyyy/MM/dd");
|
|
|
|
ppNum = pPlan == null ? 0 : pPlan.ObjectiveYield;
|
|
totalDic[itemStation.StationName].PlanTotal += ppNum;
|
|
|
|
if (ppNum > 0)
|
|
{
|
|
tblDatas.Rows[(rowKey - 4)][itemStation.StationName] = ppNum;//计划
|
|
tblDatas.Rows[(rowKey - 3)][itemStation.StationName] = totalDic[itemStation.StationName].PlanTotal;//累计计划
|
|
}
|
|
|
|
actualNum = testLog == null ? 0 : testLog.Total;
|
|
totalDic[itemStation.StationName].ActualTotal += actualNum;
|
|
|
|
if (actualNum > 0)
|
|
{
|
|
tblDatas.Rows[(rowKey - 2)][itemStation.StationName] = actualNum;//当日
|
|
tblDatas.Rows[(rowKey - 1)][itemStation.StationName] = totalDic[itemStation.StationName].ActualTotal;//累计
|
|
}
|
|
|
|
thisRow += 1;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
var rows = ModelHelper.TableToRow(tblDatas);
|
|
//vModelList.Rows = ModelHelper.TableToRow(tblDatas);
|
|
result.Data = rows;
|
|
result.Status = 200;
|
|
}
|
|
catch (MySqlException ex)
|
|
{
|
|
result.Message = ex.Message;
|
|
Logs.WriteErrorLog(ex);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
result.Message = "网络系统繁忙,请稍候再试!";
|
|
LogHelp.WriteExceptionLog(ex);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新生产进度
|
|
/// </summary>
|
|
public static void UpdateOrderProductionSchedule()
|
|
{
|
|
//取所有库
|
|
var dbList = Cache.CacheHelp.GetSysDBList();
|
|
|
|
if (dbList != null && dbList.Count > 0)
|
|
{
|
|
IEnumerable<TBL_Orders> orderList = null;//
|
|
//var orderList = new List<TBL_Orders>();
|
|
foreach (var item in dbList)
|
|
{
|
|
orderList = Cache.CacheHelp.GetUserDBOrderList(item.DatabaseName).Where(x => x.OrderStatus == (int)OrderStatus.ProductionPlan && x.OrderStatus == (int)OrderStatus.InProduction);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|