You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

114 lines
4.2 KiB

using Aborlen.Model;
using FrameWork.Log;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WorkStationBase;
namespace Aborlen.WorkStation
{
public partial class WorkStation11 : StationBase
{
public void PalletNum(string stationCode, object value, DateTime triggerTime)
{
try
{
PalletCode = Convert.ToInt32(value);
LogHelper.WriteLog(stationCode + "到位托盘号" + PalletCode);
if (PalletCode != 0)
{
//托盘到达,更新条码验证规则 查询产品型号
//查询订单
var deploydata = Deploy_Data.Query().Where(p => p.tuopan_id == PalletCode && p.process_state <4).OrderBy(p=>p.Id,OrderByType.Desc);
// var aa = deploydata.First();
if (deploydata.Count() > 0)
{
PresentOrder = ProductOrder.Query().Where(p => p.plan_id == deploydata.First().plan_id).First();
//如果是不合格 也不打印条码 直接放行
if ((deploydata.First().all_result == 2))
{
return;
}
else
{
//未经过OP120工位 默认未合格工件
string _sql = $"update Deploy_Data set all_result =1 where Id={deploydata.First().Id}";
SqlSugarAdo.ExecuteCommand(_sql);
}
}
else
{
//无当前工件数据,默认为空托盘 不打印条码
PresentOrder = ProductOrder.Query().OrderBy(p => p.id, OrderByType.Desc).First();
return;
}
ViewInit();
ProductTypeCode = Convert.ToInt32(PresentOrder.product_id);
//创建条码Id
ProductSerialInfoOperate(PalletCode, ProductTypeCode);
//打印条码
PrintOkLabel(ProductTypeCode, (int)ProductSerialId) ;
//已存在,更新上线时间
string sql = $" update Deploy_Data set process_state=2 where tuopan_id ='{Read(2180, triggerTime)}' and process_state<4 and plan_id='{PresentOrder.plan_id}'";
SqlSugarAdo.ExecuteCommand(sql);
//写入打印完成
Write(1190,(byte)1);
// View.ProductCode = deploydata.First().print_pid;
View.PrintCode = deploydata.First().print_pid;
View.ScanTime= DateTime.Now;
SendMsg.SendMsgToStation(StationInfo.StationCode, "ProductCode", NgProductCode);
}
else
{
ProductCycleTime = ExecDateDiff(ArrivedTime, DateTime.Now);
ArrivedTime = DateTime.Now;
//托盘离开,清空界面
ViewClear();
//查询合格数量 更新到订单表
int okcount= Deploy_Data.Query().Where(p => p.plan_id == PresentOrder.plan_id && p.all_result == 1).Count();
int nOkcount = Deploy_Data.Query().Where(p => p.plan_id == PresentOrder.plan_id && p.all_result == 2).Count();
SqlSugarAdo.ExecuteCommand($"update ProductOrder set ok_account ='{okcount}',nok_account ='{nOkcount}' where plan_id ={PresentOrder.plan_id}" );
SendMsg.SendMsgToStation(StationInfo.StationCode, "OkNum", okcount);
SendMsg.SendMsgToStation(StationInfo.StationCode, "NgProductCode", NgProductCode);
SendMsg.SendMsgToStation(StationInfo.StationCode, "NgPalletCode", NgPalletCode);
}
}
catch (Exception ex)
{
LogHelper.WriteLog(LogHelper.GetMethodInfo(), ex);
}
}
}
}