Browse Source

现代打码基础数据一部分

master
ruoxing.wang 1 week ago
parent
commit
a962d564db
  1. 18
      InjectionPC/FrmMain2408.cs
  2. 704
      InjectionPC/FrmMain2408.resx
  3. 704
      InjectionPC/FrmMain2411.resx
  4. 254
      MESClassLibrary/BLL/BasicInfo/XDCarModelBLL.cs
  5. 246
      MESClassLibrary/BLL/BasicInfo/XDColorBLL.cs
  6. 249
      MESClassLibrary/BLL/BasicInfo/XDStockAreaBLL.cs
  7. 10
      MESClassLibrary/EFModel/BBMPT.Context.cs
  8. 736
      MESClassLibrary/EFModel/BBMPT.edmx
  9. 33
      MESClassLibrary/EFModel/W_XD_ProductCustomer.cs
  10. 64
      MESClassLibrary/EFModel/W_XD_Product_del.cs
  11. 39
      MESClassLibrary/EFModel/t_XD_BarCode.cs
  12. 34
      MESClassLibrary/EFModel/t_XD_BarCodeState.cs
  13. 22
      MESClassLibrary/EFModel/t_XD_CarModel.cs
  14. 24
      MESClassLibrary/EFModel/t_XD_Color.cs
  15. 64
      MESClassLibrary/EFModel/t_XD_Product.cs
  16. 21
      MESClassLibrary/EFModel/t_XD_ProductType.cs
  17. 22
      MESClassLibrary/EFModel/t_XD_StockArea.cs
  18. 24
      MESClassLibrary/EFModel/t_XD_User.cs
  19. 33
      MESClassLibrary/MESClassLibrary.csproj
  20. 1
      MESWebSite/HttpHandlers/XDCarModelHandler.ashx
  21. 87
      MESWebSite/HttpHandlers/XDCarModelHandler.ashx.cs
  22. 1
      MESWebSite/HttpHandlers/XDColorHandler.ashx
  23. 88
      MESWebSite/HttpHandlers/XDColorHandler.ashx.cs
  24. 1
      MESWebSite/HttpHandlers/XDProductHandler.ashx
  25. 93
      MESWebSite/HttpHandlers/XDProductHandler.ashx.cs
  26. 1
      MESWebSite/HttpHandlers/XDStockAreaHandler.ashx
  27. 88
      MESWebSite/HttpHandlers/XDStockAreaHandler.ashx.cs
  28. 48
      MESWebSite/MESWebSite.csproj
  29. 2
      MESWebSite/Manage/CarType.aspx
  30. 20
      MESWebSite/Manage/CarType.aspx.designer.cs
  31. 356
      MESWebSite/Manage/XDCarModel.aspx
  32. 20
      MESWebSite/Manage/XDCarModel.aspx.cs
  33. 44
      MESWebSite/Manage/XDCarModel.aspx.designer.cs
  34. 408
      MESWebSite/Manage/XDColor.aspx
  35. 20
      MESWebSite/Manage/XDColor.aspx.cs
  36. 44
      MESWebSite/Manage/XDColor.aspx.designer.cs
  37. 352
      MESWebSite/Manage/XDProduct.aspx
  38. 20
      MESWebSite/Manage/XDProduct.aspx.cs
  39. 44
      MESWebSite/Manage/XDProduct.aspx.designer.cs
  40. 367
      MESWebSite/Manage/XDStockArea.aspx
  41. 20
      MESWebSite/Manage/XDStockArea.aspx.cs
  42. 44
      MESWebSite/Manage/XDStockArea.aspx.designer.cs
  43. BIN
      MESWebSite/bin/images/北汽模塑.gif

18
InjectionPC/FrmMain2408.cs

@ -461,12 +461,11 @@ namespace InjectionPC
_bbll.SavePlcReceive(Program.station, TransactionID, NumItems, "ItemValues.Length ==0 ", planID, "2408");
continue;
}
string val = ItemValues.GetValue(i)?.ToString();
if (ItemValues.GetValue(i)?.ToString() != "True")
{
_bbll.SavePlcReceive(Program.station, TransactionID, NumItems, "ItemValues.GetValue(i)= " + val, planID, "2408");
}
//string val = ItemValues.GetValue(i)?.ToString();
//if (ItemValues.GetValue(i)?.ToString() != "True")
//{
// _bbll.SavePlcReceive(Program.station, TransactionID, NumItems, "ItemValues.GetValue(i)= " + val, planID, "2408");
//}
@ -3911,7 +3910,9 @@ namespace InjectionPC
}
CompleteBoxAndPrint(dt.Rows[0], "0", lbPackageCodeL, lbCurrentlQtyL);
lbPackageCodeL.Text = "";
comBoxSizeL.SelectedIndex = -1;
lbNeedQtyL.Text = "0";
}
}
}
@ -3931,6 +3932,9 @@ namespace InjectionPC
}
CompleteBoxAndPrint(dt.Rows[0], "1", lbPackageCodeR, lbCurrentlQtyR);
lbPackageCodeR.Text = "";
comBoxSizeR.SelectedIndex = -1;
lbNeedQtyR.Text = "0";
}
}
}

704
InjectionPC/FrmMain2408.resx

