dequan.zhang 2 years ago
parent
commit
f28dbc0661
  1. 2
      APPQ5/QMAPP.FJC.TRACING/DataValidators/TimeValidator.cs
  2. 7
      APPQ5/QMAPP.FJC.TRACING/StateActions/SubmitData276PA.cs
  3. 215
      APPQ5/QMAPP.WinForm/Forms/Operation/OperationForm.cs
  4. 4
      APPQ5/QMAPP.WinForm/Properties/AssemblyInfo.cs

2
APPQ5/QMAPP.FJC.TRACING/DataValidators/TimeValidator.cs

@ -34,7 +34,7 @@ namespace QMAPP.FJC.TRACING.DataValidators
DateTime serviceTime = dal.GetServiceDateTime(); DateTime serviceTime = dal.GetServiceDateTime();
TimeSpan ts = serviceTime.Subtract(preStatTime); TimeSpan ts = serviceTime.Subtract(preStatTime);
return new ValidateResult(false, $"未达到{timeCheck.Operator}{(Convert.ToDecimal(timeCheck.Check_Value) / 3600).ToString("#0.0")}小时验证标准,当前时间{(Convert.ToDecimal(ts.TotalSeconds) / 3600).ToString("#0.0")}小时"); return new ValidateResult(false, $"未达到{timeCheck.Operator}{(Convert.ToDecimal(timeCheck.Check_Value) / 3600).ToString("#0.0")}小时验证标准");
} }

7
APPQ5/QMAPP.FJC.TRACING/StateActions/SubmitData276PA.cs

@ -599,8 +599,11 @@ namespace QMAPP.FJC.TRACING.StateActions
PbomDAL pbidal = new PbomDAL(); PbomDAL pbidal = new PbomDAL();
var bomlocations = pbidal.LocateBom(materials); var bomlocations = pbidal.LocateBom(materials);
//确定物料组成数量一致 //确定物料组成数量一致
var bomlocation = bomlocations.FirstOrDefault(p => p.SubCount == materials.Length); //var bomlocation = bomlocations.FirstOrDefault(p => p.SubCount == materials.Length);
return bomlocation; if (bomlocations.Count > 0)
return bomlocations[0];
else
return null;
} }

215
APPQ5/QMAPP.WinForm/Forms/Operation/OperationForm.cs

