a
This commit is contained in:
@@ -108,293 +108,6 @@ namespace GZ.LJY000.Biori.UHIK_BAR_BarCodePrint
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnPrepareNotePrintData(PreparePrintDataEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (e.DataSourceId.Equals("FEntityToBar", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
List<DynamicObject> list = new List<DynamicObject>();
|
||||
string value = e.BillIds.FirstOrDefault();
|
||||
if (newPrintDatas2 != null && newPrintDatas2.Count > 0)
|
||||
{
|
||||
DynamicObject dynamicObject = newPrintDatas2[Convert.ToInt32(value)];
|
||||
if (dynamicObject != null)
|
||||
{
|
||||
DynamicObject dynamicObject2 = new DynamicObject(e.DynamicObjectType);
|
||||
foreach (object field2 in e.Fields)
|
||||
{
|
||||
string text = field2.ToString();
|
||||
if (text == "FExpPeriod")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
object obj = "";
|
||||
string text2 = "";
|
||||
bool flag = false;
|
||||
bool flag2 = false;
|
||||
string text3 = string.Empty;
|
||||
if (text.Contains("."))
|
||||
{
|
||||
string[] array = text.Split('.');
|
||||
string text4 = array[0];
|
||||
string text5 = array[1];
|
||||
if (array.Count() > 2)
|
||||
{
|
||||
text3 = array[2];
|
||||
}
|
||||
|
||||
if (base.View.BusinessInfo.GetField(text4) == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
text2 = base.View.BusinessInfo.GetField(text4).PropertyName;
|
||||
if (!(dynamicObject[text2] is DynamicObject dynamicObject3))
|
||||
{
|
||||
if (text2.EqualsIgnoreCase("LotToBar") || text4.EqualsIgnoreCase("FLotToBar"))
|
||||
{
|
||||
obj = dynamicObject[text2 + "_Text"];
|
||||
text = $"{text4}_{text5}";
|
||||
dynamicObject2[text] = obj;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (dynamicObject3.DynamicObjectType.Properties.Contains("Image") && dynamicObject3["Image"] == null)
|
||||
{
|
||||
RepackData(dynamicObject3);
|
||||
}
|
||||
|
||||
if (dynamicObject3.DynamicObjectType.Name.ToUpperInvariant() == "BD_FLEXSITEMDETAILV")
|
||||
{
|
||||
flag = true;
|
||||
}
|
||||
|
||||
if (dynamicObject3.DynamicObjectType.Name.ToUpperInvariant() == "BD_FLEXVALUESDETAIL")
|
||||
{
|
||||
flag2 = true;
|
||||
}
|
||||
|
||||
text = string.Format("{0}_{1}{2}", text4, text5, text3.IsNullOrEmptyOrWhiteSpace() ? "" : ("_" + text3));
|
||||
if (dynamicObject3.DynamicObjectType.Properties.Contains(text5.Remove(0, 1)))
|
||||
{
|
||||
obj = dynamicObject3[text5.Remove(0, 1)];
|
||||
}
|
||||
else if (dynamicObject3.DynamicObjectType.Properties.Contains(text5))
|
||||
{
|
||||
obj = dynamicObject3[text5];
|
||||
}
|
||||
else if (field2.Equals("FMaterialIdToBar.FStockPlaceId") && dynamicObject3.DynamicObjectType.Properties.Contains("MaterialStock") && dynamicObject3["MaterialStock"] is DynamicObjectCollection)
|
||||
{
|
||||
obj = (dynamicObject3["MaterialStock"] as DynamicObjectCollection)[0];
|
||||
}
|
||||
|
||||
if (obj.IsNullOrEmptyOrWhiteSpace() && base.View.BusinessInfo.GetField(text4) is BaseDataField)
|
||||
{
|
||||
string formId = ((BaseDataField)base.View.BusinessInfo.GetField(text4)).LookUpObject.FormId;
|
||||
obj = GetBaseDataPropByBaseData(formId, text5, dynamicObject3);
|
||||
}
|
||||
}
|
||||
else if (base.View.BusinessInfo.GetField(text) is BasePropertyField)
|
||||
{
|
||||
string controlFieldKey = base.View.BusinessInfo.GetField(text).ControlFieldKey;
|
||||
text2 = base.View.BusinessInfo.GetField(text).PropertyName;
|
||||
string name = base.View.BusinessInfo.GetField(text).ControlField.DynamicProperty.Name;
|
||||
if (dynamicObject[name] is DynamicObject dynamicObject4)
|
||||
{
|
||||
obj = Convert.ToString(dynamicObject4[text2]);
|
||||
}
|
||||
}
|
||||
else if (base.View.BusinessInfo.GetField(text) != null)
|
||||
{
|
||||
text2 = base.View.BusinessInfo.GetField(text).PropertyName;
|
||||
obj = dynamicObject[text2];
|
||||
}
|
||||
|
||||
if (obj is DynamicObject)
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
text3 = (text3.IsNullOrEmptyOrWhiteSpace() ? "FDataValue" : text3);
|
||||
if ((obj as DynamicObject).DynamicObjectType.Properties.Contains(text3))
|
||||
{
|
||||
dynamicObject2[text] = (obj as DynamicObject)[text3].ToString();
|
||||
string text6 = text.Split('_')[0];
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains(text6))
|
||||
{
|
||||
string propertyName = base.View.BusinessInfo.GetField(text6).PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName + "_Id"))
|
||||
{
|
||||
dynamicObject2[text6] = dynamicObject[propertyName + "_Id"];
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains("FMaterialIdToBar_Ref"))
|
||||
{
|
||||
string propertyName2 = base.View.BusinessInfo.GetField("FMaterialIdToBar").PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName2) && dynamicObject.DynamicObjectType.Properties.Contains(propertyName2 + "_Id"))
|
||||
{
|
||||
dynamicObject2["FMaterialIdToBar_Ref"] = dynamicObject[propertyName2];
|
||||
dynamicObject2["FMaterialIdToBar_Id"] = dynamicObject[propertyName2 + "_Id"];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
text3 = ((text3.IsNullOrEmptyOrWhiteSpace() || !text3.Contains("Number")) ? "Name" : "Number");
|
||||
if ((obj as DynamicObject).DynamicObjectType.Properties.Contains(text3))
|
||||
{
|
||||
dynamicObject2[text] = (obj as DynamicObject)[text3].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (flag2)
|
||||
{
|
||||
text3 = (text3.IsNullOrEmptyOrWhiteSpace() ? "Name" : text3);
|
||||
if (text.StartsWith("FSTOCKLOCIDToBar_FF") && text.EndsWith("_FNumber"))
|
||||
{
|
||||
text3 = text3.Remove(0, 1);
|
||||
}
|
||||
|
||||
if ((obj as DynamicObject).DynamicObjectType.Properties.Contains(text3))
|
||||
{
|
||||
dynamicObject2[text] = (obj as DynamicObject)[text3].ToString();
|
||||
string text7 = text.Split('_')[0];
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains(text7))
|
||||
{
|
||||
string propertyName3 = base.View.BusinessInfo.GetField(text7).PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName3 + "_Id"))
|
||||
{
|
||||
dynamicObject2[text7] = dynamicObject[propertyName3 + "_Id"];
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains("FStockIdToBar_Ref"))
|
||||
{
|
||||
string propertyName4 = base.View.BusinessInfo.GetField("FStockIdToBar").PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName4) && dynamicObject.DynamicObjectType.Properties.Contains(propertyName4 + "_Id"))
|
||||
{
|
||||
dynamicObject2["FStockIdToBar_Ref"] = dynamicObject[propertyName4];
|
||||
dynamicObject2["FStockIdToBar_Id"] = dynamicObject[propertyName4 + "_Id"];
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains("FINSTOCKIDToBar_Ref"))
|
||||
{
|
||||
string propertyName5 = base.View.BusinessInfo.GetField("FINSTOCKIDToBar").PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName5) && dynamicObject.DynamicObjectType.Properties.Contains(propertyName5 + "_Id"))
|
||||
{
|
||||
dynamicObject2["FINSTOCKIDToBar_Ref"] = dynamicObject[propertyName5];
|
||||
dynamicObject2["FINSTOCKIDToBar_Id"] = dynamicObject[propertyName5 + "_Id"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (field2.ToString() == "FSTOCKLOCIDToBar" || field2.ToString().Equals("FAuxPropIdToBar"))
|
||||
{
|
||||
string value2 = (obj as DynamicObject)["Id"].ToString();
|
||||
dynamicObject2[text] = value2;
|
||||
}
|
||||
else
|
||||
{
|
||||
text3 = (text3.IsNullOrEmptyOrWhiteSpace() ? "Name" : text3);
|
||||
if ((obj as DynamicObject).DynamicObjectType.Properties.Contains(text3))
|
||||
{
|
||||
dynamicObject2[text] = (obj as DynamicObject)[text3].ToString();
|
||||
}
|
||||
else if (field2.Equals("FMaterialIdToBar.FStockPlaceId") && dynamicObject2.DynamicObjectType.Properties.Contains("FMaterialIdToBar_Ref"))
|
||||
{
|
||||
string propertyName6 = base.View.BusinessInfo.GetField("FMaterialIdToBar").PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName6) && dynamicObject.DynamicObjectType.Properties.Contains(propertyName6 + "_Id"))
|
||||
{
|
||||
dynamicObject2["FMaterialIdToBar_Ref"] = dynamicObject[propertyName6];
|
||||
dynamicObject2["FMaterialIdToBar_Id"] = dynamicObject[propertyName6 + "_Id"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (dynamicObject2.DynamicObjectType.Properties.Contains(text))
|
||||
{
|
||||
if (obj.IsNullOrEmptyOrWhiteSpace() && text.Contains("_"))
|
||||
{
|
||||
string[] array2 = text.Split('_');
|
||||
string text8 = "";
|
||||
text8 = array2[1].Remove(0, 1);
|
||||
if (!text8.Equals("") && dynamicObject.DynamicObjectType.Properties.Contains(text8))
|
||||
{
|
||||
obj = dynamicObject[text8];
|
||||
}
|
||||
}
|
||||
|
||||
dynamicObject2[text] = obj;
|
||||
if (flag)
|
||||
{
|
||||
dynamicObject2[text] = obj;
|
||||
string text9 = text.Split('_')[0];
|
||||
Field field = base.View.BusinessInfo.GetField(text9);
|
||||
if (field is RelatedFlexGroupField && obj != null)
|
||||
{
|
||||
RelatedFlexGroupField element = (RelatedFlexGroupField)field;
|
||||
dynamicObject2[text] = GetElementValue(element, obj);
|
||||
}
|
||||
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains(text9))
|
||||
{
|
||||
string propertyName7 = base.View.BusinessInfo.GetField(text9).PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName7 + "_Id"))
|
||||
{
|
||||
dynamicObject2[text9] = dynamicObject[propertyName7 + "_Id"];
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicObject2.DynamicObjectType.Properties.Contains("FMaterialIdToBar_Ref"))
|
||||
{
|
||||
string propertyName8 = base.View.BusinessInfo.GetField("FMaterialIdToBar").PropertyName;
|
||||
if (dynamicObject.DynamicObjectType.Properties.Contains(propertyName8) && dynamicObject.DynamicObjectType.Properties.Contains(propertyName8 + "_Id"))
|
||||
{
|
||||
dynamicObject2["FMaterialIdToBar_Ref"] = dynamicObject[propertyName8];
|
||||
dynamicObject2["FMaterialIdToBar_Id"] = dynamicObject[propertyName8 + "_Id"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicObject2[text] is LocaleValue && !dynamicObject2[text].IsNullOrEmptyOrWhiteSpace())
|
||||
{
|
||||
List<LocaleValue> list2 = new List<LocaleValue>();
|
||||
list2.Add(dynamicObject2[text] as LocaleValue);
|
||||
List<LocaleValue> value3 = list2;
|
||||
dynamicObject2[text] = value3;
|
||||
}
|
||||
}
|
||||
|
||||
if (dynamicObject2.Contains("FMaterialIdToBar_FImageFileServer"))
|
||||
{
|
||||
object ret = new object();
|
||||
GetImageByte(dynamicObject2["FMaterialIdToBar_FImageFileServer"], ref ret);
|
||||
dynamicObject2["FMaterialIdToBar_FImageFileServer"] = ret;
|
||||
}
|
||||
|
||||
list.Add(dynamicObject2);
|
||||
}
|
||||
}
|
||||
|
||||
e.DataObjects = list.ToArray();
|
||||
}
|
||||
|
||||
base.OnPrepareNotePrintData(e);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
UNWLogger.Error(base.Context, "BarCodePrintEdit", "OnPrepareNotePrintData error:" + ex.Message + ex.StackTrace, ex);
|
||||
}
|
||||
return;
|
||||
base.OnPrepareNotePrintData(e);
|
||||
}
|
||||
|
||||
private bool CheckPrintData(List<DynamicObject> printDatas)
|
||||
{
|
||||
bool flag = true;
|
||||
|
||||
Reference in New Issue
Block a user