@ -121,361 +121,355 @@
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAH0AAABMCAYAAABAprgtAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1
MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADrwAAA68AZW8ckkAAFLNSURBVHhezb13fFfFvi7M+3n/
vfe957jde4uFooiI2HsXuwiWrShYwQJSpIr0jvTeewm9hk4IkAAhIQESIIEQEggJ6e3Xe8nzPs+Exc72
RN3nnns/+4x+Weu31sysmXm+dWbWSiP8QQqHw4Zqa2sNhUIhRKNRXgsiZMiDUOTvFI54EeX1YCQIfziK
QDiC2hAQiYDntQjURlgmCj/r8Qf8zOPmby8iUT8iYZ85D4f9CAZcCId4XddYZ4DXdQxG3CzL+2xDqJb1
RyMIhkOIgG3iebg2jECEhFpeC7MttTf7oHar/fX782vSPaUIG6z89a+r7D9DKiuyfqu8flt1/6vT74Ju
dVxkdUQNrxuAAAH2G5Drjn+nIO/7CbY3WAtXqBbeQAQufxgOXwC2QAj2QC1s/gCqvT7YQz4DWpgAikIE
zBsJwc36fTz38J6bTOQIBeHk0ebzspwHlW4Xavw+uHjNqTxB1uX38jcZicAHBRTrs9ptkUBQ++sDWp+s
e8pr/bbKiYLB4M0x+DVFbhytvFZ+1Wfl+e+Qfhf0sAaK4FmNjlKSQhx8dSQUDhCgOinUtbAhXtOgR6Lw
sX8eSpmbEu4ORQhIGNUE2haKwh4FXKw/QPKTalh/BQeoIhBEJZ9TGYygimUqDYVRwzocLOO+UUZU5fOj
wu+HnVrDwXY6+FwxkJ2agfrGSHsoWgeE+mANuvoUJpNEyRC1hv4RdAtwwxQkAadyOqou01eWN9cNsU4e
6/LV1e1nPwMBjgWv6fjfDnQ16NdEXWsowvMgOxnRAJoO8neQ52x8gCo2RPUbCnqYh53k7wBB8AcDBJuS
Ha1FuduPGg6Kh+c+PsxLquR5viOIzJJqHM2+grj0TGxKPoM1h5KwMv4oYhJOYFPSSWxITMbaw0nYciwN
O5PTTb5jzJ9eWMaypbBRG6g+GgESJT3qg5NaxkVb4omKMQUGJV7tZfsiQbafFGUfImQmqf0o+2E0AE1O
hNohrKN+izHY5zD7HxHIZB71OcTrqi/gpwSTQf28JxMV4HnI1M88uk5t5CMFqNn8HJOo6iMzCHSLsRoi
3fut9Hvl6tPvJauOfwA9QknWoLB3tMMUL6pm2e0I7bMGkEzLwaulXaX65gBH2eFowI2IiGCH2DEvM3nZ
cTelSNJcQ5ALXT6cuV6C/RkE+MRJbD6cjPUHT2DdkVSsP5GF3WmXcPD8VRzOvorEnCtIzM3DkcuXceRi
HhKy83Ew6yr2pF/GjtPZLJ+JDcmncSgvG0lXLiP1Wi5y7dWwU2d4+DwvO1blsVPSyYjGnpOiHHD+ruUx
wv7Uqo9BDgL7J3CDBDtAJpJ/IIaIiFnIuMZEyIxRgxjwCZqADVO7SNv55Fson3wUmrAgTZffr3x1g8+s
8N0Yl2CQPgvr18CrnvrjbsaejKHj76WGyln0z5TXs5WvkU7+TipMaeDARM2RnBullFCK1Hl1MOxjp6Sy
eD/s9yDqsCNMGxukjfV56HhJivgAUYXLi1OX87EpLgmLNu3Cml3x2JuSjpSL2ThzpQA5FQ6UeGnrmVck
JpEKl8qXCpd20G8bqYwVFtAhzHaGkGwPYcKhDPReG4+f1h/GxL2piDlN5sipRpGTJoUunKTfLi0TICDU
Ws6oF86Qg/XSh4jSABBImSjjcHIgfOyPX8Azr5Fw9a+WEmyY2kUGYevCLkT8No5BFY90QGmyPJ4wnHyG
g8xVzV5L+5Q4A7hQUELfQ46nVLtUfZ3KlwkQONaY61xgGu3Co679VlKev2P1H8kCXseGku6J/iPo5N4o
pThCG1nLo/HOSRGey2M3HE7uDUrlCXQOSpSdctpr4HYJNgLkcCLhVAYWbYnFsp37seNoKk5euoqCajsd
Ldp75pEmkFT6CWa1N4hqD9Wz6ubA+dh5N6mGolIRCKOE6rqIIF6kCo3NvYKpCRn4ZsNpvL88DR8sSsKn
Cw7hy7mJ6LHgBFYeKkBynhN5zohhFi/H0EY1W+m1wRVxEqByuHxFBIMMEHVTWoM0B1F4qN49ZHAfB4z+
NhldtthNgGvI1JXUgDUcAzuC/kqODeENMoogw1Z76YvwGfmU6lN84L7sIgyYuQSDZ81HSvYF9pdjRSmv
5djV2f1/dCJ1rjEVULqvaw0lXbeYon5567fIAl35GkrWs/8D6LUEvdZINlUaHbUwOxcIOsn9uk41xUIc
CgLi5HkQXr8DDk81LQGlhIAdPXMS8zdtwsy167H22DGcKChCsSSCD6U+gC1oh6PWQ5tP7qfql/p1cOCc
lBh5+6EIPX7mt/kjqCZDiI2uk+Ku2DF+Zxq6ztuFj2duxccrktFu1Xl0WJGBLmsy0HVRGr6YkYTvpyVi
2LKTWH/kOs6VOI2T5yF5w3LvXHB5rsPnv05d4GT46KqLFNQn9t1NyWYTYKfW8nhqOEBEkYwSCVZxPGy0
+2SSoI33Szk2HrJGnTa6RHOx/mwJei08iQ4/z8N973bC9+N+QWZxIX0aahYKicY1RPVf5+zVgWORwLYY
4reS8KkvyTpauOm3yupo/W4o/Q7oijPJUZRkUYihkKQ8cEO9O5nPRhtV6XGihJ25wvzXqZAznTWISUnC
4GVLsPTwfpx1VKKSDxLVkKqoOUq8VfS4y6lqaffpZXvdVOqUNBmDIOtxKIxjw8qpcksIeJYnin1XKjH1
UC66Lj2CdjNi8d7iQ/hk7Wl0WpuKjivi0XnZcXy/7iK6bc5E9w1p6L7mOPpvPIFB649iVEwcdiVnosId
NObCH3SgNuCkBqNkRR3UYA5qFS88VNUuhnteOl1h9jfgclDjsW00A6Egr1Nafey3nwNmV2jINpay2Wcq
A1iXUoGeC1Px+qB1aNl1Eh7tNgWPfd4XszfvNKqe1gYucpKHNj/gFyBSs3XA/OPY/zZYVlIeAWflrV/W
AtS611C6Cbr+sagOdA6InB0Cbuy2HDZKsZ9AO+m4uWm/fFTR8p6LCNZFdmpbQQVG7NiHIZt2IL6kEiV8
QJGI9wrp6ZbT1tvJIKyJsk4niZIcDNBkBKhinQWw28rh8VKK+Hwby+RzQOOuVGP8gWy8PzcOT43chrbT
E/C3tTl4f/1VvLk0A19sysSXmzIo8alkgEx03nYRX23LxHexF9F7z0X8uDkVP64+hNEx+7A24Qwyr1Yi
SDMCghb22alRbJRAaigfj1ThIT/Pjb22c3Sps+gPeF0eVNmqUeOjhqCWo0U3fUu1BbHw+DV8MnEf7v9i
Ge7qvAz3dl+DJwevxdODl+OhrwZhyaFjdC5p6thvBx1bF8fBOJWkfznoOpFqqQ96lJIg0GXffZSAECvy
s6F2qicXVZmP505WksOOzE27jG9X7cWUgylIs3lQxuvFwSjKqBVcrNNDe+VmOS9ts9dDc0CKUpWHaWfD
NB++YCVq6G3b6fBIKySX+DD7SC66LDqI16fFocPKC3hv3VW0J729pgBvrinF22uL8NmWAnRdn41O6zLR
cUsO/rYzBx1JH8Vm49PdOfguLhd943LQZ0MS+q08hAW7ziI9x01prqUZYSyvmb0wDZWcM0p8LdV2LY/k
AnicDtidXtjY1mr6FWrXNY5jmt2H5ecK0X7qXjw8YB0ad5mPO79bi/uH7kObkQfQetAOtOixBG8NX4y9
2YWmXDGFxSENyXo8HnnxfwemPmi/B5aVlOe3QNdvS3j/EHSpctmYiOJyFWQjjfcu0KmSPT6fUWsu3pPD
Y+cDSsm5uQ435u5OwMCVu7EuvRjnnHS6qAGq6GxVsmNOeqqO6nL4PQ7WVRfqBdRpxugRRgA+L50rp+em
h37ZHcKuS5VUyyfxzi9b8faUffjbotN4b3kWPojJxYcb8vHB+ut4d/V1vE36aH0huqzPw5fbruLLAyX4
7GAxvoovR+f4MnwaX4ovadM778hCj9gsDDuQhyFbLmLa9jxkVcrLZmTBPtrI4AFKtfoZIQPUkgk1bewi
k2r2T4wtyT5eEcCyM0XosmQ/Hu67AHd0XYKmPWLRcmACWg9JRbNBR3FX3wNoMzgO9/ZYiffHxuB0TRgF
ZPgSjq+LY+bl2GieI6ToRsDwOfVBs4D7vaRyFnDK+2uqf72hdBN0hRKaZao7EnB2XOo9xJuKc+VJe9gg
OxtZTU2ggcitcWPJ7iOYtHoTErKuoJihVA3VchUZxEO1H2F+l4+20ONCwOuEz+6A3yF1zo4xbzTg48CG
jforJR3JrcKkHSfw1czt6DAlFh/MPYKPlpzEp6uz8M7is2i36Dw+WpOHTuuv4cvNRVTr1/DZulx8vZXS
vqsUX+0qQec9xfhyH8/3V+PLuCp0PVSJbgkV6HuiAn2OFKHPjlwM2FuMaUdKkFTqM88tpFftoPmqrdUc
P7WQz0NwqN14T57/eXsUs5Ly0XHKdjwzZCnu77cIzfvG4L4RR9Bi6DHcPZyAj0jHnQOScWefw2g97BDu
67EA/VbsRAXL51NTVHH8AnRKfS4aNq07cAyjPEYlaDfi9n8GdN23tPJvkaUFBGxD6SbotWqApJpoRGm3
NI2q0EwTFcTIzG/X0JZrkkWzaSWeAJbvOYqpa7cho6SUFlqLHrSFdIxqo9WkMkoMvVt/EY8VrLOKKp4e
Ph2oGjpvctQqGB5dpWbZU+zGoN0ZeGf8arw6dg3az96Pj1am4sPl6fiY9Onqc+i8/hK6U33/uOkiem44
hz7r0tF7fQa+X5OOb2PO4NsNZxm+kbZlodsOqvO910lF6LU7D/3ir6NvYjH6HrmGn45dx08pNegbn41J
xy7gZJXDSHEV+1nhtFPlKzKhFqCUx57Nw6iNiXh31Frc9c183PbdYjTrtw4PjInDQ1PS0GRUCu4g4I2H
nkaz8bloOjIDzSntj47cj8f7LkZMWo5h6ErWaQu6OKbUlh45iRwt9j/Mvsuui/5Z0JXq522IfgtsK90E
XWDfJIVkaiBteoAN0PRptc9N0KkKWei6L4rFOxMwatkWJOWXoYplfCE7Q7oSuD1FpEIEAmUsWwZPqJzx
cTkqSKX0kCVZ10gpDi+WZlzGoB1JaD99B16ZtBcvT9mJdxcm4L0lJ/D2gkS8NesIPl16Ct+uOY0vlx7D
9wsPos+ifRi6Kh5TNx/FzF2pmH0gE/MOX8Cy1Hysoupdc6oMK9NKsehoEeYnXMPshCuYTN9gDGnk0cv4
OSkbfU5ewsCT2RiScBarTl9CaqUH+XRMi8nI5fRPUrLzMGllLD4ZswLP9luKu7svQ5MBu9Fq0mm0mngK
TUecwF+GJOHPQ1Nw19iz+MuI07h91FlK+yncO+gQWveOwWs/L0dCQZUZLxujAgdjfE1ARzWnQZNWSzVv
pmUJkjRifdD+CPT/aroJuqTczDPTlgt4f4QhTETzVrRtvO4kYDYyQSE59Qw94JGrN2DtyQwUUwt4yVjS
Ct5aqkl64+qkk5rCRnVZwbDMRi2gLheSjjqcmM2B/iZmP9pOjsEzY1bhlfEEe3oSOixKRfsFJ/Dm9AN4
a+o+fLw4CZ0XH8PXC/ejf8wRTN55GqsTc7AvoxDnC6tQUONCodNfR74wrlMlFTqjuEI7eqU6iOwyH1Ly
XYjLs2PthQrMPXUN49nmgamp6H0sGYMPn8IvB1KxLPkCUkvd1GCaLgYOnKY56TEcbb76BY/1WooHBmxC
y1En0GLiOTQdRYCHnsJfhqeg8ejTuGdSJgFPw60DE3Hf8ON4bEQcmn05F9/MizP9dTGKd7ir4XLJtXUg
6KlGmI4ubaaRcJnP/6yk/1fTTdBDtQxhogymDBFqqreQPG3acw+B1fRiFQfkYEYOxi7dgD1nrqGYFRSy
wYXuWpRxoKtpo+1kEjlkmk5VNyXVO666MPtYIfpsPI13Z+7Fc+M247lftuGFuQfx9qJj+GjFKbwz6yje
mbQT7Sbtxgez46nCszCGtnd2fDE2nSzH6QI/ygisi2pY07NsEk1K3aSIfA1G2/T8GQWEPWYpVVG/8kT4
j9pTzGu5tN0nXS5sr6zAutJyLMvOx+TDOZi8Pw3rTmUhh+ZLkple4cfHI9bhiYGr8czEY2g1PhW3U6Jv
obP2P4Ycxx1jTuC+cSloMiIJLSecRfORp3Dnz8fw5OhkPDP8MB7+fhFDuUzTBg81Zo23mFqQOi7iQtjO
0JCg11Lla7VOM5pRqvl/CejRWnrqN8hsZKDHGaDUmxCN58XuAMENYlrMFnQeOAYHLuRTsvzI8Xhoowk4
G55Pkc+0RXA0P4yVx4owlB541zkH8ebILXh+wHo81p80cAOeG7UHr0w5ipcnHsZL43bj9fHb0H5aLH5Y
cxSTEy5ja64dqeSaDGcA+QRZTqMHiu+1xk6AyYwOj49hFzUJY/ui6lL6HA6GkAEOND1k5q/0eqgJnLjm
8KGAbc+jSs0hI2cxesggI5xhnnQy8TEK3cESN7bQfqdcrzGMXMDrvRceQEuC12bkQbQYewJNxp/FnWPT
cdcY2vLRR3HP0ENoPvwomgw/geYjkvHA2NN4aPgRtOm1Ge+N34VjNQG2W+Gth7F5FZmvhmG/HWE3gfcr
/tfchxZpCAD9qX856Nq1EqAn72PD3Apdbgz88Zwr6Dt5FgbMXIR+02PQafgCfD52EfrOXIe+M9bg6/HL
0Wn0avxt2Hq81nc5Hu02Ew98NR1tvl+CZwduxuujd+OtsXvxyuDNZISd+Hx6AnovP4HxO05hzel8pHCg
LlFFy+7bKblalpWGcVAq7F4342WaDq8fTtpdZ5C+BtvnDflpfoImaiglqNdcPmTROUu8VoQ9tM3bMq9g
85kcrKENj0nJwaZT1xGbVYGDuQ4cKfIiwRGg9IdxMK8Mp0ocKCXzyhQNXJ+IO75ZiBYMv5oOT8Jfh51E
MwLbcmwa7qfXfu/QONxDkO8czPORx/HI+FNo1TcWD3ZbiYFrzyCT0UkpIwJ7wE1w6cTVMnIJUL1T22hp
VnsSTHiskO1fJelaSYpYFPKaNWIf7bSbDZDkXCitxPT1mzBr216klFVj7QnGvRsOY8Ca/Xh/1DS83LMv
nv1+AB77tg8e6zYQj3w/CM90n4CX+05Dh1Fr0G7kanQYuwzd5mzH5O0p2JpagKNU+2lFLuRRomVPpaqd
IXr1DPFqXPT0nTZKs5vtIPP5g3W7Y9g+OxtcQUYo1iIHdfxVapiEQhc2nS/ECqrpJWeyMSP9AqbTFC28
UI75GcWYn1qIRSklWHnchi2knWlObEitxOK0K9h6oQA7MrKRWVmNMvZX8fuATUfQrPdGPDAhDc3HpOKv
dNz+MugwmSABjxLsh4dTEwwjjTiM+4cnojWBv7fnFrw8eCdiMmzIYx1FIfo2IbN0RKeWfQkRdEq1S74S
/SYDMmP2KLXXvwR0TcSYxQDNREXpxNHW2A3V2cftJ05i8Iy5OFdUYsKQfKqu65SuS4xBL9gJXmUp9l/P
of2+gHXZGViUloxVp85hXeZFbMy6hMMlFcihE1fiY9hHztZOFxulQbtn7LS3kuyA4nYPJcJn50Bohoz6
pZaKnQ6hPWg3zqGdz60iFXAoL/hqsTvHhmWnCzHraB699ByMS8vGtLOFmJ5VjKkXyzDjbCWBd2J1TgRb
rio/sPNiLbae9WPHpRA2Zhdjw7lcxJ7PRg5NglbKtEYwZEcibuu6GC2pwlv+ch53js9ieHYcrYccwhOD
96HN4D1U74dp71PQZhSvD+S1Hqvx+aw4pNuDRlvYCLAmd7QE5aEpEtAaSxfVu1d7FQiw2ZVUD/B/BvT6
eX+Lfi/dBD3iZijh1jp4CJUcdDs99jIfbWYwgGK/H8OmzULMtt0mhq3whcyMm4uFtXqlRYx/JmnlSp6+
kypNA2JjXZrhC0TlRwQQ8DLs89LXj9Aa1tIlDNjg4zVXyAMn89AqopR1ZDoj2Hy+DDPjL2Lk3tMYeug8
JiTlY3rqdcyiVM85W4p5WWVYdLEGSy85sTLHh425YWzLq8XO3FrE5kax43IQcQzQ916tIgPk4dCVAmRU
VaOATClJH7YzEXf3XoxWow+gCR2328ZewJ3D09GSYVrrIcdw37DjaD72PNV+Ku4fdxKPDNiJZ3vOxcLD
WUYoijmeQUq0W1PYFCStWQTI6EH236tNKTxKwrVTp5bjUB+wPwJd9wXcb5FV/rfAV546SVfsSIdHu0Xs
QS8dszCqyABlbGhK3lWMnjkHSWnpplCVgyBQumWP3G433HTofDc2CASlLXiunaxhqrdwWNuoaNMYn/q9
VG1kGDvtsYM2zUbSZscgVTi9G9o25vXbKOkEm2W8Qap2gi3vu5ztP+8KYvulSsxKvIKxcUUYHX8dwwn2
sJPXMT69AtPTqzEvowbzz1Zj2flqrMxmqHbZS8B92E7acyWMPflR7L0Wwb7CMOLLojhY4EB8bilOFlbi
UpUdJQRIs2g/b05Eiz6L0HLMbnrrR/GnMZm4c0QWY/EMNB+WhrsZk985Jgd/HXWO4dxJPN5/C76gT3Oq
qNr4P1o9DIZdNJPqA32kqEDXRtEoVT2BuwF6lOMsAP5Z0K37mnnTsT5ZoKs+61pD6SbotV5yHClEUNwE
o5ycqfDlmsuPRTv2Yta6tShzKBCj+hPoTi/ljqGZ2eQYoCMVRTk5toYmwUWgXAz7XIwCnAyjNMXpJCNI
ql26z6O7ls4Y2d3PjtfNTNHO+Vxwel1kCj+BZl7WX0qpOF1BSb1QimmHL2HY7vP4aW8OfjpShiHHqjAi
tQYjzjgw/qwD0897MPtCEPOzfVh5yYO1eR5su+LHrqs+xOUHkHA9iKTCWiSVRJFUHEVyaQTHin04Sb8i
s9zBGD9AKY+gkGPVY8lh3PvjSrQcfRB3UJL/XaCPPoW7RiXTWz+Ou2nDGw87hduHpeCeAXvx6I+rsOhQ
ulHr5T7acPbHo+VajoW/Vlu863bkaGXSR+eU3a5z4DgW9QH/I9CVlEfAWXnrl7UAtYBvKN0EPUIpFPk8
mpBhjE1HTmpKe9oGzZyHbceOGnukBruoFTw+qmMCbaNm0EpapUBnJ6p4XzZawJJ/4OFz3QRODqHssdbh
3SQt2ui+j/eVt0Jr6DQvUv16bhHryqgJYsv5Ykzcl4kBOzLQg3F+39iLGJpQiuGpTgw95cfw036MyHBj
UmYQM7ODmEW1vTA3iNV5AWwi0Huu0TMvDCGxMICUkgDOlAaQXhlCenkIZ8sDSCsO8prfgH6d/onY+ky1
Dx9P3I57foyht56IxrTbt4zLoIpPpnQnoumog7h3dAKa0cY3+/kQ7u65Fu+O3oIL7ojxB8o5Nm4fNVtE
a/DaP0cmoDlUeKbVNW1AESANSbno/wTo1r2G0k3Qtect6g9T2nyUslqU05arA7vOZqD3hKnILikzoNew
Q0FKqLb2uEhOSnc1667ivUpKSRV/CzQHj16tRRsV7oOvtm5fe4ASb6iWJoD3XGSucoZZVQTbwefKnubx
QRvSCzBi5yl0X52I79elYkBcAYYkVqDfwXL8sLcU/RNdGHqmFj+nhzDyjBuTL0QwKyeKuTlBLM8LIyY/
gm0FQRwoClHC/Ugp9SGjwo/sag9yanzIqw7iSpUfeZW1uFTuR26Fh8yrUJF2PrcIbYevQMt+69GCIN82
LgV/+iUNt5LuGJfAWD0e94yk1z6KXvvgvbi/50r8sv+S0UzSdG6p8CB/kSLafCJVH6Dfwj5GOHbaUm1m
Ps2xDrz69F8F3br2h6BHKXbRANU7yUn7U81CZQRu6f59GDpvad0sGyspd5KDKbkexsR2MoiUvJPgOTRV
y3DKTRXmpXPi47k3ogkTD9WcixLt4sPciNIpi0Ro62XrvA4ThlVT1WmHzDmK/c48GybF5+Cb5cn4JiYN
PbZdQK9dVwh0AXofqsKPiQ4MSHLjpxNe/HTcibGnnZhyzoY5mS4suhTGMkp6TH7QAL63yI+j1z1ILvFQ
qr24XOVDMQEvY2xeSQ+7muFDjS2KYjJDKa+5CXoR2zHjQBqeGrSEDttu3DOGapyg3zohHbcyFr9tbBKa
khHuHkGwB23D4z9vwCcz9iDdEzUMqy1XQTJ0Le14bVhv+8i/8dEGE3Q5btSEtRwvAaKB1/HXJFB+KwlM
q5yOIgtwnf/nQPdT1/r5UDaqko6VVHEBQZ26cSMmrl5npFzrzjVU7QFNjJBs5F5HwE1p1lq7nyrbSdvF
jhoHzs1rNjp1PLI+P53DAJ0kebR+cn9Qu0tp88wSLdu2s9CDGYcvYsDGJHy59DA6rUxFz51X0JcOW899
hfhuVz6Bv4JBicUYm2rDmORyjEooxKQT+Zh56godt+tYlVmJmEt2bLlUQ2mtQsI1O5KK7EgrsiG7zI5C
mxsV9KoraUZs9FWcLpopglXjpPNK6ZTWyqgKoueCnXjox6VoPeoAmo44ir8yTv+3MWcI+mn8dXw67hid
xDBtLx75aTWeGbAcS1ILzIRSBX0Rr6SZDmitv5r22kXtpshEU9taDhUoBIPmT6CEqAm1rq6jgBDVXxpt
KFnA6lgf+F+T7v0h6CEv40lfnXdZxZhSYOQ5nRi9YgXmbt9jMmvxwMuBcdIMuGij3GQCt9bOtd0p5ECY
wJpXmqS+OQDa6uuj5rBRqhxyEOm8aapCc+c2dq7Q7kdaoR2LEnMweHMaus7fh2+XJaDbupPovi2TdAE9
Y3MwYE8+Bu4pxE+7LuGn2HQMiU3D5MOZWJSWj5iMAmxUnH2hAHtyShGXV4mj+TYkFzlwptiF9FInMiuc
uGLzosThQ43bBZuXEYf2uHmc8Hi9ZuLHSR/CLLZkV+FvY1bh3h7L0IaqvMnIY7hj7Bk0npCJP41KwV9G
pKIZmeCRMXvxxID5+GrWJpx1+FEu0xQg87PPtUEntSbFRhtLqcbDdOrMgpbAMPvpQzekXQCL/jEEs8Bs
KFkS/M9SQ+km6LW+KLzifDbKycx6rSijtBT9Zs7G8n0HUUjdV8j7LjKgpJ78a+JzhR/OAL1uTxnDMr1g
GDDlHSyv3adO5pOdrOCgmHlt5s9yhLH7fD4mbk9Gz7nb0HHSenw1Zx8l/BC+WZOEb2NO4Zv16eiyJhU/
bDiDgTvOYVhsFibsO4+5CRexNj0f8QUVOGPzgT4a2xpBGTVVCaXIxkFRyFXGdhbzWaUBvSrF51OabPKc
yawBDrq8azfbrTV+t8+BKpqrIkri6PWH8GiP6bj/5614aNwJNB2ZhrtGn0OL8Zfw58HH0GRoMtqQCVoN
3Iw3hy+jk1i38bM0SG3hF8g+SrmNAkCbrtlNSrq161Wgawq2lr4QvTgCWLeMre1pdevqDQPdUBL4v0dW
nobSTdAjLnJYgJ41B8/FRipcO5l/DYPmLcSGxBNIy7uOxHPZSDx1FsfTzuHStWt0wshNzCcm4Lgar1/O
jEDWQFxhH3KYIanKi215FZh5ogB916fiy4Xx+GT2fnwwIxYfz9qFr5cdxpcLDuCzeXvw+fy9+HrJQfTf
mo5R+7Jo3y9gQfIFbC8sQZY7gFLWKQfTTo3hoLkIhJ1UiTUI1TqphQL0J6im6VNocqmKQChaMJEEr3sp
bQoRtaPVSwkz8/ZRN8oCNmOPd+SV4fn+M9Gi2zw8OZGAD6LDNiYddw4/hz/1OIInKe1Pj8/And234YXB
W7HmdCku0WPXDGEV6/MEtPOGpk3bpn2UdrZHWk+zbhpkOW56MbOWTjLYFu0/1KtSmocXYwgkSedvgWUl
Uxfz/R79XroJeshJrqSDpt2aklQ5bocvZKMvJf3o5Xzz+3xhOfYmJmP15q1YtWEbNu7eg3WxsdiXlIIT
2YXMfx0Jl0txKLcUm8/mY/rhXIzZeQ5dFyTi01nxeHf6Lrw6YTteGLMTL004gNen7EWH6XvRieB3m78T
A9cnMH8q5iRkYyvV7NESqmat7hGoIg5sDcKMCgiU4l9JaEB70sli0RqGfzWw+Z1w0sS4NRPGgXOQpLLt
HAM5oXI4FUJqLcFOibcTpArmrdSULjXCD2v2484u43HfoE14YOwJ/LXPQTQfnYo7h6ageb8EvDI+FQ/0
3oKW3VZh+I5s5BI7MbhMgya05MtEtbGSmqOWEq8t4xGCLhC0fKoFlpDA5bPZcIqiAJb9/sew7Y9S/by/
Rb+X/gPoWsGSahbIB86dQ/9Zc3DiWqnpXDl1eSkdoFzG7kdSz2Px2g0YNHEivh40DB/+OAZv/TAOr3cf
izd6TcLLPSfioe9G4d4vhuPRXnPw5MDleHLQKjw3bD1eGROLdtOPovPSDPRZn4Vpey5hbdJV7M+vxHGG
Tuk1AVyl+hAY2sZUrdBQ6pmDWhOyMZZ3IBRlOFSrKU4nwa/kNT8ZQm+o1E3qVFLyiuhHXGHsXUCki9xR
FPFcL1NW+/wEKUiVHkA5y2i71OKUK3isz1w0770ID42Px20/xaNxf9r0ofTUSY8PPYQn+mxA884z8Om0
g0i20eFlOTGSkw6tL+Ah4HZEfFVGyvVWkPYnmH2Gxo5TkxJwvdkaDdHG055TrlmDPPU/Bvq/ksQEAlmk
VA90LepTvdOZc8qT5c3DWRcxcM58HM8tMJMWVcyo5U4f26imSm2WsROJF3IxZ9N+DF9I2zxiFjr0m4L2
g2bhg1FL8P7IZfhoEsOa6bH4Ys4BdFuSQKftNOYlFmHHNS+SasLGe5f3q2eI9GIAfT8+S0cNql6GZHQg
CVe8r7V1qk4/B9pJT9lO2yhzpPzlZNx8VxBnSqqRlF9Bh86GjDIHLpGZLlW6kGOrRIWjhvXUhVh67m46
fm+NWY0mX85GmxGHccdPh/HXn46h6ahkNOnHeLzfATzWaw3adB6DTqO20tlz0XGTHec4se3a3i01jgBN
jaMKQS8ZgKCGyBCy4T6OWyjKPArfIrxHttSmFULBWgR4w6D/Wnrr0+8lAVo/r34LaJHSTdCjtE16Ec9J
6XBwoLU+nXw1H/1mz0Ns6tk6Oy21z0q8LOBheTttZoGtxmgFJeUp8FNV1riRzhApjR506nU7TlFNZ1QF
cIF+Qx45pph9lbPlhofdD/B5eqmQ4aBCQHrSigiC1Dh676tW4U6EMS8dowBVZiBCqaKa1PvuchQZZqOA
vkh6cQ2OZOVjV0Yx9jJ8O3ipGkfyHDiW50bKNRvOlVYgt9qGMhef5eJzyUSaRdx5uRJfztyJZl/PQLMf
N+CeEafw/3wXh9tGZeLu0VloRga4t+92PPD9AnSZsQP7GQpKwos1R++lpuHzwwRUO44QYvTisXMcGbJp
c6lsNcdKEVGI7Q6T9IpYhKFtmJ69JmkaSgKkPlC/pj+y2Q2Vta4pWb/NNGyQpCRQq2lH00tK0Hv6DMQc
TjIqU/vc9TEBvalh9zAEo1Oil/20icFO0FwcRL3ZpffVlF9SK29fNlRz6RwSBOSx0u0ze/Bogz1eH9xa
iGG87NDWY0pvkNKLkIthD+0jKeinNWdY6GNIpHfebbLxNIuF7ENSiQexlLy1GSVYk5qL1aeKsOV8Oa9V
MXxz4niBF0cul+PU9Qqqea0F0G9h2xU2nmdM/uXMA2jZZRbu7rEeTQYcxJ0jMvBvA9PQeFgGmv18FPcP
3kvHbineYHi2/1IJGUVOm48mx48aMmeI5sTPKMCrff1sX8RH5mQoaGw5QZfzFtCAq9+kKE1SmKYpTK0l
W95QMj4Ay/wW/RHoDZWXxP8H0PW2iZ+cm372HErsTqMuz5VX4Of5C7Fk98E69S7Jon3S5IZey9UUq14I
9Eb0xgjVL1Wrl+reTwnVLlonK/bRUYlQEuq+VKH4Xa/20rPVK0XyvMnxHkJg1wwe7bJfrw/TE0ekGmFv
OQfRRnvoJiN4EeSgiYEUjh0rtWHd2auYEp+DmScdWHYhgOVZVVidVYaNOdXYSonceqEIe7OLqOJdOFem
FzPkq9B5Yh0pFyswcN5BPPTNYkr5UtxLG37nkBT8WcSwrDEl/L5BO9Hqx1V4rPcCTN+VbKITRQF69Tog
M0cvXJIbZFzupYTrrV3tSYiwrXo7yMTfHAc/y4TJ6CIqez6fDG3Uex0IVrIAEmi/R8pTP399stR5Q+VE
FvjK08hPENPP5aL34Ak4cSnPSOtFlwvj1m3CmFWxRnVLam20rzatlLBwbYj2Sa8AEbggKzTSTJBltbxS
b7wf1GwdB0bgkiWMqvYF7PAzltWHD6qZ/xrtX5EmfViti0zj5f2IS68DUxO4bfAH2RoyhRjuVFkNNqRf
wpRjZzDyyHkMT6rAiJMhDE91Y0xqBeZnOrD+qh0bsi4j5lQW4ul0ni4rQ5HieNavd+uO5pThq7Hb0OrT
eXig+248ODAJTQck49bBx/HnQQn4a/99VOlb0fKryWg3aD4W7Ek2n0QhnObtU4/ONYgce3nlZmOjBprg
msHnUV+sMOvkAkJU7z+WIuko+nuygFESMNbLCw2RwNOxPqAqY4Fu5ft1PaZ9N6hRlaMWP/SbhifafoT4
0xcM6PJqF+6Lw4+T56BSgLCNFW69lULOJaAeXxnBrGbnHSSqNoJoFhUMkYvZEK0khekt61s0tZqTpjMD
UlRAUrIDZAg71aNbEqM4mnbRTXXu9jL8kQ2kdFSyqlPFbqw5mY/xu9MxcFsq+u/JxODDxRiS5EP/RD+G
JXkw5bQL805cwaxjGdhw5gJStVxKr/kabbgc03zq9Bl7zqPt9zPR5pO5eJzxdus++9C8J214r3jcOiAe
dw2mx/5THG75ch6e6bcQy5JyjdNmVh7dNXBQW8kxc/sl5fS/NanCviocq78ZwpImi6zrv0cWeL8+t0h1
iqzrFsj17+tZui+Af11ev+uXaZSc6cFDL3THPU99hNjki8bmaeVsf1YWek6YhHOFJabjVTQB2pGqvWse
r+bZNOdW9zpQmI5gOEDuolTp2y76dIk+7RGhZNRy8DU4Ub3dofCFGiNCxqklyCADBLzVrI+xN205gzGU
kuELyR9nqgNYk1GDoXuuouvas+i2LQ8DD9dgYKIDPeOq0S/BRbJj9LEqzEqpxorkHCw/cQapZRV1HjYZ
UFoqs8aH4RuO4pEe49G86y+4p9s8szp2X6+tuLPrFrQg+C0H7cXt369F8x9W48WfV2BLZiGukeHkwFbR
Zpc7a9h3zUQyymH/wgRZW50sYBsCSdes+39EVl4dLYDq36//28pb/3nWdYvq52uoTKMx8zPQ4pneeLBt
N8zbmmCsjfaLnS4txuBZ07F23yEz7eow040hOmFSw7SztMEBSqj5NhzVtHaHWEe/XlYk6HReeY3eNjWB
m6SpXjc1h5daIEpvvZZmJOSspj8g+07vns+NK/Bhxokq9N6Wi0+Wn8fH666h09ZidNlZju5xDvQ45Efv
Qy70PVSKfgdyMHxvBpYkF+FokQ85bGMp7b/Z/cPn7s7IxdfTNqLVdxPxl6+noGkfOm39t+H271bi3u+X
4bF+2/DckL24j+d3fToFHcZvw+bscuPH1EjTBOls+hzsU91GUS0Hm4UVgq6PJ9Qf1PoA/FfIqqc+NZTv
j6iheixq9M436/Dgq2PxwIu90HfCSmN1KtiJXIcdM1YvxcT5c1DD+NNPQCrdAYZ2WhPXbBTlXFJL2xwl
uvpggY8Ono9Hedrmc2Ksi9Eavf5ahmX00tkYreLJw5drQ+SNzVZ9V3lx5yUn+m/NwgcL0vDRmsvoFFuM
jzYX4osdFege70XfRA9+OFCNrtuv4LuNqZiecgn7GSKm0ykoZAwlDSXAyvnMA+eK8emIRWj83kDc990s
3NMrBv+jx078z9570LhbDFr3WIxHeq5D009mofmn49Dpl92MBEpN/F7NdtZQTTIgo0PG/tHc6AtarrC2
fMk5JUOTicOKyZlPA2kNtqTSsqM6b4gsFay9CVZeixoCTHkbque3qD4TNkSNWrVfgDbt5+C2p3rjxc/H
GxsotSgv/mD6aQyfPArHziZRkQdR4naYKU+3Zr+krhnCwMOcLgdqvSzpZ/hCyTBHxtdhhjJBvd/uoVag
lx+ketf2oaCJAkIoDwJZHOXtZ22Ytucivlt2Am9M3Y8PVp5Fu9Vn0WF9Jr6Pr0Dv/aX4alU6PpmTgEHr
z2PO0WuILarBcZcbFwmMXiMS4AVknl0Z1zBqaTye/WIMHu40EY98E4MWXdbils4b8b+6Hcef+iTTWTuA
p/qtwD2dJqPp+yPw3YxYpFYETd9LPfoqBfvG/zSxYnPVwOOiKRNDc8BsDNnMhwXI2BpgAaWBtFRofQB1
7ddkAftroKwyqstiIIt0v6G6RA3d07Vf11GfGt3WdhZavD0PtzzxE+59exjOVADXqJoFfKGjBsOmjsay
bavoQcsp0tcYgqhgaKKvS2j7NBSyKLzy2wmyVpl4ZN6A5qQjdNioIr0EWLtptUAj9W6nU5hVGsAiOmQ/
rDiH9ybtJKCH0GnJMXy05AQ6rk7Bp2tP4OOYI+i8LB7dlu7DsI2JWJ6YjZN5LuR7a42zqdW7q6QLlLrY
K6UYtOYInuoyB03eHYcmH0xFm69W4/GeBxmPH0Djz/egWY8TaNKdMfkXMbjvswl4sdd0zNh90kz9ym9x
yEn1u6h8tDuYPQ05Tajp0zIsY3NNJGlGT157OKgBrhvc+gOtY0OkPBYj6KhrFtDWfR2tOhqq99d5rfL1
f+v4W2Tla3RH26lo/vpM3N12Am557HsMX5ZobGsFIaK8YlXsFvQfNwz7Tx5HAVX+5YoKFNOua8VLIMrP
tlPyK2mXKykZVbKpLCdXz2wWJEllXmGZk+VebErJw8RN8ei96BA+nX4Yr03ch3d+2YFOiw7jCwL8yfxd
6DxvO75aHIu+G+Mwd99JbD1zCSeLa1BIX0HMKIkUZXtdWJt+Ab2Xb8Mrfefhno5T0OT9+Wj59Tq0+mYX
bvt4Fe7+cgvV+EE88O1ONPtiPW7/aBZafTkbP8xPwI4LxfTy2Vaq6RInHUkyJxU3gt4yOqVqORmbIaiS
zJ7O5MzpfytJMpU04FLXv5U02ErKY53XT9Y1Ha06BXb9Y0NJeb1kSgH6z6ZGrTosopQPR5t2VIXvT8AT
fxuJ+IvlJnSTfTxztRDj5i7B5KUrseXoYaw9eBBbEpKRkJmPHNlStk9ff5LkaYpV8XA2n59GVJKo+Xde
8WI+w6n+647i89m70X7cBrw5fC7eHLMO7afF4eXxcXhrzEa8M34NOvyyHF0Xr8PIbQew8exlZNQ4cdHp
QQk7pLYospCfoBm5dYcvoM/M9XjumzFo0mEgmn08Ha2+Xo97vt+NO7pux+1dduKBXofRsutWNP9sORq/
Px23vTMYHYYtw8R9WTha5TPtVl0Z2VeRl3cFAbeNWquCpqmK5qoCFVezsG3TOuzctRt7D8bj4PHj2BN3
CAfij+DQ4QQcOBCHhIQEFBcXm0EXAGVlZUhJScH+/fuxb98+JCYm4siRI4iPj0dBQYHJ46IDe/ToUcTF
xeHQoUPm/MCBA+b86lXpLrA9edi2bRv27NmD2NhYU4fqOnbsGA4fPmzKXLx40eQVo6isnnfixAmTT79V
v9p3nO3Wb4sateu5Gy1enYimLwzDEx9MwW2P9cI7XacgrUjySiCpljcdPopeo3/Byp3xKPFHsO3QCQyZ
vgydhs/AWz/PwoejVuPzyZvQdf4efLdoH76YuxufTN+GJ/rOwKN9ZuLBPgyTes1G697z8UC/xXhy5AY8
NywGrw5bhy9nHcTwLRew4Oh17L5QjWx6fqUUpSJKXzlVqTEJJO1h23+xFD/O3EJ7PQoPtBuCB98Zi9Yd
ZuDhr1fhoR8O4N5v4/D/fbgF//5ZLJr+cAi3fByDu75ciNs7jkWbz4Zi3MbDOO+KoID15ZPS3OxLKoHd
F49Ll7IIOgF3Uy+F9EHEahyM3Yynn3gMTz71DF55/Q08/fLLeOq55/HYE0/zGunJJ0hPoUOHDti+fTtr
hAHi448/xoMPPoinn34aL774Ip5//nlzXLBggckj0F566SU8+uijePbZZ8257j/++OPYvHmzySOgdf+p
p54y95577jlTp34rv87vv/9+zJ49G2lpafjb3/6Gli1bmvuPPPKIOT7xxBPmqHaIrN+Npq25iKff+wXN
nx2E2x/qQ09+Cm5/uDe+JSBnaXdlN3PoMK07lIhdxy+aHbBF3iAyy+04eOk6FiRmYuTW4+hCqXvz5+l4
6oeReLDrELTpOhRP9JyA53+ahddGrcKHM7bh6+Xx6L8rAyOPVmD+6QrE5lQircxFNV0Hqrx6JYFcQwks
DYSRnFOFGbEp6DhqOR767Bc0/WgKWnQkA328FI9/vB2PdY5Dq8/24pb3N+F/vrMBTb7agxa99uPWT1ag
8Sdz0fzLMei+ajuOFZWarU1y+C7RPu/Iq8D0A0mYtjEWR0+fRHlNKX0UOqQBfWnKTckNI+5gHB56+FE8
8eSzeOr559Dm0Ufw4ksvmkF//rlnDRCvv/46br31VgO0JLi6utoAcO+995oBfuaZZ/DYY48ZgMaOHWv6
t2rVKnNNgAvoJ5980oAisFavXm3y7Nq1C3fffTdeJqO98sorprxA0zNFaoNAfu211zB9+nR8+OGHuO++
+8zzlE+MpnIvvPCCqVe/dV3PbXQ824En3+qHe5/rhaZP9MYjb07CQ69OQqvnR+CboXtwmUjINpcwPLtY
QifKHaQNp7dM26StywKqjExxqbQMJ6/kIuHcORw+dR77Tp7DemqE2JRMJGZWIKPYhYs2Ly57grTNBPQG
yHKgZJ+13FnFeq/xx6lLPqyOpfqetBVv9Z6B+94bgcZvjcRf3puCP3+xFE2/WoP7O25G6/YE+P1taPHZ
FrT8cjuafroZf+20CLd2noY7P52Bd8bEYnFaLk7T5snslNAqHy0rxJKU05iwIxF9F23CkrgjKHdrP44f
oUA1Ir5KOnHGcuPIsWQ89ewLeOGV1/Dy66/i5ddewqQJ43G9gNHDju347PPP0bFjR7Rp08YMbmFhoQH+
66+/Nr/ffvtttGvXzhw18D179mStwLRp08z99957z4D2zjvvGGlWvt27d5s8e/fuxUMPPWTyvPnmmwbU
mJgYLFmyxDDLW2+9ZeoW0/Tu3RsTJkzAgAEDMGrUKHzyySemjPKIKcV83bp1w9ChQzFo0CA0sgejGDY5
Bnc+1Bm3PPAFHn5pMh5/cx7ue3Eybnl4ID4bthWbThabCRrZ1OobXriWQAOaYaMTx3/qnBsdeK5vrGhz
QSDgZ6gTqtsxGwnQ85UjRBvEIdZR6+dldB7O0HOMO2vH+rgi/DTlCF79mmbgg1/Q7J3xuO3NCbij/Qzc
/dkS3NOFcXWXLbjzq8244zPa7U93oWnHTWjx6Src8/kStPxsHlp/Pg7P95iIyXtScbLSaz6OcIV03BPG
nNTLGL07DRN2p6BfzD6M2rAfR7LzTX/CtV44nJUmtAxrYoltiz+ehmdeeRvPtH0dz7/4MoF5BnNmT2Nu
hpqZWUatt27d2khX165dUUEnt7KyEh988MFNlfrqq6+iffv2hjEEbFVVFQYPHmzK6Z6k8Y033jCqXOeb
Nm0y9csWS6IFnBhGjOR0Oo3/IKkViSGkUYYMGYKioiLzbOWZMmWKqVMMJUbSc9avX2/uixrJIy2q9uP7
/ivR+P7vcf+LE3Hf89NxP0O5lm9Oxf97T1fc+Ww3fNZ/Muat24uU3ELzXbQAJVWDJUaQtOpcdWk1TKRr
kmQHeaKKjKDPjBXR+z5b5qPkl2J9/HkMn7cL349chVc+n4RH3huF+94YgWYvjcNtr09C43dnotn7y9Dq
ix14+LtduL/rNjTuuBp/+nAJmtALv7VzDP5Xx6X4Mx20O98bh9Zfj8WH45Zj/alsXPaFjHbKoXN10uHH
ytPXMHjrSfSh79Bvy2X0jDmJ8XuTsDPnOq74wmavgE979AMM0ejN+7xh/gYOpmTgqTc+xLNt36WafR0v
PPs0Pnj/HbR75228/x6vU+IkRT/++KNxxJQ0+FL11r1vv/0WvXr1MoBKVUtt9+/f39jkTz/91JwLHKlr
0bx580w9p0+fNmBJYpX3c2oVOXX9+vUz9Sjvu+++a5hp0aJF/xARLF261DCKtInqlsaQM2elRtryY6PY
XSoKoUf/Dbjl/m/Rgqr9L4/SLrefjYfemYq7nx+MZs92x4Nv9MLTHXvgw57jMWTaZszccALz9pzHyiMF
2HqqErEZNmw/XY31SZWISSzF/D1XMWpFCnpM2Y2Og9eiPRnr1e4L8OTHU/Fgh/G4r91YNHttGO5+fQRa
tGO49dYs3N5uKe7rvB2PdNmHFp224q/tVuGO92Jwz8dr0Ywg3/HhbNz+4VTc2n40Vfp4fDh5LaYePY9D
ZeU4RxMkj/waw6eUEmqOk4UYuiEdPy4/jX7rLqLv5lJ8tSQbP67Nwm5K+DUyrsxKRcALl89F/ROBn2bL
T19CQ3ggKQOtn3sDjzz3KiWmA15/ldL+wpN48IHWaHF3CzP4Us0DBw7EqVOnNJ64cuWKsemyn5JeqVRJ
tkCXpH/33XdGEzz88MNGHc+YQWf3hpSLUSybLpBkfyWxuidJHzmS/hIZQEBKrauctMiZM2dMVOC48c6h
HEbdU9ukjWT75fUrKbxrVGX3wx1iPMr/Ckr8GDN/G17+aDAaP9IFdz39Az3kQWjz1ghK4Rjc/doI3PZy
f9z+fH/c03Yk/vrScNzy4hg0fnkqmrwxy4DW/O3ZuJsaoslrlNaXx+GOVybgrrYT0fiV8cwzBc3encYQ
awaatJ+Duz9cSSldjbvar0KLDxhbf7QOrT/aiBbvrcJ9768gLcS9b07D7a9R+l+jJugwAa92W4GOI9dj
/JYE7D6XiwvuutBLEzRHGIYtpVc4/NA1dF97Gt1jcvBDTB6+XXkR3RZnMJ7PwZAVZ7A7oxx26u8a7Rgi
yHrzVu+cma9waHuWVwErkJx6Bk+/SFv+Slu89Jw86CcwoH8vbFi3FtOmTEPPXj0NKK1atTKDK8+9vLzc
DLakTMAIdDluklipazGK7KxAkSpfvny5kVaZgrZt22LNmjXm2fLwxQRSzyr31VdfmQhBmkN1iRFkywWm
3iBWyKhX05QWL15sGEzaQOZB5RVCKmmeoJGHIVi1pwbVPm3opXkmpWVfw/ApG/FS+wH480Pv4y6q93te
Gol7XvsFLdtNwz1vTEfTtlNxC8G+9dWpuP0VgtqW4d7Lkw0D3E66g3T3W3PRsv1CtOywEK0EYIf5uOeD
uWj2wUI0peq+s91qNPlwK2k1mrang/bmbDRjvU1eHoPmr4xAm3Yj8ULHyWjXcza6TliPiRuSEZflwMWa
uteKNVGT463F9oslGL7zNL5dlYpPVuei47pSdFiZh3fnX0AXgv7Dumx8MTUBveYk40SOy6wN6K8ueD36
GEOIfohm1xgehjhwQfoefoEeRfLxYwTjGbR98VlKeVva0ecwYvhg3uNdlhkzZoxR4RpY2XUBmJOTY34L
cHnT0gKKseVcWSDKHgt0ASZ1bwEkyZ4/f76pX2VUh1S8tEanTp2QnZ3N0PKS0QIK02TfreTRVDc1nZLq
ENOpXjGI6tm6dau5p/420s4U7efSx+irHXXfdtEHBCpdtcjMrcG0FUfx5YAVDOWo4p/qidZth1PqR6Hx
Cz/jLkpfy/em4b72U3A/maF1uxlo/eZMtOLvVpToh96fjfsp1fe2n4qWtL1N35mIv74+Fk3fnYB7GCb+
+YV+uOPV/rjr9QG465W+aN62L57rPAUf/rgAP07diimbkqiir+FUmRMF9Ak0R6ZJIDlnR4vKsSApC71W
HcEHU2LRaf5xfLPmPD5edhbtFp7FFxuvofOydHw47SC6zDuCUVsysD3DjgIKg02rg34vQdbetYgBULNe
Ig2KJEYvIWhwX+TgteXAt6P9fOONN9G5c2fjIU+dNsWoVkmcAJXaXbZsGXJzc2/aUkmvnCwBJbWuwZe9
F4NIqi9fvmy8dYVsAkfgjh8/XtiYiRXZYnntqksm4cKFC+Ze/STJVXv1Z0MEvNKcOXMM4GqfSPVs2LDB
3DOSHvVoC5MbYa8bHrvDvKsmadefstBRVEUGSs6yYcnmo+g1cgFe7/QznmjXF61e6oe7nuuOu57/Fk2e
+Q7NnumJu5/rgRav/IhWr/XHA28NQvMXe1Fy+6PFm0MI7k8E+kfc8UEfPPL5YLT9Zig6DhhNj30VZqzd
j00Jp5FZZjOzb3ICNdWruPo6I4Qsvw87rxbi571x6DhvA94csxlvjt+HdtOP4f0FZ/Dx4kx8vISgL83C
R0vO4NNFx/HJ7H3ovngP5hw+h1M2h6mrhOq7zFP3YQUBbs2k6cuZcobM31wh+Lou0AWgwJN0Pvnk4wTs
WTOgspO6J2rSpImRYIEoYFq0aGHyP/DAA8aea6Cl5lVGkisQevToYZ4lr1rl9QxJ+s8//8xW1ql3qX0x
h2XbT548ae6JMdU+la+pqTFHJWu6VnG7mFDtVPvk4Ysh1T8Dem3QAb+z3HzcznxSjNzv9zrpFNjh4uDI
xmkDIyO0m0xQzVj9/NUKHDx1BZsTL2DJvjRMjYnDsBkb8cOIxfT0Z6JTn6l4/7sx+LDHeIZ9C9B/7laM
35CIOfszsD6tCEdybbhQ6UOhI2Tiflkj8amAvsbfmTQ7x2x+LM7IR98tcfho3jq8QeZ4aeIKPD9uE9rP
SUeH+QV4Z95VvLckj0Dn4QNK+CcLUvDx3CP4cMomfLdgO9adyUYu7XcFXbPiQBUctS7zurRAF9gaQA2G
BlHndX9yI2wGU96yJFADJzuscw2+SNKqOFmq/PvvvzfOlJIYRRKt+1Lvffv2NTZXDpsYQSBKouWU6VmS
QJkI1a/nDBs2zNSjaED5RQJQkq4pVrVNzpjaamkniwF0T0mg6/nSQiLVr/je6lujaNiOULCaP5wcFh8C
zmrYy4vhd3Fw9JK9w8X7dRv3fZQ2p90NP0Mi8ZT4y2yl4g+9O1bkCiDf5kVulRt5pPRr1ThXVIPMGhdy
3AFcoRbR8qckTuCKSvj7MpnqHO30yVIXtpwvwYITVzFkx2l8viQBb0+Pw5NjtuGRkZvw5ITdeHl2Il5f
kIp3FuXgzRnX8MqUbLw+8zzazzyH96an4G9T9+LzmbsxKvYkYjKu4GLAR5MQRrV2soYq4QpVwBuwmYGy
gK5PkgQNjM4VU0viFDNrrls2WA6R5tGt+XTNsyufBl+Deu3aNQOY7msqVUyglJWVZa4nJSVhx44dOHv2
rLmu+XgxlzVXrvqs6zt37jTPtO4pHFSbFYuLkdRGJV2TarckXiZGz1Kb1X7Zc2khq4+NtBwa9FYh5KWk
B22Ihqne6M16XDUEuBJRSoVPa+ge7SChlxgMo5aS42eop00FPg4oH8/YvNb8vRQ91pzzqA/2S3qlqgW0
nC/Fz3pV6WQVVdu5asxhaPfT+lP4buERdJ4Rj9eHbMezA9fikf5r8ODArXhoxEE8OT4Rz0w7iadnncPD
My/i/ik8TmQcOzkD7844hzcmp+LlEQfQbsxODF5PsE8XIpk2SR8DLKNuKqGEu8KV8EWdsLvK6LsU1S2P
UtqtgbDIYgRJ0x8laQrlV1K4JPB1rX7SfTGEmMlK1jU9Q/a4zrzUlbOA03W1w0q6LqCVLJAtibeu2Wy2
m+XrJz1LSc8QYzYKBTz8QYeGkuCy19BzrYD+VolIW5WjPIq0UT+kjw34augAORCMUvUTbjfz6AVCfRZT
26C0Y8alTRYRfbSApoAaIq/Mjn0pZxFz4CgW7YzDoPlL0HHIfLz4w1I82YPg9liNh3utxaN9t+CZn/fg
6Z/j8eLok3h5chaeHp+F1qPP4L6RZ3Dv2HO4e9xFtBlP6Z52AW+NP4a3xu7G18uTMfHQVWzNtpk3VsVo
8uyr6LC5Q27owyrOkBM2tT2ivt1w4DgY9UkSroHRQGpQBZQGX4MrQCVhuq/fuqejpl1VTvXpaJHKCyRr
wJU04PWTdU91CjCVU1K91rlArA++6qhfp5KebaX6daoOlbXqUllj0/XHd/T2SCCq7UGaVtUrOHrf3Hvj
nE4eAQ7pD9hQ0kNRmoNaG2Wbks+jX1+BDtMUhFxmy7O+jKh9cvq2rHaaaJ98Hj3tvcdSMHfdZgyeNgdf
/TQcH/adgncGxuCFfuvxeI8YPPz9SrRhDP7IjzF4+qcdeKLfDrTuuRkP9dmOhwfG4YkhiXh+dDJen3we
7aamo9vSU5i48xS2nCtCBgVAWkQaRS9WeCJ1bTFbsLWhI+yFW2+2sp+hkF46CJqdLxbQOtYnAWkBbg24
3W43c+aKo3UuGynbKUZQUj0CSGWkrjXJUlKiWIPMR4aRiRg9ejS2bNliHLLU1FSj6qW+9SyBJG2xbt06
nDt3zpRT3D937lxs3LjR5JU50ezbypUrjfoXU2kZVSttMgEyDTNnzjS2Pz093fgLauesWbNMGZkIA7o2
8WtTvkjnCt3+TppHJytE9Ed76rYz689a+WsdBL6OEULmowQOqn16xHq9RztmtCWKg2VnHOznYAQkHeRG
fTc+nwOWXVyGQ5lFmB+fjckHLmLohvPoufg4usyNwyeTt+GjXzbjqxm70WXWAXSdF4+ey5KZ5xymH7yG
Vaft2HrRiROVflymo1mkGUV6GMFaH9W3PnFG6QvYjSbSnxYzfxkyGKJGovSS9I66+hYJ1zlA9UmAa1Cs
33LmBLDOBaDmujW5Ivv4ww8/4KOPPjKxswBXPjGLksI0rYoJLNUn5pDDJ89d06ly/ERffPGFYQQxi0iT
L3LAxFya2VuxYoWJ7eXEjRs3ztQr51EOpRZkFKdrilfO3vvvv2+eofBv8uTJN+ffNZegGTo5kD/99JNZ
BWykjwuJtBvVHGWHb5CbVPcH6sjF7LjeJQtyYPU+lrRARC8V6rXcAAcpQC3Bzpu/UMi8+taKh5yozuiN
2Bp99YHSJUsp2ZD61SdCS6iZ8ihMWd4ozthDSKVDd6LCj7SqIM7Rs7/kC+MKPfnrQXrgzCvfoJwgV1Ev
OdgGj95+IbP5I3ZqFxFNkL+KbaQq15s0Yli2zUPm9YppTV/U1jp1rCSwLdAl2TpqYUKbEjSvrhhbc95a
6hTQAlhTqAJEXrjA00yZpE5Jjtq//du/Ga9ZoZLiZg2+JC0jI8M4d5YTKAdPY6QNE4rJNZ8u717PlQOm
5VitjFlAarVs+PDhJvYXQ2kiZu3atSa/pmqlYcQQkm4xqI7SLmJYMZoBPciB/wci0ObIxssl0JehDFH9
690s84d1KfV6MU/Amz8nyUE131GhRJm/RcrGqEHUWWa7sJvXatwelJP07TliWCf51Ao2SqOb5c0f5yPT
6VMndX9Bzc8jVSwdMT+Zy1vLfJEa2DxFKK0pgI3Op8tvo+2kg+auRMhTSme0AlEtjYYp+9REEWol8+cy
CXKAjMXgwYSe+kCB9YUnJanWX4Nuee4CXJMvip8FosCXF/3NN9+gWbNm6NOnj5Fexd3JycmmPkmpBl+A
SR1rGlaTLpJKkWJ3LbRIWwhMqWlpD0myJmJ0X5sppCnEBGIsAS1J1fKsni2zIMZUSKiIQtpE4Z5m+JRX
U7SSfs0Iqj7N+GlSSf1spIH4D8SxCN1gAuuLxealPJ7rjUy9kKcvK+iov7uq13rqPmdNm0kGsXaKynEw
dpFl6CIRQjIAy/j4AH0z1U/nKqhdKvQJwvQJQrTFklR3pAqeaBXBIQUIarCCoDEsCjPIq1WgJ71Eu0y/
Q9+or3u7VS9QUFfJzFDFmz8tpjdq1B5qK/PnsQh23Z/Jou1me38Nuo4CXefWPctjlmOm2S2paDGEmEBq
V5JTP0kLTJ061Qy0mENJ6lXSOnHiRGN/tfYtAFWH1sj1PG2TkjYQ6L/88ouRfKl7MZpifIV/CuEEpiZd
xGAyJ4rtNUsoKdacv9qocwHfpUsXY8ulFTR3LwY13nvdIMh23yCKekhvp2iAJBFskAbIvL5DTrD+zrnA
1pubAl9Ru/aI6+VFwwwcMJXTAwJ6DYi/9ZcMggRf30zVlyA82h5tXvqjtojSD4hqbz2vU/IddB5tlFQH
mcIrH4KRgWx2mOcBMoH+OqL+qqH2nev7skEe9Y69+WtI5Fp99UEfAxDg+ssTxillHTeJDp75WyoNgK6j
tJQ8aEm8jkryrjWospv5+flGvUsda4FFyXL4dJw0aRKaNm1qljjFLBp42Wk5VVo6lbMmJ0v3ZQqU5NxJ
MqWSpV1k6zVFq99iAssZkzbQTN3BgweNWdA9Pe+zzz4zs4LSBFoDEIlBZXYk/fIDdC6GbSRHre4vJxMo
w+WUbHZWHdY3UXQ0wFNNG/BvXDdHgq+JG0m5SKpc9ajjIQKhQdRfbvSYz4zRyeLgu/RFKg048+lPW+tV
KA2+mMW8HcMwy8U2mA8k6EjG0/vwNQRT6/g1LGNz+xCgrdenugI+qn9GCNparTVwvTeuP7MVIeAyOWqj
8TWi+lNhIoWhPKrNvF7Xz7o+WqCLWSWx6ocFemlpqXGMtFNG6ltqWlIlZ09JnrfKKcluy+GSMyfVLrC0
yUJqWg6ZpE7ANW7c2JgLJXnsMhOW7RXosvuaupWZkBev1TPN3Wt611pwkb+geuXMyWSoDfLctUCjvGq3
PHu1RdpG7TR/jM90/kandV6f8y2yBseQpP7GdQ1M3bW6/Dq/WacAoER6GTZJH+jjevqenN50jaq8mIoA
6QVA/RYjKYrQ58u06GOmZgU+ga77lFndjhsqIj7rBli8L42k16csv0RvoFj3TZv4PNn3KLVJHVGKb5gg
i6z+6lxHSagGUKDrnsCVlGsgZUsFuqTHUuHKJw2he5ImhU1SuwLKSqpH9lcOlzY5SL3LkVMSUGIiaROZ
Ad2T3Rb4CsPERFqn1xy+NIVUu7SMmEH35TvomUoLFy40TCawlbQeoHqs3+bPblodVqoD6+9Aq+NSIzr+
mtRJga6jQjTlE5nf0gCUNkmZ1K/+hrn5+2+aE5DTx/xG0kl6ydH8wXnmr/ukKCWeoFikEMuYB55Lii1H
MajyqlNtYB0B1uHXixUkC8ybbQzVmRMdFaubdpk21rXFtIfn6rN1Xj+JCQS6QJF6lxoVCNIIVtI4WppB
06zy6q1dspIwedlae5fdttS6ksZSU6bdu3c3wMv5EuiayhXIkmSBrshBzpjUv+J2PXvEiBE3PXtJuupQ
eCZtoWvSKqpPUi6tIya9CbqVdG5d07H+oNQnC1iLfn1f5Syqe4X576RXk1W/zs0kCcEyb7SG6syEyLwG
TDJq2NyrYyAzfUqgLfBugnmjDfqgj46q3zxbzzGkPv2dLKZuiAScmFdOmlSonCypU4GlzRKaX9fAazFD
17VHXevosvsqK60gaf33f/93M1GjiRSFWtotIw9boZ0mdbRHXnkFujSCAJMmUSQgTSJGkCRL5UulC0yZ
AKl0zQ+orHwEgS6fQRIuoOXoqYxsvdohR1A+gUK5Opt+Y5B+TdYg/n3Q/pHqg2rRb96X/eZR9QkUfRX5
H+4LVB0Jvskrya9/X9cl1ea36mbbbpC+52KctRt5f6tt9al+P+uT7qnfOkqKJBkaZA22VHnz5s3Nvjap
cDlUWkWT86RVNUm9VLW0gOy+Nj7KBxBDSGobNWqEv/zlLwZM2XFpCkmvVLMiBKlnedcqo/uy/Vp2VVlJ
uBhBHr/CRwGsVT0xkyIF5Ze3LpAl1dImAl4aQqGiogXVJ+9fZRrdEPDfTJba/88mlatP1jX+w3DrH5N+
G6p34+Y18+vXv1Un/7Vu/ieT1Z7fShbjyEYq3tYEiI6aLNGGRaXMzEzjgWviQzGyPHFpAGkITdUKDCuv
wi0BKKlXPkmknDtJn2JxgX79+nWzhVohnMIxSaRCLeXViplsuJhNoZwkXY6fVtMEqDx41SutoPBQJO9d
7VNeAa480hxy7BpJhf0e6UHW1t7/TqRBEf1n2lY/b0N9VX06yu5pkKWCpe6VLObVb4FkaYT6SepW5QW8
leQL6LlKYiYrWWVVj+UH6PmqQ0k+gDWvr6TrmvOwkspZyWLS+kkmQ9qrftJzdK2R1FhDpIda1ND9P6L6
5f9vUEPPrE8NlRHVv9dQGQ20xRQWiAJNEiJv2bouAASSGETAihHEKLqmvMonVSo7r3qtOsQQyispVTmV
0bMFiO6rXuW1nqX6LGZUPWqb/AeVE9C6pnvyD1Rev1WvzrVeoOervXqG6tTv31Tv9TnbOv/PkuUY/Z+m
hp71a2qonCTCuv9bySprSavl2yhZ9Qgg5dOga/CVJFkCTPd1rmeJgayy1nNVr47Ko/Iqo2dYWkC/rXaq
rO7pXEfVrWuWFAtc1WHl1dGSepHy65raqDbrt+430kWLlKzMVmEd/3fIevD/LWromfWpoTIi9c06WoP0
62P9PBboVp317+moe9a5RQJFyarTuq7fVv5fP8e6bpVVOevZOrfaYP22rln1W4wjsp4nssr9/Xlh/P/3
q22C8fY24wAAAABJRU5ErkJggg==
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
RK5CYII=
</value>
</data>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