@ -817,93 +817,174 @@ namespace QMAPP.WinForm.Forms.Operation
} }
if (ispass)//扫描的是过程主码 if (ispass)//扫描的是过程主码
{ {
if (!string.IsNullOrEmpty(result.WorkOrderID)) //ZHANGSN 20220925 佛山276PA没有计划ID,使用物料号查找配置
if (_operationServiceParam.machineInfo.WORKLOC_CODE.Contains("276"))
{ {
List<FJC.Entity.ProductionPlan.WorkOrder> list = this.dgvPlan.DataSource as List<FJC.Entity.ProductionPlan.WorkOrder>; if (!string.IsNullOrEmpty(result.MATERIAL_CODE))
var pBomcode = GetWorkOrder_MATERIAL_CODE(result.WorkOrderID);
if (!string.IsNullOrEmpty(pBomcode))
{ {
//List<FJC.Entity.ProductionPlan.WorkOrder> filterList = list.Where(p => pBomCodes.Contains(p.MATERIAL_CODE)).ToList(); var bomCodes = GetPBOMCODEValue(result.MATERIAL_CODE);
foreach (var bom in bomCodes)
var ScanIPConfig_list = GetSendPlcConfig(new ScanIPConfig() { MaterialCode = pBomcode, LocCode = _operationServiceParam.machineInfo.WORKLOC_CODE });
if (ScanIPConfig_list != null && ScanIPConfig_list.Count > 0)
{ {
foreach (var Config in ScanIPConfig_list)
var ScanIPConfig_list = GetSendPlcConfig(new ScanIPConfig() { MaterialCode = bom, LocCode = _operationServiceParam.machineInfo.WORKLOC_CODE });
if (ScanIPConfig_list != null && ScanIPConfig_list.Count > 0)
{ {
if (!string.IsNullOrEmpty(Config.PlcAddr)) foreach (var Config in ScanIPConfig_list)
{ {
var BarCode = Config.BarCode; if (!string.IsNullOrEmpty(Config.PlcAddr))
var PlcAddr = Config.PlcAddr;
GetNewCode(ref BarCode, ref PlcAddr); //查询产品条码是否存在
if (UpdateSendPlcConfig(new ScanIPConfig { PID = Config.PID, PlcAddr = PlcAddr }))
{ {
var ProductList = SelectProduct(Config.BarCode); var BarCode = Config.BarCode;
if (ProductList != null) var PlcAddr = Config.PlcAddr;
GetNewCode(ref BarCode, ref PlcAddr); //查询产品条码是否存在
if (UpdateSendPlcConfig(new ScanIPConfig { PID = Config.PID, PlcAddr = PlcAddr }))
{ {
var PID = Guid.NewGuid().ToString(); var ProductList = SelectProduct(Config.BarCode);
var ProductNew = new Product() if (ProductList != null)
{
PRODUCTCODE = BarCode,
PID = PID,
MACHINECODDE = _operationServiceParam.machineInfo.MACHINECODDE,
MACHINENAME = _operationServiceParam.machineInfo.MACHINENAME,
PRODUCTSOURCE = "0",
MATERIAL_CODE = ProductList.MATERIAL_CODE,
STATUS = "0",
OUTFLAG = "0",
USINGSTATE = "0",
CAPACITY = 1,
USINGCOUNT = 0,
WORKCELL_CODE = ProductList.WORKCELL_CODE,
WORKLOC_CODE = ProductList.WORKLOC_CODE,
WORKCENTER_CODE = ProductList.WORKCENTER_CODE
};
var ProcessRecords = new ProcessRecord()
{ {
PID = Guid.NewGuid().ToString(), var PID = Guid.NewGuid().ToString();
PRODUCT_PID = ProductNew.PID, var ProductNew = new Product()
WORKCELL_CODE = ProductList.WORKCELL_CODE, {
WORKLOC_CODE = ProductList.WORKLOC_CODE, PRODUCTCODE = BarCode,
IN_WORKCELL_TIME = DateTime.Now, PID = PID,
WORK_START_TIME = DateTime.Now, MACHINECODDE = _operationServiceParam.machineInfo.MACHINECODDE,
WORK_END_TIME = DateTime.Now, MACHINENAME = _operationServiceParam.machineInfo.MACHINENAME,
PROCESS_STATE = "1", PRODUCTSOURCE = "0",
MANUAL_PASS = "", MATERIAL_CODE = ProductList.MATERIAL_CODE,
MODULE_CODE = string.Equals(dai.DIVBY_MOULD, "0") ? _operationServiceParam.machineInfo.WORKCELL_CODE : (string.IsNullOrWhiteSpace(lblMould.Text) ? _operationServiceParam.machineInfo.WORKCELL_CODE : lblMould.Text) STATUS = "0",
}; OUTFLAG = "0",
if (InsertProduct(ProductNew) && InsertProcessRecord(ProcessRecords)) USINGSTATE = "0",
{ CAPACITY = 1,
txtCode.Text = BarCode; USINGCOUNT = 0,
Operation(); WORKCELL_CODE = ProductList.WORKCELL_CODE,
WORKLOC_CODE = ProductList.WORKLOC_CODE,
WORKCENTER_CODE = ProductList.WORKCENTER_CODE
};
//var ProcessRecords = new ProcessRecord()
//{
// PID = Guid.NewGuid().ToString(),
// PRODUCT_PID = ProductNew.PID,
// WORKCELL_CODE = ProductList.WORKCELL_CODE,
// WORKLOC_CODE = ProductList.WORKLOC_CODE,
// IN_WORKCELL_TIME = DateTime.Now,
// WORK_START_TIME = DateTime.Now,
// WORK_END_TIME = DateTime.Now,
// PROCESS_STATE = "1",
// MANUAL_PASS = "",
// MODULE_CODE = string.Equals(dai.DIVBY_MOULD, "0") ? _operationServiceParam.machineInfo.WORKCELL_CODE : (string.IsNullOrWhiteSpace(lblMould.Text) ? _operationServiceParam.machineInfo.WORKCELL_CODE : lblMould.Text)
//};
//if (InsertProduct(ProductNew) && InsertProcessRecord(ProcessRecords))
if (InsertProduct(ProductNew))
{
txtCode.Text = BarCode;
Operation();
}
} }
} }
} }
} else
else {
{ txtCode.Text = Config.BarCode;
txtCode.Text = Config.BarCode; Operation();
Operation(); }
} }
} }
} }
} }
//else
//{
// this.lblError.Text = "通过result.WorkOrderID({result.WorkOrderID.ToString()})未查询到WorkOrder.PBOM_CODE";
// this.lblError.ForeColor = Color.Black;
// MessageBox.Show($"通过result.WorkOrderID({result.WorkOrderID.ToString()})未查询到WorkOrder.PBOM_CODE");
//}
} }
else else
{ {
this.lblError.Text = "result.WorkOrderID为空,未进行后续填充!"; if (!string.IsNullOrEmpty(result.WorkOrderID))
this.lblError.ForeColor = Color.Black; {
MessageBox.Show($"result.WorkOrderID为空,未进行后续填充!"); List<FJC.Entity.ProductionPlan.WorkOrder> list = this.dgvPlan.DataSource as List<FJC.Entity.ProductionPlan.WorkOrder>;
var pBomcode = GetWorkOrder_MATERIAL_CODE(result.WorkOrderID);
if (!string.IsNullOrEmpty(pBomcode))
{
//List<FJC.Entity.ProductionPlan.WorkOrder> filterList = list.Where(p => pBomCodes.Contains(p.MATERIAL_CODE)).ToList();
var ScanIPConfig_list = GetSendPlcConfig(new ScanIPConfig() { MaterialCode = pBomcode, LocCode = _operationServiceParam.machineInfo.WORKLOC_CODE });
if (ScanIPConfig_list != null && ScanIPConfig_list.Count > 0)
{
foreach (var Config in ScanIPConfig_list)
{
if (!string.IsNullOrEmpty(Config.PlcAddr))
{
var BarCode = Config.BarCode;
var PlcAddr = Config.PlcAddr;
GetNewCode(ref BarCode, ref PlcAddr); //查询产品条码是否存在
if (UpdateSendPlcConfig(new ScanIPConfig { PID = Config.PID, PlcAddr = PlcAddr }))
{
var ProductList = SelectProduct(Config.BarCode);
if (ProductList != null)
{
var PID = Guid.NewGuid().ToString();
var ProductNew = new Product()
{
PRODUCTCODE = BarCode,
PID = PID,
MACHINECODDE = _operationServiceParam.machineInfo.MACHINECODDE,
MACHINENAME = _operationServiceParam.machineInfo.MACHINENAME,
PRODUCTSOURCE = "0",
MATERIAL_CODE = ProductList.MATERIAL_CODE,
STATUS = "0",
OUTFLAG = "0",
USINGSTATE = "0",
CAPACITY = 1,
USINGCOUNT = 0,
WORKCELL_CODE = ProductList.WORKCELL_CODE,
WORKLOC_CODE = ProductList.WORKLOC_CODE,
WORKCENTER_CODE = ProductList.WORKCENTER_CODE
};
var ProcessRecords = new ProcessRecord()
{
PID = Guid.NewGuid().ToString(),
PRODUCT_PID = ProductNew.PID,
WORKCELL_CODE = ProductList.WORKCELL_CODE,
WORKLOC_CODE = ProductList.WORKLOC_CODE,
IN_WORKCELL_TIME = DateTime.Now,
WORK_START_TIME = DateTime.Now,
WORK_END_TIME = DateTime.Now,
PROCESS_STATE = "1",
MANUAL_PASS = "",
MODULE_CODE = string.Equals(dai.DIVBY_MOULD, "0") ? _operationServiceParam.machineInfo.WORKCELL_CODE : (string.IsNullOrWhiteSpace(lblMould.Text) ? _operationServiceParam.machineInfo.WORKCELL_CODE : lblMould.Text)
};
if (InsertProduct(ProductNew) && InsertProcessRecord(ProcessRecords))
{
txtCode.Text = BarCode;
Operation();
}
}
}
}
else
{
txtCode.Text = Config.BarCode;
Operation();
}
}
}
}
//else
//{
// this.lblError.Text = "通过result.WorkOrderID({result.WorkOrderID.ToString()})未查询到WorkOrder.PBOM_CODE";
// this.lblError.ForeColor = Color.Black;
// MessageBox.Show($"通过result.WorkOrderID({result.WorkOrderID.ToString()})未查询到WorkOrder.PBOM_CODE");
//}
}
else
{
this.lblError.Text = "result.WorkOrderID为空,未进行后续填充!";
this.lblError.ForeColor = Color.Black;
MessageBox.Show($"result.WorkOrderID为空,未进行后续填充!");
}
} }
} }
} }

4
APPQ5/QMAPP.WinForm/Properties/AssemblyInfo.cs

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: // 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2022.09.21.01")] [assembly: AssemblyVersion("2022.09.26.01")]
[assembly: AssemblyFileVersion("2022.09.21.01")] [assembly: AssemblyFileVersion("2022.09.26.01")]

Loading…
Cancel
Save