704
InjectionPC/FrmMain2411.resx

@ -121,361 +121,355 @@
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAH0AAABMCAYAAABAprgtAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1
MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADrwAAA68AZW8ckkAAFLNSURBVHhezb13fFfFvi7M+3n/
vfe957jde4uFooiI2HsXuwiWrShYwQJSpIr0jvTeewm9hk4IkAAhIQESIIEQEggJ6e3Xe8nzPs+Exc72
RN3nnns/+4x+Weu31sysmXm+dWbWSiP8QQqHw4Zqa2sNhUIhRKNRXgsiZMiDUOTvFI54EeX1YCQIfziK
QDiC2hAQiYDntQjURlgmCj/r8Qf8zOPmby8iUT8iYZ85D4f9CAZcCId4XddYZ4DXdQxG3CzL+2xDqJb1
RyMIhkOIgG3iebg2jECEhFpeC7MttTf7oHar/fX782vSPaUIG6z89a+r7D9DKiuyfqu8flt1/6vT74Ju
dVxkdUQNrxuAAAH2G5Drjn+nIO/7CbY3WAtXqBbeQAQufxgOXwC2QAj2QC1s/gCqvT7YQz4DWpgAikIE
zBsJwc36fTz38J6bTOQIBeHk0ebzspwHlW4Xavw+uHjNqTxB1uX38jcZicAHBRTrs9ptkUBQ++sDWp+s
e8pr/bbKiYLB4M0x+DVFbhytvFZ+1Wfl+e+Qfhf0sAaK4FmNjlKSQhx8dSQUDhCgOinUtbAhXtOgR6Lw
sX8eSpmbEu4ORQhIGNUE2haKwh4FXKw/QPKTalh/BQeoIhBEJZ9TGYygimUqDYVRwzocLOO+UUZU5fOj
wu+HnVrDwXY6+FwxkJ2agfrGSHsoWgeE+mANuvoUJpNEyRC1hv4RdAtwwxQkAadyOqou01eWN9cNsU4e
6/LV1e1nPwMBjgWv6fjfDnQ16NdEXWsowvMgOxnRAJoO8neQ52x8gCo2RPUbCnqYh53k7wBB8AcDBJuS
Ha1FuduPGg6Kh+c+PsxLquR5viOIzJJqHM2+grj0TGxKPoM1h5KwMv4oYhJOYFPSSWxITMbaw0nYciwN
O5PTTb5jzJ9eWMaypbBRG6g+GgESJT3qg5NaxkVb4omKMQUGJV7tZfsiQbafFGUfImQmqf0o+2E0AE1O
hNohrKN+izHY5zD7HxHIZB71OcTrqi/gpwSTQf28JxMV4HnI1M88uk5t5CMFqNn8HJOo6iMzCHSLsRoi
3fut9Hvl6tPvJauOfwA9QknWoLB3tMMUL6pm2e0I7bMGkEzLwaulXaX65gBH2eFowI2IiGCH2DEvM3nZ
cTelSNJcQ5ALXT6cuV6C/RkE+MRJbD6cjPUHT2DdkVSsP5GF3WmXcPD8VRzOvorEnCtIzM3DkcuXceRi
HhKy83Ew6yr2pF/GjtPZLJ+JDcmncSgvG0lXLiP1Wi5y7dWwU2d4+DwvO1blsVPSyYjGnpOiHHD+ruUx
wv7Uqo9BDgL7J3CDBDtAJpJ/IIaIiFnIuMZEyIxRgxjwCZqADVO7SNv55Fson3wUmrAgTZffr3x1g8+s
8N0Yl2CQPgvr18CrnvrjbsaejKHj76WGyln0z5TXs5WvkU7+TipMaeDARM2RnBullFCK1Hl1MOxjp6Sy
eD/s9yDqsCNMGxukjfV56HhJivgAUYXLi1OX87EpLgmLNu3Cml3x2JuSjpSL2ThzpQA5FQ6UeGnrmVck
JpEKl8qXCpd20G8bqYwVFtAhzHaGkGwPYcKhDPReG4+f1h/GxL2piDlN5sipRpGTJoUunKTfLi0TICDU
Ws6oF86Qg/XSh4jSABBImSjjcHIgfOyPX8Azr5Fw9a+WEmyY2kUGYevCLkT8No5BFY90QGmyPJ4wnHyG
g8xVzV5L+5Q4A7hQUELfQ46nVLtUfZ3KlwkQONaY61xgGu3Co679VlKev2P1H8kCXseGku6J/iPo5N4o
pThCG1nLo/HOSRGey2M3HE7uDUrlCXQOSpSdctpr4HYJNgLkcCLhVAYWbYnFsp37seNoKk5euoqCajsd
Ldp75pEmkFT6CWa1N4hqD9Wz6ubA+dh5N6mGolIRCKOE6rqIIF6kCo3NvYKpCRn4ZsNpvL88DR8sSsKn
Cw7hy7mJ6LHgBFYeKkBynhN5zohhFi/H0EY1W+m1wRVxEqByuHxFBIMMEHVTWoM0B1F4qN49ZHAfB4z+
NhldtthNgGvI1JXUgDUcAzuC/kqODeENMoogw1Z76YvwGfmU6lN84L7sIgyYuQSDZ81HSvYF9pdjRSmv
5djV2f1/dCJ1rjEVULqvaw0lXbeYon5567fIAl35GkrWs/8D6LUEvdZINlUaHbUwOxcIOsn9uk41xUIc
CgLi5HkQXr8DDk81LQGlhIAdPXMS8zdtwsy167H22DGcKChCsSSCD6U+gC1oh6PWQ5tP7qfql/p1cOCc
lBh5+6EIPX7mt/kjqCZDiI2uk+Ku2DF+Zxq6ztuFj2duxccrktFu1Xl0WJGBLmsy0HVRGr6YkYTvpyVi
2LKTWH/kOs6VOI2T5yF5w3LvXHB5rsPnv05d4GT46KqLFNQn9t1NyWYTYKfW8nhqOEBEkYwSCVZxPGy0
+2SSoI33Szk2HrJGnTa6RHOx/mwJei08iQ4/z8N973bC9+N+QWZxIX0aahYKicY1RPVf5+zVgWORwLYY
4reS8KkvyTpauOm3yupo/W4o/Q7oijPJUZRkUYihkKQ8cEO9O5nPRhtV6XGihJ25wvzXqZAznTWISUnC
4GVLsPTwfpx1VKKSDxLVkKqoOUq8VfS4y6lqaffpZXvdVOqUNBmDIOtxKIxjw8qpcksIeJYnin1XKjH1
UC66Lj2CdjNi8d7iQ/hk7Wl0WpuKjivi0XnZcXy/7iK6bc5E9w1p6L7mOPpvPIFB649iVEwcdiVnosId
NObCH3SgNuCkBqNkRR3UYA5qFS88VNUuhnteOl1h9jfgclDjsW00A6Egr1Nafey3nwNmV2jINpay2Wcq
A1iXUoGeC1Px+qB1aNl1Eh7tNgWPfd4XszfvNKqe1gYucpKHNj/gFyBSs3XA/OPY/zZYVlIeAWflrV/W
AtS611C6Cbr+sagOdA6InB0Cbuy2HDZKsZ9AO+m4uWm/fFTR8p6LCNZFdmpbQQVG7NiHIZt2IL6kEiV8
QJGI9wrp6ZbT1tvJIKyJsk4niZIcDNBkBKhinQWw28rh8VKK+Hwby+RzQOOuVGP8gWy8PzcOT43chrbT
E/C3tTl4f/1VvLk0A19sysSXmzIo8alkgEx03nYRX23LxHexF9F7z0X8uDkVP64+hNEx+7A24Qwyr1Yi
SDMCghb22alRbJRAaigfj1ThIT/Pjb22c3Sps+gPeF0eVNmqUeOjhqCWo0U3fUu1BbHw+DV8MnEf7v9i
Ge7qvAz3dl+DJwevxdODl+OhrwZhyaFjdC5p6thvBx1bF8fBOJWkfznoOpFqqQ96lJIg0GXffZSAECvy
s6F2qicXVZmP505WksOOzE27jG9X7cWUgylIs3lQxuvFwSjKqBVcrNNDe+VmOS9ts9dDc0CKUpWHaWfD
NB++YCVq6G3b6fBIKySX+DD7SC66LDqI16fFocPKC3hv3VW0J729pgBvrinF22uL8NmWAnRdn41O6zLR
cUsO/rYzBx1JH8Vm49PdOfguLhd943LQZ0MS+q08hAW7ziI9x01prqUZYSyvmb0wDZWcM0p8LdV2LY/k
AnicDtidXtjY1mr6FWrXNY5jmt2H5ecK0X7qXjw8YB0ad5mPO79bi/uH7kObkQfQetAOtOixBG8NX4y9
2YWmXDGFxSENyXo8HnnxfwemPmi/B5aVlOe3QNdvS3j/EHSpctmYiOJyFWQjjfcu0KmSPT6fUWsu3pPD
Y+cDSsm5uQ435u5OwMCVu7EuvRjnnHS6qAGq6GxVsmNOeqqO6nL4PQ7WVRfqBdRpxugRRgA+L50rp+em
h37ZHcKuS5VUyyfxzi9b8faUffjbotN4b3kWPojJxYcb8vHB+ut4d/V1vE36aH0huqzPw5fbruLLAyX4
7GAxvoovR+f4MnwaX4ovadM778hCj9gsDDuQhyFbLmLa9jxkVcrLZmTBPtrI4AFKtfoZIQPUkgk1bewi
k2r2T4wtyT5eEcCyM0XosmQ/Hu67AHd0XYKmPWLRcmACWg9JRbNBR3FX3wNoMzgO9/ZYiffHxuB0TRgF
ZPgSjq+LY+bl2GieI6ToRsDwOfVBs4D7vaRyFnDK+2uqf72hdBN0hRKaZao7EnB2XOo9xJuKc+VJe9gg
OxtZTU2ggcitcWPJ7iOYtHoTErKuoJihVA3VchUZxEO1H2F+l4+20ONCwOuEz+6A3yF1zo4xbzTg48CG
jforJR3JrcKkHSfw1czt6DAlFh/MPYKPlpzEp6uz8M7is2i36Dw+WpOHTuuv4cvNRVTr1/DZulx8vZXS
vqsUX+0qQec9xfhyH8/3V+PLuCp0PVSJbgkV6HuiAn2OFKHPjlwM2FuMaUdKkFTqM88tpFftoPmqrdUc
P7WQz0NwqN14T57/eXsUs5Ly0XHKdjwzZCnu77cIzfvG4L4RR9Bi6DHcPZyAj0jHnQOScWefw2g97BDu
67EA/VbsRAXL51NTVHH8AnRKfS4aNq07cAyjPEYlaDfi9n8GdN23tPJvkaUFBGxD6SbotWqApJpoRGm3
NI2q0EwTFcTIzG/X0JZrkkWzaSWeAJbvOYqpa7cho6SUFlqLHrSFdIxqo9WkMkoMvVt/EY8VrLOKKp4e
Ph2oGjpvctQqGB5dpWbZU+zGoN0ZeGf8arw6dg3az96Pj1am4sPl6fiY9Onqc+i8/hK6U33/uOkiem44
hz7r0tF7fQa+X5OOb2PO4NsNZxm+kbZlodsOqvO910lF6LU7D/3ir6NvYjH6HrmGn45dx08pNegbn41J
xy7gZJXDSHEV+1nhtFPlKzKhFqCUx57Nw6iNiXh31Frc9c183PbdYjTrtw4PjInDQ1PS0GRUCu4g4I2H
nkaz8bloOjIDzSntj47cj8f7LkZMWo5h6ErWaQu6OKbUlh45iRwt9j/Mvsuui/5Z0JXq522IfgtsK90E
XWDfJIVkaiBteoAN0PRptc9N0KkKWei6L4rFOxMwatkWJOWXoYplfCE7Q7oSuD1FpEIEAmUsWwZPqJzx
cTkqSKX0kCVZ10gpDi+WZlzGoB1JaD99B16ZtBcvT9mJdxcm4L0lJ/D2gkS8NesIPl16Ct+uOY0vlx7D
9wsPos+ifRi6Kh5TNx/FzF2pmH0gE/MOX8Cy1Hysoupdc6oMK9NKsehoEeYnXMPshCuYTN9gDGnk0cv4
OSkbfU5ewsCT2RiScBarTl9CaqUH+XRMi8nI5fRPUrLzMGllLD4ZswLP9luKu7svQ5MBu9Fq0mm0mngK
TUecwF+GJOHPQ1Nw19iz+MuI07h91FlK+yncO+gQWveOwWs/L0dCQZUZLxujAgdjfE1ARzWnQZNWSzVv
pmUJkjRifdD+CPT/aroJuqTczDPTlgt4f4QhTETzVrRtvO4kYDYyQSE59Qw94JGrN2DtyQwUUwt4yVjS
Ct5aqkl64+qkk5rCRnVZwbDMRi2gLheSjjqcmM2B/iZmP9pOjsEzY1bhlfEEe3oSOixKRfsFJ/Dm9AN4
a+o+fLw4CZ0XH8PXC/ejf8wRTN55GqsTc7AvoxDnC6tQUONCodNfR74wrlMlFTqjuEI7eqU6iOwyH1Ly
XYjLs2PthQrMPXUN49nmgamp6H0sGYMPn8IvB1KxLPkCUkvd1GCaLgYOnKY56TEcbb76BY/1WooHBmxC
y1En0GLiOTQdRYCHnsJfhqeg8ejTuGdSJgFPw60DE3Hf8ON4bEQcmn05F9/MizP9dTGKd7ir4XLJtXUg
6KlGmI4ubaaRcJnP/6yk/1fTTdBDtQxhogymDBFqqreQPG3acw+B1fRiFQfkYEYOxi7dgD1nrqGYFRSy
wYXuWpRxoKtpo+1kEjlkmk5VNyXVO666MPtYIfpsPI13Z+7Fc+M247lftuGFuQfx9qJj+GjFKbwz6yje
mbQT7Sbtxgez46nCszCGtnd2fDE2nSzH6QI/ygisi2pY07NsEk1K3aSIfA1G2/T8GQWEPWYpVVG/8kT4
j9pTzGu5tN0nXS5sr6zAutJyLMvOx+TDOZi8Pw3rTmUhh+ZLkple4cfHI9bhiYGr8czEY2g1PhW3U6Jv
obP2P4Ycxx1jTuC+cSloMiIJLSecRfORp3Dnz8fw5OhkPDP8MB7+fhFDuUzTBg81Zo23mFqQOi7iQtjO
0JCg11Lla7VOM5pRqvl/CejRWnrqN8hsZKDHGaDUmxCN58XuAMENYlrMFnQeOAYHLuRTsvzI8Xhoowk4
G55Pkc+0RXA0P4yVx4owlB541zkH8ebILXh+wHo81p80cAOeG7UHr0w5ipcnHsZL43bj9fHb0H5aLH5Y
cxSTEy5ja64dqeSaDGcA+QRZTqMHiu+1xk6AyYwOj49hFzUJY/ui6lL6HA6GkAEOND1k5q/0eqgJnLjm
8KGAbc+jSs0hI2cxesggI5xhnnQy8TEK3cESN7bQfqdcrzGMXMDrvRceQEuC12bkQbQYewJNxp/FnWPT
cdcY2vLRR3HP0ENoPvwomgw/geYjkvHA2NN4aPgRtOm1Ge+N34VjNQG2W+Gth7F5FZmvhmG/HWE3gfcr
/tfchxZpCAD9qX856Nq1EqAn72PD3Apdbgz88Zwr6Dt5FgbMXIR+02PQafgCfD52EfrOXIe+M9bg6/HL
0Wn0avxt2Hq81nc5Hu02Ew98NR1tvl+CZwduxuujd+OtsXvxyuDNZISd+Hx6AnovP4HxO05hzel8pHCg
LlFFy+7bKblalpWGcVAq7F4342WaDq8fTtpdZ5C+BtvnDflpfoImaiglqNdcPmTROUu8VoQ9tM3bMq9g
85kcrKENj0nJwaZT1xGbVYGDuQ4cKfIiwRGg9IdxMK8Mp0ocKCXzyhQNXJ+IO75ZiBYMv5oOT8Jfh51E
MwLbcmwa7qfXfu/QONxDkO8czPORx/HI+FNo1TcWD3ZbiYFrzyCT0UkpIwJ7wE1w6cTVMnIJUL1T22hp
VnsSTHiskO1fJelaSYpYFPKaNWIf7bSbDZDkXCitxPT1mzBr216klFVj7QnGvRsOY8Ca/Xh/1DS83LMv
nv1+AB77tg8e6zYQj3w/CM90n4CX+05Dh1Fr0G7kanQYuwzd5mzH5O0p2JpagKNU+2lFLuRRomVPpaqd
IXr1DPFqXPT0nTZKs5vtIPP5g3W7Y9g+OxtcQUYo1iIHdfxVapiEQhc2nS/ECqrpJWeyMSP9AqbTFC28
UI75GcWYn1qIRSklWHnchi2knWlObEitxOK0K9h6oQA7MrKRWVmNMvZX8fuATUfQrPdGPDAhDc3HpOKv
dNz+MugwmSABjxLsh4dTEwwjjTiM+4cnojWBv7fnFrw8eCdiMmzIYx1FIfo2IbN0RKeWfQkRdEq1S74S
/SYDMmP2KLXXvwR0TcSYxQDNREXpxNHW2A3V2cftJ05i8Iy5OFdUYsKQfKqu65SuS4xBL9gJXmUp9l/P
of2+gHXZGViUloxVp85hXeZFbMy6hMMlFcihE1fiY9hHztZOFxulQbtn7LS3kuyA4nYPJcJn50Bohoz6
pZaKnQ6hPWg3zqGdz60iFXAoL/hqsTvHhmWnCzHraB699ByMS8vGtLOFmJ5VjKkXyzDjbCWBd2J1TgRb
rio/sPNiLbae9WPHpRA2Zhdjw7lcxJ7PRg5NglbKtEYwZEcibuu6GC2pwlv+ch53js9ieHYcrYccwhOD
96HN4D1U74dp71PQZhSvD+S1Hqvx+aw4pNuDRlvYCLAmd7QE5aEpEtAaSxfVu1d7FQiw2ZVUD/B/BvT6
eX+Lfi/dBD3iZijh1jp4CJUcdDs99jIfbWYwgGK/H8OmzULMtt0mhq3whcyMm4uFtXqlRYx/JmnlSp6+
kypNA2JjXZrhC0TlRwQQ8DLs89LXj9Aa1tIlDNjg4zVXyAMn89AqopR1ZDoj2Hy+DDPjL2Lk3tMYeug8
JiTlY3rqdcyiVM85W4p5WWVYdLEGSy85sTLHh425YWzLq8XO3FrE5kax43IQcQzQ916tIgPk4dCVAmRU
VaOATClJH7YzEXf3XoxWow+gCR2328ZewJ3D09GSYVrrIcdw37DjaD72PNV+Ku4fdxKPDNiJZ3vOxcLD
WUYoijmeQUq0W1PYFCStWQTI6EH236tNKTxKwrVTp5bjUB+wPwJd9wXcb5FV/rfAV546SVfsSIdHu0Xs
QS8dszCqyABlbGhK3lWMnjkHSWnpplCVgyBQumWP3G433HTofDc2CASlLXiunaxhqrdwWNuoaNMYn/q9
VG1kGDvtsYM2zUbSZscgVTi9G9o25vXbKOkEm2W8Qap2gi3vu5ztP+8KYvulSsxKvIKxcUUYHX8dwwn2
sJPXMT69AtPTqzEvowbzz1Zj2flqrMxmqHbZS8B92E7acyWMPflR7L0Wwb7CMOLLojhY4EB8bilOFlbi
UpUdJQRIs2g/b05Eiz6L0HLMbnrrR/GnMZm4c0QWY/EMNB+WhrsZk985Jgd/HXWO4dxJPN5/C76gT3Oq
qNr4P1o9DIZdNJPqA32kqEDXRtEoVT2BuwF6lOMsAP5Z0K37mnnTsT5ZoKs+61pD6SbotV5yHClEUNwE
o5ycqfDlmsuPRTv2Yta6tShzKBCj+hPoTi/ljqGZ2eQYoCMVRTk5toYmwUWgXAz7XIwCnAyjNMXpJCNI
ql26z6O7ls4Y2d3PjtfNTNHO+Vxwel1kCj+BZl7WX0qpOF1BSb1QimmHL2HY7vP4aW8OfjpShiHHqjAi
tQYjzjgw/qwD0897MPtCEPOzfVh5yYO1eR5su+LHrqs+xOUHkHA9iKTCWiSVRJFUHEVyaQTHin04Sb8i
s9zBGD9AKY+gkGPVY8lh3PvjSrQcfRB3UJL/XaCPPoW7RiXTWz+Ou2nDGw87hduHpeCeAXvx6I+rsOhQ
ulHr5T7acPbHo+VajoW/Vlu863bkaGXSR+eU3a5z4DgW9QH/I9CVlEfAWXnrl7UAtYBvKN0EPUIpFPk8
mpBhjE1HTmpKe9oGzZyHbceOGnukBruoFTw+qmMCbaNm0EpapUBnJ6p4XzZawJJ/4OFz3QRODqHssdbh
3SQt2ui+j/eVt0Jr6DQvUv16bhHryqgJYsv5Ykzcl4kBOzLQg3F+39iLGJpQiuGpTgw95cfw036MyHBj
UmYQM7ODmEW1vTA3iNV5AWwi0Huu0TMvDCGxMICUkgDOlAaQXhlCenkIZ8sDSCsO8prfgH6d/onY+ky1
Dx9P3I57foyht56IxrTbt4zLoIpPpnQnoumog7h3dAKa0cY3+/kQ7u65Fu+O3oIL7ojxB8o5Nm4fNVtE
a/DaP0cmoDlUeKbVNW1AESANSbno/wTo1r2G0k3Qtect6g9T2nyUslqU05arA7vOZqD3hKnILikzoNew
Q0FKqLb2uEhOSnc1667ivUpKSRV/CzQHj16tRRsV7oOvtm5fe4ASb6iWJoD3XGSucoZZVQTbwefKnubx
QRvSCzBi5yl0X52I79elYkBcAYYkVqDfwXL8sLcU/RNdGHqmFj+nhzDyjBuTL0QwKyeKuTlBLM8LIyY/
gm0FQRwoClHC/Ugp9SGjwo/sag9yanzIqw7iSpUfeZW1uFTuR26Fh8yrUJF2PrcIbYevQMt+69GCIN82
LgV/+iUNt5LuGJfAWD0e94yk1z6KXvvgvbi/50r8sv+S0UzSdG6p8CB/kSLafCJVH6Dfwj5GOHbaUm1m
Ps2xDrz69F8F3br2h6BHKXbRANU7yUn7U81CZQRu6f59GDpvad0sGyspd5KDKbkexsR2MoiUvJPgOTRV
y3DKTRXmpXPi47k3ogkTD9WcixLt4sPciNIpi0Ro62XrvA4ThlVT1WmHzDmK/c48GybF5+Cb5cn4JiYN
PbZdQK9dVwh0AXofqsKPiQ4MSHLjpxNe/HTcibGnnZhyzoY5mS4suhTGMkp6TH7QAL63yI+j1z1ILvFQ
qr24XOVDMQEvY2xeSQ+7muFDjS2KYjJDKa+5CXoR2zHjQBqeGrSEDttu3DOGapyg3zohHbcyFr9tbBKa
khHuHkGwB23D4z9vwCcz9iDdEzUMqy1XQTJ0Le14bVhv+8i/8dEGE3Q5btSEtRwvAaKB1/HXJFB+KwlM
q5yOIgtwnf/nQPdT1/r5UDaqko6VVHEBQZ26cSMmrl5npFzrzjVU7QFNjJBs5F5HwE1p1lq7nyrbSdvF
jhoHzs1rNjp1PLI+P53DAJ0kebR+cn9Qu0tp88wSLdu2s9CDGYcvYsDGJHy59DA6rUxFz51X0JcOW899
hfhuVz6Bv4JBicUYm2rDmORyjEooxKQT+Zh56godt+tYlVmJmEt2bLlUQ2mtQsI1O5KK7EgrsiG7zI5C
mxsV9KoraUZs9FWcLpopglXjpPNK6ZTWyqgKoueCnXjox6VoPeoAmo44ir8yTv+3MWcI+mn8dXw67hid
xDBtLx75aTWeGbAcS1ILzIRSBX0Rr6SZDmitv5r22kXtpshEU9taDhUoBIPmT6CEqAm1rq6jgBDVXxpt
KFnA6lgf+F+T7v0h6CEv40lfnXdZxZhSYOQ5nRi9YgXmbt9jMmvxwMuBcdIMuGij3GQCt9bOtd0p5ECY
wJpXmqS+OQDa6uuj5rBRqhxyEOm8aapCc+c2dq7Q7kdaoR2LEnMweHMaus7fh2+XJaDbupPovi2TdAE9
Y3MwYE8+Bu4pxE+7LuGn2HQMiU3D5MOZWJSWj5iMAmxUnH2hAHtyShGXV4mj+TYkFzlwptiF9FInMiuc
uGLzosThQ43bBZuXEYf2uHmc8Hi9ZuLHSR/CLLZkV+FvY1bh3h7L0IaqvMnIY7hj7Bk0npCJP41KwV9G
pKIZmeCRMXvxxID5+GrWJpx1+FEu0xQg87PPtUEntSbFRhtLqcbDdOrMgpbAMPvpQzekXQCL/jEEs8Bs
KFkS/M9SQ+km6LW+KLzifDbKycx6rSijtBT9Zs7G8n0HUUjdV8j7LjKgpJ78a+JzhR/OAL1uTxnDMr1g
GDDlHSyv3adO5pOdrOCgmHlt5s9yhLH7fD4mbk9Gz7nb0HHSenw1Zx8l/BC+WZOEb2NO4Zv16eiyJhU/
bDiDgTvOYVhsFibsO4+5CRexNj0f8QUVOGPzgT4a2xpBGTVVCaXIxkFRyFXGdhbzWaUBvSrF51OabPKc
yawBDrq8azfbrTV+t8+BKpqrIkri6PWH8GiP6bj/5614aNwJNB2ZhrtGn0OL8Zfw58HH0GRoMtqQCVoN
3Iw3hy+jk1i38bM0SG3hF8g+SrmNAkCbrtlNSrq161Wgawq2lr4QvTgCWLeMre1pdevqDQPdUBL4v0dW
nobSTdAjLnJYgJ41B8/FRipcO5l/DYPmLcSGxBNIy7uOxHPZSDx1FsfTzuHStWt0wshNzCcm4Lgar1/O
jEDWQFxhH3KYIanKi215FZh5ogB916fiy4Xx+GT2fnwwIxYfz9qFr5cdxpcLDuCzeXvw+fy9+HrJQfTf
mo5R+7Jo3y9gQfIFbC8sQZY7gFLWKQfTTo3hoLkIhJ1UiTUI1TqphQL0J6im6VNocqmKQChaMJEEr3sp
bQoRtaPVSwkz8/ZRN8oCNmOPd+SV4fn+M9Gi2zw8OZGAD6LDNiYddw4/hz/1OIInKe1Pj8/And234YXB
W7HmdCku0WPXDGEV6/MEtPOGpk3bpn2UdrZHWk+zbhpkOW56MbOWTjLYFu0/1KtSmocXYwgkSedvgWUl
Uxfz/R79XroJeshJrqSDpt2aklQ5bocvZKMvJf3o5Xzz+3xhOfYmJmP15q1YtWEbNu7eg3WxsdiXlIIT
2YXMfx0Jl0txKLcUm8/mY/rhXIzZeQ5dFyTi01nxeHf6Lrw6YTteGLMTL004gNen7EWH6XvRieB3m78T
A9cnMH8q5iRkYyvV7NESqmat7hGoIg5sDcKMCgiU4l9JaEB70sli0RqGfzWw+Z1w0sS4NRPGgXOQpLLt
HAM5oXI4FUJqLcFOibcTpArmrdSULjXCD2v2484u43HfoE14YOwJ/LXPQTQfnYo7h6ageb8EvDI+FQ/0
3oKW3VZh+I5s5BI7MbhMgya05MtEtbGSmqOWEq8t4xGCLhC0fKoFlpDA5bPZcIqiAJb9/sew7Y9S/by/
Rb+X/gPoWsGSahbIB86dQ/9Zc3DiWqnpXDl1eSkdoFzG7kdSz2Px2g0YNHEivh40DB/+OAZv/TAOr3cf
izd6TcLLPSfioe9G4d4vhuPRXnPw5MDleHLQKjw3bD1eGROLdtOPovPSDPRZn4Vpey5hbdJV7M+vxHGG
Tuk1AVyl+hAY2sZUrdBQ6pmDWhOyMZZ3IBRlOFSrKU4nwa/kNT8ZQm+o1E3qVFLyiuhHXGHsXUCki9xR
FPFcL1NW+/wEKUiVHkA5y2i71OKUK3isz1w0770ID42Px20/xaNxf9r0ofTUSY8PPYQn+mxA884z8Om0
g0i20eFlOTGSkw6tL+Ah4HZEfFVGyvVWkPYnmH2Gxo5TkxJwvdkaDdHG055TrlmDPPU/Bvq/ksQEAlmk
VA90LepTvdOZc8qT5c3DWRcxcM58HM8tMJMWVcyo5U4f26imSm2WsROJF3IxZ9N+DF9I2zxiFjr0m4L2
g2bhg1FL8P7IZfhoEsOa6bH4Ys4BdFuSQKftNOYlFmHHNS+SasLGe5f3q2eI9GIAfT8+S0cNql6GZHQg
CVe8r7V1qk4/B9pJT9lO2yhzpPzlZNx8VxBnSqqRlF9Bh86GjDIHLpGZLlW6kGOrRIWjhvXUhVh67m46
fm+NWY0mX85GmxGHccdPh/HXn46h6ahkNOnHeLzfATzWaw3adB6DTqO20tlz0XGTHec4se3a3i01jgBN
jaMKQS8ZgKCGyBCy4T6OWyjKPArfIrxHttSmFULBWgR4w6D/Wnrr0+8lAVo/r34LaJHSTdCjtE16Ec9J
6XBwoLU+nXw1H/1mz0Ns6tk6Oy21z0q8LOBheTttZoGtxmgFJeUp8FNV1riRzhApjR506nU7TlFNZ1QF
cIF+Qx45pph9lbPlhofdD/B5eqmQ4aBCQHrSigiC1Dh676tW4U6EMS8dowBVZiBCqaKa1PvuchQZZqOA
vkh6cQ2OZOVjV0Yx9jJ8O3ipGkfyHDiW50bKNRvOlVYgt9qGMhef5eJzyUSaRdx5uRJfztyJZl/PQLMf
N+CeEafw/3wXh9tGZeLu0VloRga4t+92PPD9AnSZsQP7GQpKwos1R++lpuHzwwRUO44QYvTisXMcGbJp
c6lsNcdKEVGI7Q6T9IpYhKFtmJ69JmkaSgKkPlC/pj+y2Q2Vta4pWb/NNGyQpCRQq2lH00tK0Hv6DMQc
TjIqU/vc9TEBvalh9zAEo1Oil/20icFO0FwcRL3ZpffVlF9SK29fNlRz6RwSBOSx0u0ze/Bogz1eH9xa
iGG87NDWY0pvkNKLkIthD+0jKeinNWdY6GNIpHfebbLxNIuF7ENSiQexlLy1GSVYk5qL1aeKsOV8Oa9V
MXxz4niBF0cul+PU9Qqqea0F0G9h2xU2nmdM/uXMA2jZZRbu7rEeTQYcxJ0jMvBvA9PQeFgGmv18FPcP
3kvHbineYHi2/1IJGUVOm48mx48aMmeI5sTPKMCrff1sX8RH5mQoaGw5QZfzFtCAq9+kKE1SmKYpTK0l
W95QMj4Ay/wW/RHoDZWXxP8H0PW2iZ+cm372HErsTqMuz5VX4Of5C7Fk98E69S7Jon3S5IZey9UUq14I
9Eb0xgjVL1Wrl+reTwnVLlonK/bRUYlQEuq+VKH4Xa/20rPVK0XyvMnxHkJg1wwe7bJfrw/TE0ekGmFv
OQfRRnvoJiN4EeSgiYEUjh0rtWHd2auYEp+DmScdWHYhgOVZVVidVYaNOdXYSonceqEIe7OLqOJdOFem
FzPkq9B5Yh0pFyswcN5BPPTNYkr5UtxLG37nkBT8WcSwrDEl/L5BO9Hqx1V4rPcCTN+VbKITRQF69Tog
M0cvXJIbZFzupYTrrV3tSYiwrXo7yMTfHAc/y4TJ6CIqez6fDG3Uex0IVrIAEmi/R8pTP399stR5Q+VE
FvjK08hPENPP5aL34Ak4cSnPSOtFlwvj1m3CmFWxRnVLam20rzatlLBwbYj2Sa8AEbggKzTSTJBltbxS
b7wf1GwdB0bgkiWMqvYF7PAzltWHD6qZ/xrtX5EmfViti0zj5f2IS68DUxO4bfAH2RoyhRjuVFkNNqRf
wpRjZzDyyHkMT6rAiJMhDE91Y0xqBeZnOrD+qh0bsi4j5lQW4ul0ni4rQ5HieNavd+uO5pThq7Hb0OrT
eXig+248ODAJTQck49bBx/HnQQn4a/99VOlb0fKryWg3aD4W7Ek2n0QhnObtU4/ONYgce3nlZmOjBprg
msHnUV+sMOvkAkJU7z+WIuko+nuygFESMNbLCw2RwNOxPqAqY4Fu5ft1PaZ9N6hRlaMWP/SbhifafoT4
0xcM6PJqF+6Lw4+T56BSgLCNFW69lULOJaAeXxnBrGbnHSSqNoJoFhUMkYvZEK0khekt61s0tZqTpjMD
UlRAUrIDZAg71aNbEqM4mnbRTXXu9jL8kQ2kdFSyqlPFbqw5mY/xu9MxcFsq+u/JxODDxRiS5EP/RD+G
JXkw5bQL805cwaxjGdhw5gJStVxKr/kabbgc03zq9Bl7zqPt9zPR5pO5eJzxdus++9C8J214r3jcOiAe
dw2mx/5THG75ch6e6bcQy5JyjdNmVh7dNXBQW8kxc/sl5fS/NanCviocq78ZwpImi6zrv0cWeL8+t0h1
iqzrFsj17+tZui+Af11ev+uXaZSc6cFDL3THPU99hNjki8bmaeVsf1YWek6YhHOFJabjVTQB2pGqvWse
r+bZNOdW9zpQmI5gOEDuolTp2y76dIk+7RGhZNRy8DU4Ub3dofCFGiNCxqklyCADBLzVrI+xN205gzGU
kuELyR9nqgNYk1GDoXuuouvas+i2LQ8DD9dgYKIDPeOq0S/BRbJj9LEqzEqpxorkHCw/cQapZRV1HjYZ
UFoqs8aH4RuO4pEe49G86y+4p9s8szp2X6+tuLPrFrQg+C0H7cXt369F8x9W48WfV2BLZiGukeHkwFbR
Zpc7a9h3zUQyymH/wgRZW50sYBsCSdes+39EVl4dLYDq36//28pb/3nWdYvq52uoTKMx8zPQ4pneeLBt
N8zbmmCsjfaLnS4txuBZ07F23yEz7eow040hOmFSw7SztMEBSqj5NhzVtHaHWEe/XlYk6HReeY3eNjWB
m6SpXjc1h5daIEpvvZZmJOSspj8g+07vns+NK/Bhxokq9N6Wi0+Wn8fH666h09ZidNlZju5xDvQ45Efv
Qy70PVSKfgdyMHxvBpYkF+FokQ85bGMp7b/Z/cPn7s7IxdfTNqLVdxPxl6+noGkfOm39t+H271bi3u+X
4bF+2/DckL24j+d3fToFHcZvw+bscuPH1EjTBOls+hzsU91GUS0Hm4UVgq6PJ9Qf1PoA/FfIqqc+NZTv
j6iheixq9M436/Dgq2PxwIu90HfCSmN1KtiJXIcdM1YvxcT5c1DD+NNPQCrdAYZ2WhPXbBTlXFJL2xwl
uvpggY8Ono9Hedrmc2Ksi9Eavf5ahmX00tkYreLJw5drQ+SNzVZ9V3lx5yUn+m/NwgcL0vDRmsvoFFuM
jzYX4osdFege70XfRA9+OFCNrtuv4LuNqZiecgn7GSKm0ykoZAwlDSXAyvnMA+eK8emIRWj83kDc990s
3NMrBv+jx078z9570LhbDFr3WIxHeq5D009mofmn49Dpl92MBEpN/F7NdtZQTTIgo0PG/tHc6AtarrC2
fMk5JUOTicOKyZlPA2kNtqTSsqM6b4gsFay9CVZeixoCTHkbque3qD4TNkSNWrVfgDbt5+C2p3rjxc/H
GxsotSgv/mD6aQyfPArHziZRkQdR4naYKU+3Zr+krhnCwMOcLgdqvSzpZ/hCyTBHxtdhhjJBvd/uoVag
lx+ketf2oaCJAkIoDwJZHOXtZ22Ytucivlt2Am9M3Y8PVp5Fu9Vn0WF9Jr6Pr0Dv/aX4alU6PpmTgEHr
z2PO0WuILarBcZcbFwmMXiMS4AVknl0Z1zBqaTye/WIMHu40EY98E4MWXdbils4b8b+6Hcef+iTTWTuA
p/qtwD2dJqPp+yPw3YxYpFYETd9LPfoqBfvG/zSxYnPVwOOiKRNDc8BsDNnMhwXI2BpgAaWBtFRofQB1
7ddkAftroKwyqstiIIt0v6G6RA3d07Vf11GfGt3WdhZavD0PtzzxE+59exjOVADXqJoFfKGjBsOmjsay
bavoQcsp0tcYgqhgaKKvS2j7NBSyKLzy2wmyVpl4ZN6A5qQjdNioIr0EWLtptUAj9W6nU5hVGsAiOmQ/
rDiH9ybtJKCH0GnJMXy05AQ6rk7Bp2tP4OOYI+i8LB7dlu7DsI2JWJ6YjZN5LuR7a42zqdW7q6QLlLrY
K6UYtOYInuoyB03eHYcmH0xFm69W4/GeBxmPH0Djz/egWY8TaNKdMfkXMbjvswl4sdd0zNh90kz9ym9x
yEn1u6h8tDuYPQ05Tajp0zIsY3NNJGlGT157OKgBrhvc+gOtY0OkPBYj6KhrFtDWfR2tOhqq99d5rfL1
f+v4W2Tla3RH26lo/vpM3N12Am557HsMX5ZobGsFIaK8YlXsFvQfNwz7Tx5HAVX+5YoKFNOua8VLIMrP
tlPyK2mXKykZVbKpLCdXz2wWJEllXmGZk+VebErJw8RN8ei96BA+nX4Yr03ch3d+2YFOiw7jCwL8yfxd
6DxvO75aHIu+G+Mwd99JbD1zCSeLa1BIX0HMKIkUZXtdWJt+Ab2Xb8Mrfefhno5T0OT9+Wj59Tq0+mYX
bvt4Fe7+cgvV+EE88O1ONPtiPW7/aBZafTkbP8xPwI4LxfTy2Vaq6RInHUkyJxU3gt4yOqVqORmbIaiS
zJ7O5MzpfytJMpU04FLXv5U02ErKY53XT9Y1Ha06BXb9Y0NJeb1kSgH6z6ZGrTosopQPR5t2VIXvT8AT
fxuJ+IvlJnSTfTxztRDj5i7B5KUrseXoYaw9eBBbEpKRkJmPHNlStk9ff5LkaYpV8XA2n59GVJKo+Xde
8WI+w6n+647i89m70X7cBrw5fC7eHLMO7afF4eXxcXhrzEa8M34NOvyyHF0Xr8PIbQew8exlZNQ4cdHp
QQk7pLYospCfoBm5dYcvoM/M9XjumzFo0mEgmn08Ha2+Xo97vt+NO7pux+1dduKBXofRsutWNP9sORq/
Px23vTMYHYYtw8R9WTha5TPtVl0Z2VeRl3cFAbeNWquCpqmK5qoCFVezsG3TOuzctRt7D8bj4PHj2BN3
CAfij+DQ4QQcOBCHhIQEFBcXm0EXAGVlZUhJScH+/fuxb98+JCYm4siRI4iPj0dBQYHJ46IDe/ToUcTF
xeHQoUPm/MCBA+b86lXpLrA9edi2bRv27NmD2NhYU4fqOnbsGA4fPmzKXLx40eQVo6isnnfixAmTT79V
v9p3nO3Wb4sateu5Gy1enYimLwzDEx9MwW2P9cI7XacgrUjySiCpljcdPopeo3/Byp3xKPFHsO3QCQyZ
vgydhs/AWz/PwoejVuPzyZvQdf4efLdoH76YuxufTN+GJ/rOwKN9ZuLBPgyTes1G697z8UC/xXhy5AY8
NywGrw5bhy9nHcTwLRew4Oh17L5QjWx6fqUUpSJKXzlVqTEJJO1h23+xFD/O3EJ7PQoPtBuCB98Zi9Yd
ZuDhr1fhoR8O4N5v4/D/fbgF//5ZLJr+cAi3fByDu75ciNs7jkWbz4Zi3MbDOO+KoID15ZPS3OxLKoHd
F49Ll7IIOgF3Uy+F9EHEahyM3Yynn3gMTz71DF55/Q08/fLLeOq55/HYE0/zGunJJ0hPoUOHDti+fTtr
hAHi448/xoMPPoinn34aL774Ip5//nlzXLBggckj0F566SU8+uijePbZZ8257j/++OPYvHmzySOgdf+p
p54y95577jlTp34rv87vv/9+zJ49G2lpafjb3/6Gli1bmvuPPPKIOT7xxBPmqHaIrN+Npq25iKff+wXN
nx2E2x/qQ09+Cm5/uDe+JSBnaXdlN3PoMK07lIhdxy+aHbBF3iAyy+04eOk6FiRmYuTW4+hCqXvz5+l4
6oeReLDrELTpOhRP9JyA53+ahddGrcKHM7bh6+Xx6L8rAyOPVmD+6QrE5lQircxFNV0Hqrx6JYFcQwks
DYSRnFOFGbEp6DhqOR767Bc0/WgKWnQkA328FI9/vB2PdY5Dq8/24pb3N+F/vrMBTb7agxa99uPWT1ag
8Sdz0fzLMei+ajuOFZWarU1y+C7RPu/Iq8D0A0mYtjEWR0+fRHlNKX0UOqQBfWnKTckNI+5gHB56+FE8
8eSzeOr559Dm0Ufw4ksvmkF//rlnDRCvv/46br31VgO0JLi6utoAcO+995oBfuaZZ/DYY48ZgMaOHWv6
t2rVKnNNgAvoJ5980oAisFavXm3y7Nq1C3fffTdeJqO98sorprxA0zNFaoNAfu211zB9+nR8+OGHuO++
+8zzlE+MpnIvvPCCqVe/dV3PbXQ824En3+qHe5/rhaZP9MYjb07CQ69OQqvnR+CboXtwmUjINpcwPLtY
QifKHaQNp7dM26StywKqjExxqbQMJ6/kIuHcORw+dR77Tp7DemqE2JRMJGZWIKPYhYs2Ly57grTNBPQG
yHKgZJ+13FnFeq/xx6lLPqyOpfqetBVv9Z6B+94bgcZvjcRf3puCP3+xFE2/WoP7O25G6/YE+P1taPHZ
FrT8cjuafroZf+20CLd2noY7P52Bd8bEYnFaLk7T5snslNAqHy0rxJKU05iwIxF9F23CkrgjKHdrP44f
oUA1Ir5KOnHGcuPIsWQ89ewLeOGV1/Dy66/i5ddewqQJ43G9gNHDju347PPP0bFjR7Rp08YMbmFhoQH+
66+/Nr/ffvtttGvXzhw18D179mStwLRp08z99957z4D2zjvvGGlWvt27d5s8e/fuxUMPPWTyvPnmmwbU
mJgYLFmyxDDLW2+9ZeoW0/Tu3RsTJkzAgAEDMGrUKHzyySemjPKIKcV83bp1w9ChQzFo0CA0sgejGDY5
Bnc+1Bm3PPAFHn5pMh5/cx7ue3Eybnl4ID4bthWbThabCRrZ1OobXriWQAOaYaMTx3/qnBsdeK5vrGhz
QSDgZ6gTqtsxGwnQ85UjRBvEIdZR6+dldB7O0HOMO2vH+rgi/DTlCF79mmbgg1/Q7J3xuO3NCbij/Qzc
/dkS3NOFcXWXLbjzq8244zPa7U93oWnHTWjx6Src8/kStPxsHlp/Pg7P95iIyXtScbLSaz6OcIV03BPG
nNTLGL07DRN2p6BfzD6M2rAfR7LzTX/CtV44nJUmtAxrYoltiz+ehmdeeRvPtH0dz7/4MoF5BnNmT2Nu
hpqZWUatt27d2khX165dUUEnt7KyEh988MFNlfrqq6+iffv2hjEEbFVVFQYPHmzK6Z6k8Y033jCqXOeb
Nm0y9csWS6IFnBhGjOR0Oo3/IKkViSGkUYYMGYKioiLzbOWZMmWKqVMMJUbSc9avX2/uixrJIy2q9uP7
/ivR+P7vcf+LE3Hf89NxP0O5lm9Oxf97T1fc+Ww3fNZ/Muat24uU3ELzXbQAJVWDJUaQtOpcdWk1TKRr
kmQHeaKKjKDPjBXR+z5b5qPkl2J9/HkMn7cL349chVc+n4RH3huF+94YgWYvjcNtr09C43dnotn7y9Dq
ix14+LtduL/rNjTuuBp/+nAJmtALv7VzDP5Xx6X4Mx20O98bh9Zfj8WH45Zj/alsXPaFjHbKoXN10uHH
ytPXMHjrSfSh79Bvy2X0jDmJ8XuTsDPnOq74wmavgE979AMM0ejN+7xh/gYOpmTgqTc+xLNt36WafR0v
PPs0Pnj/HbR75228/x6vU+IkRT/++KNxxJQ0+FL11r1vv/0WvXr1MoBKVUtt9+/f39jkTz/91JwLHKlr
0bx580w9p0+fNmBJYpX3c2oVOXX9+vUz9Sjvu+++a5hp0aJF/xARLF261DCKtInqlsaQM2elRtryY6PY
XSoKoUf/Dbjl/m/Rgqr9L4/SLrefjYfemYq7nx+MZs92x4Nv9MLTHXvgw57jMWTaZszccALz9pzHyiMF
2HqqErEZNmw/XY31SZWISSzF/D1XMWpFCnpM2Y2Og9eiPRnr1e4L8OTHU/Fgh/G4r91YNHttGO5+fQRa
tGO49dYs3N5uKe7rvB2PdNmHFp224q/tVuGO92Jwz8dr0Ywg3/HhbNz+4VTc2n40Vfp4fDh5LaYePY9D
ZeU4RxMkj/waw6eUEmqOk4UYuiEdPy4/jX7rLqLv5lJ8tSQbP67Nwm5K+DUyrsxKRcALl89F/ROBn2bL
T19CQ3ggKQOtn3sDjzz3KiWmA15/ldL+wpN48IHWaHF3CzP4Us0DBw7EqVOnNJ64cuWKsemyn5JeqVRJ
tkCXpH/33XdGEzz88MNGHc+YQWf3hpSLUSybLpBkfyWxuidJHzmS/hIZQEBKrauctMiZM2dMVOC48c6h
HEbdU9ukjWT75fUrKbxrVGX3wx1iPMr/Ckr8GDN/G17+aDAaP9IFdz39Az3kQWjz1ghK4Rjc/doI3PZy
f9z+fH/c03Yk/vrScNzy4hg0fnkqmrwxy4DW/O3ZuJsaoslrlNaXx+GOVybgrrYT0fiV8cwzBc3encYQ
awaatJ+Duz9cSSldjbvar0KLDxhbf7QOrT/aiBbvrcJ9768gLcS9b07D7a9R+l+jJugwAa92W4GOI9dj
/JYE7D6XiwvuutBLEzRHGIYtpVc4/NA1dF97Gt1jcvBDTB6+XXkR3RZnMJ7PwZAVZ7A7oxx26u8a7Rgi
yHrzVu+cma9waHuWVwErkJx6Bk+/SFv+Slu89Jw86CcwoH8vbFi3FtOmTEPPXj0NKK1atTKDK8+9vLzc
DLakTMAIdDluklipazGK7KxAkSpfvny5kVaZgrZt22LNmjXm2fLwxQRSzyr31VdfmQhBmkN1iRFkywWm
3iBWyKhX05QWL15sGEzaQOZB5RVCKmmeoJGHIVi1pwbVPm3opXkmpWVfw/ApG/FS+wH480Pv4y6q93te
Gol7XvsFLdtNwz1vTEfTtlNxC8G+9dWpuP0VgtqW4d7Lkw0D3E66g3T3W3PRsv1CtOywEK0EYIf5uOeD
uWj2wUI0peq+s91qNPlwK2k1mrang/bmbDRjvU1eHoPmr4xAm3Yj8ULHyWjXcza6TliPiRuSEZflwMWa
uteKNVGT463F9oslGL7zNL5dlYpPVuei47pSdFiZh3fnX0AXgv7Dumx8MTUBveYk40SOy6wN6K8ueD36
GEOIfohm1xgehjhwQfoefoEeRfLxYwTjGbR98VlKeVva0ecwYvhg3uNdlhkzZoxR4RpY2XUBmJOTY34L
cHnT0gKKseVcWSDKHgt0ASZ1bwEkyZ4/f76pX2VUh1S8tEanTp2QnZ3N0PKS0QIK02TfreTRVDc1nZLq
ENOpXjGI6tm6dau5p/420s4U7efSx+irHXXfdtEHBCpdtcjMrcG0FUfx5YAVDOWo4p/qidZth1PqR6Hx
Cz/jLkpfy/em4b72U3A/maF1uxlo/eZMtOLvVpToh96fjfsp1fe2n4qWtL1N35mIv74+Fk3fnYB7GCb+
+YV+uOPV/rjr9QG465W+aN62L57rPAUf/rgAP07diimbkqiir+FUmRMF9Ak0R6ZJIDlnR4vKsSApC71W
HcEHU2LRaf5xfLPmPD5edhbtFp7FFxuvofOydHw47SC6zDuCUVsysD3DjgIKg02rg34vQdbetYgBULNe
Ig2KJEYvIWhwX+TgteXAt6P9fOONN9G5c2fjIU+dNsWoVkmcAJXaXbZsGXJzc2/aUkmvnCwBJbWuwZe9
F4NIqi9fvmy8dYVsAkfgjh8/XtiYiRXZYnntqksm4cKFC+Ze/STJVXv1Z0MEvNKcOXMM4GqfSPVs2LDB
3DOSHvVoC5MbYa8bHrvDvKsmadefstBRVEUGSs6yYcnmo+g1cgFe7/QznmjXF61e6oe7nuuOu57/Fk2e
+Q7NnumJu5/rgRav/IhWr/XHA28NQvMXe1Fy+6PFm0MI7k8E+kfc8UEfPPL5YLT9Zig6DhhNj30VZqzd
j00Jp5FZZjOzb3ICNdWruPo6I4Qsvw87rxbi571x6DhvA94csxlvjt+HdtOP4f0FZ/Dx4kx8vISgL83C
R0vO4NNFx/HJ7H3ovngP5hw+h1M2h6mrhOq7zFP3YQUBbs2k6cuZcobM31wh+Lou0AWgwJN0Pvnk4wTs
WTOgspO6J2rSpImRYIEoYFq0aGHyP/DAA8aea6Cl5lVGkisQevToYZ4lr1rl9QxJ+s8//8xW1ql3qX0x
h2XbT548ae6JMdU+la+pqTFHJWu6VnG7mFDtVPvk4Ysh1T8Dem3QAb+z3HzcznxSjNzv9zrpFNjh4uDI
xmkDIyO0m0xQzVj9/NUKHDx1BZsTL2DJvjRMjYnDsBkb8cOIxfT0Z6JTn6l4/7sx+LDHeIZ9C9B/7laM
35CIOfszsD6tCEdybbhQ6UOhI2Tiflkj8amAvsbfmTQ7x2x+LM7IR98tcfho3jq8QeZ4aeIKPD9uE9rP
SUeH+QV4Z95VvLckj0Dn4QNK+CcLUvDx3CP4cMomfLdgO9adyUYu7XcFXbPiQBUctS7zurRAF9gaQA2G
BlHndX9yI2wGU96yJFADJzuscw2+SNKqOFmq/PvvvzfOlJIYRRKt+1Lvffv2NTZXDpsYQSBKouWU6VmS
QJkI1a/nDBs2zNSjaED5RQJQkq4pVrVNzpjaamkniwF0T0mg6/nSQiLVr/je6lujaNiOULCaP5wcFh8C
zmrYy4vhd3Fw9JK9w8X7dRv3fZQ2p90NP0Mi8ZT4y2yl4g+9O1bkCiDf5kVulRt5pPRr1ThXVIPMGhdy
3AFcoRbR8qckTuCKSvj7MpnqHO30yVIXtpwvwYITVzFkx2l8viQBb0+Pw5NjtuGRkZvw5ITdeHl2Il5f
kIp3FuXgzRnX8MqUbLw+8zzazzyH96an4G9T9+LzmbsxKvYkYjKu4GLAR5MQRrV2soYq4QpVwBuwmYGy
gK5PkgQNjM4VU0viFDNrrls2WA6R5tGt+XTNsyufBl+Deu3aNQOY7msqVUyglJWVZa4nJSVhx44dOHv2
rLmu+XgxlzVXrvqs6zt37jTPtO4pHFSbFYuLkdRGJV2TarckXiZGz1Kb1X7Zc2khq4+NtBwa9FYh5KWk
B22Ihqne6M16XDUEuBJRSoVPa+ge7SChlxgMo5aS42eop00FPg4oH8/YvNb8vRQ91pzzqA/2S3qlqgW0
nC/Fz3pV6WQVVdu5asxhaPfT+lP4buERdJ4Rj9eHbMezA9fikf5r8ODArXhoxEE8OT4Rz0w7iadnncPD
My/i/ik8TmQcOzkD7844hzcmp+LlEQfQbsxODF5PsE8XIpk2SR8DLKNuKqGEu8KV8EWdsLvK6LsU1S2P
UtqtgbDIYgRJ0x8laQrlV1K4JPB1rX7SfTGEmMlK1jU9Q/a4zrzUlbOA03W1w0q6LqCVLJAtibeu2Wy2
m+XrJz1LSc8QYzYKBTz8QYeGkuCy19BzrYD+VolIW5WjPIq0UT+kjw34augAORCMUvUTbjfz6AVCfRZT
26C0Y8alTRYRfbSApoAaIq/Mjn0pZxFz4CgW7YzDoPlL0HHIfLz4w1I82YPg9liNh3utxaN9t+CZn/fg
6Z/j8eLok3h5chaeHp+F1qPP4L6RZ3Dv2HO4e9xFtBlP6Z52AW+NP4a3xu7G18uTMfHQVWzNtpk3VsVo
8uyr6LC5Q27owyrOkBM2tT2ivt1w4DgY9UkSroHRQGpQBZQGX4MrQCVhuq/fuqejpl1VTvXpaJHKCyRr
wJU04PWTdU91CjCVU1K91rlArA++6qhfp5KebaX6daoOlbXqUllj0/XHd/T2SCCq7UGaVtUrOHrf3Hvj
nE4eAQ7pD9hQ0kNRmoNaG2Wbks+jX1+BDtMUhFxmy7O+jKh9cvq2rHaaaJ98Hj3tvcdSMHfdZgyeNgdf
/TQcH/adgncGxuCFfuvxeI8YPPz9SrRhDP7IjzF4+qcdeKLfDrTuuRkP9dmOhwfG4YkhiXh+dDJen3we
7aamo9vSU5i48xS2nCtCBgVAWkQaRS9WeCJ1bTFbsLWhI+yFW2+2sp+hkF46CJqdLxbQOtYnAWkBbg24
3W43c+aKo3UuGynbKUZQUj0CSGWkrjXJUlKiWIPMR4aRiRg9ejS2bNliHLLU1FSj6qW+9SyBJG2xbt06
nDt3zpRT3D937lxs3LjR5JU50ezbypUrjfoXU2kZVSttMgEyDTNnzjS2Pz093fgLauesWbNMGZkIA7o2
8WtTvkjnCt3+TppHJytE9Ed76rYz689a+WsdBL6OEULmowQOqn16xHq9RztmtCWKg2VnHOznYAQkHeRG
fTc+nwOWXVyGQ5lFmB+fjckHLmLohvPoufg4usyNwyeTt+GjXzbjqxm70WXWAXSdF4+ey5KZ5xymH7yG
Vaft2HrRiROVflymo1mkGUV6GMFaH9W3PnFG6QvYjSbSnxYzfxkyGKJGovSS9I66+hYJ1zlA9UmAa1Cs
33LmBLDOBaDmujW5Ivv4ww8/4KOPPjKxswBXPjGLksI0rYoJLNUn5pDDJ89d06ly/ERffPGFYQQxi0iT
L3LAxFya2VuxYoWJ7eXEjRs3ztQr51EOpRZkFKdrilfO3vvvv2+eofBv8uTJN+ffNZegGTo5kD/99JNZ
BWykjwuJtBvVHGWHb5CbVPcH6sjF7LjeJQtyYPU+lrRARC8V6rXcAAcpQC3Bzpu/UMi8+taKh5yozuiN
2Bp99YHSJUsp2ZD61SdCS6iZ8ihMWd4ozthDSKVDd6LCj7SqIM7Rs7/kC+MKPfnrQXrgzCvfoJwgV1Ev
OdgGj95+IbP5I3ZqFxFNkL+KbaQq15s0Yli2zUPm9YppTV/U1jp1rCSwLdAl2TpqYUKbEjSvrhhbc95a
6hTQAlhTqAJEXrjA00yZpE5Jjtq//du/Ga9ZoZLiZg2+JC0jI8M4d5YTKAdPY6QNE4rJNZ8u717PlQOm
5VitjFlAarVs+PDhJvYXQ2kiZu3atSa/pmqlYcQQkm4xqI7SLmJYMZoBPciB/wci0ObIxssl0JehDFH9
690s84d1KfV6MU/Amz8nyUE131GhRJm/RcrGqEHUWWa7sJvXatwelJP07TliWCf51Ao2SqOb5c0f5yPT
6VMndX9Bzc8jVSwdMT+Zy1vLfJEa2DxFKK0pgI3Op8tvo+2kg+auRMhTSme0AlEtjYYp+9REEWol8+cy
CXKAjMXgwYSe+kCB9YUnJanWX4Nuee4CXJMvip8FosCXF/3NN9+gWbNm6NOnj5Fexd3JycmmPkmpBl+A
SR1rGlaTLpJKkWJ3LbRIWwhMqWlpD0myJmJ0X5sppCnEBGIsAS1J1fKsni2zIMZUSKiIQtpE4Z5m+JRX
U7SSfs0Iqj7N+GlSSf1spIH4D8SxCN1gAuuLxealPJ7rjUy9kKcvK+iov7uq13rqPmdNm0kGsXaKynEw
dpFl6CIRQjIAy/j4AH0z1U/nKqhdKvQJwvQJQrTFklR3pAqeaBXBIQUIarCCoDEsCjPIq1WgJ71Eu0y/
Q9+or3u7VS9QUFfJzFDFmz8tpjdq1B5qK/PnsQh23Z/Jou1me38Nuo4CXefWPctjlmOm2S2paDGEmEBq
V5JTP0kLTJ061Qy0mENJ6lXSOnHiRGN/tfYtAFWH1sj1PG2TkjYQ6L/88ouRfKl7MZpifIV/CuEEpiZd
xGAyJ4rtNUsoKdacv9qocwHfpUsXY8ulFTR3LwY13nvdIMh23yCKekhvp2iAJBFskAbIvL5DTrD+zrnA
1pubAl9Ru/aI6+VFwwwcMJXTAwJ6DYi/9ZcMggRf30zVlyA82h5tXvqjtojSD4hqbz2vU/IddB5tlFQH
mcIrH4KRgWx2mOcBMoH+OqL+qqH2nev7skEe9Y69+WtI5Fp99UEfAxDg+ssTxillHTeJDp75WyoNgK6j
tJQ8aEm8jkryrjWospv5+flGvUsda4FFyXL4dJw0aRKaNm1qljjFLBp42Wk5VVo6lbMmJ0v3ZQqU5NxJ
MqWSpV1k6zVFq99iAssZkzbQTN3BgweNWdA9Pe+zzz4zs4LSBFoDEIlBZXYk/fIDdC6GbSRHre4vJxMo
w+WUbHZWHdY3UXQ0wFNNG/BvXDdHgq+JG0m5SKpc9ajjIQKhQdRfbvSYz4zRyeLgu/RFKg048+lPW+tV
KA2+mMW8HcMwy8U2mA8k6EjG0/vwNQRT6/g1LGNz+xCgrdenugI+qn9GCNparTVwvTeuP7MVIeAyOWqj
8TWi+lNhIoWhPKrNvF7Xz7o+WqCLWSWx6ocFemlpqXGMtFNG6ltqWlIlZ09JnrfKKcluy+GSMyfVLrC0
yUJqWg6ZpE7ANW7c2JgLJXnsMhOW7RXosvuaupWZkBev1TPN3Wt611pwkb+geuXMyWSoDfLctUCjvGq3
PHu1RdpG7TR/jM90/kandV6f8y2yBseQpP7GdQ1M3bW6/Dq/WacAoER6GTZJH+jjevqenN50jaq8mIoA
6QVA/RYjKYrQ58u06GOmZgU+ga77lFndjhsqIj7rBli8L42k16csv0RvoFj3TZv4PNn3KLVJHVGKb5gg
i6z+6lxHSagGUKDrnsCVlGsgZUsFuqTHUuHKJw2he5ImhU1SuwLKSqpH9lcOlzY5SL3LkVMSUGIiaROZ
Ad2T3Rb4CsPERFqn1xy+NIVUu7SMmEH35TvomUoLFy40TCawlbQeoHqs3+bPblodVqoD6+9Aq+NSIzr+
mtRJga6jQjTlE5nf0gCUNkmZ1K/+hrn5+2+aE5DTx/xG0kl6ydH8wXnmr/ukKCWeoFikEMuYB55Lii1H
MajyqlNtYB0B1uHXixUkC8ybbQzVmRMdFaubdpk21rXFtIfn6rN1Xj+JCQS6QJF6lxoVCNIIVtI4WppB
06zy6q1dspIwedlae5fdttS6ksZSU6bdu3c3wMv5EuiayhXIkmSBrshBzpjUv+J2PXvEiBE3PXtJuupQ
eCZtoWvSKqpPUi6tIya9CbqVdG5d07H+oNQnC1iLfn1f5Syqe4X576RXk1W/zs0kCcEyb7SG6syEyLwG
TDJq2NyrYyAzfUqgLfBugnmjDfqgj46q3zxbzzGkPv2dLKZuiAScmFdOmlSonCypU4GlzRKaX9fAazFD
17VHXevosvsqK60gaf33f/93M1GjiRSFWtotIw9boZ0mdbRHXnkFujSCAJMmUSQgTSJGkCRL5UulC0yZ
AKl0zQ+orHwEgS6fQRIuoOXoqYxsvdohR1A+gUK5Opt+Y5B+TdYg/n3Q/pHqg2rRb96X/eZR9QkUfRX5
H+4LVB0Jvskrya9/X9cl1ea36mbbbpC+52KctRt5f6tt9al+P+uT7qnfOkqKJBkaZA22VHnz5s3Nvjap
cDlUWkWT86RVNUm9VLW0gOy+Nj7KBxBDSGobNWqEv/zlLwZM2XFpCkmvVLMiBKlnedcqo/uy/Vp2VVlJ
uBhBHr/CRwGsVT0xkyIF5Ze3LpAl1dImAl4aQqGiogXVJ+9fZRrdEPDfTJba/88mlatP1jX+w3DrH5N+
G6p34+Y18+vXv1Un/7Vu/ieT1Z7fShbjyEYq3tYEiI6aLNGGRaXMzEzjgWviQzGyPHFpAGkITdUKDCuv
wi0BKKlXPkmknDtJn2JxgX79+nWzhVohnMIxSaRCLeXViplsuJhNoZwkXY6fVtMEqDx41SutoPBQJO9d
7VNeAa480hxy7BpJhf0e6UHW1t7/TqRBEf1n2lY/b0N9VX06yu5pkKWCpe6VLObVb4FkaYT6SepW5QW8
leQL6LlKYiYrWWVVj+UH6PmqQ0k+gDWvr6TrmvOwkspZyWLS+kkmQ9qrftJzdK2R1FhDpIda1ND9P6L6
5f9vUEPPrE8NlRHVv9dQGQ20xRQWiAJNEiJv2bouAASSGETAihHEKLqmvMonVSo7r3qtOsQQyispVTmV
0bMFiO6rXuW1nqX6LGZUPWqb/AeVE9C6pnvyD1Rev1WvzrVeoOervXqG6tTv31Tv9TnbOv/PkuUY/Z+m
hp71a2qonCTCuv9bySprSavl2yhZ9Qgg5dOga/CVJFkCTPd1rmeJgayy1nNVr47Ko/Iqo2dYWkC/rXaq
rO7pXEfVrWuWFAtc1WHl1dGSepHy65raqDbrt+430kWLlKzMVmEd/3fIevD/LWromfWpoTIi9c06WoP0
62P9PBboVp317+moe9a5RQJFyarTuq7fVv5fP8e6bpVVOevZOrfaYP22rln1W4wjsp4nssr9/Xlh/P/3
q22C8fY24wAAAABJRU5ErkJggg==
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
RK5CYII=
</value>
</data>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

254
MESClassLibrary/BLL/BasicInfo/XDCarModelBLL.cs

@ -0,0 +1,254 @@
using MESClassLibrary.BLL.Log;
using MESClassLibrary.EFModel;
using MESClassLibrary.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using MESClassLibrary.DAL;
using MESClassLibrary.DAL.BasicInfo;
namespace MESClassLibrary.BLL.BasicInfo
{
public class XDCarModelBLL
{
readonly BasicBLL<t_XD_CarModel> db = new BasicBLL<t_XD_CarModel>();
/// <summary>
/// 新增信息
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
public bool AddInfo(t_XD_CarModel md)
{
try
{
int? maxSort = db.SearchAllInfo().Max(p=>p.sort);
if(maxSort == null)
{
maxSort = 0;
}
md.sort = maxSort + 1;
var list = db.SearchInfoByKey("Code", md.Code);//判断是否有重复数据
if (list != null)
{
if (list.Where(p => p.ID != md.ID).Count() > 0)
{
return false;
}
}
//md.CreateTime = DateTime.Now;
var result = db.AddInfo(md);
return result;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 修改信息
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
public bool UpdateInfo(t_XD_CarModel md)
{
try
{
var list = db.SearchAllInfo().Where(p => p.Code == md.Code && p.ID != md.ID).ToList();//判断是否有重复数据
if (list.Count > 0)
{
return false;
}
//初始化要更新的字段
string[] proNames = new string[] {
"Code",
"Name",
"sort"
};
//必填字段初始化,如果不需要更新必填字段则设置为空即可,时间类型无需初始化
//如果没有初始化必填字段,更新会报错
//md.UpdateTime = DateTime.Now;
return db.UpdateInfo(md, proNames);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 删除信息
/// </summary>
/// <param name="md"></param>
/// <param name="flag"></param>
/// <returns></returns>
public bool DeleteInfo(t_XD_CarModel md)
{
try
{
return db.DelInfo(md);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 查询全部信息分页
/// </summary>
/// <returns></returns>
public string SearchInfoAll(string page, string pagesize, string name, string Code)
{
try
{
string jsonStr = "[]";
int total = 0;//总行数
IEnumerable<t_XD_CarModel> list = db.SearchAllInfo();
if (!string.IsNullOrEmpty(name))
{
list = list.Where(p => p.Name != null && p.Name.Contains(name));
}
if (!string.IsNullOrEmpty(Code))
{
list = list.Where(p => p.Code != null && p.Code == Code);
}
if (list.Any())
{
total = list.Count();
int Skipcount = (Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize);
list = list.Skip(Skipcount).Take(Convert.ToInt32(pagesize));
//var manufactureBll = new ManufactureBLL();
//var manufacture = manufactureBll.SearchAll();
JsonDataModel<t_XD_CarModel> md = new JsonDataModel<t_XD_CarModel>
{
total = total.ToString(),
rows = list.ToList()
};
jsonStr = md.ToSerializer();
}
return jsonStr;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
/// <summary>
/// 查询全部信息
/// </summary>
/// <returns></returns>
public List<t_XD_CarModel> SearchAll()
{
try
{
var s_list = db.SearchAllInfo().ToList();
return s_list;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
/// <summary>
/// 根据ID查询信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public t_XD_CarModel SearchInfoByID(string id)
{
try
{
return db.SearchInfoByID(id);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public string CarTypeCombo()
{
return SearchAll().ToSerializer();
}
public DataTable SearchInfo()
{
try
{
CarTypeDAL da=new CarTypeDAL();
return da.SearchInfo();
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public DataTable SearchInfoByName(string CarTypeName)
{
try
{
CarTypeDAL da = new CarTypeDAL();
return da.SearchInfoByName(CarTypeName);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public DataTable SearchInfo(string CarTypeName)
{
try
{
CarTypeDAL da = new CarTypeDAL();
return da.SearchInfo(CarTypeName);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
}
}

246
MESClassLibrary/BLL/BasicInfo/XDColorBLL.cs

@ -0,0 +1,246 @@
using MESClassLibrary.BLL.Log;
using MESClassLibrary.EFModel;
using MESClassLibrary.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using MESClassLibrary.DAL.BasicInfo;
namespace MESClassLibrary.BLL.BasicInfo
{
public class XDColorBLL
{
BasicBLL<t_XD_Color> db = new BasicBLL<t_XD_Color>();
/// <summary>
/// 新增信息
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
public bool AddInfo(t_XD_Color md)
{
try
{
var list = db.SearchInfoByKey("Code", md.Code);//判断是否有重复数据
if (list != null)
{
if (list.Where(p => p.ID != md.ID).Count() > 0)
{
return false;
}
}
//md.CreateTime = DateTime.Now;
var result = db.AddInfo(md);
return result;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 修改信息
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
public bool UpdateInfo(t_XD_Color md)
{
try
{
//var list = db.SearchAllInfo().Where(p => p.ColorCode == md.ColorCode && p.ID != md.ID).ToList();//判断是否有重复数据
//if (list.Count > 0)
//{
// return false;
//}
//初始化要更新的字段
string[] proNames = new string[5];
proNames[0] = "Code";
proNames[1] = "Name";
proNames[2] = "Color";
proNames[3] = "CarModelCode";
proNames[4] = "ForeColor";
//必填字段初始化,如果不需要更新必填字段则设置为空即可,时间类型无需初始化
//如果没有初始化必填字段,更新会报错
//md.Des = "";
return db.UpdateInfo(md, proNames);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 删除信息
/// </summary>
/// <param name="md"></param>
/// <param name="flag"></param>
/// <returns></returns>
public bool DeleteInfo(t_XD_Color md)
{
try
{
return db.DelInfo(md);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 查询全部信息分页
/// </summary>
/// <returns></returns>
public string SearchInfoAll(string page, string pagesize,string Name, string Code, string Color)
{
try
{
string jsonStr = "[]";
int total = 0;//总行数
List<t_XD_Color> list = db.SearchAllInfo();
if (!String.IsNullOrEmpty(Code))
{
list = list.Where(p => p.Code != null && p.Code.Contains(Code)).ToList();
}
if (!String.IsNullOrEmpty(Name))
{
list = list.Where(p => p.Name != null && p.Name.Contains(Name)).ToList();
}
if (!String.IsNullOrEmpty(Color))
{
list = list.Where(p => p.Color != null && p.Color.Contains(Color)).ToList();
}
total = list.Count;
int Skipcount = (Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize);
list = list.Skip(Skipcount).Take(Convert.ToInt32(pagesize)).ToList();
JsonDataModel<t_XD_Color> md = new JsonDataModel<t_XD_Color>();
md.total = total.ToString();
md.rows = list;
return JSONTools.ScriptSerialize(md);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
/// <summary>
/// 根据ID查询信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public t_XD_Color SearchInfoByID(string id)
{
try
{
return db.SearchInfoByID(id);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public string GetComboboxData()
{
try
{
string jsonStr = "[]";
var list = db.SearchAllInfo().Select(p=>p.Code).Distinct().ToList();//判断是否有重复数据
List<SelectModel> sl = new List<SelectModel>();
foreach (var item in list)
{
SelectModel md = new SelectModel();
md.textField = item;
md.valueField = item;
sl.Add(md);
}
jsonStr = JSONTools.ScriptSerialize(sl);
return jsonStr;
}
catch (Exception)
{
return "";
}
}
public string GetComboboxColor()
{
var list = db.SearchAllInfo().ToList();
return list.ToSerializer();
}
public DataTable SearchAll()
{
ColorDAL da = new ColorDAL();
try
{
return da.SearchInfoAll();
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public DataTable SearchByName(string color)
{
ColorDAL da = new ColorDAL();
try
{
return da.SearchByName(color);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public bool IsExist(string color)
{
try
{
var list = db.SearchAllInfo().Where(p => p.Code.Equals(color)).ToList();
if (list.Count > 0)
{
return true;
}
return false;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod());
return false;
}
}
}
}

249
MESClassLibrary/BLL/BasicInfo/XDStockAreaBLL.cs

@ -0,0 +1,249 @@
using MESClassLibrary.BLL.Log;
using MESClassLibrary.EFModel;
using MESClassLibrary.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using MESClassLibrary.DAL;
using MESClassLibrary.DAL.BasicInfo;
namespace MESClassLibrary.BLL.BasicInfo
{
public class XDStockAreaBLL
{
readonly BasicBLL<t_XD_StockArea> db = new BasicBLL<t_XD_StockArea>();
/// <summary>
/// 新增信息
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
public bool AddInfo(t_XD_StockArea md)
{
try
{
var list = db.SearchInfoByKey("Code", md.Code);//判断是否有重复数据
if (list != null)
{
if (list.Where(p => p.ID != md.ID).Count() > 0)
{
return false;
}
}
//md.CreateTime = DateTime.Now;
var result = db.AddInfo(md);
return result;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 修改信息
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
public bool UpdateInfo(t_XD_StockArea md)
{
try
{
var list = db.SearchAllInfo().Where(p => p.Code == md.Code && p.ID != md.ID).ToList();//判断是否有重复数据
if (list.Count > 0)
{
return false;
}
//初始化要更新的字段
string[] proNames = new string[] {
"Code",
"Name",
"U8Code"
};
//必填字段初始化,如果不需要更新必填字段则设置为空即可,时间类型无需初始化
//如果没有初始化必填字段,更新会报错
//md.UpdateTime = DateTime.Now;
return db.UpdateInfo(md, proNames);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 删除信息
/// </summary>
/// <param name="md"></param>
/// <param name="flag"></param>
/// <returns></returns>
public bool DeleteInfo(t_XD_StockArea md)
{
try
{
return db.DelInfo(md);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
/// <summary>
/// 查询全部信息分页
/// </summary>
/// <returns></returns>
public string SearchInfoAll(string page, string pagesize, string name, string Code)
{
try
{
string jsonStr = "[]";
int total = 0;//总行数
IEnumerable<t_XD_StockArea> list = db.SearchAllInfo();
if (!string.IsNullOrEmpty(name))
{
list = list.Where(p => p.Name != null && p.Name.Contains(name));
}
if (!string.IsNullOrEmpty(Code))
{
list = list.Where(p => p.Code != null && p.Code == Code);
}
if (list.Any())
{
total = list.Count();
int Skipcount = (Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize);
list = list.Skip(Skipcount).Take(Convert.ToInt32(pagesize));
//var manufactureBll = new ManufactureBLL();
//var manufacture = manufactureBll.SearchAll();
JsonDataModel<t_XD_StockArea> md = new JsonDataModel<t_XD_StockArea>
{
total = total.ToString(),
rows = list.ToList()
};
jsonStr = md.ToSerializer();
}
return jsonStr;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
/// <summary>
/// 查询全部信息
/// </summary>
/// <returns></returns>
public List<t_XD_StockArea> SearchAll()
{
try
{
var s_list = db.SearchAllInfo().ToList();
return s_list;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
/// <summary>
/// 根据ID查询信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public t_XD_StockArea SearchInfoByID(string id)
{
try
{
return db.SearchInfoByID(id);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public string CarTypeCombo()
{
return SearchAll().ToSerializer();
}
public DataTable SearchInfo()
{
try
{
CarTypeDAL da=new CarTypeDAL();
return da.SearchInfo();
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public DataTable SearchInfoByName(string CarTypeName)
{
try
{
CarTypeDAL da = new CarTypeDAL();
return da.SearchInfoByName(CarTypeName);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public DataTable SearchInfo(string CarTypeName)
{
try
{
CarTypeDAL da = new CarTypeDAL();
return da.SearchInfo(CarTypeName);
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
}
}

10
MESClassLibrary/EFModel/BBMPT.Context.cs

@ -185,5 +185,15 @@ namespace MESClassLibrary.EFModel
public virtual DbSet<test1> test1 { get; set; }
public virtual DbSet<View_1> View_1 { get; set; }
public virtual DbSet<tb_ForeignColorMap> tb_ForeignColorMap { get; set; }
public virtual DbSet<t_XD_BarCode> t_XD_BarCode { get; set; }
public virtual DbSet<t_XD_BarCodeState> t_XD_BarCodeState { get; set; }
public virtual DbSet<t_XD_CarModel> t_XD_CarModel { get; set; }
public virtual DbSet<t_XD_Color> t_XD_Color { get; set; }
public virtual DbSet<t_XD_Product> t_XD_Product { get; set; }
public virtual DbSet<t_XD_User> t_XD_User { get; set; }
public virtual DbSet<W_XD_ProductCustomer> W_XD_ProductCustomer { get; set; }
public virtual DbSet<t_XD_ProductType> t_XD_ProductType { get; set; }
public virtual DbSet<W_XD_Product_del> W_XD_Product_del { get; set; }
public virtual DbSet<t_XD_StockArea> t_XD_StockArea { get; set; }
}
}

736
MESClassLibrary/EFModel/BBMPT.edmx

@ -142,8 +142,154 @@
<Property Name="UserID" Type="uniqueidentifier" />
<Property Name="MenuID" Type="uniqueidentifier" />
</EntityType>
<EntityType Name="t_XD_BarCode">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="numeric" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="50" />
<Property Name="ProductCode" Type="nvarchar" MaxLength="20" />
<Property Name="Batch" Type="nvarchar" MaxLength="30" />
<Property Name="Qty" Type="int" />
<Property Name="AddTime" Type="datetime" />
<Property Name="UserName" Type="nvarchar" MaxLength="20" />
<Property Name="BatchGys" Type="nvarchar" MaxLength="30" />
<Property Name="ImNumber" Type="nvarchar" MaxLength="30" />
<Property Name="ProductCodeY" Type="nvarchar" MaxLength="20" />
<Property Name="BatchY" Type="nvarchar" MaxLength="255" />
<Property Name="Memo" Type="nvarchar" MaxLength="255" />
<Property Name="OrderNumber" Type="nvarchar" MaxLength="50" />
<Property Name="LineNumber" Type="nvarchar" MaxLength="50" />
<Property Name="BcName" Type="nvarchar" MaxLength="50" />
<Property Name="SupplierCode" Type="nvarchar" MaxLength="50" />
<Property Name="BatchYqj" Type="nvarchar" MaxLength="50" />
<Property Name="SupplierYqj" Type="nvarchar" MaxLength="255" />
<Property Name="SupplierYqj1" Type="nvarchar" MaxLength="255" />
<Property Name="SupplierYqj2" Type="nvarchar" MaxLength="255" />
<Property Name="Weight" Type="int" />
</EntityType>
<EntityType Name="t_XD_BarCodeState">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="decimal" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="BarCode" Type="nvarchar" MaxLength="50" />
<Property Name="ProductCode" Type="nvarchar" MaxLength="20" />
<Property Name="Batch" Type="nvarchar" MaxLength="30" />
<Property Name="ProductType" Type="nvarchar" MaxLength="10" />
<Property Name="Type" Type="nvarchar" MaxLength="50" />
<Property Name="Name" Type="nvarchar" MaxLength="50" />
<Property Name="State" Type="nvarchar" MaxLength="50" />
<Property Name="OnlineCount" Type="int" />
<Property Name="Quality" Type="nvarchar" MaxLength="50" />
<Property Name="AddTime" Type="datetime" />
<Property Name="UserName" Type="nvarchar" MaxLength="50" />
<Property Name="RejectName" Type="nvarchar" MaxLength="50" />
<Property Name="SupplierYqj" Type="nvarchar" MaxLength="255" />
<Property Name="SupplierYqj1" Type="nvarchar" MaxLength="255" />
<Property Name="SupplierYqj2" Type="nvarchar" MaxLength="255" />
</EntityType>
<EntityType Name="t_XD_CarModel">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="numeric" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="20" />
<Property Name="Name" Type="nvarchar" MaxLength="255" />
<Property Name="sort" Type="int" />
</EntityType>
<EntityType Name="t_XD_Color">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="numeric" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="20" />
<Property Name="Name" Type="nvarchar" MaxLength="50" />
<Property Name="Color" Type="varchar" MaxLength="50" />
<Property Name="CarModelCode" Type="varchar" MaxLength="256" />
<Property Name="ForeColor" Type="varchar" MaxLength="50" />
</EntityType>
<EntityType Name="t_XD_Product">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="numeric" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="20" />
<Property Name="Name" Type="nvarchar" MaxLength="255" />
<Property Name="TypeCode" Type="nvarchar" MaxLength="20" />
<Property Name="Model" Type="nvarchar" MaxLength="50" />
<Property Name="UnitCode" Type="nvarchar" MaxLength="20" />
<Property Name="CarModelCode" Type="nvarchar" MaxLength="20" />
<Property Name="ColorCode" Type="nvarchar" MaxLength="20" />
<Property Name="PullQty" Type="int" />
<Property Name="MinQty" Type="int" />
<Property Name="MaxQty" Type="int" />
<Property Name="SafeQty" Type="int" />
<Property Name="StockQty" Type="int" />
<Property Name="StockAreaCode" Type="nvarchar" MaxLength="20" />
<Property Name="IsPackage" Type="int" />
<Property Name="IsMix" Type="int" />
<Property Name="IsMixType" Type="int" />
<Property Name="ProjectNumber" Type="nvarchar" MaxLength="20" />
<Property Name="ProjectName" Type="nvarchar" MaxLength="255" />
<Property Name="PCode" Type="nvarchar" MaxLength="200" />
<Property Name="Layer1" Type="int" />
<Property Name="Layer2" Type="int" />
<Property Name="ShelfCode1" Type="int" />
<Property Name="ShelfCode2" Type="int" />
<Property Name="QState" Type="nvarchar" MaxLength="50" />
<Property Name="SjCode" Type="nvarchar" MaxLength="20" />
<Property Name="LU1" Type="nvarchar" MaxLength="50" />
<Property Name="LU2" Type="nvarchar" MaxLength="50" />
<Property Name="LU3" Type="nvarchar" MaxLength="50" />
<Property Name="LU4" Type="nvarchar" MaxLength="50" />
<Property Name="LU5" Type="nvarchar" MaxLength="50" />
<Property Name="LU6" Type="nvarchar" MaxLength="50" />
<Property Name="LU7" Type="nvarchar" MaxLength="50" />
<Property Name="LU8" Type="nvarchar" MaxLength="50" />
<Property Name="LU9" Type="nvarchar" MaxLength="50" />
<Property Name="LU10" Type="nvarchar" MaxLength="50" />
<Property Name="ShipType" Type="nvarchar" MaxLength="50" />
<Property Name="PackageQty" Type="int" />
<Property Name="PackageQtyTray" Type="int" />
<Property Name="StandardWeight1" Type="numeric" Precision="18" Scale="2" />
<Property Name="StandardWeight2" Type="numeric" Precision="18" Scale="2" />
<Property Name="Userdefined1" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined2" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined3" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined4" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined5" Type="nvarchar" MaxLength="50" />
</EntityType>
<!--生成过程中发现错误:
警告 6002: 表/视图“BBMPT1.dbo.t_XD_ProductType”未定义主键。已推断出该键,并将定义创建为只读的表/视图。-->
<EntityType Name="t_XD_ProductType">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="decimal" Precision="18" Scale="0" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="20" />
<Property Name="Name" Type="nvarchar" MaxLength="50" />
</EntityType>
<EntityType Name="t_XD_StockArea">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="numeric" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="20" />
<Property Name="Name" Type="nvarchar" MaxLength="255" />
<Property Name="U8Code" Type="nvarchar" MaxLength="20" />
</EntityType>
<EntityType Name="t_XD_User">
<Key>
<PropertyRef Name="User_ID" />
</Key>
<Property Name="User_ID" Type="numeric" Precision="18" Scale="0" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="User_Name" Type="varchar" MaxLength="20" />
<Property Name="User_Password" Type="varchar" MaxLength="50" />
<Property Name="User_Memo" Type="varchar" MaxLength="50" />
<Property Name="User_Enabled" Type="bit" />
<Property Name="StockAreaCode" Type="nvarchar" MaxLength="20" />
</EntityType>
<EntityType Name="TA_DEPT">
<Key>
<PropertyRef Name="GUID" />
@ -2316,6 +2462,77 @@
</EntityType>
<!--生成过程中发现错误:
警告 6002: 表/视图“BBMPT1.dbo.W_XD_Product_del”未定义主键。已推断出该键,并将定义创建为只读的表/视图。-->
<EntityType Name="W_XD_Product_del">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="numeric" Precision="18" Scale="0" Nullable="false" />
<Property Name="Code" Type="nvarchar" MaxLength="20" />
<Property Name="Name" Type="nvarchar" MaxLength="255" />
<Property Name="TypeCode" Type="nvarchar" MaxLength="20" />
<Property Name="Model" Type="nvarchar" MaxLength="50" />
<Property Name="UnitCode" Type="nvarchar" MaxLength="20" />
<Property Name="CarModelCode" Type="nvarchar" MaxLength="20" />
<Property Name="ColorCode" Type="nvarchar" MaxLength="20" />
<Property Name="PullQty" Type="int" />
<Property Name="MinQty" Type="int" />
<Property Name="MaxQty" Type="int" />
<Property Name="SafeQty" Type="int" />
<Property Name="StockQty" Type="int" />
<Property Name="StockAreaCode" Type="nvarchar" MaxLength="20" />
<Property Name="IsPackage" Type="int" />
<Property Name="IsMix" Type="int" />
<Property Name="IsMixType" Type="int" />
<Property Name="ProjectNumber" Type="nvarchar" MaxLength="20" />
<Property Name="ProjectName" Type="nvarchar" MaxLength="255" />
<Property Name="PCode" Type="nvarchar" MaxLength="20" />
<Property Name="Layer1" Type="int" />
<Property Name="Layer2" Type="int" />
<Property Name="ShelfCode1" Type="int" />
<Property Name="ShelfCode2" Type="int" />
<Property Name="QState" Type="nvarchar" MaxLength="50" />
<Property Name="SjCode" Type="nvarchar" MaxLength="20" />
<Property Name="LU1" Type="nvarchar" MaxLength="50" />
<Property Name="LU2" Type="nvarchar" MaxLength="50" />
<Property Name="LU3" Type="nvarchar" MaxLength="50" />
<Property Name="LU4" Type="nvarchar" MaxLength="50" />
<Property Name="LU5" Type="nvarchar" MaxLength="50" />
<Property Name="LU6" Type="nvarchar" MaxLength="50" />
<Property Name="LU7" Type="nvarchar" MaxLength="50" />
<Property Name="LU8" Type="nvarchar" MaxLength="50" />
<Property Name="LU9" Type="nvarchar" MaxLength="50" />
<Property Name="LU10" Type="nvarchar" MaxLength="50" />
<Property Name="ShipType" Type="nvarchar" MaxLength="50" />
<Property Name="PackageQty" Type="int" />
<Property Name="PackageQtyTray" Type="int" />
<Property Name="StandardWeight1" Type="numeric" Precision="18" Scale="2" />
<Property Name="StandardWeight2" Type="numeric" Precision="18" Scale="2" />
<Property Name="Userdefined1" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined2" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined3" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined4" Type="nvarchar" MaxLength="50" />
<Property Name="Userdefined5" Type="nvarchar" MaxLength="50" />
</EntityType>
<EntityType Name="W_XD_ProductCustomer">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="ProductID" Type="int" Nullable="false" />
<Property Name="CustomerProductNo" Type="nvarchar" MaxLength="50" />
<Property Name="IsCount" Type="bit" />
<Property Name="IsDateCount" Type="bit" />
<Property Name="YDate" Type="datetime" />
<Property Name="DateCount" Type="int" />
<Property Name="YCount" Type="int" />
<Property Name="MaxCount" Type="int" />
<Property Name="BarCode" Type="varchar" MaxLength="200" />
<Property Name="ZPL2" Type="text" />
<Property Name="ZPLFile" Type="varchar" MaxLength="50" />
<Property Name="CountType" Type="varchar" MaxLength="10" />
<Property Name="PrintMode" Type="nchar" MaxLength="10" />
<Property Name="IsEnable" Type="bit" />
</EntityType>
<!--生成过程中发现错误:
警告 6002: 表/视图“BBMPT1.dbo.View_1”未定义主键。已推断出该键,并将定义创建为只读的表/视图。-->
<EntityType Name="View_1">
@ -2353,6 +2570,13 @@
<EntitySet Name="T_Sys_UserRole" EntityType="Self.T_Sys_UserRole" Schema="dbo" store:Type="Tables" />
<EntitySet Name="T_Sys_Users" EntityType="Self.T_Sys_Users" Schema="dbo" store:Type="Tables" />
<EntitySet Name="T_Sys_Users_NavMenu" EntityType="Self.T_Sys_Users_NavMenu" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_BarCode" EntityType="Self.t_XD_BarCode" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_BarCodeState" EntityType="Self.t_XD_BarCodeState" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_CarModel" EntityType="Self.t_XD_CarModel" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_Color" EntityType="Self.t_XD_Color" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_Product" EntityType="Self.t_XD_Product" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_StockArea" EntityType="Self.t_XD_StockArea" Schema="dbo" store:Type="Tables" />
<EntitySet Name="t_XD_User" EntityType="Self.t_XD_User" Schema="dbo" store:Type="Tables" />
<EntitySet Name="TA_DEPT" EntityType="Self.TA_DEPT" Schema="dbo" store:Type="Tables" />
<EntitySet Name="tb_AddColorRecord" EntityType="Self.tb_AddColorRecord" Schema="dbo" store:Type="Tables" />
<EntitySet Name="tb_AddColorRecord_History" EntityType="Self.tb_AddColorRecord_History" Schema="dbo" store:Type="Tables" />
@ -2463,6 +2687,7 @@
<EntitySet Name="TES_BOM" EntityType="Self.TES_BOM" Schema="dbo" store:Type="Tables" />
<EntitySet Name="TES_PART_MSTR" EntityType="Self.TES_PART_MSTR" Schema="dbo" store:Type="Tables" />
<EntitySet Name="test2" EntityType="Self.test2" Schema="dbo" store:Type="Tables" />
<EntitySet Name="W_XD_ProductCustomer" EntityType="Self.W_XD_ProductCustomer" Schema="dbo" store:Type="Tables" />
<EntitySet Name="T_Sys_RoleLinkPower" EntityType="Self.T_Sys_RoleLinkPower" store:Type="Tables" store:Schema="dbo">
<DefiningQuery>SELECT
[T_Sys_RoleLinkPower].[RoleID] AS [RoleID],
@ -2470,6 +2695,13 @@
[T_Sys_RoleLinkPower].[OpTime] AS [OpTime],
[T_Sys_RoleLinkPower].[OpName] AS [OpName]
FROM [dbo].[T_Sys_RoleLinkPower] AS [T_Sys_RoleLinkPower]</DefiningQuery>
</EntitySet>
<EntitySet Name="t_XD_ProductType" EntityType="Self.t_XD_ProductType" store:Type="Tables" store:Schema="dbo">
<DefiningQuery>SELECT
[t_XD_ProductType].[ID] AS [ID],
[t_XD_ProductType].[Code] AS [Code],
[t_XD_ProductType].[Name] AS [Name]
FROM [dbo].[t_XD_ProductType] AS [t_XD_ProductType]</DefiningQuery>
</EntitySet>
<EntitySet Name="tb_Address_tx_bak" EntityType="Self.tb_Address_tx_bak" store:Type="Tables" store:Schema="dbo">
<DefiningQuery>SELECT
@ -3055,6 +3287,56 @@
[test1].[ProductDate] AS [ProductDate],
[test1].[ClassName] AS [ClassName]
FROM [dbo].[test1] AS [test1]</DefiningQuery>
</EntitySet>
<EntitySet Name="W_XD_Product_del" EntityType="Self.W_XD_Product_del" store:Type="Tables" store:Schema="dbo">
<DefiningQuery>SELECT
[W_XD_Product_del].[ID] AS [ID],
[W_XD_Product_del].[Code] AS [Code],
[W_XD_Product_del].[Name] AS [Name],
[W_XD_Product_del].[TypeCode] AS [TypeCode],
[W_XD_Product_del].[Model] AS [Model],
[W_XD_Product_del].[UnitCode] AS [UnitCode],
[W_XD_Product_del].[CarModelCode] AS [CarModelCode],
[W_XD_Product_del].[ColorCode] AS [ColorCode],
[W_XD_Product_del].[PullQty] AS [PullQty],
[W_XD_Product_del].[MinQty] AS [MinQty],
[W_XD_Product_del].[MaxQty] AS [MaxQty],
[W_XD_Product_del].[SafeQty] AS [SafeQty],
[W_XD_Product_del].[StockQty] AS [StockQty],
[W_XD_Product_del].[StockAreaCode] AS [StockAreaCode],
[W_XD_Product_del].[IsPackage] AS [IsPackage],
[W_XD_Product_del].[IsMix] AS [IsMix],
[W_XD_Product_del].[IsMixType] AS [IsMixType],
[W_XD_Product_del].[ProjectNumber] AS [ProjectNumber],
[W_XD_Product_del].[ProjectName] AS [ProjectName],
[W_XD_Product_del].[PCode] AS [PCode],
[W_XD_Product_del].[Layer1] AS [Layer1],
[W_XD_Product_del].[Layer2] AS [Layer2],
[W_XD_Product_del].[ShelfCode1] AS [ShelfCode1],
[W_XD_Product_del].[ShelfCode2] AS [ShelfCode2],
[W_XD_Product_del].[QState] AS [QState],
[W_XD_Product_del].[SjCode] AS [SjCode],
[W_XD_Product_del].[LU1] AS [LU1],
[W_XD_Product_del].[LU2] AS [LU2],
[W_XD_Product_del].[LU3] AS [LU3],
[W_XD_Product_del].[LU4] AS [LU4],
[W_XD_Product_del].[LU5] AS [LU5],
[W_XD_Product_del].[LU6] AS [LU6],
[W_XD_Product_del].[LU7] AS [LU7],
[W_XD_Product_del].[LU8] AS [LU8],
[W_XD_Product_del].[LU9] AS [LU9],
[W_XD_Product_del].[LU10] AS [LU10],
[W_XD_Product_del].[ShipType] AS [ShipType],
[W_XD_Product_del].[PackageQty] AS [PackageQty],
[W_XD_Product_del].[PackageQtyTray] AS [PackageQtyTray],
[W_XD_Product_del].[StandardWeight1] AS [StandardWeight1],
[W_XD_Product_del].[StandardWeight2] AS [StandardWeight2],
[W_XD_Product_del].[Userdefined1] AS [Userdefined1],
[W_XD_Product_del].[Userdefined2] AS [Userdefined2],
[W_XD_Product_del].[Userdefined3] AS [Userdefined3],
[W_XD_Product_del].[Userdefined4] AS [Userdefined4],
[W_XD_Product_del].[Userdefined5] AS [Userdefined5]
FROM [dbo].[W_XD_Product_del] AS [W_XD_Product_del]</DefiningQuery>
</EntitySet>
<EntitySet Name="View_1" EntityType="Self.View_1" store:Type="Views" store:Schema="dbo">
<DefiningQuery>SELECT
@ -3240,6 +3522,16 @@
<End Role="T_Sys_RoleLinkPower" EntitySet="T_Sys_RoleLinkPower" />
</AssociationSet>
<EntitySet Name="tb_ForeignColorMap" EntityType="BBMPTModel.tb_ForeignColorMap" />
<EntitySet Name="t_XD_BarCode" EntityType="BBMPTModel.t_XD_BarCode" />
<EntitySet Name="t_XD_BarCodeState" EntityType="BBMPTModel.t_XD_BarCodeState" />
<EntitySet Name="t_XD_CarModel" EntityType="BBMPTModel.t_XD_CarModel" />
<EntitySet Name="t_XD_Color" EntityType="BBMPTModel.t_XD_Color" />
<EntitySet Name="t_XD_Product" EntityType="BBMPTModel.t_XD_Product" />
<EntitySet Name="t_XD_User" EntityType="BBMPTModel.t_XD_User" />
<EntitySet Name="W_XD_ProductCustomer" EntityType="BBMPTModel.W_XD_ProductCustomer" />
<EntitySet Name="t_XD_ProductType" EntityType="BBMPTModel.t_XD_ProductType" />
<EntitySet Name="W_XD_Product_del" EntityType="BBMPTModel.W_XD_Product_del" />
<EntitySet Name="t_XD_StockArea" EntityType="BBMPTModel.t_XD_StockArea" />
</EntityContainer>
<EntityType Name="LogErr">
<Key>
@ -5497,6 +5789,223 @@
<Property Name="Color" Type="String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" />
<Property Name="StockNo" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" />
</EntityType>
<EntityType Name="t_XD_BarCode">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="Code" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="ProductCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Batch" Type="String" MaxLength="30" FixedLength="false" Unicode="true" />
<Property Name="Qty" Type="Int32" />
<Property Name="AddTime" Type="DateTime" Precision="3" />
<Property Name="UserName" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="BatchGys" Type="String" MaxLength="30" FixedLength="false" Unicode="true" />
<Property Name="ImNumber" Type="String" MaxLength="30" FixedLength="false" Unicode="true" />
<Property Name="ProductCodeY" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="BatchY" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="Memo" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="OrderNumber" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LineNumber" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="BcName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="SupplierCode" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="BatchYqj" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="SupplierYqj" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="SupplierYqj1" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="SupplierYqj2" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="Weight" Type="Int32" />
</EntityType>
<EntityType Name="t_XD_BarCodeState">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="BarCode" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="ProductCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Batch" Type="String" MaxLength="30" FixedLength="false" Unicode="true" />
<Property Name="ProductType" Type="String" MaxLength="10" FixedLength="false" Unicode="true" />
<Property Name="Type" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="State" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="OnlineCount" Type="Int32" />
<Property Name="Quality" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="AddTime" Type="DateTime" Precision="3" />
<Property Name="UserName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="RejectName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="SupplierYqj" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="SupplierYqj1" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="SupplierYqj2" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
</EntityType>
<EntityType Name="t_XD_CarModel">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="sort" Type="Int32" />
</EntityType>
<EntityType Name="t_XD_Color">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Color" Type="String" MaxLength="50" FixedLength="false" Unicode="false" />
<Property Name="CarModelCode" Type="String" MaxLength="256" FixedLength="false" Unicode="false" />
<Property Name="ForeColor" Type="String" MaxLength="50" FixedLength="false" Unicode="false" />
</EntityType>
<EntityType Name="t_XD_Product">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="TypeCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Model" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="UnitCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="CarModelCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="ColorCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="PullQty" Type="Int32" />
<Property Name="MinQty" Type="Int32" />
<Property Name="MaxQty" Type="Int32" />
<Property Name="SafeQty" Type="Int32" />
<Property Name="StockQty" Type="Int32" />
<Property Name="StockAreaCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="IsPackage" Type="Int32" />
<Property Name="IsMix" Type="Int32" />
<Property Name="IsMixType" Type="Int32" />
<Property Name="ProjectNumber" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="ProjectName" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="PCode" Type="String" MaxLength="200" FixedLength="false" Unicode="true" />
<Property Name="Layer1" Type="Int32" />
<Property Name="Layer2" Type="Int32" />
<Property Name="ShelfCode1" Type="Int32" />
<Property Name="ShelfCode2" Type="Int32" />
<Property Name="QState" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="SjCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="LU1" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU2" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU3" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU4" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU5" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU6" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU7" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU8" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU9" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU10" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="ShipType" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="PackageQty" Type="Int32" />
<Property Name="PackageQtyTray" Type="Int32" />
<Property Name="StandardWeight1" Type="Decimal" Precision="18" Scale="2" />
<Property Name="StandardWeight2" Type="Decimal" Precision="18" Scale="2" />
<Property Name="Userdefined1" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined2" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined3" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined4" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined5" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
</EntityType>
<EntityType Name="t_XD_User">
<Key>
<PropertyRef Name="User_ID" />
</Key>
<Property Name="User_ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="User_Name" Type="String" MaxLength="20" FixedLength="false" Unicode="false" />
<Property Name="User_Password" Type="String" MaxLength="50" FixedLength="false" Unicode="false" />
<Property Name="User_Memo" Type="String" MaxLength="50" FixedLength="false" Unicode="false" />
<Property Name="User_Enabled" Type="Boolean" />
<Property Name="StockAreaCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
</EntityType>
<EntityType Name="W_XD_ProductCustomer">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
<Property Name="ProductID" Type="Int32" Nullable="false" />
<Property Name="CustomerProductNo" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="IsCount" Type="Boolean" />
<Property Name="IsDateCount" Type="Boolean" />
<Property Name="YDate" Type="DateTime" Precision="3" />
<Property Name="DateCount" Type="Int32" />
<Property Name="YCount" Type="Int32" />
<Property Name="MaxCount" Type="Int32" />
<Property Name="BarCode" Type="String" MaxLength="200" FixedLength="false" Unicode="false" />
<Property Name="ZPL2" Type="String" MaxLength="Max" FixedLength="false" Unicode="false" />
<Property Name="ZPLFile" Type="String" MaxLength="50" FixedLength="false" Unicode="false" />
<Property Name="CountType" Type="String" MaxLength="10" FixedLength="false" Unicode="false" />
<Property Name="PrintMode" Type="String" MaxLength="10" FixedLength="true" Unicode="true" />
<Property Name="IsEnable" Type="Boolean" />
</EntityType>
<EntityType Name="t_XD_ProductType">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" />
<Property Name="Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
</EntityType>
<EntityType Name="W_XD_Product_del">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" />
<Property Name="Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="TypeCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Model" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="UnitCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="CarModelCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="ColorCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="PullQty" Type="Int32" />
<Property Name="MinQty" Type="Int32" />
<Property Name="MaxQty" Type="Int32" />
<Property Name="SafeQty" Type="Int32" />
<Property Name="StockQty" Type="Int32" />
<Property Name="StockAreaCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="IsPackage" Type="Int32" />
<Property Name="IsMix" Type="Int32" />
<Property Name="IsMixType" Type="Int32" />
<Property Name="ProjectNumber" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="ProjectName" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="PCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Layer1" Type="Int32" />
<Property Name="Layer2" Type="Int32" />
<Property Name="ShelfCode1" Type="Int32" />
<Property Name="ShelfCode2" Type="Int32" />
<Property Name="QState" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="SjCode" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="LU1" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU2" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU3" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU4" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU5" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU6" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU7" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU8" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU9" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="LU10" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="ShipType" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="PackageQty" Type="Int32" />
<Property Name="PackageQtyTray" Type="Int32" />
<Property Name="StandardWeight1" Type="Decimal" Precision="18" Scale="2" />
<Property Name="StandardWeight2" Type="Decimal" Precision="18" Scale="2" />
<Property Name="Userdefined1" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined2" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined3" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined4" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="Userdefined5" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
</EntityType>
<EntityType Name="t_XD_StockArea">
<Key>
<PropertyRef Name="ID" />
</Key>
<Property Name="ID" Type="Decimal" Nullable="false" Precision="18" Scale="0" annotation:StoreGeneratedPattern="Identity" />
<Property Name="Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
<Property Name="Name" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
<Property Name="U8Code" Type="String" MaxLength="20" FixedLength="false" Unicode="true" />
</EntityType>
</Schema>
</edmx:ConceptualModels>
<!-- C-S mapping content -->
@ -7896,6 +8405,233 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_BarCode">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_BarCode">
<MappingFragment StoreEntitySet="t_XD_BarCode">
<ScalarProperty Name="Weight" ColumnName="Weight" />
<ScalarProperty Name="SupplierYqj2" ColumnName="SupplierYqj2" />
<ScalarProperty Name="SupplierYqj1" ColumnName="SupplierYqj1" />
<ScalarProperty Name="SupplierYqj" ColumnName="SupplierYqj" />
<ScalarProperty Name="BatchYqj" ColumnName="BatchYqj" />
<ScalarProperty Name="SupplierCode" ColumnName="SupplierCode" />
<ScalarProperty Name="BcName" ColumnName="BcName" />
<ScalarProperty Name="LineNumber" ColumnName="LineNumber" />
<ScalarProperty Name="OrderNumber" ColumnName="OrderNumber" />
<ScalarProperty Name="Memo" ColumnName="Memo" />
<ScalarProperty Name="BatchY" ColumnName="BatchY" />
<ScalarProperty Name="ProductCodeY" ColumnName="ProductCodeY" />
<ScalarProperty Name="ImNumber" ColumnName="ImNumber" />
<ScalarProperty Name="BatchGys" ColumnName="BatchGys" />
<ScalarProperty Name="UserName" ColumnName="UserName" />
<ScalarProperty Name="AddTime" ColumnName="AddTime" />
<ScalarProperty Name="Qty" ColumnName="Qty" />
<ScalarProperty Name="Batch" ColumnName="Batch" />
<ScalarProperty Name="ProductCode" ColumnName="ProductCode" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_BarCodeState">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_BarCodeState">
<MappingFragment StoreEntitySet="t_XD_BarCodeState">
<ScalarProperty Name="SupplierYqj2" ColumnName="SupplierYqj2" />
<ScalarProperty Name="SupplierYqj1" ColumnName="SupplierYqj1" />
<ScalarProperty Name="SupplierYqj" ColumnName="SupplierYqj" />
<ScalarProperty Name="RejectName" ColumnName="RejectName" />
<ScalarProperty Name="UserName" ColumnName="UserName" />
<ScalarProperty Name="AddTime" ColumnName="AddTime" />
<ScalarProperty Name="Quality" ColumnName="Quality" />
<ScalarProperty Name="OnlineCount" ColumnName="OnlineCount" />
<ScalarProperty Name="State" ColumnName="State" />
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Type" ColumnName="Type" />
<ScalarProperty Name="ProductType" ColumnName="ProductType" />
<ScalarProperty Name="Batch" ColumnName="Batch" />
<ScalarProperty Name="ProductCode" ColumnName="ProductCode" />
<ScalarProperty Name="BarCode" ColumnName="BarCode" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_CarModel">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_CarModel">
<MappingFragment StoreEntitySet="t_XD_CarModel">
<ScalarProperty Name="sort" ColumnName="sort" />
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_Color">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_Color">
<MappingFragment StoreEntitySet="t_XD_Color">
<ScalarProperty Name="ForeColor" ColumnName="ForeColor" />
<ScalarProperty Name="CarModelCode" ColumnName="CarModelCode" />
<ScalarProperty Name="Color" ColumnName="Color" />
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_Product">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_Product">
<MappingFragment StoreEntitySet="t_XD_Product">
<ScalarProperty Name="Userdefined5" ColumnName="Userdefined5" />
<ScalarProperty Name="Userdefined4" ColumnName="Userdefined4" />
<ScalarProperty Name="Userdefined3" ColumnName="Userdefined3" />
<ScalarProperty Name="Userdefined2" ColumnName="Userdefined2" />
<ScalarProperty Name="Userdefined1" ColumnName="Userdefined1" />
<ScalarProperty Name="StandardWeight2" ColumnName="StandardWeight2" />
<ScalarProperty Name="StandardWeight1" ColumnName="StandardWeight1" />
<ScalarProperty Name="PackageQtyTray" ColumnName="PackageQtyTray" />
<ScalarProperty Name="PackageQty" ColumnName="PackageQty" />
<ScalarProperty Name="ShipType" ColumnName="ShipType" />
<ScalarProperty Name="LU10" ColumnName="LU10" />
<ScalarProperty Name="LU9" ColumnName="LU9" />
<ScalarProperty Name="LU8" ColumnName="LU8" />
<ScalarProperty Name="LU7" ColumnName="LU7" />
<ScalarProperty Name="LU6" ColumnName="LU6" />
<ScalarProperty Name="LU5" ColumnName="LU5" />
<ScalarProperty Name="LU4" ColumnName="LU4" />
<ScalarProperty Name="LU3" ColumnName="LU3" />
<ScalarProperty Name="LU2" ColumnName="LU2" />
<ScalarProperty Name="LU1" ColumnName="LU1" />
<ScalarProperty Name="SjCode" ColumnName="SjCode" />
<ScalarProperty Name="QState" ColumnName="QState" />
<ScalarProperty Name="ShelfCode2" ColumnName="ShelfCode2" />
<ScalarProperty Name="ShelfCode1" ColumnName="ShelfCode1" />
<ScalarProperty Name="Layer2" ColumnName="Layer2" />
<ScalarProperty Name="Layer1" ColumnName="Layer1" />
<ScalarProperty Name="PCode" ColumnName="PCode" />
<ScalarProperty Name="ProjectName" ColumnName="ProjectName" />
<ScalarProperty Name="ProjectNumber" ColumnName="ProjectNumber" />
<ScalarProperty Name="IsMixType" ColumnName="IsMixType" />
<ScalarProperty Name="IsMix" ColumnName="IsMix" />
<ScalarProperty Name="IsPackage" ColumnName="IsPackage" />
<ScalarProperty Name="StockAreaCode" ColumnName="StockAreaCode" />
<ScalarProperty Name="StockQty" ColumnName="StockQty" />
<ScalarProperty Name="SafeQty" ColumnName="SafeQty" />
<ScalarProperty Name="MaxQty" ColumnName="MaxQty" />
<ScalarProperty Name="MinQty" ColumnName="MinQty" />
<ScalarProperty Name="PullQty" ColumnName="PullQty" />
<ScalarProperty Name="ColorCode" ColumnName="ColorCode" />
<ScalarProperty Name="CarModelCode" ColumnName="CarModelCode" />
<ScalarProperty Name="UnitCode" ColumnName="UnitCode" />
<ScalarProperty Name="Model" ColumnName="Model" />
<ScalarProperty Name="TypeCode" ColumnName="TypeCode" />
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_User">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_User">
<MappingFragment StoreEntitySet="t_XD_User">
<ScalarProperty Name="StockAreaCode" ColumnName="StockAreaCode" />
<ScalarProperty Name="User_Enabled" ColumnName="User_Enabled" />
<ScalarProperty Name="User_Memo" ColumnName="User_Memo" />
<ScalarProperty Name="User_Password" ColumnName="User_Password" />
<ScalarProperty Name="User_Name" ColumnName="User_Name" />
<ScalarProperty Name="User_ID" ColumnName="User_ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="W_XD_ProductCustomer">
<EntityTypeMapping TypeName="BBMPTModel.W_XD_ProductCustomer">
<MappingFragment StoreEntitySet="W_XD_ProductCustomer">
<ScalarProperty Name="IsEnable" ColumnName="IsEnable" />
<ScalarProperty Name="PrintMode" ColumnName="PrintMode" />
<ScalarProperty Name="CountType" ColumnName="CountType" />
<ScalarProperty Name="ZPLFile" ColumnName="ZPLFile" />
<ScalarProperty Name="ZPL2" ColumnName="ZPL2" />
<ScalarProperty Name="BarCode" ColumnName="BarCode" />
<ScalarProperty Name="MaxCount" ColumnName="MaxCount" />
<ScalarProperty Name="YCount" ColumnName="YCount" />
<ScalarProperty Name="DateCount" ColumnName="DateCount" />
<ScalarProperty Name="YDate" ColumnName="YDate" />
<ScalarProperty Name="IsDateCount" ColumnName="IsDateCount" />
<ScalarProperty Name="IsCount" ColumnName="IsCount" />
<ScalarProperty Name="CustomerProductNo" ColumnName="CustomerProductNo" />
<ScalarProperty Name="ProductID" ColumnName="ProductID" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_ProductType">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_ProductType">
<MappingFragment StoreEntitySet="t_XD_ProductType">
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="W_XD_Product_del">
<EntityTypeMapping TypeName="BBMPTModel.W_XD_Product_del">
<MappingFragment StoreEntitySet="W_XD_Product_del">
<ScalarProperty Name="Userdefined5" ColumnName="Userdefined5" />
<ScalarProperty Name="Userdefined4" ColumnName="Userdefined4" />
<ScalarProperty Name="Userdefined3" ColumnName="Userdefined3" />
<ScalarProperty Name="Userdefined2" ColumnName="Userdefined2" />
<ScalarProperty Name="Userdefined1" ColumnName="Userdefined1" />
<ScalarProperty Name="StandardWeight2" ColumnName="StandardWeight2" />
<ScalarProperty Name="StandardWeight1" ColumnName="StandardWeight1" />
<ScalarProperty Name="PackageQtyTray" ColumnName="PackageQtyTray" />
<ScalarProperty Name="PackageQty" ColumnName="PackageQty" />
<ScalarProperty Name="ShipType" ColumnName="ShipType" />
<ScalarProperty Name="LU10" ColumnName="LU10" />
<ScalarProperty Name="LU9" ColumnName="LU9" />
<ScalarProperty Name="LU8" ColumnName="LU8" />
<ScalarProperty Name="LU7" ColumnName="LU7" />
<ScalarProperty Name="LU6" ColumnName="LU6" />
<ScalarProperty Name="LU5" ColumnName="LU5" />
<ScalarProperty Name="LU4" ColumnName="LU4" />
<ScalarProperty Name="LU3" ColumnName="LU3" />
<ScalarProperty Name="LU2" ColumnName="LU2" />
<ScalarProperty Name="LU1" ColumnName="LU1" />
<ScalarProperty Name="SjCode" ColumnName="SjCode" />
<ScalarProperty Name="QState" ColumnName="QState" />
<ScalarProperty Name="ShelfCode2" ColumnName="ShelfCode2" />
<ScalarProperty Name="ShelfCode1" ColumnName="ShelfCode1" />
<ScalarProperty Name="Layer2" ColumnName="Layer2" />
<ScalarProperty Name="Layer1" ColumnName="Layer1" />
<ScalarProperty Name="PCode" ColumnName="PCode" />
<ScalarProperty Name="ProjectName" ColumnName="ProjectName" />
<ScalarProperty Name="ProjectNumber" ColumnName="ProjectNumber" />
<ScalarProperty Name="IsMixType" ColumnName="IsMixType" />
<ScalarProperty Name="IsMix" ColumnName="IsMix" />
<ScalarProperty Name="IsPackage" ColumnName="IsPackage" />
<ScalarProperty Name="StockAreaCode" ColumnName="StockAreaCode" />
<ScalarProperty Name="StockQty" ColumnName="StockQty" />
<ScalarProperty Name="SafeQty" ColumnName="SafeQty" />
<ScalarProperty Name="MaxQty" ColumnName="MaxQty" />
<ScalarProperty Name="MinQty" ColumnName="MinQty" />
<ScalarProperty Name="PullQty" ColumnName="PullQty" />
<ScalarProperty Name="ColorCode" ColumnName="ColorCode" />
<ScalarProperty Name="CarModelCode" ColumnName="CarModelCode" />
<ScalarProperty Name="UnitCode" ColumnName="UnitCode" />
<ScalarProperty Name="Model" ColumnName="Model" />
<ScalarProperty Name="TypeCode" ColumnName="TypeCode" />
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="t_XD_StockArea">
<EntityTypeMapping TypeName="BBMPTModel.t_XD_StockArea">
<MappingFragment StoreEntitySet="t_XD_StockArea">
<ScalarProperty Name="U8Code" ColumnName="U8Code" />
<ScalarProperty Name="Name" ColumnName="Name" />
<ScalarProperty Name="Code" ColumnName="Code" />
<ScalarProperty Name="ID" ColumnName="ID" />
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
</EntityContainerMapping>
</Mapping>
</edmx:Mappings>

33
MESClassLibrary/EFModel/W_XD_ProductCustomer.cs

@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class W_XD_ProductCustomer
{
public int ID { get; set; }
public int ProductID { get; set; }
public string CustomerProductNo { get; set; }
public Nullable<bool> IsCount { get; set; }
public Nullable<bool> IsDateCount { get; set; }
public Nullable<System.DateTime> YDate { get; set; }
public Nullable<int> DateCount { get; set; }
public Nullable<int> YCount { get; set; }
public Nullable<int> MaxCount { get; set; }
public string BarCode { get; set; }
public string ZPL2 { get; set; }
public string ZPLFile { get; set; }
public string CountType { get; set; }
public string PrintMode { get; set; }
public Nullable<bool> IsEnable { get; set; }
}
}

64
MESClassLibrary/EFModel/W_XD_Product_del.cs

@ -0,0 +1,64 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class W_XD_Product_del
{
public decimal ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string TypeCode { get; set; }
public string Model { get; set; }
public string UnitCode { get; set; }
public string CarModelCode { get; set; }
public string ColorCode { get; set; }
public Nullable<int> PullQty { get; set; }
public Nullable<int> MinQty { get; set; }
public Nullable<int> MaxQty { get; set; }
public Nullable<int> SafeQty { get; set; }
public Nullable<int> StockQty { get; set; }
public string StockAreaCode { get; set; }
public Nullable<int> IsPackage { get; set; }
public Nullable<int> IsMix { get; set; }
public Nullable<int> IsMixType { get; set; }
public string ProjectNumber { get; set; }
public string ProjectName { get; set; }
public string PCode { get; set; }
public Nullable<int> Layer1 { get; set; }
public Nullable<int> Layer2 { get; set; }
public Nullable<int> ShelfCode1 { get; set; }
public Nullable<int> ShelfCode2 { get; set; }
public string QState { get; set; }
public string SjCode { get; set; }
public string LU1 { get; set; }
public string LU2 { get; set; }
public string LU3 { get; set; }
public string LU4 { get; set; }
public string LU5 { get; set; }
public string LU6 { get; set; }
public string LU7 { get; set; }
public string LU8 { get; set; }
public string LU9 { get; set; }
public string LU10 { get; set; }
public string ShipType { get; set; }
public Nullable<int> PackageQty { get; set; }
public Nullable<int> PackageQtyTray { get; set; }
public Nullable<decimal> StandardWeight1 { get; set; }
public Nullable<decimal> StandardWeight2 { get; set; }
public string Userdefined1 { get; set; }
public string Userdefined2 { get; set; }
public string Userdefined3 { get; set; }
public string Userdefined4 { get; set; }
public string Userdefined5 { get; set; }
}
}

39
MESClassLibrary/EFModel/t_XD_BarCode.cs

@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_BarCode
{
public decimal ID { get; set; }
public string Code { get; set; }
public string ProductCode { get; set; }
public string Batch { get; set; }
public Nullable<int> Qty { get; set; }
public Nullable<System.DateTime> AddTime { get; set; }
public string UserName { get; set; }
public string BatchGys { get; set; }
public string ImNumber { get; set; }
public string ProductCodeY { get; set; }
public string BatchY { get; set; }
public string Memo { get; set; }
public string OrderNumber { get; set; }
public string LineNumber { get; set; }
public string BcName { get; set; }
public string SupplierCode { get; set; }
public string BatchYqj { get; set; }
public string SupplierYqj { get; set; }
public string SupplierYqj1 { get; set; }
public string SupplierYqj2 { get; set; }
public Nullable<int> Weight { get; set; }
}
}

34
MESClassLibrary/EFModel/t_XD_BarCodeState.cs

@ -0,0 +1,34 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_BarCodeState
{
public decimal ID { get; set; }
public string BarCode { get; set; }
public string ProductCode { get; set; }
public string Batch { get; set; }
public string ProductType { get; set; }
public string Type { get; set; }
public string Name { get; set; }
public string State { get; set; }
public Nullable<int> OnlineCount { get; set; }
public string Quality { get; set; }
public Nullable<System.DateTime> AddTime { get; set; }
public string UserName { get; set; }
public string RejectName { get; set; }
public string SupplierYqj { get; set; }
public string SupplierYqj1 { get; set; }
public string SupplierYqj2 { get; set; }
}
}

22
MESClassLibrary/EFModel/t_XD_CarModel.cs

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_CarModel
{
public decimal ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public Nullable<int> sort { get; set; }
}
}

24
MESClassLibrary/EFModel/t_XD_Color.cs

@ -0,0 +1,24 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_Color
{
public decimal ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Color { get; set; }
public string CarModelCode { get; set; }
public string ForeColor { get; set; }
}
}

64
MESClassLibrary/EFModel/t_XD_Product.cs

@ -0,0 +1,64 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_Product
{
public decimal ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string TypeCode { get; set; }
public string Model { get; set; }
public string UnitCode { get; set; }
public string CarModelCode { get; set; }
public string ColorCode { get; set; }
public Nullable<int> PullQty { get; set; }
public Nullable<int> MinQty { get; set; }
public Nullable<int> MaxQty { get; set; }
public Nullable<int> SafeQty { get; set; }
public Nullable<int> StockQty { get; set; }
public string StockAreaCode { get; set; }
public Nullable<int> IsPackage { get; set; }
public Nullable<int> IsMix { get; set; }
public Nullable<int> IsMixType { get; set; }
public string ProjectNumber { get; set; }
public string ProjectName { get; set; }
public string PCode { get; set; }
public Nullable<int> Layer1 { get; set; }
public Nullable<int> Layer2 { get; set; }
public Nullable<int> ShelfCode1 { get; set; }
public Nullable<int> ShelfCode2 { get; set; }
public string QState { get; set; }
public string SjCode { get; set; }
public string LU1 { get; set; }
public string LU2 { get; set; }
public string LU3 { get; set; }
public string LU4 { get; set; }
public string LU5 { get; set; }
public string LU6 { get; set; }
public string LU7 { get; set; }
public string LU8 { get; set; }
public string LU9 { get; set; }
public string LU10 { get; set; }
public string ShipType { get; set; }
public Nullable<int> PackageQty { get; set; }
public Nullable<int> PackageQtyTray { get; set; }
public Nullable<decimal> StandardWeight1 { get; set; }
public Nullable<decimal> StandardWeight2 { get; set; }
public string Userdefined1 { get; set; }
public string Userdefined2 { get; set; }
public string Userdefined3 { get; set; }
public string Userdefined4 { get; set; }
public string Userdefined5 { get; set; }
}
}

21
MESClassLibrary/EFModel/t_XD_ProductType.cs

@ -0,0 +1,21 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_ProductType
{
public decimal ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
}
}

22
MESClassLibrary/EFModel/t_XD_StockArea.cs

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_StockArea
{
public decimal ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string U8Code { get; set; }
}
}

24
MESClassLibrary/EFModel/t_XD_User.cs

@ -0,0 +1,24 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------
namespace MESClassLibrary.EFModel
{
using System;
using System.Collections.Generic;
public partial class t_XD_User
{
public decimal User_ID { get; set; }
public string User_Name { get; set; }
public string User_Password { get; set; }
public string User_Memo { get; set; }
public Nullable<bool> User_Enabled { get; set; }
public string StockAreaCode { get; set; }
}
}

33
MESClassLibrary/MESClassLibrary.csproj

@ -66,8 +66,11 @@
<Compile Include="BLL\BasicInfo\BasicBLL1.cs" />
<Compile Include="BLL\BasicInfo\BomBLL.cs" />
<Compile Include="BLL\BasicInfo\BucketInfoBLL.cs" />
<Compile Include="BLL\BasicInfo\XDStockAreaBLL.cs" />
<Compile Include="BLL\BasicInfo\XDCarModelBLL.cs" />
<Compile Include="BLL\BasicInfo\CarTypeBLL.cs" />
<Compile Include="BLL\BasicInfo\CheckItemBLL.cs" />
<Compile Include="BLL\BasicInfo\XDColorBLL.cs" />
<Compile Include="BLL\BasicInfo\ColorBLL.cs" />
<Compile Include="BLL\BasicInfo\DefectBLL.cs" />
<Compile Include="BLL\BasicInfo\DeptBLL.cs" />
@ -731,9 +734,39 @@
<Compile Include="EFModel\T_Sys_Users_NavMenu.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_BarCode.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_BarCodeState.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_CarModel.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_Color.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_Product.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_ProductType.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_StockArea.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\t_XD_User.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\View_1.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\W_XD_ProductCustomer.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="EFModel\W_XD_Product_del.cs">
<DependentUpon>BBMPT.tt</DependentUpon>
</Compile>
<Compile Include="Enum\WmsInterfaceEnum.cs" />
<Compile Include="JSONTools.cs" />
<Compile Include="LambdaHelper.cs" />

1
MESWebSite/HttpHandlers/XDCarModelHandler.ashx

@ -0,0 +1 @@
<%@ WebHandler Language="C#" CodeBehind="XDCarModelHandler.ashx.cs" Class="MESWebSite.HttpHandlers.XDCarModelHandler" %>

87
MESWebSite/HttpHandlers/XDCarModelHandler.ashx.cs

@ -0,0 +1,87 @@
using MESClassLibrary.BLL.BasicInfo;
using MESClassLibrary.EFModel;
using MESWebSite.CommonClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MESWebSite.HttpHandlers
{
/// <summary>
/// CarTypeHandler 的摘要说明
/// </summary>
public class XDCarModelHandler : BaseHandler
{
public XDCarModelHandler() : base()
{
}
protected override void QueryList()
{
string page = GetParam("page").DefaultValue("0");
string rows = GetParam("rows").DefaultValue("15");
string carTypeName = GetParam("CarTypeName");
string carTypeCode = GetParam("CarTypeCode");
XDCarModelBLL bll = new XDCarModelBLL();
Response.Write(bll.SearchInfoAll(page, rows, carTypeName, carTypeCode));
Response.End();
}
protected override void SaveInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
string carTypeName = GetParam("CarTypeName");
string carTypeCode = GetParam("CarTypeCode");
XDCarModelBLL bll = new XDCarModelBLL();
t_XD_CarModel md = new t_XD_CarModel
{
ID = id,
Name = carTypeName,
Code = carTypeCode
};
//var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
if (ID == "0")
{
//md.ID = Guid.NewGuid().ToString();
Response.Write(bll.AddInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("保存失败"));
}
else
{
md.ID = id;
Response.Write(bll.UpdateInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("更新失败"));
}
Response.End();
}
protected override void DelInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
if (id == 0) return;
XDCarModelBLL bll = new XDCarModelBLL();
t_XD_CarModel md = new t_XD_CarModel { ID = id };
var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
Response.Write(bll.DeleteInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("删除失败"));
Response.End();
}
}
}

1
MESWebSite/HttpHandlers/XDColorHandler.ashx

@ -0,0 +1 @@
<%@ WebHandler Language="C#" CodeBehind="XDColorHandler.ashx.cs" Class="MESWebSite.HttpHandlers.XDColorHandler" %>

88
MESWebSite/HttpHandlers/XDColorHandler.ashx.cs

@ -0,0 +1,88 @@
using MESClassLibrary.BLL.BasicInfo;
using MESClassLibrary.EFModel;
using MESWebSite.CommonClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MESWebSite.HttpHandlers
{
/// <summary>
/// CarTypeHandler 的摘要说明
/// </summary>
public class XDColorHandler : BaseHandler
{
public XDColorHandler() : base()
{
}
protected override void QueryList()
{
string page = GetParam("page").DefaultValue("0");
string rows = GetParam("rows").DefaultValue("15");
string Name = GetParam("Name");
string Code = GetParam("Code");
string Color = GetParam("Color");
XDColorBLL bll = new XDColorBLL();
Response.Write(bll.SearchInfoAll(page, rows, Name, Code, Color));
Response.End();
}
protected override void SaveInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
string code = GetParam("Code");
string name = GetParam("Name");
string color = GetParam("Color");
string carModelCode = GetParam("CarModelCode");
string foreColor = GetParam("ForeColor");
XDColorBLL bll = new XDColorBLL();
t_XD_Color md = new t_XD_Color
{
ID = id,
Name = name,
Code = code,
Color = color,
CarModelCode = carModelCode,
ForeColor = foreColor,
};
if (ID == "0")
{
//md.ID = Guid.NewGuid().ToString();
Response.Write(bll.AddInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("保存失败"));
}
else
{
md.ID = id;
Response.Write(bll.UpdateInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("更新失败"));
}
Response.End();
}
protected override void DelInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
if (id == 0) return;
XDColorBLL bll = new XDColorBLL();
t_XD_Color md = new t_XD_Color { ID = id };
var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
Response.Write(bll.DeleteInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("删除失败"));
Response.End();
}
}
}

1
MESWebSite/HttpHandlers/XDProductHandler.ashx

@ -0,0 +1 @@
<%@ WebHandler Language="C#" CodeBehind="XDProductHandler.ashx.cs" Class="MESWebSite.HttpHandlers.XDProductHandler" %>

93
MESWebSite/HttpHandlers/XDProductHandler.ashx.cs

@ -0,0 +1,93 @@
using MESClassLibrary.BLL.BasicInfo;
using MESClassLibrary.EFModel;
using MESWebSite.CommonClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MESWebSite.HttpHandlers
{
/// <summary>
/// CarTypeHandler 的摘要说明
/// </summary>
public class XDProductHandler : BaseHandler
{
public XDProductHandler() : base()
{
//RegisterAction(CarTypeCombo);
}
private void CarTypeCombo()
{
CarTypeBLL bll = new CarTypeBLL();
Response.Write(bll.CarTypeCombo());
Response.End();
}
protected override void QueryList()
{
string page = GetParam("page").DefaultValue("0");
string rows = GetParam("rows").DefaultValue("15");
string carTypeName = GetParam("CarTypeName");
string carTypeCode = GetParam("CarTypeCode");
XDCarModelBLL bll = new XDCarModelBLL();
Response.Write(bll.SearchInfoAll(page, rows, carTypeName, carTypeCode));
Response.End();
}
protected override void SaveInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
string carTypeName = GetParam("CarTypeName");
string carTypeCode = GetParam("CarTypeCode");
XDCarModelBLL bll = new XDCarModelBLL();
t_XD_CarModel md = new t_XD_CarModel
{
ID = id,
Name = carTypeName,
Code = carTypeCode
};
//var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
if (ID == "0")
{
//md.ID = Guid.NewGuid().ToString();
Response.Write(bll.AddInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("保存失败"));
}
else
{
md.ID = id;
Response.Write(bll.UpdateInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("更新失败"));
}
Response.End();
}
protected override void DelInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
if (id == 0) return;
XDCarModelBLL bll = new XDCarModelBLL();
t_XD_CarModel md = new t_XD_CarModel { ID = id };
var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
Response.Write(bll.DeleteInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("删除失败"));
Response.End();
}
}
}

1
MESWebSite/HttpHandlers/XDStockAreaHandler.ashx

@ -0,0 +1 @@
<%@ WebHandler Language="C#" CodeBehind="XDStockAreaHandler.ashx.cs" Class="MESWebSite.HttpHandlers.XDStockAreaHandler" %>

88
MESWebSite/HttpHandlers/XDStockAreaHandler.ashx.cs

@ -0,0 +1,88 @@
using MESClassLibrary.BLL.BasicInfo;
using MESClassLibrary.EFModel;
using MESWebSite.CommonClass;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MESWebSite.HttpHandlers
{
/// <summary>
/// CarTypeHandler 的摘要说明
/// </summary>
public class XDStockAreaHandler : BaseHandler
{
public XDStockAreaHandler() : base()
{
}
protected override void QueryList()
{
string page = GetParam("page").DefaultValue("0");
string rows = GetParam("rows").DefaultValue("15");
string code = GetParam("Code");
string name = GetParam("Name");
XDStockAreaBLL bll = new XDStockAreaBLL();
Response.Write(bll.SearchInfoAll(page, rows, code, code));
Response.End();
}
protected override void SaveInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
string Name = GetParam("Name");
string Code = GetParam("Code");
string U8Code = GetParam("U8Code");
XDStockAreaBLL bll = new XDStockAreaBLL();
t_XD_StockArea md = new t_XD_StockArea
{
ID = id,
Name = Name,
Code = Code,
U8Code = U8Code
};
//var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
if (ID == "0")
{
//md.ID = Guid.NewGuid().ToString();
Response.Write(bll.AddInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("保存失败"));
}
else
{
md.ID = id;
Response.Write(bll.UpdateInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("更新失败"));
}
Response.End();
}
protected override void DelInfo()
{
string ID = GetParam("ID");
int id = 0;
int.TryParse(ID, out id);
if (id == 0) return;
XDStockAreaBLL bll = new XDStockAreaBLL();
t_XD_StockArea md = new t_XD_StockArea { ID = id };
var info = Request.Cookies.Get("LoginUserInfo");
//if (info != null)
//{
// md.UserID = info["UserID"].ToUpper();
//}
Response.Write(bll.DeleteInfo(md) ? ResponseResult.Success() : ResponseResult.Fail("删除失败"));
Response.End();
}
}
}

48
MESWebSite/MESWebSite.csproj

@ -120,6 +120,10 @@
<Content Include="Manage\BarCodeRepeatSearch.aspx" />
<Content Include="Manage\BucketInfo.aspx" />
<Content Include="Manage\BucketState.aspx" />
<Content Include="Manage\XDStockArea.aspx" />
<Content Include="Manage\XDProduct.aspx" />
<Content Include="Manage\XDColor.aspx" />
<Content Include="Manage\XDCarModel.aspx" />
<Content Include="Manage\CarType.aspx" />
<Content Include="Manage\ChaimDownRecord.aspx" />
<Content Include="Manage\ChaimUpRecord.aspx" />
@ -828,6 +832,10 @@
<Content Include="HttpHandlers\ChaimUpRecordHandler.ashx" />
<Content Include="HttpHandlers\ChaimDownRecordHandler.ashx" />
<Content Include="HttpHandlers\ForeignColorMapHandler.ashx" />
<Content Include="HttpHandlers\XDCarModelHandler.ashx" />
<Content Include="HttpHandlers\XDColorHandler.ashx" />
<Content Include="HttpHandlers\XDProductHandler.ashx" />
<Content Include="HttpHandlers\XDStockAreaHandler.ashx" />
<None Include="Properties\PublishProfiles\BBMPT1.pubxml" />
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" />
<None Include="Properties\PublishProfiles\Web.config.pubxml" />
@ -1078,6 +1086,18 @@
<Compile Include="HttpHandlers\BucketStateHandler.ashx.cs">
<DependentUpon>BucketStateHandler.ashx</DependentUpon>
</Compile>
<Compile Include="HttpHandlers\XDProductHandler.ashx.cs">
<DependentUpon>XDProductHandler.ashx</DependentUpon>
</Compile>
<Compile Include="HttpHandlers\XDStockAreaHandler.ashx.cs">
<DependentUpon>XDStockAreaHandler.ashx</DependentUpon>
</Compile>
<Compile Include="HttpHandlers\XDColorHandler.ashx.cs">
<DependentUpon>XDColorHandler.ashx</DependentUpon>
</Compile>
<Compile Include="HttpHandlers\XDCarModelHandler.ashx.cs">
<DependentUpon>XDCarModelHandler.ashx</DependentUpon>
</Compile>
<Compile Include="HttpHandlers\CarTypeHandler.ashx.cs">
<DependentUpon>CarTypeHandler.ashx</DependentUpon>
</Compile>
@ -1325,6 +1345,34 @@
<Compile Include="Manage\BucketState.aspx.designer.cs">
<DependentUpon>BucketState.aspx</DependentUpon>
</Compile>
<Compile Include="Manage\XDStockArea.aspx.cs">
<DependentUpon>XDStockArea.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Manage\XDStockArea.aspx.designer.cs">
<DependentUpon>XDStockArea.aspx</DependentUpon>
</Compile>
<Compile Include="Manage\XDProduct.aspx.cs">
<DependentUpon>XDProduct.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Manage\XDProduct.aspx.designer.cs">
<DependentUpon>XDProduct.aspx</DependentUpon>
</Compile>
<Compile Include="Manage\XDColor.aspx.cs">
<DependentUpon>XDColor.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Manage\XDColor.aspx.designer.cs">
<DependentUpon>XDColor.aspx</DependentUpon>
</Compile>
<Compile Include="Manage\XDCarModel.aspx.cs">
<DependentUpon>XDCarModel.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Manage\XDCarModel.aspx.designer.cs">
<DependentUpon>XDCarModel.aspx</DependentUpon>
</Compile>
<Compile Include="Manage\CarType.aspx.cs">
<DependentUpon>CarType.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

2
MESWebSite/Manage/CarType.aspx

@ -123,7 +123,7 @@
var PrimaryID; //要编辑的id
var dg = $('#tb'); //表格
var isEdit = false; //是否为编辑状态
var handlerUrl = "/HttpHandlers/CarTypeHandler.ashx";
var handlerUrl = "/HttpHandlers/CarTypeHandler1.ashx";
/**************** DOM加载 ***************/
$(function () {

20
MESWebSite/Manage/CarType.aspx.designer.cs

@ -2,16 +2,18 @@
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MESWebSite.Manage {
public partial class CarType {
namespace MESWebSite.Manage
{
public partial class CarType
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace MESWebSite.Manage {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblMessage 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace MESWebSite.Manage {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// UserID 控件。
/// </summary>

356
MESWebSite/Manage/XDCarModel.aspx

@ -0,0 +1,356 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XDCarModel.aspx.cs" Inherits="MESWebSite.Manage.XDCarModel" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/CSS/Basics.css" rel="stylesheet" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/metro/easyui.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/color.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-easyui-1.4.3/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script src="/Scripts/MyJs.js" type="text/javascript"></script>
<style>
#w td {
padding: 5px 5px;
text-align: left;
vertical-align: middle;
}
#w .title {
vertical-align: middle;
text-align: right;
width: 80px;
height: 40px;
}
p {
padding: 5px;
font-size: small;
font-family: 微软雅黑;
}
.datagrid {
text-align: center;
}
.search_first{
margin-left: 34.5%
}
/* 中等屏幕 桌面显示器 992至1400 */
@media screen and (min-width:992px) and (max-width:1400px){
.search_first{
margin-left: 3%
}
}
</style>
<title>现代车型</title>
</head>
<body>
<form id="form1" runat="server">
<div class="top">
<table style="width: 100%">
<tr style="display: flex;flex-direction: row; flex-wrap: wrap;">
<td ><span class="title" style="width: 150px">车型</span>
</td>
<td style="width: 100px;"></td>
<td style="width: 280px;">车型名称:
<input id="cartype_name_s" type="text" value="" />
</td>
<td style="width: 250px;"> 车型编号:
<input id="cartype_code_s" type="text" value="" style="width: 140px;"/>
</td>
<td style="width: 80px"><a class="topsearchBtn">查询1</a></td>
<td style="width: 80px">
<a class="topaddBtn">新增</a>
</td>
<td style="width: 80px">
<a class="toppenBtn">编辑</a>
</td>
<td style="width: 80px">
<a class="topdelBtn">删除</a>
</td>
</tr>
</table>
</div>
<table id="tb" title="车型" style="width: 99%;">
</table>
<!-- 编辑窗口 -->
<div id="w" style="padding: 10px; visibility: hidden" title="编辑">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="title" style="width: 110px;">
<p>
车型名称:
</p>
</td>
<td colspan="2">
<input id="cartype_name" type="text" style="width: 230px; height: 30px" /><span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
车型编号:
</p>
</td>
<td colspan="2">
<input id="cartype_Code" type="text" style="width: 230px; height: 30px" />
<span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
</table>
</div>
<!-- 编辑窗口 - footer -->
<div id="ft" style="padding: 10px; text-align: center; background-color: #f9f9f9; visibility: hidden">
<a class="saveBtn" id="saveBtn">保存</a>
</div>
<div hidden="hidden">
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
<input id="UserID" type="text" hidden="hidden" runat="server" />
<script>
/**************** 全局变量 ***************/
var PrimaryID; //要编辑的id
var dg = $('#tb'); //表格
var isEdit = false; //是否为编辑状态
var handlerUrl = "/HttpHandlers/XDCarModelHandler.ashx";
/**************** DOM加载 ***************/
$(function () {
$.ajaxSetup({
cache: false //关闭AJAX缓存
});
//// 下拉框加载
//reload_manufacturer_combo('#manufacturer_id_s');
//reload_manufacturer_combo('#manufacturer_id');
//新增按钮点击
$('.topaddBtn').first().click(function () {
isEdit = false;
$('#w').window('open');
});
//编辑按钮点击
$('.toppenBtn').first().click(function () {
isEdit = true;
initEidtWidget();
});
//删除按钮
$('.topdelBtn').first().click(function () {
$.messager.confirm('提示框', '你确定要删除吗?', function (r) {
if (r) {
deleteInfos();
}
});
});
//搜索按钮
$('.topsearchBtn').first().click(function () {
SearchInfo();
});
//保存按钮
$('#saveBtn').bind('click', function () {
SaveInfo(isEdit);
});
//编辑窗口加载
$('#w').window({
modal: true,
closed: true,
minimizable: false,
maximizable: false,
collapsible: false,
width: 460,
height: 520,
footer: '#ft',
top: 20,
onBeforeClose: function () { clearw(); },
onBeforeOpen: function () {
$('#w').css('visibility', 'visible'); $('#ft').css('visibility', 'visible');
}
});
dg = $('#tb').datagrid({
fitColumns: true,
nowrap: false,
striped: true,
collapsible: false,
url: handlerUrl + "?method=QueryList",
//sortName: 'sortNumber',
//sortOrder: 'asc',
remoteSort: false,
columns: [[
{ field: 'ID', title: 'ID', hidden: true },
{ field: 'Name', title: '车型名称', sortable: 'true', width: 10 },
{ field: 'Code', title: '车型编号', sortable: 'true', width: 10 }
]],
pagination: true,//表示在datagrid设置分页
rownumbers: true,
singleSelect: true
});
dg.datagrid('getPager').pagination({
pageSize: 10,
pageNumber: 1,
pageList: [10, 20, 30, 40, 50],
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
});
/**************** 主要业务程序 ***************/
//新增 / 编辑
function SaveInfo(isEdit) {
var ID = isEdit == true ? PrimaryID : 0;
var CarTypeName = $('#cartype_name').val();
var CarTypeCode = $('#cartype_Code').val();
if (CarTypeName == "") {
$.messager.alert('提示', '车型名称不能为空,请重新输入', 'warning');
return;
}
if (CarTypeCode == "") {
$.messager.alert('提示', '车型编号不能为空,请重新输入', 'warning');
return;
}
var model = {
ID,
CarTypeName,
CarTypeCode,
method: 'SaveInfo'
};
SaveModel(model);
}
function SaveModel(model) {
$.ajax({
type: "POST",
async: false,
url: handlerUrl,
data: model,
dataType: 'json',
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已保存', 'info');
dg.datagrid('reload');
$('#w').window('close');
}
else {
$.messager.alert('提示', '保存失败,请查看是否名称重复', 'warning');
}
},
error: function () {
}
});
}
//查询方法
function SearchInfo() {
alert('123123123');
var CarTypeName = $('#cartype_name_s').val();
alert(CarTypeName);
var CarTypeCode = $('#cartype_code_s').val();
alert(CarTypeCode);
dg.datagrid({
queryParams: { CarTypeName, CarTypeCode }
});
dg.datagrid('reload');
}
////编辑时加载窗体数据
function initEidtWidget() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能编辑一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行编辑', 'warning');
return;
}
//窗体数据初始化
var row = selRows[0];
PrimaryID = row.ID;
$('#cartype_name').val(row.Name);
$('#cartype_Code').val(row.Code);s
$('#w').window('open');
}
//删除方法
function deleteInfos() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能删除一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行删除', 'warning');
return;
}
var row = selRows[0];
var model = {
ID: row.ID,
method: 'DelInfo'
};
$.ajax({
url: handlerUrl,
data: model,
dataType: 'json',
async: false,
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已删除', 'info');
dg.datagrid('reload');
}
else {
$.messager.alert('提示', '由于有关联数据,删除失败', 'warning');
}
},
error: function () {
}
});
}
/**************** 辅助业务程序 ***************/
/**********************************************/
/***************** 窗体程序 *******************/
/**********************************************/
//编辑窗口关闭清空数据
function clearw() {
$('#cartype_name').val('');
$('#cartype_code').val('');
}
/**
* 加载厂家下拉信息
**/
//function reload_manufacturer_combo(ctl) {
// base_reload_combobox(ctl, '/HttpHandlers/ManufacturerHandler.ashx?method=MenufacturerCombo');
//}
//function base_reload_combobox(ctl, url) {
// $(ctl).combobox('reload', url);
//}
</script>
</form>
</body>
</html>

20
MESWebSite/Manage/XDCarModel.aspx.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MESWebSite.Manage
{
public partial class XDCarModel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["LoginUserInfo"] == null)
{
Response.Write("<script language=javascript>alert('您的登录信息已过期,请重新登录!');top.location.href='../Login.aspx';</script>");
}
}
}
}

44
MESWebSite/Manage/XDCarModel.aspx.designer.cs

@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MESWebSite.Manage
{
public partial class XDCarModel
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblMessage 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// UserID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText UserID;
}
}

408
MESWebSite/Manage/XDColor.aspx

@ -0,0 +1,408 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XDColor.aspx.cs" Inherits="MESWebSite.Manage.XDColor" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/CSS/Basics.css" rel="stylesheet" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/metro/easyui.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/color.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-easyui-1.4.3/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script src="/Scripts/MyJs.js" type="text/javascript"></script>
<style>
#w td {
padding: 5px 5px;
text-align: left;
vertical-align: middle;
}
#w .title {
vertical-align: middle;
text-align: right;
width: 80px;
height: 40px;
}
p {
padding: 5px;
font-size: small;
font-family: 微软雅黑;
}
.datagrid {
text-align: center;
}
.search_first{
margin-left: 34.5%
}
/* 中等屏幕 桌面显示器 992至1400 */
@media screen and (min-width:992px) and (max-width:1400px){
.search_first{
margin-left: 3%
}
}
</style>
<title>现代颜色</title>
</head>
<body>
<form id="form1" runat="server">
<div class="top">
<table style="width: 100%">
<tr style="display: flex;flex-direction: row; flex-wrap: wrap;">
<td ><span class="title" style="width: 150px">车型</span>
</td>
<td style="width: 100px;"></td>
<td style="width: 250px;"> 编号:
<input id="code_s" type="text" value="" style="width: 140px;"/>
</td>
<td style="width: 280px;">名称:
<input id="name_s" type="text" value="" />
</td>
<td style="width: 280px;">颜色:
<input id="color_s" type="text" value="" />
</td>
<td style="width: 80px"><a class="topsearchBtn">查询</a></td>
<td style="width: 80px">
<a class="topaddBtn">新增</a>
</td>
<td style="width: 80px">
<a class="toppenBtn">编辑</a>
</td>
<td style="width: 80px">
<a class="topdelBtn">删除</a>
</td>
</tr>
</table>
</div>
<table id="tb" title="颜色" style="width: 99%;">
</table>
<!-- 编辑窗口 -->
<div id="w" style="padding: 10px; visibility: hidden" title="编辑">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="title" style="width: 110px;">
<p>
颜色名称:
</p>
</td>
<td colspan="2">
<input id="_name" type="text" style="width: 230px; height: 30px" /><span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
颜色代码:
</p>
</td>
<td colspan="2">
<input id="_code" type="text" style="width: 230px; height: 30px" />
<span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
颜色值:
</p>
</td>
<td colspan="2">
<input id="_color" type="text" style="width: 230px; height: 30px" />
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
车型:
</p>
</td>
<td colspan="2">
<input id="_carmodelcode" type="text" style="width: 230px; height: 30px" />
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
前部颜色:
</p>
</td>
<td colspan="2">
<input id="_forecolor" type="text" style="width: 230px; height: 30px" />
</td>
</tr>
</table>
</div>
<!-- 编辑窗口 - footer -->
<div id="ft" style="padding: 10px; text-align: center; background-color: #f9f9f9; visibility: hidden">
<a class="saveBtn" id="saveBtn">保存</a>
</div>
<div hidden="hidden">
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
<input id="UserID" type="text" hidden="hidden" runat="server" />
<script>
/**************** 全局变量 ***************/
var PrimaryID; //要编辑的id
var dg = $('#tb'); //表格
var isEdit = false; //是否为编辑状态
var handlerUrl = "/HttpHandlers/XDColorHandler.ashx";
/**************** DOM加载 ***************/
$(function () {
$.ajaxSetup({
cache: false //关闭AJAX缓存
});
//// 下拉框加载
//reload_manufacturer_combo('#manufacturer_id_s');
//reload_manufacturer_combo('#manufacturer_id');
//新增按钮点击
$('.topaddBtn').first().click(function () {
isEdit = false;
$('#w').window('open');
});
//编辑按钮点击
$('.toppenBtn').first().click(function () {
isEdit = true;
initEidtWidget();
});
//删除按钮
$('.topdelBtn').first().click(function () {
$.messager.confirm('提示框', '你确定要删除吗?', function (r) {
if (r) {
deleteInfos();
}
});
});
//搜索按钮
$('.topsearchBtn').first().click(function () {
SearchInfo();
});
//保存按钮
$('#saveBtn').bind('click', function () {
SaveInfo(isEdit);
});
//编辑窗口加载
$('#w').window({
modal: true,
closed: true,
minimizable: false,
maximizable: false,
collapsible: false,
width: 460,
height: 520,
footer: '#ft',
top: 20,
onBeforeClose: function () { clearw(); },
onBeforeOpen: function () {
$('#w').css('visibility', 'visible');
$('#ft').css('visibility', 'visible');
}
});
dg = $('#tb').datagrid({
fitColumns: true,
nowrap: false,
striped: true,
collapsible: false,
url: handlerUrl + "?method=QueryList",
//sortName: 'sortNumber',
//sortOrder: 'asc',
remoteSort: false,
columns: [[
{ field: 'ID', title: 'ID', hidden: true },
{ field: 'Code', title: '编号', sortable: 'true', width: 10 },
{ field: 'Name', title: '名称', sortable: 'true', width: 10 },
{ field: 'Color', title: '颜色', sortable: 'true', width: 10 },
{ field: 'CarModelCode', title: '车型', sortable: 'true', width: 10 },
{ field: 'ForeColor', title: '前景颜色', sortable: 'true', width: 10 },
]],
pagination: true,//表示在datagrid设置分页
rownumbers: true,
singleSelect: true
});
dg.datagrid('getPager').pagination({
pageSize: 10,
pageNumber: 1,
pageList: [10, 20, 30, 40, 50],
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
});
/**************** 主要业务程序 ***************/
//新增 / 编辑
function SaveInfo(isEdit) {
var ID = isEdit == true ? PrimaryID : 0;
var Code = $('#_code').val();
var Name = $('#_name').val();
var Color = $('#_color').val();
var CarModelCode = $('#_carmodelcode').val();
var ForeColor = $('#_forecolor').val();
if (Code == "") {
$.messager.alert('提示', '编号不能为空,请重新输入', 'warning');
return;
}
if (Name == "") {
$.messager.alert('提示', '名称不能为空,请重新输入', 'warning');
return;
}
var model = {
ID,
Code,
Name,
Color,
CarModelCode,
ForeColor,
method: 'SaveInfo'
};
SaveModel(model);
}
function SaveModel(model) {
$.ajax({
type: "POST",
async: false,
url: handlerUrl,
data: model,
dataType: 'json',
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已保存', 'info');
dg.datagrid('reload');
$('#w').window('close');
}
else {
$.messager.alert('提示', '保存失败,请查看是否名称重复', 'warning');
}
},
error: function () {
}
});
}
//查询方法
function SearchInfo() {
var Name = $('#name_s').val();
var Code = $('#code_s').val();
var Color = $('#color_s').val();
dg.datagrid({
queryParams: { Name, Code, Color }
});
dg.datagrid('reload');
}
////编辑时加载窗体数据
function initEidtWidget() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能编辑一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行编辑', 'warning');
return;
}
//窗体数据初始化
var row = selRows[0];
PrimaryID = row.ID;
$('#_name').val(row.Name);
$('#_code').val(row.Code);
$('#_color').val(row.Color);
$('#_carmodelcode').val(row.CarModelCode);
$('#_forecolor').val(row.ForeColor);
$('#w').window('open');
}
//删除方法
function deleteInfos() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能删除一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行删除', 'warning');
return;
}
var row = selRows[0];
var model = {
ID: row.ID,
method: 'DelInfo'
};
$.ajax({
url: handlerUrl,
data: model,
dataType: 'json',
async: false,
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已删除', 'info');
dg.datagrid('reload');
}
else {
$.messager.alert('提示', '由于有关联数据,删除失败', 'warning');
}
},
error: function () {
}
});
}
/**************** 辅助业务程序 ***************/
/**********************************************/
/***************** 窗体程序 *******************/
/**********************************************/
//编辑窗口关闭清空数据
function clearw() {
$('#_name').val('');
$('#_code').val('');
$('#_color').val('');
$('#_carmodelcode').val('');
$('#_forecolor').val('');
}
/**
* 加载厂家下拉信息
**/
//function reload_manufacturer_combo(ctl) {
// base_reload_combobox(ctl, '/HttpHandlers/ManufacturerHandler.ashx?method=MenufacturerCombo');
//}
//function base_reload_combobox(ctl, url) {
// $(ctl).combobox('reload', url);
//}
</script>
</form>
</body>
</html>

20
MESWebSite/Manage/XDColor.aspx.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MESWebSite.Manage
{
public partial class XDColor : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["LoginUserInfo"] == null)
{
Response.Write("<script language=javascript>alert('您的登录信息已过期,请重新登录!');top.location.href='../Login.aspx';</script>");
}
}
}
}

44
MESWebSite/Manage/XDColor.aspx.designer.cs

@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MESWebSite.Manage
{
public partial class XDColor
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblMessage 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// UserID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText UserID;
}
}

352
MESWebSite/Manage/XDProduct.aspx

@ -0,0 +1,352 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XDProduct.aspx.cs" Inherits="MESWebSite.Manage.XDProduct" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/CSS/Basics.css" rel="stylesheet" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/metro/easyui.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/color.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-easyui-1.4.3/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script src="/Scripts/MyJs.js" type="text/javascript"></script>
<style>
#w td {
padding: 5px 5px;
text-align: left;
vertical-align: middle;
}
#w .title {
vertical-align: middle;
text-align: right;
width: 80px;
height: 40px;
}
p {
padding: 5px;
font-size: small;
font-family: 微软雅黑;
}
.datagrid {
text-align: center;
}
.search_first{
margin-left: 34.5%
}
/* 中等屏幕 桌面显示器 992至1400 */
@media screen and (min-width:992px) and (max-width:1400px){
.search_first{
margin-left: 3%
}
}
</style>
<title>现代车型</title>
</head>
<body>
<form id="form1" runat="server">
<div class="top">
<table style="width: 100%">
<tr style="display: flex;flex-direction: row; flex-wrap: wrap;">
<td ><span class="title" style="width: 150px">车型</span>
</td>
<td style="width: 100px;"></td>
<td style="width: 280px;">车型名称:
<input id="cartype_name_s" type="text" value="" />
</td>
<td style="width: 250px;"> 车型编号:
<input id="cartype_csode_s" type="text" value="" style="width: 140px;"/>
</td>
<td style="width: 80px"><a class="topsearchBtn">查询</a></td>
<td style="width: 80px">
<a class="topaddBtn">新增</a>
</td>
<td style="width: 80px">
<a class="toppenBtn">编辑</a>
</td>
<td style="width: 80px">
<a class="topdelBtn">删除</a>
</td>
</tr>
</table>
</div>
<table id="tb" title="车型" style="width: 99%;">
</table>
<!-- 编辑窗口 -->
<div id="w" style="padding: 10px; visibility: hidden" title="编辑">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="title" style="width: 110px;">
<p>
车型名称:
</p>
</td>
<td colspan="2">
<input id="cartype_name" type="text" style="width: 230px; height: 30px" /><span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
车型编号:
</p>
</td>
<td colspan="2">
<input id="cartype_Code" type="text" style="width: 230px; height: 30px" />
<span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
</table>
</div>
<!-- 编辑窗口 - footer -->
<div id="ft" style="padding: 10px; text-align: center; background-color: #f9f9f9; visibility: hidden">
<a class="saveBtn" id="saveBtn">保存</a>
</div>
<div hidden="hidden">
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
<input id="UserID" type="text" hidden="hidden" runat="server" />
<script>
/**************** 全局变量 ***************/
var PrimaryID; //要编辑的id
var dg = $('#tb'); //表格
var isEdit = false; //是否为编辑状态
var handlerUrl = "/HttpHandlers/CarModelHandler.ashx";
/**************** DOM加载 ***************/
$(function () {
$.ajaxSetup({
cache: false //关闭AJAX缓存
});
//// 下拉框加载
//reload_manufacturer_combo('#manufacturer_id_s');
//reload_manufacturer_combo('#manufacturer_id');
//新增按钮点击
$('.topaddBtn').first().click(function () {
isEdit = false;
$('#w').window('open');
});
//编辑按钮点击
$('.toppenBtn').first().click(function () {
isEdit = true;
initEidtWidget();
});
//删除按钮
$('.topdelBtn').first().click(function () {
$.messager.confirm('提示框', '你确定要删除吗?', function (r) {
if (r) {
deleteInfos();
}
});
});
//搜索按钮
$('.topsearchBtn').first().click(function () {
SearchInfo();
});
//保存按钮
$('#saveBtn').bind('click', function () {
SaveInfo(isEdit);
});
//编辑窗口加载
$('#w').window({
modal: true,
closed: true,
minimizable: false,
maximizable: false,
collapsible: false,
width: 460,
height: 520,
footer: '#ft',
top: 20,
onBeforeClose: function () { clearw(); },
onBeforeOpen: function () {
$('#w').css('visibility', 'visible'); $('#ft').css('visibility', 'visible');
}
});
dg = $('#tb').datagrid({
fitColumns: true,
nowrap: false,
striped: true,
collapsible: false,
url: handlerUrl + "?method=QueryList",
//sortName: 'sortNumber',
//sortOrder: 'asc',
remoteSort: false,
columns: [[
{ field: 'ID', title: 'ID', hidden: true },
{ field: 'Name', title: '车型名称', sortable: 'true', width: 10 },
{ field: 'Code', title: '车型编号', sortable: 'true', width: 10 }
]],
pagination: true,//表示在datagrid设置分页
rownumbers: true,
singleSelect: true
});
dg.datagrid('getPager').pagination({
pageSize: 10,
pageNumber: 1,
pageList: [10, 20, 30, 40, 50],
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
});
/**************** 主要业务程序 ***************/
//新增 / 编辑
function SaveInfo(isEdit) {
var ID = isEdit == true ? PrimaryID : 0;
var CarTypeName = $('#cartype_name').val();
var CarTypeCode = $('#cartype_Code').val();
if (CarTypeName == "") {
$.messager.alert('提示', '车型名称不能为空,请重新输入', 'warning');
return;
}
if (CarTypeCode == "") {
$.messager.alert('提示', '车型编号不能为空,请重新输入', 'warning');
return;
}
var model = {
ID,
CarTypeName,
CarTypeCode,
method: 'SaveInfo'
};
SaveModel(model);
}
function SaveModel(model) {
$.ajax({
type: "POST",
async: false,
url: handlerUrl,
data: model,
dataType: 'json',
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已保存', 'info');
dg.datagrid('reload');
$('#w').window('close');
}
else {
$.messager.alert('提示', '保存失败,请查看是否名称重复', 'warning');
}
},
error: function () {
}
});
}
//查询方法
function SearchInfo() {
var CarTypeName = $('#cartype_name_s').val();
var CarTypeCode = $('#cartype_code_s').val();
dg.datagrid({
queryParams: { CarTypeName, CarTypeCode }
});
dg.datagrid('reload');
}
////编辑时加载窗体数据
function initEidtWidget() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能编辑一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行编辑', 'warning');
return;
}
//窗体数据初始化
var row = selRows[0];
PrimaryID = row.ID;
$('#cartype_name').val(row.Name);
$('#cartype_Code').val(row.Code);s
$('#w').window('open');
}
//删除方法
function deleteInfos() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能删除一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行删除', 'warning');
return;
}
var row = selRows[0];
var model = {
ID: row.ID,
method: 'DelInfo'
};
$.ajax({
url: handlerUrl,
data: model,
dataType: 'json',
async: false,
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已删除', 'info');
dg.datagrid('reload');
}
else {
$.messager.alert('提示', '由于有关联数据,删除失败', 'warning');
}
},
error: function () {
}
});
}
/**************** 辅助业务程序 ***************/
/**********************************************/
/***************** 窗体程序 *******************/
/**********************************************/
//编辑窗口关闭清空数据
function clearw() {
$('#cartype_name').val('');
$('#cartype_code').val('');
}
/**
* 加载厂家下拉信息
**/
//function reload_manufacturer_combo(ctl) {
// base_reload_combobox(ctl, '/HttpHandlers/ManufacturerHandler.ashx?method=MenufacturerCombo');
//}
//function base_reload_combobox(ctl, url) {
// $(ctl).combobox('reload', url);
//}
</script>
</form>
</body>
</html>

20
MESWebSite/Manage/XDProduct.aspx.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MESWebSite.Manage
{
public partial class XDProduct : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["LoginUserInfo"] == null)
{
Response.Write("<script language=javascript>alert('您的登录信息已过期,请重新登录!');top.location.href='../Login.aspx';</script>");
}
}
}
}

44
MESWebSite/Manage/XDProduct.aspx.designer.cs

@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MESWebSite.Manage
{
public partial class XDProduct
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblMessage 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// UserID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText UserID;
}
}

367
MESWebSite/Manage/XDStockArea.aspx

@ -0,0 +1,367 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XDStockArea.aspx.cs" Inherits="MESWebSite.Manage.XDStockArea" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/CSS/Basics.css" rel="stylesheet" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/metro/easyui.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/icon.css" rel="stylesheet" type="text/css" />
<link href="/Scripts/jquery-easyui-1.4.3/themes/color.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-easyui-1.4.3/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script src="/Scripts/MyJs.js" type="text/javascript"></script>
<style>
#w td {
padding: 5px 5px;
text-align: left;
vertical-align: middle;
}
#w .title {
vertical-align: middle;
text-align: right;
width: 80px;
height: 40px;
}
p {
padding: 5px;
font-size: small;
font-family: 微软雅黑;
}
.datagrid {
text-align: center;
}
.search_first{
margin-left: 34.5%
}
/* 中等屏幕 桌面显示器 992至1400 */
@media screen and (min-width:992px) and (max-width:1400px){
.search_first{
margin-left: 3%
}
}
</style>
<title>现代库区</title>
</head>
<body>
<form id="form1" runat="server">
<div class="top">
<table style="width: 100%">
<tr style="display: flex;flex-direction: row; flex-wrap: wrap;">
<td ><span class="title" style="width: 150px">车型</span>
</td>
<td style="width: 100px;"></td>
<td style="width: 280px;">库区名称:
<input id="area_name_s" type="text" value="" />
</td>
<td style="width: 250px;"> 库区编号:
<input id="area_csode_s" type="text" value="" style="width: 140px;"/>
</td>
<td style="width: 80px"><a class="topsearchBtn">查询</a></td>
<td style="width: 80px">
<a class="topaddBtn">新增</a>
</td>
<td style="width: 80px">
<a class="toppenBtn">编辑</a>
</td>
<td style="width: 80px">
<a class="topdelBtn">删除</a>
</td>
</tr>
</table>
</div>
<table id="tb" title="车型" style="width: 99%;">
</table>
<!-- 编辑窗口 -->
<div id="w" style="padding: 10px; visibility: hidden" title="编辑">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="title" style="width: 110px;">
<p>
库区名称:
</p>
</td>
<td colspan="2">
<input id="area_name" type="text" style="width: 230px; height: 30px" /><span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr>
<tr>
<td class="title" style="width: 110px;">
<p>
库区编号:
</p>
</td>
<td colspan="2">
<input id="area_Code" type="text" style="width: 230px; height: 30px" />
<span style="color: red; font-size: 18px; vertical-align: middle;">*</span>
</td>
</tr> <tr>
<td class="title" style="width: 110px;">
<p>
U8编号:
</p>
</td>
<td colspan="2">
<input id="u8_Code" type="text" style="width: 230px; height: 30px" />
</td>
</tr>
</table>
</div>
<!-- 编辑窗口 - footer -->
<div id="ft" style="padding: 10px; text-align: center; background-color: #f9f9f9; visibility: hidden">
<a class="saveBtn" id="saveBtn">保存</a>
</div>
<div hidden="hidden">
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
<input id="UserID" type="text" hidden="hidden" runat="server" />
<script>
/**************** 全局变量 ***************/
var PrimaryID; //要编辑的id
var dg = $('#tb'); //表格
var isEdit = false; //是否为编辑状态
var handlerUrl = "/HttpHandlers/XDStockAreaHandler.ashx";
/**************** DOM加载 ***************/
$(function () {
$.ajaxSetup({
cache: false //关闭AJAX缓存
});
//// 下拉框加载
//reload_manufacturer_combo('#manufacturer_id_s');
//reload_manufacturer_combo('#manufacturer_id');
//新增按钮点击
$('.topaddBtn').first().click(function () {
isEdit = false;
$('#w').window('open');
});
//编辑按钮点击
$('.toppenBtn').first().click(function () {
isEdit = true;
initEidtWidget();
});
//删除按钮
$('.topdelBtn').first().click(function () {
$.messager.confirm('提示框', '你确定要删除吗?', function (r) {
if (r) {
deleteInfos();
}
});
});
//搜索按钮
$('.topsearchBtn').first().click(function () {
SearchInfo();
});
//保存按钮
$('#saveBtn').bind('click', function () {
SaveInfo(isEdit);
});
//编辑窗口加载
$('#w').window({
modal: true,
closed: true,
minimizable: false,
maximizable: false,
collapsible: false,
width: 460,
height: 520,
footer: '#ft',
top: 20,
onBeforeClose: function () { clearw(); },
onBeforeOpen: function () {
$('#w').css('visibility', 'visible'); $('#ft').css('visibility', 'visible');
}
});
dg = $('#tb').datagrid({
fitColumns: true,
nowrap: false,
striped: true,
collapsible: false,
url: handlerUrl + "?method=QueryList",
//sortName: 'sortNumber',
//sortOrder: 'asc',
remoteSort: false,
columns: [[
{ field: 'ID', title: 'ID', hidden: true },
{ field: 'Name', title: '库区名称', sortable: 'true', width: 10 },
{ field: 'Code', title: '库区编号', sortable: 'true', width: 10 },
{ field: 'U8Code', title: 'U8编号', sortable: 'true', width: 10 }
]],
pagination: true,//表示在datagrid设置分页
rownumbers: true,
singleSelect: true
});
dg.datagrid('getPager').pagination({
pageSize: 10,
pageNumber: 1,
pageList: [10, 20, 30, 40, 50],
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
});
});
/**************** 主要业务程序 ***************/
//新增 / 编辑
function SaveInfo(isEdit) {
var ID = isEdit == true ? PrimaryID : 0;
var Code = $('#area_Code').val();
var Name = $('#area_name').val();
var U8Code = $('#u8_Code').val();
if (Code == "") {
$.messager.alert('提示', '库区编号不能为空,请重新输入', 'warning');
return;
}
if (Name == "") {
$.messager.alert('提示', '库区名称不能为空,请重新输入', 'warning');
return;
}
var model = {
ID,
Code,
Name,
U8Code,
method: 'SaveInfo'
};
SaveModel(model);
}
function SaveModel(model) {
$.ajax({
type: "POST",
async: false,
url: handlerUrl,
data: model,
dataType: 'json',
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已保存', 'info');
dg.datagrid('reload');
$('#w').window('close');
}
else {
$.messager.alert('提示', '保存失败,请查看是否名称重复', 'warning');
}
},
error: function () {
}
});
}
//查询方法
function SearchInfo() {
var Name = $('#area_name_s').val();
var Code = $('#area_code_s').val();
dg.datagrid({
queryParams: { Name, Code }
});
dg.datagrid('reload');
}
////编辑时加载窗体数据
function initEidtWidget() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能编辑一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行编辑', 'warning');
return;
}
//窗体数据初始化
var row = selRows[0];
PrimaryID = row.ID;
$('#area_name').val(row.Name);
$('#area_Code').val(row.Code);
$('#u8_Code').val(row.U8Code);
$('#w').window('open');
}
//删除方法
function deleteInfos() {
var selRows = dg.datagrid('getSelections');
if (selRows.length > 1) {
$.messager.alert('提示', '每次只能删除一条记录,请重新选取', 'warning');
return;
} else if (selRows.length == 0) {
$.messager.alert('提示', '请选择一条记录进行删除', 'warning');
return;
}
var row = selRows[0];
var model = {
ID: row.ID,
method: 'DelInfo'
};
$.ajax({
url: handlerUrl,
data: model,
dataType: 'json',
async: false,
success: function (res) {
if (res.IsSuccess) {
$.messager.alert('提示', '已删除', 'info');
dg.datagrid('reload');
}
else {
$.messager.alert('提示', '由于有关联数据,删除失败', 'warning');
}
},
error: function () {
}
});
}
/**************** 辅助业务程序 ***************/
/**********************************************/
/***************** 窗体程序 *******************/
/**********************************************/
//编辑窗口关闭清空数据
function clearw() {
$('#area_name').val('');
$('#area_code').val('');
$('#u8_code').val('');
}
/**
* 加载厂家下拉信息
**/
//function reload_manufacturer_combo(ctl) {
// base_reload_combobox(ctl, '/HttpHandlers/ManufacturerHandler.ashx?method=MenufacturerCombo');
//}
//function base_reload_combobox(ctl, url) {
// $(ctl).combobox('reload', url);
//}
</script>
</form>
</body>
</html>

20
MESWebSite/Manage/XDStockArea.aspx.cs

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MESWebSite.Manage
{
public partial class XDStockArea : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["LoginUserInfo"] == null)
{
Response.Write("<script language=javascript>alert('您的登录信息已过期,请重新登录!');top.location.href='../Login.aspx';</script>");
}
}
}
}

44
MESWebSite/Manage/XDStockArea.aspx.designer.cs

@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace MESWebSite.Manage
{
public partial class XDStockArea
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// lblMessage 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// UserID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText UserID;
}
}

BIN
MESWebSite/bin/images/北汽模塑.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 KiB

Loading…
Cancel
Save