From e3159e5d5204ff10cdc3ee79bd026be9af4027cc Mon Sep 17 00:00:00 2001
From: lvzb <35200379@qq.com>
Date: Mon, 11 Sep 2023 16:10:30 +0800
Subject: [PATCH] =?UTF-8?q?master=E5=88=9B=E5=BB=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Common/CK.SCP.Common.csproj | 1 +
Common/MyWebSmtpMail.cs | 2 +-
Common/app.config | 8 +-
Controller/CK.SCP.Controller.csproj | 126 +-
Controller/Properties/Settings.Designer.cs | 66 +
Controller/Properties/Settings.settings | 18 +
Controller/ResultObject.cs | 22 +-
Controller/SCP_ASK_CONTROLLER.cs | 799 +-
Controller/SCP_ASN_CONTROLLER.cs | 755 +-
Controller/SCP_BARCODE_CONTROLLER.cs | 606 +-
Controller/SCP_BILLCODE_CONTROLLER.cs | 34 +
Controller/SCP_CONTRACT_CONTROLLER.cs | 84 +
Controller/SCP_EXCEL_CONTROLLER.cs | 59 +-
Controller/SCP_INVOICE_CONTROLLER.cs | 336 +
Controller/SCP_PALLET_CONTROLLER.cs | 81 +
Controller/SCP_PO_CONTROLLER.cs | 7751 ++++++++++++++---
Controller/SCP_REPORT_CONTROLLER.cs | 64 +
Controller/SCP_TA_LANGUAGE_CONTROLLER.cs | 998 ++-
Controller/SCP_TB_VENDER_CONTROLLER.cs | 12 +-
Controller/SCP_TS_BARCODE_CONTROLLER.cs | 4 +
Controller/UniApiController.cs | 63 +-
.../Web References/BomList/JsonService.disco | 6 +
.../Web References/BomList/JsonService.wsdl | 2062 +++++
.../Web References/BomList/Reference.cs | 1610 ++++
.../Web References/BomList/Reference.map | 7 +
.../Web References/BomList1/JsonService.disco | 6 +
.../Web References/BomList1/JsonService.wsdl | 2062 +++++
.../Web References/BomList1/Reference.cs | 1610 ++++
.../Web References/BomList1/Reference.map | 7 +
.../BomListcompany/JsonService.disco | 6 +
.../BomListcompany/JsonService.wsdl | 2062 +++++
.../BomListcompany/Reference.cs | 1610 ++++
.../BomListcompany/Reference.map | 7 +
.../BomVersion/JsonService.disco | 6 +
.../BomVersion/JsonService.wsdl | 1333 +++
.../Web References/BomVersion/Reference.cs | 1064 +++
.../Web References/BomVersion/Reference.map | 7 +
.../BomVersion1/JsonService.disco | 6 +
.../BomVersion1/JsonService.wsdl | 1816 ++++
.../Web References/BomVersion1/Reference.cs | 1426 +++
.../Web References/BomVersion1/Reference.map | 7 +
Controller/app.config | 41 +-
Models/AppBoxEntity/AppBoxContext.cs | 3 +-
Models/AppBoxEntity/User.cs | 4 +
Models/AppBoxEntity/UserToken.cs | 33 +
Models/CK.SCP.Models.csproj | 43 +
Models/EntitiesFactory.cs | 2 +-
Models/Enums/SCP_ENUM.cs.cs | 9 +
Models/Enums/UniApiType.cs | 4 +-
Models/GlobalConfig.cs | 11 +-
Models/ScpCache.cs | 18 +-
Models/ScpEntities.cs | 79 +-
.../SCP_APPLIANCE_EXPOPT.cs | 23 +
.../SCP_INVOICE_DETAIL_EXPORT.cs | 2 +
.../ExcelExportEnttity/SCP_MAXPODC_EXPORT.cs | 17 +
.../SCP_MAXPO_DETAIL_EXPORT.cs | 31 +
.../ExcelExportEnttity/SCP_MAXPO_EXPORT.cs | 23 +
.../SCP_PO_DETAIL_EXPORT.cs | 16 +-
.../ExcelExportEnttity/SCP_VENDER_EXPORT.cs | 9 +
.../SCP_VENDER_PART_EXPORT.cs | 22 +-
Models/ScpEntity/PURSubcontractor.cs | 59 +
Models/ScpEntity/TA_ASK_SUBPART.cs | 26 +
Models/ScpEntity/TA_Appliance.cs | 28 +
Models/ScpEntity/TA_BOXTYPE.cs | 22 +
Models/ScpEntity/TA_CONFIG.cs | 2 +-
Models/ScpEntity/TA_CarModel.cs | 20 +
Models/ScpEntity/TA_PinFan.cs | 21 +
Models/ScpEntity/TA_ProductionLine.cs | 22 +
Models/ScpEntity/TA_PurchasGroup.cs | 22 +
Models/ScpEntity/TA_Receiving_Information.cs | 19 +
Models/ScpEntity/TA_StorageLocation.cs | 23 +
Models/ScpEntity/TA_SubPart.cs | 20 +
Models/ScpEntity/TA_SubPartCode.cs | 22 +
Models/ScpEntity/TB_ASK.cs | 3 +-
Models/ScpEntity/TB_ASK_DETAIL.cs | 2 +-
Models/ScpEntity/TB_ASN_DETAIL.cs | 2 +-
Models/ScpEntity/TB_ASN_PARTBOX.cs | 31 +
Models/ScpEntity/TB_INVOICE_DETAIL.cs | 3 +-
Models/ScpEntity/TB_MAXPO.cs | 31 +
Models/ScpEntity/TB_MAXPO_CONSUME.cs | 19 +
Models/ScpEntity/TB_MAXPO_DETAIL.cs | 58 +
Models/ScpEntity/TB_NetPrice.cs | 33 +
Models/ScpEntity/TB_PALLETS_BTL.cs | 47 +
Models/ScpEntity/TB_PO.cs | 43 +-
Models/ScpEntity/TB_PO_DETAIL.cs | 1 +
Models/ScpEntity/TB_PO_SUBDETAIL.cs | 36 +
Models/ScpEntity/TB_SUPPLIER_MAIL.cs | 25 +
Models/ScpEntity/TM_CYJ_BOM.cs | 63 +
Models/ScpEntity/TS_BARCODE.cs | 20 +-
Models/ScpEntity/TS_UNI_API.cs | 3 +-
Models/ScpEntity/V_ASN_PRINT.cs | 2 +
Models/ScpEntity/V_TA_APPLIANCE.cs | 29 +
Models/ScpEntity/V_TA_SubPartCode.cs | 32 +
Models/ScpEntity/V_TB_ASK.cs | 3 +
Models/ScpEntity/V_TB_ASK_DETAIL.cs | 4 +
Models/ScpEntity/V_TB_ASN.cs | 2 +-
Models/ScpEntity/V_TB_INVOICE_DETAIL.cs | 4 +-
Models/ScpEntity/V_TB_MAXPO.cs | 35 +
Models/ScpEntity/V_TB_MAXPO_CONSUME .cs | 33 +
Models/ScpEntity/V_TB_MAXPO_DETAIL.cs | 64 +
Models/ScpEntity/V_TB_PO.cs | 5 +
Models/ScpEntity/V_TB_PO_DETAIL.cs | 9 +
Models/ScpEntity/V_TB_PO_SUBDETAIL.cs | 39 +
Models/ScpEntity/V_TB_REEEE.cs | 33 +
Models/UniApiEntity/PURReplenishQty.cs | 17 +
Models/UniApiEntity/QadTableName.cs | 4 +-
Models/UniApiEntity/UniApiEntities.cs | 162 +-
Models/UniApiEntity/xxDiMaxes.cs | 14 +
Models/UniApiEntity/xxDiMaxes_Po.cs | 11 +
Models/UniApiEntity/xxerp_MaxbatchNO.cs | 15 +
Models/UniApiEntity/xxscm_ctrl.cs | 2 +-
Models/UniApiEntity/xxscm_inv_det.cs | 10 +-
Models/UniApiEntity/xxscm_maxpo_det.cs | 42 +
Models/UniApiEntity/xxscm_pod_det.cs | 101 +-
Models/UniApiEntity/xxscm_tx_mstr.cs | 2 +-
Models/UniApiEntity/xxwms_rc_det.cs | 6 +-
Models/UniApiEntity/xxwms_rt_det.cs | 6 +-
Models/WmsEntity/TableSchema1.cs | 10 +-
SCP.sln | 8 +-
SCP/Admin/profile.aspx | 4 +-
SCP/Admin/profile.aspx.cs | 13 +-
SCP/Admin/profileExtend.aspx.cs | 1 +
SCP/Admin/user.aspx.cs | 2 +-
SCP/Admin/user_changepassword.aspx | 2 +-
SCP/Admin/user_changepassword.aspx.cs | 11 +
.../user_changepassword.aspx.designer.cs | 38 +-
SCP/Admin/user_edit.aspx.cs | 2 +-
SCP/Admin/user_new.aspx | 2 +-
SCP/Admin/user_new.aspx.cs | 2 +
SCP/Business/PageBase.cs | 3 +-
SCP/Common/MailHelper.cs | 89 +-
SCP/Common/ReportHelper.cs | 51 +-
SCP/Default_FW.aspx | 22 +-
SCP/Global.asax.cs | 36 +-
.../PublishProfiles/FolderProfile1.pubxml | 16 +
.../PublishProfiles/FolderProfile2.pubxml | 16 +
SCP/SCP.csproj | 302 +-
SCP/Views/BasicData/Appliance.aspx | 109 +
SCP/Views/BasicData/Appliance.aspx.cs | 195 +
.../BasicData/Appliance.aspx.designer.cs | 197 +
SCP/Views/BasicData/Appliance_DETAIL.aspx | 46 +
SCP/Views/BasicData/Appliance_DETAIL.aspx.cs | 109 +
.../Appliance_DETAIL.aspx.designer.cs | 161 +
SCP/Views/BasicData/BoxType.aspx | 67 +
SCP/Views/BasicData/BoxType.aspx.cs | 118 +
SCP/Views/BasicData/BoxType.aspx.designer.cs | 116 +
SCP/Views/BasicData/Part.aspx | 22 +-
SCP/Views/BasicData/Pinfan.aspx | 65 +
SCP/Views/BasicData/Pinfan.aspx.cs | 145 +
SCP/Views/BasicData/Pinfan.aspx.designer.cs | 116 +
SCP/Views/BasicData/ProductionLine.aspx | 72 +
SCP/Views/BasicData/ProductionLine.aspx.cs | 154 +
.../BasicData/ProductionLine.aspx.designer.cs | 107 +
SCP/Views/BasicData/PurchaGroup.aspx | 83 +
SCP/Views/BasicData/PurchaGroup.aspx.cs | 175 +
.../BasicData/PurchaGroup.aspx.designer.cs | 143 +
SCP/Views/BasicData/PurchaGroup_DETAIL.aspx | 39 +
.../BasicData/PurchaGroup_DETAIL.aspx.cs | 70 +
.../PurchaGroup_DETAIL.aspx.designer.cs | 89 +
SCP/Views/BasicData/SCP_RECRINFORMTION.aspx | 100 +
.../BasicData/SCP_RECRINFORMTION.aspx.cs | 165 +
.../SCP_RECRINFORMTION.aspx.designer.cs | 170 +
SCP/Views/BasicData/Storage.aspx | 78 +
SCP/Views/BasicData/Storage.aspx.cs | 163 +
SCP/Views/BasicData/Storage.aspx.designer.cs | 116 +
SCP/Views/BasicData/SubPart.aspx | 72 +
SCP/Views/BasicData/SubPart.aspx.cs | 154 +
SCP/Views/BasicData/SubPart.aspx.designer.cs | 107 +
SCP/Views/BasicData/Supplier.aspx | 5 +-
SCP/Views/BasicData/Supplier.aspx.cs | 27 +
SCP/Views/BasicData/Supplier.aspx.designer.cs | 9 +
SCP/Views/BasicData/TA_VehicleModel.aspx | 67 +
SCP/Views/BasicData/TA_VehicleModel.aspx.cs | 132 +
.../TA_VehicleModel.aspx.designer.cs | 125 +
SCP/Views/PlanData/SCP_ASK.aspx | 40 +-
SCP/Views/PlanData/SCP_ASK.aspx.cs | 135 +-
SCP/Views/PlanData/SCP_ASK.aspx.designer.cs | 70 +-
SCP/Views/PlanData/SCP_ASK_DETAIL.aspx | 29 +-
SCP/Views/PlanData/SCP_ASK_DETAIL.aspx.cs | 19 +-
.../PlanData/SCP_ASN_DETAIL_View.aspx.cs | 2 +-
SCP/Views/PlanData/SCP_INCOMPLETE_ASK.aspx | 16 +-
SCP/Views/PlanData/SCP_INVOICE_EDIT.aspx.cs | 8 +-
SCP/Views/PlanData/SCP_PO.aspx | 53 +-
SCP/Views/PlanData/SCP_PO.aspx.cs | 81 +-
SCP/Views/PlanData/SCP_PO.aspx.designer.cs | 44 +-
SCP/Views/PlanData/SCP_PO_CREATE_ASK.aspx | 2 +-
SCP/Views/PlanData/SCP_PO_CREATE_ASK.aspx.cs | 7 +-
SCP/Views/PlanData/SCP_PO_DETAIL.aspx | 39 +-
SCP/Views/PlanData/SCP_PO_DETAIL.aspx.cs | 44 +-
.../PlanData/SCP_PO_DETAIL.aspx.designer.cs | 57 +-
SCP/Views/PlanData/SCP_PO_EXTEND.aspx | 2 +-
SCP/Views/PlanData/SCP_RECEIVE_DETAIL.aspx | 111 +
SCP/Views/PlanData/SCP_RECEIVE_DETAIL.aspx.cs | 113 +
.../SCP_RECEIVE_DETAIL.aspx.designer.cs | 206 +
SCP/Views/SupplierData/SCP_ASK.aspx | 43 +-
SCP/Views/SupplierData/SCP_ASK.aspx.cs | 91 +-
.../SupplierData/SCP_ASK.aspx.designer.cs | 40 +-
SCP/Views/SupplierData/SCP_ASK_DETAIL.aspx | 28 +-
SCP/Views/SupplierData/SCP_ASK_DETAIL.aspx.cs | 16 +-
SCP/Views/SupplierData/SCP_ASN.aspx | 17 +-
SCP/Views/SupplierData/SCP_ASN.aspx.cs | 72 +-
.../SupplierData/SCP_ASN.aspx.designer.cs | 27 +
SCP/Views/SupplierData/SCP_ASN_CREATE.aspx | 27 +-
SCP/Views/SupplierData/SCP_ASN_CREATE.aspx.cs | 180 +-
.../SCP_ASN_CREATE.aspx.designer.cs | 9 +
SCP/Views/SupplierData/SCP_ASN_DETAIL.aspx | 39 +-
SCP/Views/SupplierData/SCP_ASN_DETAIL.aspx.cs | 90 +-
.../SCP_ASN_DETAIL.aspx.designer.cs | 5 +-
SCP/Views/SupplierData/SCP_ASN_DETAIL_FT.aspx | 185 +
.../SupplierData/SCP_ASN_DETAIL_FT.aspx.cs | 586 ++
.../SCP_ASN_DETAIL_FT.aspx.designer.cs | 332 +
.../SupplierData/SCP_ASN_MANYCREATE.aspx | 214 +
.../SupplierData/SCP_ASN_MANYCREATE.aspx.cs | 492 ++
.../SCP_ASN_MANYCREATE.aspx.designer.cs | 368 +
SCP/Views/SupplierData/SCP_ASN_ORINUMBER.aspx | 63 +
.../SupplierData/SCP_ASN_ORINUMBER.aspx.cs | 94 +
.../SCP_ASN_ORINUMBER.aspx.designer.cs | 80 +
SCP/Views/SupplierData/SCP_QUALITY.aspx.cs | 2 +-
SCP/Views/SupplierData/SCP_RECEIVE_LIST.aspx | 12 +-
.../SupplierData/SCP_SHIP_DETAIL_BARCODE.aspx | 2 +-
.../SCP_SHIP_DETAIL_BARCODE.aspx.cs | 18 +-
.../SupplierLogistics/SCP_ASN_DETAIL.aspx.cs | 2 +-
.../WarehouseData/SCP_INVOICE_DELTAIL.aspx | 16 +-
.../SCP_INVOICE_DELTAIL.aspx.designer.cs | 104 +-
.../富维冲插件/SCP_MAXPO_INCOMPLETE.aspx | 127 +
.../SCP_MAXPO_INCOMPLETE.aspx.cs | 171 +
.../SCP_MAXPO_INCOMPLETE.aspx.designer.cs | 242 +
.../SCP_MAXPO_INCOMPLETE_DETAIL.aspx | 67 +
.../SCP_MAXPO_INCOMPLETE_DETAIL.aspx.cs | 110 +
...P_MAXPO_INCOMPLETE_DETAIL.aspx.designer.cs | 116 +
SCP/Views/富维冲插件/SCP_PO.aspx | 168 +
SCP/Views/富维冲插件/SCP_PO.aspx.cs | 383 +
.../富维冲插件/SCP_PO.aspx.designer.cs | 359 +
SCP/Views/富维冲插件/SCP_PO_EXTEND.aspx | 207 +-
.../富维冲插件/SCP_PO_EXTEND.aspx.cs | 281 +-
.../SCP_PO_EXTEND.aspx.designer.cs | 105 +-
SCP/Views/富维冲插件/SCP_PO_MAX.aspx | 123 +
SCP/Views/富维冲插件/SCP_PO_MAX.aspx.cs | 338 +
.../SCP_PO_MAX.aspx.designer.cs | 269 +
.../富维冲插件/SCP_PO_MAX_DETAIL.aspx | 87 +
.../富维冲插件/SCP_PO_MAX_DETAIL.aspx.cs | 180 +
.../SCP_PO_MAX_DETAIL.aspx.designer.cs | 143 +
SCP/Views/富维冲插件/SCP_PO_QH.aspx | 167 +
SCP/Views/富维冲插件/SCP_PO_QH.aspx.cs | 391 +
.../SCP_PO_QH.aspx.designer.cs | 368 +
.../富维冲插件/SCP_PO_QH_DETAIL.aspx | 113 +
.../富维冲插件/SCP_PO_QH_DETAIL.aspx.cs | 174 +
.../SCP_PO_QH_DETAIL.aspx.designer.cs | 197 +
.../富维冲插件/SCP_PO_SUBDETAIL.aspx | 64 +
.../富维冲插件/SCP_PO_SUBDETAIL.aspx.cs | 46 +
.../SCP_PO_SUBDETAIL.aspx.designer.cs | 116 +
SCP/Views/富维冲插件/SCP_PO_SUBPART.aspx | 61 +
.../富维冲插件/SCP_PO_SUBPART.aspx.cs | 106 +
.../SCP_PO_SUBPART.aspx.designer.cs | 80 +
SCP/Views/富维本特勒/SCP_PO_EXTEND.aspx | 159 +
.../富维本特勒/SCP_PO_EXTEND.aspx.cs | 270 +
.../SCP_PO_EXTEND.aspx.designer.cs | 341 +
.../富维本特勒/SupplierData/SCP_ASK.aspx | 161 +
.../SupplierData/SCP_ASK.aspx.cs | 404 +
.../SupplierData/SCP_ASK.aspx.designer.cs | 404 +
.../SupplierData/SCP_ASK_DETAIL.aspx | 118 +
.../SupplierData/SCP_ASK_DETAIL.aspx.cs | 158 +
.../SCP_ASK_DETAIL.aspx.designer.cs | 224 +
.../富维本特勒/SupplierData/SCP_ASN.aspx | 136 +
.../SupplierData/SCP_ASN.aspx.cs | 239 +
.../SupplierData/SCP_ASN.aspx.designer.cs | 350 +
.../SupplierData/SCP_ASN_CREATE.aspx | 222 +
.../SupplierData/SCP_ASN_CREATE.aspx.cs | 591 ++
.../SCP_ASN_CREATE.aspx.designer.cs | 368 +
.../SupplierData/SCP_ASN_DETAIL.aspx | 187 +
.../SupplierData/SCP_ASN_DETAIL.aspx.cs | 645 ++
.../SCP_ASN_DETAIL.aspx.designer.cs | 350 +
.../SupplierData/SCP_ASN_DETAIL_FT.aspx | 187 +
.../SupplierData/SCP_ASN_DETAIL_FT.aspx.cs | 636 ++
.../SCP_ASN_DETAIL_FT.aspx.designer.cs | 359 +
.../SupplierData/SCP_PALLET.aspx | 64 +
.../SupplierData/SCP_PALLET.aspx.cs | 131 +
.../SupplierData/SCP_PALLET.aspx.designer.cs | 116 +
.../SupplierData/SCP_SHIP_DETAIL_BARCODE.aspx | 69 +
.../SCP_SHIP_DETAIL_BARCODE.aspx.cs | 141 +
.../SCP_SHIP_DETAIL_BARCODE.aspx.designer.cs | 179 +
.../SupplierData/SCP_TP_DETAIL_BARCODE.aspx | 73 +
.../SCP_TP_DETAIL_BARCODE.aspx.cs | 154 +
.../SCP_TP_DETAIL_BARCODE.aspx.designer.cs | 179 +
.../SupplierData/SCP_ASN_DETAIL.aspx.cs | 2 +-
.../WarehouseData/SCP_INVOICE.aspx | 4 +-
.../WarehouseData/SCP_INVOICE_CONFIRM.aspx | 3 +-
SCP/Web.config | 185 +-
SCP/default.aspx | 12 +-
SCP/default.aspx.cs | 64 +-
SCP/default_CYJ.aspx | 281 +
SCP/default_CYJ.aspx.cs | 395 +
SCP/default_CYJ.aspx.designer.cs | 386 +
SCP/default_XG.aspx | 339 +
SCP/default_XG.aspx.cs | 359 +
SCP/default_XG.aspx.designer.cs | 395 +
SCP/grf/Material.grf | 2 +-
SCP/grf/SendBill.grf | 2 +-
SCP/res/css/main2.css | 216 +
SCP/res/css/main3.css | 231 +
SCP/res/images/JZJH1.png | Bin 0 -> 1154211 bytes
SCP/res/images/JZJH11.png | Bin 0 -> 132295 bytes
SCP/res/images/JZfoot.png | Bin 0 -> 149203 bytes
SCP/res/images/air-balloon-1.png | Bin 6506 -> 550086 bytes
SCP/res/images/air-balloon-2.png | Bin 4602 -> 15556 bytes
SCP/res/images/beijing.png | Bin 0 -> 123557 bytes
SCP/res/images/denglu.png | Bin 0 -> 4818 bytes
SCP/res/images/login.png | Bin 38326 -> 4027 bytes
UniApiGroup/App.config | 20 +-
UniApiGroup/AppBox数据库设置.ini | Bin 155 -> 334 bytes
UniApiGroup/CK.SCP.GrupUniApi.csproj | 19 +
UniApiGroup/Config/UniApiConfig.cs | 7 +-
.../Controller/DBControllerByOracle.cs | 120 +
UniApiGroup/Controller/Datatablecontroller.cs | 36 +
UniApiGroup/Controller/NetPriceController.cs | 68 +
.../Controller/OdbcApiQadController.cs | 981 ++-
.../Controller/OdbcApiScpController.cs | 600 +-
.../Controller/OdbcApiWmsController.cs | 122 +-
UniApiGroup/Controller/PoBillNumcontroller.cs | 69 +
UniApiGroup/Controller/PriceController.cs | 68 +
UniApiGroup/Controller/QmStockController.cs | 69 +
UniApiGroup/Controller/Vendercontroller.cs | 67 +
.../Controller/vendidpartcontroller.cs | 50 +
UniApiGroup/Properties/Resources.Designer.cs | 10 +-
UniApiGroup/Properties/Settings.Designer.cs | 4 +-
UniApiGroup/QadOdbcApi.cs | 3 +-
UniApiGroup/Scp数据库设置.ini | Bin 290 -> 322 bytes
UniApiGroup/执行周期设置.ini | Bin 462 -> 462 bytes
UniApiGroup/通用设置.ini | Bin 338 -> 332 bytes
UniApiWpf/App.config | 32 +-
UniApiWpf/Properties/Resources.Designer.cs | 60 +-
UniApiWpf/Properties/Settings.Designer.cs | 30 +-
UniApiWpf/UniApiWpf.csproj | 1 +
Utils/app.config | 8 +-
WebService/DEncrypt.cs | 225 +
WebService/Properties/AssemblyInfo.cs | 35 +
.../PublishProfiles/FolderProfile.pubxml | 16 +
WebService/Web.Debug.config | 31 +
WebService/Web.Release.config | 32 +
WebService/Web.config | 55 +
WebService/WebService.asmx | 1 +
WebService/WebService.asmx.cs | 98 +
WebService/WebService.csproj | 140 +
WebService/packages.config | 5 +
344 files changed, 55268 insertions(+), 2925 deletions(-)
create mode 100644 Controller/Properties/Settings.Designer.cs
create mode 100644 Controller/Properties/Settings.settings
create mode 100644 Controller/Web References/BomList/JsonService.disco
create mode 100644 Controller/Web References/BomList/JsonService.wsdl
create mode 100644 Controller/Web References/BomList/Reference.cs
create mode 100644 Controller/Web References/BomList/Reference.map
create mode 100644 Controller/Web References/BomList1/JsonService.disco
create mode 100644 Controller/Web References/BomList1/JsonService.wsdl
create mode 100644 Controller/Web References/BomList1/Reference.cs
create mode 100644 Controller/Web References/BomList1/Reference.map
create mode 100644 Controller/Web References/BomListcompany/JsonService.disco
create mode 100644 Controller/Web References/BomListcompany/JsonService.wsdl
create mode 100644 Controller/Web References/BomListcompany/Reference.cs
create mode 100644 Controller/Web References/BomListcompany/Reference.map
create mode 100644 Controller/Web References/BomVersion/JsonService.disco
create mode 100644 Controller/Web References/BomVersion/JsonService.wsdl
create mode 100644 Controller/Web References/BomVersion/Reference.cs
create mode 100644 Controller/Web References/BomVersion/Reference.map
create mode 100644 Controller/Web References/BomVersion1/JsonService.disco
create mode 100644 Controller/Web References/BomVersion1/JsonService.wsdl
create mode 100644 Controller/Web References/BomVersion1/Reference.cs
create mode 100644 Controller/Web References/BomVersion1/Reference.map
create mode 100644 Models/AppBoxEntity/UserToken.cs
create mode 100644 Models/ScpEntity/ExcelExportEnttity/SCP_APPLIANCE_EXPOPT.cs
create mode 100644 Models/ScpEntity/ExcelExportEnttity/SCP_MAXPODC_EXPORT.cs
create mode 100644 Models/ScpEntity/ExcelExportEnttity/SCP_MAXPO_DETAIL_EXPORT.cs
create mode 100644 Models/ScpEntity/ExcelExportEnttity/SCP_MAXPO_EXPORT.cs
create mode 100644 Models/ScpEntity/PURSubcontractor.cs
create mode 100644 Models/ScpEntity/TA_ASK_SUBPART.cs
create mode 100644 Models/ScpEntity/TA_Appliance.cs
create mode 100644 Models/ScpEntity/TA_BOXTYPE.cs
create mode 100644 Models/ScpEntity/TA_CarModel.cs
create mode 100644 Models/ScpEntity/TA_PinFan.cs
create mode 100644 Models/ScpEntity/TA_ProductionLine.cs
create mode 100644 Models/ScpEntity/TA_PurchasGroup.cs
create mode 100644 Models/ScpEntity/TA_Receiving_Information.cs
create mode 100644 Models/ScpEntity/TA_StorageLocation.cs
create mode 100644 Models/ScpEntity/TA_SubPart.cs
create mode 100644 Models/ScpEntity/TA_SubPartCode.cs
create mode 100644 Models/ScpEntity/TB_ASN_PARTBOX.cs
create mode 100644 Models/ScpEntity/TB_MAXPO.cs
create mode 100644 Models/ScpEntity/TB_MAXPO_CONSUME.cs
create mode 100644 Models/ScpEntity/TB_MAXPO_DETAIL.cs
create mode 100644 Models/ScpEntity/TB_NetPrice.cs
create mode 100644 Models/ScpEntity/TB_PALLETS_BTL.cs
create mode 100644 Models/ScpEntity/TB_PO_SUBDETAIL.cs
create mode 100644 Models/ScpEntity/TB_SUPPLIER_MAIL.cs
create mode 100644 Models/ScpEntity/TM_CYJ_BOM.cs
create mode 100644 Models/ScpEntity/V_TA_APPLIANCE.cs
create mode 100644 Models/ScpEntity/V_TA_SubPartCode.cs
create mode 100644 Models/ScpEntity/V_TB_MAXPO.cs
create mode 100644 Models/ScpEntity/V_TB_MAXPO_CONSUME .cs
create mode 100644 Models/ScpEntity/V_TB_MAXPO_DETAIL.cs
create mode 100644 Models/ScpEntity/V_TB_PO_SUBDETAIL.cs
create mode 100644 Models/ScpEntity/V_TB_REEEE.cs
create mode 100644 Models/UniApiEntity/PURReplenishQty.cs
create mode 100644 Models/UniApiEntity/xxDiMaxes.cs
create mode 100644 Models/UniApiEntity/xxDiMaxes_Po.cs
create mode 100644 Models/UniApiEntity/xxerp_MaxbatchNO.cs
create mode 100644 Models/UniApiEntity/xxscm_maxpo_det.cs
create mode 100644 SCP/Properties/PublishProfiles/FolderProfile1.pubxml
create mode 100644 SCP/Properties/PublishProfiles/FolderProfile2.pubxml
create mode 100644 SCP/Views/BasicData/Appliance.aspx
create mode 100644 SCP/Views/BasicData/Appliance.aspx.cs
create mode 100644 SCP/Views/BasicData/Appliance.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/Appliance_DETAIL.aspx
create mode 100644 SCP/Views/BasicData/Appliance_DETAIL.aspx.cs
create mode 100644 SCP/Views/BasicData/Appliance_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/BoxType.aspx
create mode 100644 SCP/Views/BasicData/BoxType.aspx.cs
create mode 100644 SCP/Views/BasicData/BoxType.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/Pinfan.aspx
create mode 100644 SCP/Views/BasicData/Pinfan.aspx.cs
create mode 100644 SCP/Views/BasicData/Pinfan.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/ProductionLine.aspx
create mode 100644 SCP/Views/BasicData/ProductionLine.aspx.cs
create mode 100644 SCP/Views/BasicData/ProductionLine.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/PurchaGroup.aspx
create mode 100644 SCP/Views/BasicData/PurchaGroup.aspx.cs
create mode 100644 SCP/Views/BasicData/PurchaGroup.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/PurchaGroup_DETAIL.aspx
create mode 100644 SCP/Views/BasicData/PurchaGroup_DETAIL.aspx.cs
create mode 100644 SCP/Views/BasicData/PurchaGroup_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/SCP_RECRINFORMTION.aspx
create mode 100644 SCP/Views/BasicData/SCP_RECRINFORMTION.aspx.cs
create mode 100644 SCP/Views/BasicData/SCP_RECRINFORMTION.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/Storage.aspx
create mode 100644 SCP/Views/BasicData/Storage.aspx.cs
create mode 100644 SCP/Views/BasicData/Storage.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/SubPart.aspx
create mode 100644 SCP/Views/BasicData/SubPart.aspx.cs
create mode 100644 SCP/Views/BasicData/SubPart.aspx.designer.cs
create mode 100644 SCP/Views/BasicData/TA_VehicleModel.aspx
create mode 100644 SCP/Views/BasicData/TA_VehicleModel.aspx.cs
create mode 100644 SCP/Views/BasicData/TA_VehicleModel.aspx.designer.cs
create mode 100644 SCP/Views/PlanData/SCP_RECEIVE_DETAIL.aspx
create mode 100644 SCP/Views/PlanData/SCP_RECEIVE_DETAIL.aspx.cs
create mode 100644 SCP/Views/PlanData/SCP_RECEIVE_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/SupplierData/SCP_ASN_DETAIL_FT.aspx
create mode 100644 SCP/Views/SupplierData/SCP_ASN_DETAIL_FT.aspx.cs
create mode 100644 SCP/Views/SupplierData/SCP_ASN_DETAIL_FT.aspx.designer.cs
create mode 100644 SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx
create mode 100644 SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx.cs
create mode 100644 SCP/Views/SupplierData/SCP_ASN_MANYCREATE.aspx.designer.cs
create mode 100644 SCP/Views/SupplierData/SCP_ASN_ORINUMBER.aspx
create mode 100644 SCP/Views/SupplierData/SCP_ASN_ORINUMBER.aspx.cs
create mode 100644 SCP/Views/SupplierData/SCP_ASN_ORINUMBER.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_MAXPO_INCOMPLETE.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_MAXPO_INCOMPLETE.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_MAXPO_INCOMPLETE.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_MAXPO_INCOMPLETE_DETAIL.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_MAXPO_INCOMPLETE_DETAIL.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_MAXPO_INCOMPLETE_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_MAX.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO_MAX.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_MAX.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_MAX_DETAIL.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO_MAX_DETAIL.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_MAX_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_QH.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO_QH.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_QH.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_QH_DETAIL.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO_QH_DETAIL.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_QH_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_SUBDETAIL.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO_SUBDETAIL.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_SUBDETAIL.aspx.designer.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_SUBPART.aspx
create mode 100644 SCP/Views/富维冲插件/SCP_PO_SUBPART.aspx.cs
create mode 100644 SCP/Views/富维冲插件/SCP_PO_SUBPART.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SCP_PO_EXTEND.aspx
create mode 100644 SCP/Views/富维本特勒/SCP_PO_EXTEND.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SCP_PO_EXTEND.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASK.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASK.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASK.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASK_DETAIL.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASK_DETAIL.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASK_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_CREATE.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_CREATE.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_CREATE.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_DETAIL.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_DETAIL.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_DETAIL_FT.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_DETAIL_FT.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_ASN_DETAIL_FT.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_PALLET.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_PALLET.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_PALLET.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_SHIP_DETAIL_BARCODE.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_SHIP_DETAIL_BARCODE.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_SHIP_DETAIL_BARCODE.aspx.designer.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_TP_DETAIL_BARCODE.aspx
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_TP_DETAIL_BARCODE.aspx.cs
create mode 100644 SCP/Views/富维本特勒/SupplierData/SCP_TP_DETAIL_BARCODE.aspx.designer.cs
create mode 100644 SCP/default_CYJ.aspx
create mode 100644 SCP/default_CYJ.aspx.cs
create mode 100644 SCP/default_CYJ.aspx.designer.cs
create mode 100644 SCP/default_XG.aspx
create mode 100644 SCP/default_XG.aspx.cs
create mode 100644 SCP/default_XG.aspx.designer.cs
create mode 100644 SCP/res/css/main2.css
create mode 100644 SCP/res/css/main3.css
create mode 100644 SCP/res/images/JZJH1.png
create mode 100644 SCP/res/images/JZJH11.png
create mode 100644 SCP/res/images/JZfoot.png
create mode 100644 SCP/res/images/beijing.png
create mode 100644 SCP/res/images/denglu.png
create mode 100644 UniApiGroup/Controller/DBControllerByOracle.cs
create mode 100644 UniApiGroup/Controller/Datatablecontroller.cs
create mode 100644 UniApiGroup/Controller/NetPriceController.cs
create mode 100644 UniApiGroup/Controller/PoBillNumcontroller.cs
create mode 100644 UniApiGroup/Controller/PriceController.cs
create mode 100644 UniApiGroup/Controller/QmStockController.cs
create mode 100644 UniApiGroup/Controller/Vendercontroller.cs
create mode 100644 UniApiGroup/Controller/vendidpartcontroller.cs
create mode 100644 WebService/DEncrypt.cs
create mode 100644 WebService/Properties/AssemblyInfo.cs
create mode 100644 WebService/Properties/PublishProfiles/FolderProfile.pubxml
create mode 100644 WebService/Web.Debug.config
create mode 100644 WebService/Web.Release.config
create mode 100644 WebService/Web.config
create mode 100644 WebService/WebService.asmx
create mode 100644 WebService/WebService.asmx.cs
create mode 100644 WebService/WebService.csproj
create mode 100644 WebService/packages.config
diff --git a/Common/CK.SCP.Common.csproj b/Common/CK.SCP.Common.csproj
index e8af561..add89b3 100644
--- a/Common/CK.SCP.Common.csproj
+++ b/Common/CK.SCP.Common.csproj
@@ -11,6 +11,7 @@
CK.SCP.Common
v4.5.2
512
+
true
diff --git a/Common/MyWebSmtpMail.cs b/Common/MyWebSmtpMail.cs
index 87a5adb..6b40df6 100644
--- a/Common/MyWebSmtpMail.cs
+++ b/Common/MyWebSmtpMail.cs
@@ -33,7 +33,7 @@ namespace CK.SCP.Common
this.server = Server;
this.password = Password;
this.username = UserName;
- this.enablessl = false;
+ this.enablessl = true;
this.port = Port;
this.credentials = false;
}
diff --git a/Common/app.config b/Common/app.config
index b5d2fd5..5573142 100644
--- a/Common/app.config
+++ b/Common/app.config
@@ -1,11 +1,11 @@
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/Controller/CK.SCP.Controller.csproj b/Controller/CK.SCP.Controller.csproj
index b2f6237..38d55c9 100644
--- a/Controller/CK.SCP.Controller.csproj
+++ b/Controller/CK.SCP.Controller.csproj
@@ -11,6 +11,7 @@
CK.SCP.Controller
v4.5.2
512
+
true
@@ -30,6 +31,9 @@
4
+
+ D:\连接orlcor\ChangKeTec.Utils.dll
+
..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll
@@ -45,15 +49,28 @@
+
+
+
+
+
+ False
+ C:\Users\Administrator\Desktop\Z.EntityFramework.Extensions.dll
+
+
+ True
+ True
+ Settings.settings
+
@@ -97,6 +114,26 @@
+
+ True
+ True
+ Reference.map
+
+
+ True
+ True
+ Reference.map
+
+
+ True
+ True
+ Reference.map
+
+
+ True
+ True
+ Reference.map
+
@@ -111,7 +148,94 @@
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+ MSDiscoCodeGenerator
+ Reference.cs
+
+
+
+ MSDiscoCodeGenerator
+ Reference.cs
+
+
+
+ MSDiscoCodeGenerator
+ Reference.cs
+
+
+
+ MSDiscoCodeGenerator
+ Reference.cs
+
+
+
+
+
+
+
+
+
+
+ Dynamic
+ Web References\BomList\
+ http://10.62.144.124:8016/JsonService.asmx%3f
+
+
+
+
+ Settings
+ CK_SCP_Controller_BomList_JsonService
+
+
+ Dynamic
+ Web References\BomList1\
+ http://10.62.144.124:8070/JsonService.asmx%3f
+
+
+
+
+ Settings
+ CK_SCP_Controller_BomList1_JsonService
+
+
+ Dynamic
+ Web References\BomVersion1\
+ http://10.89.25.69:8085/JsonService.asmx
+
+
+
+
+ Settings
+ CK_SCP_Controller_BomVersion1_JsonService
+
+
+ Dynamic
+ Web References\BomListcompany\
+ http://192.168.0.228:7602/JsonService.asmx%3f
+
+
+
+
+ Settings
+ CK_SCP_Controller_BomListcompany_JsonService
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/Controller/Properties/Settings.Designer.cs b/Controller/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..8934f62
--- /dev/null
+++ b/Controller/Properties/Settings.Designer.cs
@@ -0,0 +1,66 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace CK.SCP.Controller.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
+ [global::System.Configuration.DefaultSettingValueAttribute("http://10.89.25.69:8085/JsonService.asmx")]
+ public string CK_SCP_Controller_BomVersion1_JsonService {
+ get {
+ return ((string)(this["CK_SCP_Controller_BomVersion1_JsonService"]));
+ }
+ }
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
+ [global::System.Configuration.DefaultSettingValueAttribute("http://10.62.144.124:8016/JsonService.asmx")]
+ public string CK_SCP_Controller_BomList_JsonService {
+ get {
+ return ((string)(this["CK_SCP_Controller_BomList_JsonService"]));
+ }
+ }
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
+ [global::System.Configuration.DefaultSettingValueAttribute("http://192.168.0.228:7602/JsonService.asmx")]
+ public string CK_SCP_Controller_BomListcompany_JsonService {
+ get {
+ return ((string)(this["CK_SCP_Controller_BomListcompany_JsonService"]));
+ }
+ }
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
+ [global::System.Configuration.DefaultSettingValueAttribute("http://10.62.144.124:8070/JsonService.asmx")]
+ public string CK_SCP_Controller_BomList1_JsonService {
+ get {
+ return ((string)(this["CK_SCP_Controller_BomList1_JsonService"]));
+ }
+ }
+ }
+}
diff --git a/Controller/Properties/Settings.settings b/Controller/Properties/Settings.settings
new file mode 100644
index 0000000..dac40e1
--- /dev/null
+++ b/Controller/Properties/Settings.settings
@@ -0,0 +1,18 @@
+
+
+
+
+
+ http://10.89.25.69:8085/JsonService.asmx
+
+
+ http://10.62.144.124:8016/JsonService.asmx
+
+
+ http://192.168.0.228:7602/JsonService.asmx
+
+
+ http://10.62.144.124:8070/JsonService.asmx
+
+
+
\ No newline at end of file
diff --git a/Controller/ResultObject.cs b/Controller/ResultObject.cs
index 4786bb9..86ef8c4 100644
--- a/Controller/ResultObject.cs
+++ b/Controller/ResultObject.cs
@@ -1,4 +1,6 @@
-using System;
+using CK.SCP.Models.ScpEntity;
+using CK.SCP.Models.ScpEntity.ExcelExportEnttity;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
@@ -16,18 +18,16 @@ namespace CK.SCP.Controller
public ResultObject()
{
ErrorList = new List();
- MessageList = new List();
-
-
- }
+ MessageList = new List();
+ Kblist = new List();
+ }
public string Message { set; get; }
-
public List MessageList { set; get; }
-
- ///
- /// 返回结果
- ///
- public T Result { set; get; }
+ public List Kblist { set; get; }
+ ///
+ /// 返回结果
+ ///
+ public T Result { set; get; }
///
/// 错误列表
///
diff --git a/Controller/SCP_ASK_CONTROLLER.cs b/Controller/SCP_ASK_CONTROLLER.cs
index de89ec5..29e9894 100644
--- a/Controller/SCP_ASK_CONTROLLER.cs
+++ b/Controller/SCP_ASK_CONTROLLER.cs
@@ -165,10 +165,440 @@ namespace CK.SCP.Controller
throw e;
}
}
+ public static List Getlist(string ASK)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ return db.TA_ASK_SUBPART.Where(p=>p.AskBillNum==ASK&&string.IsNullOrEmpty(p.VendBatch)).ToList();
+ }
+ }
+ public static ResultObject Update_User_ErrorCount(string p_userName,int count )
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (AppBoxContext _appdb = EntitiesFactory.CreateAppBoxInstance())
+ {
+ var user = _appdb.Users.FirstOrDefault(p => p.Name == p_userName);
+ if (user != null)
+ {
+ user.ErrorCount = user.ErrorCount + 1;
+ if(user.ErrorCount== count)
+ {
+ user.Enabled = false;
+ _ret.Message = $"密码错误超过【{count}】次,账号已锁定请联系管理员";
+ }
+ else
+ {
+ _ret.Message = $"密码错误,再输入错【{count - user.ErrorCount}】次后账户将锁定!";
+ }
+ }
+ int state = _appdb.SaveChanges();
+ if (state != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+ }
+
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Update_User_ErrorCount", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Update_User_ErrorCount", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Update_User_ErrorCount", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Update_User_ErrorCount", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+ public static ResultObject Add_Vendusers(List p_order_list, string site)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (AppBoxContext _appdb = EntitiesFactory.CreateAppBoxInstance())
+ {
+ foreach (var vend in p_order_list)
+ {
+ string na = vend + "@" + site;
+ var user = _appdb.Users.FirstOrDefault(p => p.Name == na);
+ if (user != null)
+ {
+ VenderUsers _entit = new VenderUsers();
+ _entit.UserId = user.ID;
+ _entit.VenderId = vend;
+ _appdb.VenderUsers.Add(_entit);
+ _appdb.SaveChanges();
+ }
+
+ }
+
+
+
+ //int state = _appdb.SaveChanges();
+ //if (state != -1)
+ //{
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ //}
+ //else
+ //{
+ // _ret.State = ReturnStatus.Failed;
+ // _ret.Result = false;
+ //}
+ }
+
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+ public static ResultObject Add_ASK_SUBPART(string ask)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var askdetail = db.TB_ASK_DETAIL.Where(p => p.AskBillNum == ask).ToList();
+ var subcount = db.TA_ASK_SUBPART.Count(p => p.AskBillNum == ask);
+ if (subcount == 0)
+ {
+ foreach (var ak in askdetail)
+ {
+ var sub = db.TA_SubPartCode.Where(p => p.PartCode == ak.PartCode).ToList();
+ if (sub.Count() > 0)
+ {
+ foreach(var su in sub)
+ {
+ TA_ASK_SUBPART subpart = new TA_ASK_SUBPART();
+ subpart.PartCode = su.PartCode;
+ subpart.SubPartCode = su.SubPartCode;
+ subpart.BOMedtiton = su.BOMedtiton;
+ subpart.AskBillNum = ask;
+ subpart.Qty = su.Qty;
+ db.TA_ASK_SUBPART.AddOrUpdate(subpart);
+ db.TA_SubPartCode.Remove(su);
+ }
+ }
+
+ }
+ }
+
+ if (_ret.MessageList.Count > 0)
+ {
+ _ret.State = ReturnStatus.Failed;
+
+ }
+ else
+ {
+ if (db.SaveChanges() != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+ }
+
+ }
+
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+
+ public static ResultObject Add_Vend_User(List p_order_list, string site)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (AppBoxContext _appdb = EntitiesFactory.CreateAppBoxInstance())
+ {
+ foreach (var vend in p_order_list)
+ {
+ var user = _appdb.Users.FirstOrDefault(p => p.Name == vend);
+
+ if (user == null)
+ {
+ var _factory = _appdb.TA_FACTORY.Where(p => p.ErpDomain == site).FirstOrDefault();
+ var _vend = _appdb.Roles.Where(p => p.Name == "供应商").FirstOrDefault();
+ User _entity = new User();
+ string na = vend + "@" + site;
+ _entity.Name = na;
+ _entity.Remark = site;
+ _entity.Password = PasswordUtil.CreateDbPassword("555555");
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var vendname = db.TA_VENDER.FirstOrDefault(p => p.VendId == vend);
+ _entity.ChineseName = vendname.VendName;
+ }
+ _entity.Email = vend + "@163.com";
+ _entity.Gender = "男";
+ _entity.Enabled = true;
+ _entity.Roles = new List();
+
+ Role t = _appdb.Set().Local.Where(x => x.ID == _vend.ID).FirstOrDefault();
+ if (t == null)
+ {
+ t = new Role { ID = _vend.ID };
+ _appdb.Set().Attach(t);
+ }
+ _entity.Roles.Add(t);
+ _entity.TA_FACTORY = new List();
+ TA_FACTORY f = _appdb.Set().Local.Where(x => x.ID == _factory.ID).FirstOrDefault();
+ if (f == null)
+ {
+ f = new TA_FACTORY { ID = _factory.ID };
+ _appdb.Set().Attach(f);
+ }
+ _entity.TA_FACTORY.Add(f);
+ _appdb.Users.Add(_entity);
+ _appdb.SaveChanges();
+
+ }
+ }
+
+
+
+ //int state = _appdb.SaveChanges();
+ //if (state != -1)
+ //{
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ //}
+ //else
+ //{
+ // _ret.State = ReturnStatus.Failed;
+ // _ret.Result = false;
+ //}
+ }
+
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
///
/// 要货看板减产数量
@@ -488,6 +918,7 @@ namespace CK.SCP.Controller
throw e;
}
}
+
public static List RejectQty_SUM(List p_list)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
@@ -1198,7 +1629,221 @@ namespace CK.SCP.Controller
+ public static ResultObject Save_ASK_TO_WWDZJASN(V_TB_ASK p_ask, List p_order_list, string p_PlateNumber
+ , string p_buyer, string p_buyerPhone)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ TB_ASN _t = new TB_ASN();
+ _t.AsnBillNum = SCP_BILLCODE_CONTROLLER.MakeASNCode();
+ _t.AskBillNum = p_ask.AskBillNum;
+ _t.PoBillNum = p_ask.PoBillNum;
+ _t.ReceivedPort = p_ask.ReceivedPort;
+ _t.CreateUser = p_buyer;
+ _t.CreateTime = DateTime.Now;
+ _t.UpdateUser = p_buyer;
+ _t.UpdateTime = _t.CreateTime;
+ _t.ReceiveUser = p_ask.Buyer;
+ _t.ReceiveTime = p_ask.BeginTime;
+ _t.VendId = p_ask.VendId;
+ _t.IsDeleted = false;//操作员
+ _t.CreateTime = DateTime.Now;
+ _t.CreateUser = p_buyer;
+ _t.Site = p_ask.Site;
+ _t.SubSite = p_ask.SubSite;
+ _t.Remark = p_ask.Remark;
+ _t.State = (int)AsnState.New;
+ _t.Remark = p_ask.Remark;
+ _t.GUID = Guid.NewGuid();
+ _t.PlateNumber = p_PlateNumber;
+ _t.ShipUser = p_ask.ShipUser;
+ _t.ShipTime = p_ask.ShipTime;
+ _t.ReceiveTime = p_ask.ReceiveTime;
+ foreach (var itm in p_order_list)
+ {
+ var partgroup = db.TA_PART.Where(p => p.PartCode == itm.PartCode).FirstOrDefault();
+ _t.Extend3 = partgroup.PartGroup;
+ }
+ db.TB_ASN.AddOrUpdate(p => p.AsnBillNum, _t);
+ List _list = new List();
+ foreach (var itm in p_order_list)
+ {
+ TB_ASN_DETAIL _tDetail = new TB_ASN_DETAIL();
+ _tDetail.PoBillNum = _t.PoBillNum;
+ _tDetail.AsnBillNum = _t.AsnBillNum;
+ _tDetail.PoLine = itm.PoLine;
+ _tDetail.PoUnit = itm.PoUnit;
+ _tDetail.Batch = itm.Batch;
+ if (itm.VendBatch == "55")
+ {
+ _tDetail.VendBatch = "";
+ }
+ else
+ {
+ _tDetail.VendBatch = itm.VendBatch;
+ }
+ var subpart = db.TA_ASK_SUBPART.Where(p=>p.PartCode== itm.PartCode&&p.AskBillNum==itm.AskBillNum).ToList();
+ string str1 = "";
+ string str2 = "";
+ foreach(var sub in subpart)
+ {
+ string str = sub.SubPartCode + "," + sub.BOMedtiton + "," + sub.VendBatch + "#";
+ str2 = str2 + sub.VendBatch;
+ str1 = str1 + str;
+ }
+ _tDetail.VendBatch = str1;
+ _tDetail.UpdateUser = str2;
+ _tDetail.PackQty = itm.PackQty == 0 ? 1 : itm.PackQty;
+ _tDetail.PartCode = itm.PartCode;
+ _tDetail.State = (int)AsnState.New;
+ _tDetail.Qty = (decimal)itm.TempQty;
+ _tDetail.Price = itm.Price;
+ _tDetail.EndTime = itm.EndTime;
+ _tDetail.CreateTime = _t.CreateTime;
+ _tDetail.CreateUser = _t.CreateUser;
+ _tDetail.ProduceDate = itm.ProduceDate;
+ _tDetail.IsDeleted = false;
+ _tDetail.DockCode = itm.ReceivedPort;
+ _tDetail.LocUnit = itm.LocUnit;
+ _tDetail.UnConv = itm.UnConv;
+ _tDetail.State = _t.State;
+ _tDetail.UpdateInfo = itm.UpdateInfo;
+ _tDetail.ReceivedPort = itm.ReceivedPort;
+ _tDetail.GUID = Guid.NewGuid();
+ _tDetail.SubSite = itm.SubSite;
+ _tDetail.Site = itm.Site;
+ _tDetail.Extend2 = itm.ReceivedQty.ToString();
+ _tDetail.Remark = itm.ReceivedQty.ToString();
+ _tDetail.UpdateInfo = itm.UpdateInfo;
+ var partgroup = db.TA_PART.Where(p => p.PartCode == itm.PartCode).FirstOrDefault();
+ _tDetail.Extend3 = partgroup.PartGroup;
+ db.TB_ASN_DETAIL.Add(_tDetail);
+ var _order_detail = db.TB_ASK_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault();
+ _order_detail.ShippedQty = (decimal)itm.ShippedQty;
+ db.TB_ASK_DETAIL.AddOrUpdate(p => p.UID, _order_detail);
+ foreach (var sub in subpart)
+ {
+ TS_UNI_API uni = new TS_UNI_API();
+ uni.InterfaceType = "Receive";
+ uni.TableName = "TS_UNI_API";
+ uni.BillType = 0;
+ uni.SubBillType = 0;
+ uni.BillNum = _tDetail.AsnBillNum;
+ uni.PartCode = _tDetail.PartCode;
+ uni.Batch = _tDetail.Batch;
+ uni.Qty = _tDetail.Qty;
+ uni.State = 2;
+ uni.CreateOper=_t.CreateUser;
+ uni.CreateTime = DateTime.Now;
+ uni.PutTime= DateTime.Now;
+ uni.VendId = _t.VendId;
+ uni.PoUnit = _tDetail.PoUnit;
+ uni.LocUnit = _tDetail.PoUnit;
+ uni.ValidDate= DateTime.Now;
+ uni.ErpBillNum = _tDetail.PoBillNum;
+ uni.ErpLineNum = _tDetail.PoLine;
+ uni.VendBatch = sub.VendBatch;
+ uni.PackQty= _tDetail.Qty;
+ uni.Price = _tDetail.Price;
+ uni.UmConv = 1;
+ uni.Buyer = _t.ShipUser;
+ uni.BuyerPhone = "";
+ uni.Site = _t.Site;
+ uni.Domain = _t.Site;
+ uni.ModType = sub.SubPartCode;
+ uni.Barcode = sub.BOMedtiton;
+ uni.Extend3 = _tDetail.PoLine.ToString();
+ db.TS_UNI_API.Add(uni);
+ }
+ }
+
+ var subpartcode = db.TA_ASK_SUBPART.Where(p => p.AskBillNum == _t.AskBillNum).ToList();
+ foreach (var sub in subpartcode)
+ {
+ sub.VendBatch = "";
+ db.TA_ASK_SUBPART.AddOrUpdate(sub);
+ }
+ int state = db.SaveChanges();
+ if (state != -1)
+ {
+ var _askDetailList = db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList();//查询要货单明细
+ var _lst = Get_CAN_SHIPQTY(_askDetailList);//算出可发数量
+ if (_lst.Select(p => p.CanQty).Sum() <= 0)//可发数量为零时,修改状态
+ {
+ var _ary = db.TB_ASK.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList();
+ _ary.ForEach(p => p.State = (int)AskState.Ship);
+ if (_ary.Count() > 0)
+ {
+ db.TB_ASK.AddOrUpdate(_ary.ToArray());
+ }
+ }
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_ASK_TO_ASN", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_ASK_TO_ASN", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_ASK_TO_ASN", ex.ToString());
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_ASK_TO_ASN", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
public static ResultObject Save_ASK_TO_ASN(V_TB_ASK p_ask, List p_order_list, string p_PlateNumber
, string p_buyer, string p_buyerPhone)
{
@@ -1207,6 +1852,7 @@ namespace CK.SCP.Controller
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
+ var po = db.TB_PO.FirstOrDefault(p=>p.PoBillNum==p_ask.PoBillNum);
TB_ASN _t = new TB_ASN();
_t.AsnBillNum = SCP_BILLCODE_CONTROLLER.MakeASNCode();
_t.AskBillNum = p_ask.AskBillNum;
@@ -1232,7 +1878,12 @@ namespace CK.SCP.Controller
_t.ShipUser = p_ask.ShipUser;
_t.ShipTime = p_ask.ShipTime;
_t.ReceiveTime = p_ask.ReceiveTime;
- db.TB_ASN.AddOrUpdate(p => p.AsnBillNum, _t);
+ foreach (var itm in p_order_list)
+ {
+ var partgroup = db.TA_PART.Where(p => p.PartCode == itm.PartCode).FirstOrDefault();
+ _t.Extend3 = partgroup.PartGroup;
+ }
+ db.TB_ASN.AddOrUpdate(p => p.AsnBillNum, _t);
List _list = new List();
foreach (var itm in p_order_list)
{
@@ -1242,14 +1893,21 @@ namespace CK.SCP.Controller
_tDetail.PoLine = itm.PoLine;
_tDetail.PoUnit = itm.PoUnit;
_tDetail.Batch = itm.Batch;
- if (!string.IsNullOrEmpty(itm.VendBatch))
+ if (itm.VendBatch=="55")
+ {
+ _tDetail.VendBatch = "";
+ }
+ else
{
_tDetail.VendBatch = itm.VendBatch;
}
- else
+
+ if (_t.PoBillNum.Substring(0, 5) == "CYD03"&&_t.Site=="W21")
{
- _tDetail.VendBatch = itm.Batch;
+ var podetail = db.TB_PO_DETAIL.FirstOrDefault(t=>t.PoBillNum==_t.PoBillNum&&t.PartCode==itm.PartCode&&t.PoLine==itm.PoLine);
+ _tDetail.VendBatch = podetail.SubSite + "," + podetail.Extend3 + "," + itm.VendBatch + "#";
}
+ _tDetail.UpdateUser= itm.VendBatch;
_tDetail.PackQty = itm.PackQty == 0 ? 1 : itm.PackQty;
_tDetail.PartCode = itm.PartCode;
_tDetail.State = (int)AsnState.New;
@@ -1267,12 +1925,82 @@ namespace CK.SCP.Controller
_tDetail.UpdateInfo = itm.UpdateInfo;
_tDetail.ReceivedPort = itm.ReceivedPort;
_tDetail.GUID = Guid.NewGuid();
- _tDetail.SubSite = itm.SubSite;
+ _tDetail.SubSite = itm.SubSite;
_tDetail.Site = itm.Site;
+ _tDetail.Extend2 = itm.ReceivedQty.ToString();
+ _tDetail.Remark= itm.ReceivedQty.ToString();
+ _tDetail.UpdateInfo = itm.UpdateInfo;
+ var partgroup = db.TA_PART.Where(p => p.PartCode == itm.PartCode).FirstOrDefault();
+ var askdetail=db.TB_ASK_DETAIL.Where(p => p.PartCode == itm.PartCode&&p.AskBillNum==itm.AskBillNum).FirstOrDefault();
+ _tDetail.Extend3 = partgroup.PartGroup;
+ _tDetail.Extend1 =po.VendId;
+ if (itm.Site == "U32")
+ {
+ var _applin = db.TA_Appliance.FirstOrDefault(p=>p.PartNumber==itm.SubSite&&p.VendID==p_ask.VendId);
+ if (_applin != null)
+ {
+ var _boxtype = db.TA_BOXTYPE.FirstOrDefault(p=>p.BoxType==_applin.BoxType&&p.Enabled==true);
+ if (_boxtype != null)
+ {
+ TB_ASN_PARTBOX PARTBOX = new TB_ASN_PARTBOX();
+ PARTBOX.AsnBillNum = _t.AsnBillNum;
+ PARTBOX.PartCode = itm.PartCode;
+ PARTBOX.BoxType = _boxtype.BoxType;
+ PARTBOX.Box = Convert.ToInt32(_tDetail.Qty) / Convert.ToInt32(_tDetail.PackQty);
+ if(Convert.ToInt32(_tDetail.Qty) % Convert.ToInt32(_tDetail.PackQty) > 0)
+ {
+ PARTBOX.Box = PARTBOX.Box + 1;
+ }
+ PARTBOX.SumBox = PARTBOX.Box;
+ PARTBOX.PoBillNum = _t.PoBillNum;
+ PARTBOX.VendId = _t.VendId;
+ PARTBOX.ShipTime =DateTime.Parse(_t.ShipTime.ToString()).ToShortDateString();
+ PARTBOX.Batch = _tDetail.Batch;
+ PARTBOX.PoLine = _tDetail.PoLine;
+ PARTBOX.PackQty = _tDetail.PackQty;
+ db.TB_ASN_PARTBOX.AddOrUpdate(PARTBOX);
+ }
+ }
+ if (!string.IsNullOrEmpty(askdetail.Extend2))
+ {
+ var ModelList = db.TA_CarModel.ToList();
+ foreach (var model in ModelList)
+ {
+ if(model.Model.Length<=askdetail.Extend2.Length)
+ {
+
+ if (askdetail.Extend2.Contains(model.Model))
+ {
+ _tDetail.Extend1 = "FT";
+ break;
+ }
+ }
+
+ _tDetail.Extend1 = "PT";
+ }
+ //if (askdetail.Extend2.Contains("941B") || askdetail.Extend2.Contains("330B") || askdetail.Extend2.Contains("812B") || askdetail.Extend2.Contains("260B") || askdetail.Extend2.Contains("875B") || askdetail.Extend2.Contains("710B") || askdetail.Extend2.Contains("280B") || askdetail.Extend2.Contains("770B") || askdetail.Extend2.Contains("290D") || askdetail.Extend2.Contains("891B") || askdetail.Extend2.Contains("031D") || askdetail.Extend2.Contains("822B") || askdetail.Extend2.Contains("845B") || askdetail.Extend2.Contains("067D") || askdetail.Extend2.Contains("115D"))
+ //{
+ // _tDetail.Extend1 = "FT";
+ //}
+ //else
+ //{
+ // _tDetail.Extend1 = "PT";
+ //}
+ }
+ else
+ {
+ _tDetail.Extend1 = "PT";
+ }
+
+
+ }
db.TB_ASN_DETAIL.Add(_tDetail);
var _order_detail = db.TB_ASK_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault();
_order_detail.ShippedQty = (decimal)itm.ShippedQty;
+
+
db.TB_ASK_DETAIL.AddOrUpdate(p => p.UID, _order_detail);
+
}
int state = db.SaveChanges();
if (state != -1)
@@ -1358,7 +2086,7 @@ namespace CK.SCP.Controller
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
- var _ls = p_list.Select(p => p.AskBillNum);
+ var _ls = p_list.Select(p => p.AskBillNum);
StringBuilder _buffer = new StringBuilder();
_buffer.Append(" select distinct (C.AskBillNum)from V_TB_ASK_DETAIL C");
_buffer.Append(" left JOIN ");
@@ -1382,6 +2110,39 @@ namespace CK.SCP.Controller
}
return p_list;
}
+
+ public static List GET_IS_COMPLETED_SEND1(List p_list,string lz)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ List lt = new List();
+ var _ls = p_list.Select(p => p.AskBillNum);
+ StringBuilder _buffer = new StringBuilder();
+ _buffer.Append(" select AskBillNum from V_TB_ASK_DETAIL ");
+ _buffer.Append($" WHERE Currency like '%{lz}%'");
+ var _str = string.Format(_buffer.ToString(), string.Join("','", _ls.ToArray()));
+ var _list = db.Database.SqlQuery(_str).ToList();
+ var ll= p_list.Where(p => _list.Contains(p.AskBillNum)).ToList();
+ return ll;
+ }
+
+ }
+ public static List GET_IS_COMPLETED_SEND2(List p_list, string lz)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ List lt = new List();
+ var _ls = p_list.Select(p => p.AskBillNum);
+ StringBuilder _buffer = new StringBuilder();
+ _buffer.Append(" select AskBillNum from V_TB_ASK_DETAIL ");
+ _buffer.Append($" WHERE SubSite='{lz}'");
+ var _str = string.Format(_buffer.ToString(), string.Join("','", _ls.ToArray()));
+ var _list = db.Database.SqlQuery(_str).ToList();
+ var ll = p_list.Where(p => _list.Contains(p.AskBillNum)).ToList();
+ return ll;
+ }
+
+ }
public static decimal Get_ASN_DETAIL_CAN(V_TB_ASK_DETAIL p_asn_detail)
{
decimal _canqty = 0;
@@ -1450,7 +2211,9 @@ namespace CK.SCP.Controller
p_list.ForEach(itm =>
{
-
+ var maxtime = db.TB_ASN_DETAIL.Where(p=>p.PartCode==itm.PartCode&&p.State>-1).Select(t=>t.ProduceDate).Max();
+
+ itm.MaxTime = maxtime.ToString();
groupList.ForEach(p =>
{
if (p.PoBillNum == itm.PoBillNum && p.PoLine == itm.PoLine && p.PartCode == itm.PartCode)
@@ -1465,6 +2228,7 @@ namespace CK.SCP.Controller
itm.RejectQty = Math.Abs(p.BackSum);//寄售退货数
}
});
+
decimal a = itm.AskQty - (itm.ShippedQty == null ? 0 : (decimal)itm.ShippedQty) + itm.RejectQty - (itm.ReduceQty == null ? 0 : (decimal)itm.ReduceQty);
itm.CanQty = a;
itm.PackQty = (itm.PackQty == 0) ? 1 : itm.PackQty;
@@ -1885,7 +2649,8 @@ namespace CK.SCP.Controller
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
- {
+ {
+
if (p_state == AskState.Close)
{
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList();
@@ -1899,13 +2664,16 @@ namespace CK.SCP.Controller
_ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.MessageList.Add(p.AskBillNum + "存在未发货的发货单!");
+
}
else
- {
- p.State = (int)AskState.Close;
- var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList();
+ {
+ p.State = (int)AskState.Close;
+ var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList();
_list.ForEach(itm => itm.State = (int)AskState.Close);
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray());
+
+
}
}
);
@@ -2018,6 +2786,15 @@ namespace CK.SCP.Controller
if (p_state == AskState.Release)
{
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList();
+ foreach (var mail in _ls)
+ {
+ TB_SUPPLIER_MAIL mall = new TB_SUPPLIER_MAIL();
+ mall.State = 0;
+ mall.SupplicerCode = mail.VendId;
+ mall.MailBody = "有新的要货订单" + mail.AskBillNum;
+ mall.Email = mail.PoBillNum;
+ db.TB_SUPPLIER_MAIL.Add(mall);
+ }
int count = _ls.Count(p => p.State == (int)AskState.New);
if (count > 0)
{
diff --git a/Controller/SCP_ASN_CONTROLLER.cs b/Controller/SCP_ASN_CONTROLLER.cs
index 47f2768..5d137f1 100644
--- a/Controller/SCP_ASN_CONTROLLER.cs
+++ b/Controller/SCP_ASN_CONTROLLER.cs
@@ -69,6 +69,7 @@ namespace CK.SCP.Controller
}
return dt;
}
+
public static void Get_V_TB_ASN_List(V_TB_ASN p_entity, Action>> p_action,string p_language="CN")
{
ResultObject> _ret = new ResultObject>();
@@ -231,6 +232,287 @@ namespace CK.SCP.Controller
throw e;
}
}
+ public static ResultObject Save_Asn_Vendbatch(List p_order_list)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ List _list = new List();
+ var PartList = p_order_list.GroupBy(p => p.PartCode).ToList();
+
+ PartList.ForEach(p=>
+ {
+ var list = p.ToList();
+ var batchList = list.Select(t => t.VendBatch).Distinct();
+ if(list.Count()!= batchList.Count())
+ {
+ _ret.MessageList.Add("同一物料号,不同子件物料号的原卷号不能相同");
+ }
+ });
+ foreach (var itm in p_order_list)
+ {
+ var detail = db.TA_ASK_SUBPART.FirstOrDefault(P => P.UID == itm.UID);
+ detail.VendBatch = itm.VendBatch;
+ db.TA_ASK_SUBPART.AddOrUpdate(p => p.UID, detail);
+ }
+
+ if (_ret.MessageList.Count() == 0)
+ {
+ int state = db.SaveChanges();
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+
+
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_Asn_ProduceDate", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_Asn_ProduceDate", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_Asn_ProduceDate", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_Asn_ProduceDate", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+ public static ResultObject Delete_asn(List asn)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+
+ {
+ int number = 1;
+ List lineError = new List();
+ List ErrorList = new List();
+
+ foreach (var nn in asn)
+ {
+ var _ls = CheckExce2(db, nn);
+ if (_ls.Count > 0)
+ {
+ lineError.Add(number.ToString());
+ ErrorList.Add(string.Join("
", _ls.ToArray()));
+ number++;
+ }
+ if (lineError.Count > 0)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.MessageList.AddRange(ErrorList);
+ _ret.Result = false;
+ }
+ else
+ {
+
+ var ASN = db.TB_ASN.Where(p => p.AsnBillNum == nn).FirstOrDefault();
+ var detail = db.TB_ASN_DETAIL.Where(p => p.AsnBillNum == nn).ToArray();
+ if (ASN != null)
+ {
+ ASN.State = -1;
+ ASN.IsDeleted = true;
+ db.TB_ASN.AddOrUpdate(ASN);
+ }
+ if (detail.Count() > 0)
+ {
+ foreach (var itm in detail)
+ {
+ itm.IsDeleted = true;
+ itm.State = -1;
+
+ }
+ db.TB_ASN_DETAIL.AddOrUpdate(detail);
+ }
+
+ }
+ }
+ }
+
+ if (_ret.MessageList.Count == 0)
+ {
+ int state = db.SaveChanges();
+ if (state != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Delete_asn", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Delete_asn", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Delete_asn", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Delete_asn", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+
+ private static List CheckExce2(ScpEntities db, string lt)
+ {
+ List ErrorList = new List();
+ var _asn = db.TB_ASN.Count(p => p.AsnBillNum == lt&&p.State>0);
+ if (_asn > 0)
+ {
+ ErrorList.Add(string.Format("发货单【{0}】不是新建状态,不能作废", lt));
+ }
+ return ErrorList;
+ }
+
+ public static List SearchCxcount(string asn)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var asndetail= db.TB_ASN_DETAIL.Where(p => p.AsnBillNum==asn&&p.Extend1=="FT").ToList();
+ return asndetail;
+
+ }
+
+ }
+ public static List SearchCxcount1(string asn)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var asndetail = db.TB_ASN_DETAIL.Where(p => p.AsnBillNum== asn && p.Extend1 == "PT").ToList();
+ return asndetail;
+
+ }
+
+ }
+ public static List SearchPartBox(string asn)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var PartBox = db.TB_ASN_PARTBOX.Where(p => p.AsnBillNum == asn && p.Box>0).ToList();
+ return PartBox;
+
+ }
+
+ }
+ public static List SearchBarcode(string asn)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var barcode = db.TS_BARCODE.Where(p => p.BillNum == asn).ToList();
+ return barcode;
+
+ }
+
+ }
public static void Get_TB_Pallet_List(V_TB_PALLETS p_entity, Action>> p_action)
{
ResultObject> _ret = new ResultObject>();
@@ -798,7 +1080,7 @@ namespace CK.SCP.Controller
return _ret;
}
- public static DataSet ASN_REPORT(string p_AsnBillNum)
+ public static DataSet ASN_REPORT(string p_AsnBillNum,string CurrentUserPhone)
{
DataSet ds = new DataSet();
SCP_ASN_CONTROLLER.Get_V_TB_ASN_List(new V_TB_ASN { AsnBillNum = p_AsnBillNum }, (ret) =>
@@ -816,12 +1098,34 @@ namespace CK.SCP.Controller
_print.SupplierNo = _asn.VendId;
_print.SupplierName = _asn.VendName;
_print.SupplierContacter = _asn.ShipUser;
- _print.DueDeliveryDate = _asn.ReceiveTime.ToString();
+ _print.DueDeliveryDate = _asn.EndTime.ToShortDateString();
_print.MaterialPlanner = _asn.Buyer;
_print.CAAIPhone = "";
_print.CAAIFax = "";
_print.Site = _asn.Site;
_print.Total = "0";
+ _print.CurrentUserPhone = CurrentUserPhone;
+ if (_asn.Site == "U32")
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var Bb = db.TA_Receiving_Information.Count(t => t.Shift == "白班");
+ if (Bb > 0)
+ {
+ var Bb1 = db.TA_Receiving_Information.FirstOrDefault(t => t.Shift == "白班");
+ _print.SupplierContacter = Bb1.Name + ":" + Bb1.Phone;
+ }
+
+ var Yb = db.TA_Receiving_Information.Count(t => t.Shift == "夜班");
+ if (Bb > 0)
+ {
+ var Yb1 = db.TA_Receiving_Information.FirstOrDefault(t => t.Shift == "夜班");
+ _print.FileNo = Yb1.Name + ":" + Yb1.Phone;
+ }
+ _print.CAAIFax = _asn.ShipUser;
+ }
+ }
+
using (AppBoxContext _appdb = EntitiesFactory.CreateAppBoxInstance())
{
StringBuilder _buffer = new StringBuilder();
@@ -859,13 +1163,23 @@ namespace CK.SCP.Controller
_detail.Boxes = (Math.Truncate((p.Qty / p.PackQty)) + (((p.Qty % p.PackQty) > 0) ? 1 : 0)).ToString();
_detail.DeliverQty = p.Qty.ToString();
_detail.ReceiveQty = p.Qty.ToString();
- _detail.PoNo = p.PoBillNum+"."+p.AskBillNum;
+ //_detail.PoNo = p.PoBillNum + "." + p.AskBillNum;
+ //if (p.Site == "U32")
+ //{
+ _detail.PoNo = p.PoBillNum;
+ //}
+
_detail.LineNO = p.PoLine.ToString();
_detail.Memo = p.Remark;
_detail.Batch = p.Batch;
_detail.VendBatch = p.VendBatch;
- _detail.DockCode = p.DockCode;
- _detail.ProjectId = _lst.Where(itm => itm.PartCode == p.PartCode).FirstOrDefault().ProjectId;
+ _detail.DockCode = p.Extend2;
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var Poqty = db.TB_PO_DETAIL.FirstOrDefault(t=>t.PartCode== p.PartCode&&t.PoBillNum==p.PoBillNum&&t.PoLine==p.PoLine);
+ _detail.PoQty = Poqty.PlanQty.ToString();
+ }
+ // _detail.ProjectId = _lst.Where(itm => itm.PartCode == p.PartCode).FirstOrDefault().ProjectId;
_lsDetail.Add(_detail);
});
@@ -902,7 +1216,8 @@ namespace CK.SCP.Controller
_print.CAAIPhone = "";
_print.CAAIFax = "";
_print.Total = "0";
- using (AppBoxContext _appdb = EntitiesFactory.CreateAppBoxInstance())
+
+ using (AppBoxContext _appdb = EntitiesFactory.CreateAppBoxInstance())
{
StringBuilder _buffer = new StringBuilder();
var _ls = _appdb.Users.Where(p => p.Roles.Select(itm => itm.Name).Contains("物流人员")).ToList();
@@ -1492,25 +1807,30 @@ namespace CK.SCP.Controller
{
string _asnBillNum = p_list[0].AsnBillNum;
var _asn = db.TB_ASN.Where(p => p.IsDeleted == false && p.AsnBillNum == _asnBillNum).FirstOrDefault();
+ var _asn1 = db.TB_ASN_DETAIL.Where(p => p.IsDeleted == false && p.AsnBillNum == _asnBillNum).FirstOrDefault();
+
List _asnList = new List();
p_list.ForEach(p =>
{
decimal _qty = 0;
decimal _packQty = 0;
+ var partcount = p_list.Where(t=>t.PartCode==p.PartCode);
+
if (decimal.TryParse(p.Qty.ToString(), out _qty) && decimal.TryParse(p.PackQty.ToString(), out _packQty))
{
decimal _n = _qty / _packQty;
var _count=int.Parse( Math.Truncate(_n).ToString());
if (_qty / _packQty > 0)
{
+
for (int i = 0; i < _count; i++)
{
V_TB_ASN_DETAIL _asndetail = new V_TB_ASN_DETAIL();
_asndetail.PoBillNum = p.PoBillNum;
_asndetail.Batch = p.Batch;
_asndetail.PartCode = p.PartCode;
- _asndetail.ProduceDate = p.ProduceDate;
- _asndetail.Qty = _packQty;
+ _asndetail.ProduceDate = p.ProduceDate;
+ _asndetail.Qty = _packQty;
_asndetail.AsnBillNum = p.AsnBillNum;
_asndetail.PoLine = p.PoLine;
_asndetail.VendId = p.VendId;
@@ -1522,6 +1842,7 @@ namespace CK.SCP.Controller
_asndetail.PoUnit = p.PoUnit;
_asndetail.Site = p.Site;
_asndetail.UpdateInfo = p.UpdateInfo;
+ _asndetail.UpdateUser = p.UpdateUser;
_asnList.Add(_asndetail);
}
if (_qty % _packQty > 0)
@@ -1543,6 +1864,8 @@ namespace CK.SCP.Controller
_asndetail.PoUnit = p.PoUnit;
_asndetail.UpdateInfo = p.UpdateInfo;
_asndetail.Site = p.Site;
+ _asndetail.UpdateInfo = p.UpdateInfo;
+ _asndetail.UpdateUser = p.UpdateUser;
_asnList.Add(_asndetail);
}
}
@@ -1567,17 +1890,46 @@ namespace CK.SCP.Controller
_asndetail.PoUnit = p.PoUnit;
_asndetail.Site = p.Site;
_asndetail.UpdateInfo = p.UpdateInfo;
+ _asndetail.UpdateUser = p.UpdateUser;
_asnList.Add(_asndetail);
}
}
}
});
- foreach (var itm in _asnList)
+
+ if (_asnList.Count>=1000&& _asnList[0].Site== "U32")//本特勒大于1000时采用批量生成方式
{
- var _bar = SCP_BARCODE_CONTROLLER.CreateBarcode(itm);
- _ls.Add(_bar);
+ var groups = _asnList.GroupBy(r => new { r.PartCode, r.Batch, r.Site, r.PoBillNum, r.AskBillNum }).ToList();
+ foreach (var group in groups)
+ {
+ var list = _asnList.Where(r => r.PartCode == group.Key.PartCode && r.Batch == group.Key.Batch && r.Site == group.Key.Site && r.PoBillNum == group.Key.PoBillNum && r.AskBillNum == group.Key.AskBillNum).ToList();
+ var ret = SCP_BARCODE_CONTROLLER.CreateBatchBarcodeList(list);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ _ls.AddRange(ret.Result);
+
+ }
+ else
+ {
+ _ret.MessageList.Add(ret.Message);
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ return _ret;
+ }
+ }
+ db.TS_BARCODE.BulkInsert(_ls.ToArray());
}
- db.TS_BARCODE.AddOrUpdate(p => new { p.BarCode, p.BillNum }, _ls.ToArray());
+ else
+ {
+
+ foreach (var itm in _asnList)
+ {
+ var _bar = SCP_BARCODE_CONTROLLER.CreateBarcode(itm);
+ _ls.Add(_bar);
+ }
+
+ db.TS_BARCODE.AddOrUpdate(p => new { p.BarCode, p.BillNum }, _ls.ToArray());
+ }
}
else
{
@@ -1897,6 +2249,150 @@ namespace CK.SCP.Controller
}
return _ret;
}
+ public static ResultObject Save_TB_PALLET_BTL(List p_list)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ int _sumbox = p_list.Sum(p => p.Qty);
+ SqlParameter[] prams = new SqlParameter[1];
+ prams[0] = new SqlParameter("@a", 105);
+ string lastNumber = db.Database.SqlQuery("exec dbo.P_GetBillNum @a", prams).SingleOrDefault();
+ if (lastNumber.Length != 8 || !lastNumber.Contains('P'))
+ {
+ _ret.MessageList.Add("托盘生成失败!");
+ }
+ string str = "";
+ decimal _qy = 0;
+ foreach (var li in p_list)
+ {
+
+ var ts = db.TS_BARCODE.OrderBy(T => T.UID).Where(T => string.IsNullOrEmpty(T.PalletNum) && T.BillNum == li.AsnBillNum && T.PartCode == li.PartCode).ToList().Take(li.Qty);
+ var tss = ts.ToList();
+ decimal _qty = tss.Sum(p => p.Qty);
+ string str1 = li.PartCode + "," + li.Batch+","+ _qty+","+li.PoLine+"#";
+ tss.ForEach(itm => itm.PalletNum = lastNumber);
+ db.TS_BARCODE.AddOrUpdate(itm => itm.UID, tss.ToArray());
+ str = str + str1;
+ _qy = _qy + _qty;
+ li.Box = li.Box - li.Qty;
+ li.Qty1 = 0;
+ db.TB_ASN_PARTBOX.AddOrUpdate(li);
+ }
+ var _ls = p_list.First();
+ TB_PALLETS_BTL pallet = new TB_PALLETS_BTL();
+ pallet.AsnBillNum = _ls.AsnBillNum;
+
+ pallet.PalletNum = lastNumber;
+ pallet.PoBillNum = _ls.PoBillNum;
+ pallet.VendId = _ls.VendId;
+ var vend = db.TA_VENDER.FirstOrDefault(p => p.VendId == _ls.VendId);
+ pallet.VendName = vend.VendName;
+ pallet.ShipTime = _ls.ShipTime;
+
+ pallet.SumBox = _sumbox;
+ pallet.PalletCode = lastNumber+";"+ _ls.AsnBillNum+";" + _ls.PoBillNum+";" + _ls.VendId+";"+ str;
+ pallet.SumQty = _qy;
+ if (p_list.Count() > 0)
+ {
+ int _count = 6 - p_list.Count();
+ if (_count > 0)
+ {
+ for (int a = 1; a <= _count; a++)
+ {
+ TB_ASN_PARTBOX _partbox = new TB_ASN_PARTBOX();
+
+ p_list.Add(_partbox);
+ }
+ }
+ pallet.PackQty = p_list.First().PackQty.ToString();
+ pallet.PartCode = p_list.First().PartCode.ToString();
+ pallet.Box = p_list.First().Qty.ToString();
+ pallet.PackQty1 = p_list[p_list.Count - 5].PackQty==0?"": p_list[p_list.Count - 5].PackQty.ToString();
+ pallet.PartCode1 = string.IsNullOrEmpty(p_list[p_list.Count - 5].PartCode)?"": p_list[p_list.Count - 5].PartCode;
+ pallet.Box1 = p_list[p_list.Count - 5].Qty==0 ? "": p_list[p_list.Count - 5].Qty.ToString();
+ pallet.PackQty2 = p_list[p_list.Count - 4].PackQty==0 ?"": p_list[p_list.Count - 4].PackQty.ToString();
+ pallet.PartCode2 =string.IsNullOrEmpty(p_list[p_list.Count - 4].PartCode)?"": p_list[p_list.Count - 4].PartCode;
+ pallet.Box2 = p_list[p_list.Count - 4].Qty==0?"" : p_list[p_list.Count - 4].Qty.ToString();
+ pallet.PackQty3 = p_list[p_list.Count - 3].PackQty==0 ? "": p_list[p_list.Count - 3].PackQty.ToString();
+ pallet.PartCode3 = string.IsNullOrEmpty(p_list[p_list.Count - 3].PartCode)?"": p_list[p_list.Count - 3].PartCode;
+ pallet.Box3 = p_list[p_list.Count - 3].Qty==0?"" : p_list[p_list.Count - 3].Qty.ToString();
+ pallet.PackQty4 = p_list[p_list.Count - 2].PackQty==0 ? "": p_list[p_list.Count - 2].PackQty.ToString();
+ pallet.PartCode4 = string.IsNullOrEmpty(p_list[p_list.Count - 2].PartCode)?"": p_list[p_list.Count - 2].PartCode;
+ pallet.Box4 = p_list[p_list.Count - 2].Qty==0 ? "": p_list[p_list.Count - 2].Qty.ToString();
+ pallet.PackQty5 = p_list.Last().PackQty == 0 ? "" : p_list.Last().PackQty.ToString();
+ pallet.PartCode5 =string.IsNullOrEmpty(p_list.Last().PartCode) ? "" : p_list.Last().PartCode;
+ pallet.Box5 = p_list.Last().Qty==0 ?"": p_list.Last().Qty.ToString();
+ pallet.IsDeleted = false;
+ }
+ db.TB_PALLETS_BTL.AddOrUpdate(pallet);
+ int state = db.SaveChanges();
+ if (state != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+
+ }
+
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_TB_PALLET_BTL", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_TB_PALLET_BTL", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_TB_PALLET_BTL", ex.ToString());
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Save_TB_PALLET_BTL", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
public static ResultObject Save_TB_PALLET_JZJH(List p_list)
{
@@ -2329,7 +2825,7 @@ namespace CK.SCP.Controller
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
- var _list = db.TS_UNI_API.Where(p => p.BillNum == p_asn.AsnBillNum).ToList();
+ var _list = db.TS_UNI_API.Where(p => p.BillNum == p_asn.AsnBillNum&&p.State==1).ToList();
if (_list.Count > 0)
{
_ret.State = ReturnStatus.Failed;
@@ -2400,15 +2896,128 @@ namespace CK.SCP.Controller
}
return _ret;
}
- public static ResultObject Save_TB_ASN_DETAIL(V_TB_ASN p_asn, List p_entitys)
+
+ public static ResultObject Get_TB_ASN_BACH(V_TB_ASN p_asn)
{
ResultObject _ret = new ResultObject();
try
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
+ int i = 0;
+ List asn1 =new List ();
+ var asn = db.V_TB_ASN_DETAIL.Count(p=>p.VendId== p_asn.VendId&& p.State==0&&p.AsnBillNum!=p_asn.AsnBillNum);
+ if (asn > 0)
+ {
+ var _list = db.V_TB_ASN_DETAIL.Where(p => p.AsnBillNum == p_asn.AsnBillNum&& p.VendId == p_asn.VendId).ToList();
+ foreach(var part in _list)
+ {
+ var pa = db.V_TB_ASN_DETAIL.Count(p => p.PartCode == part.PartCode&&p.State==0&&p.ProduceDate 0)
+ {
+ var pa1 = db.V_TB_ASN_DETAIL.Where(p => p.PartCode == part.PartCode && p.State == 0 && p.ProduceDate < part.ProduceDate && p.VendId == p_asn.VendId).ToList();
+ foreach(var p in pa1)
+ {
+ if (!asn1.Contains(p.AsnBillNum))
+ {
+ asn1.Add(p.AsnBillNum);
+ }
+
+ }
+ i++;
+ }
+
+ }
+
+ }
+ string STR = "";
+ if (asn1.Count() > 0)
+ {
+ STR = String.Join(";", asn1);
+ }
+
+ if (i > 0)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.Message = STR;
+
+
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Get_TS_UNI_API", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Get_TS_UNI_API", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Get_TS_UNI_API", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASN_CONTROLLER), "Get_TS_UNI_API", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+ public static ResultObject Save_TB_ASN_DETAIL(V_TB_ASN p_asn, List p_entitys)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
DateTime now = DateTime.Now;
+ List consumlist = new List();
List _ls = new List();
var _asn =db.TB_ASN.Where(p => p.IsDeleted == false && p.AsnBillNum == p_asn.AsnBillNum).ToList();
if (_asn != null && _asn.Count>0)
@@ -2420,7 +3029,83 @@ namespace CK.SCP.Controller
db.TB_ASN.AddOrUpdate(p => p.UID, _asn.ToArray());
var ask = db.TB_ASK.Where(p => p.IsDeleted == false && p.AskBillNum == p_asn.AskBillNum).ToList();
ask.ForEach(p => p.State = (int)AskState.Ship);
- db.TB_ASK.AddOrUpdate(p => p.UID, ask.ToArray());
+ db.TB_ASK.AddOrUpdate(p => p.UID, ask.ToArray());
+ var Asn = p_entitys.First();
+ var po = db.TB_PO.FirstOrDefault(p=>p.PoBillNum==Asn.PoBillNum);
+ if (po.UpdateInfo == "Y"&&po.Site=="W21")
+ {
+ p_entitys.ForEach(p =>
+ {
+ var _maxpolist = db.TB_MAXPO_DETAIL.Where(t => t.PartCode == p.PartCode && t.VendId == p.Extend1&&t.AsnQty>0).ToList().OrderBy(t=>t.ContractMonth);
+ decimal sum = 0;
+ if (_maxpolist.Count() > 0)
+ {
+ sum = _maxpolist.Sum(t => t.AsnQty);
+ }
+ decimal Qtyy = p.Qty;
+
+ if(sum< Qtyy)
+ {
+ _ret.MessageList.Add(string.Format("确认发货失败,零件号{0}大订单剩余数量不足,请联系业务人员维护", p.PartCode));
+ }
+ else
+ {
+ foreach (var _maxpo in _maxpolist)
+ {
+ if (_maxpo.AsnQty > Qtyy)
+ {
+ _maxpo.AsnQty = _maxpo.AsnQty - Qtyy;
+ TB_MAXPO_CONSUME consumne = new TB_MAXPO_CONSUME();
+ consumne.PoBillNum = _maxpo.PoBillNum;
+ consumne.BillNum = p.AsnBillNum;
+ consumne.PoQty = Qtyy;
+ consumne.VendId = _maxpo.VendId;
+ consumne.PartCode = _maxpo.PartCode;
+ consumne.ShipTime = _maxpo.CreateTime;
+ consumlist.Add(consumne);
+
+ db.TB_MAXPO_DETAIL.AddOrUpdate(_maxpo);
+
+ break;
+ }
+ else if (_maxpo.AsnQty == Qtyy)
+ {
+ TB_MAXPO_CONSUME consumne = new TB_MAXPO_CONSUME();
+ consumne.PoBillNum = _maxpo.PoBillNum;
+ consumne.BillNum = p.AsnBillNum;
+ consumne.PoQty = Qtyy;
+ consumne.VendId = _maxpo.VendId;
+ consumne.PartCode = _maxpo.PartCode;
+ consumne.ShipTime = _maxpo.CreateTime;
+ consumlist.Add(consumne);
+ _maxpo.AsnQty = 0;
+
+ db.TB_MAXPO_DETAIL.AddOrUpdate(_maxpo);
+
+ break;
+ }
+ else if (_maxpo.AsnQty < Qtyy)
+ {
+
+ TB_MAXPO_CONSUME consumne = new TB_MAXPO_CONSUME();
+ consumne.PoBillNum = _maxpo.PoBillNum;
+ consumne.BillNum = p.AsnBillNum;
+ consumne.PoQty = _maxpo.AsnQty;
+ consumne.VendId = _maxpo.VendId;
+ consumne.PartCode = _maxpo.PartCode;
+ consumne.ShipTime = _maxpo.CreateTime;
+ Qtyy = Qtyy - _maxpo.AsnQty;
+ consumlist.Add(consumne);
+ _maxpo.AsnQty = 0;
+ db.TB_MAXPO_DETAIL.AddOrUpdate(_maxpo);
+ }
+
+ }
+ }
+
+
+ });
+ }
p_entitys.ForEach(itm =>
{
@@ -2432,8 +3117,8 @@ namespace CK.SCP.Controller
&& p.PoBillNum == p_asn.PoBillNum && p.PoLine == itm.PoLine && p.IsDeleted == false).Select(p => p.Qty).Sum();
var _rejct = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == p_asn.AskBillNum && p.PartCode == itm.PartCode
&& p.PoBillNum == p_asn.PoBillNum && p.PoLine == itm.PoLine && p.IsDeleted == false&&p.BillType==3).Select(p => p.Qty).ToList().Sum();
- if (_currSum - _curr + itm.Qty- Math.Abs(_rejct) <= _sum)
- {
+ //if (_currSum - _curr + itm.Qty- Math.Abs(_rejct) <= _sum)
+ //{
TB_ASN_DETAIL _detail = new TB_ASN_DETAIL();
_detail.UID = itm.UID;
_detail.UnConv = itm.UnConv;
@@ -2455,20 +3140,32 @@ namespace CK.SCP.Controller
_detail.PoUnit = itm.PoUnit;
_detail.LocUnit = itm.LocUnit;
_detail.IsDeleted = itm.IsDeleted;
- _detail.State = (int)AsnState.Ship;
-
+ _detail.State = (int)AsnState.Ship;
_detail.GUID = itm.Guid;
+ _detail.UpdateInfo = itm.UpdateInfo;
+ _detail.UpdateUser = itm.UpdateUser;
+ _detail.Extend1 = itm.Extend1;
_ls.Add(_detail);
-
-
- TS_UNI_API api = UniApiController.CreateBy(p_asn, itm, UniApiType.Receive);
- api.State = 1;
- db.TS_UNI_API.AddOrUpdate(api);//同步更新中间表
+
+ var UNI = db.TS_UNI_API.Count(p=>p.BillNum==itm.AsnBillNum);//多组件订单更新中间表
+ if (UNI > 0)
+ {
+ var UN = db.TS_UNI_API.Where(p => p.BillNum == itm.AsnBillNum).ToList();
+ foreach(var u in UN)
+ {
+ u.PutTime = DateTime.Now;
+ u.State = 1;
+ db.TS_UNI_API.AddOrUpdate(u);
+ }
}
else
{
- _ret.MessageList.Add(string.Format("行号{0}零件名称:{1}数量合计已大于要货单{2}数量", itm.PoLine, itm.PartDesc1, itm.AskBillNum));
+ TS_UNI_API api = UniApiController.CreateBy(p_asn, itm, UniApiType.Receive);
+ api.State = 1;
+ db.TS_UNI_API.AddOrUpdate(api);//同步更新中间表
}
+
+
}
);
var _asnBillNum = _asn[0].AsnBillNum;
@@ -2487,7 +3184,10 @@ namespace CK.SCP.Controller
else
{
db.TB_ASN_DETAIL.AddOrUpdate(p => p.UID, _ls.ToArray());
-
+ if (consumlist.Count() > 0)
+ {
+ db.TB_MAXPO_CONSUME.AddRange(consumlist);
+ }
if (db.SaveChanges() != -1)
{
_ret.State = ReturnStatus.Succeed;
@@ -3340,5 +4040,6 @@ namespace CK.SCP.Controller
}
return ErrorList;
}
- }
+ }
+
}
diff --git a/Controller/SCP_BARCODE_CONTROLLER.cs b/Controller/SCP_BARCODE_CONTROLLER.cs
index 41741c6..3829d0a 100644
--- a/Controller/SCP_BARCODE_CONTROLLER.cs
+++ b/Controller/SCP_BARCODE_CONTROLLER.cs
@@ -96,8 +96,217 @@ namespace CK.SCP.Controller
}
return _ret;
}
+ public static ResultObject DELETE_TB_PALLETS_BTL(List _ls)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ foreach(var ls in _ls)
+ {
+ List list = new List();
+ var _pallete = db.TB_PALLETS_BTL.FirstOrDefault(p=>p.UID.ToString()==ls);
+ if (!string.IsNullOrEmpty(_pallete.PartCode))
+ {
+ var _asnpart = db.TB_ASN_PARTBOX.FirstOrDefault(p=>p.PartCode== _pallete.PartCode&&p.AsnBillNum== _pallete.AsnBillNum);
+ _asnpart.Box = _asnpart.Box +int.Parse(_pallete.Box);
+ list.Add(_asnpart);
+ }
+ if (!string.IsNullOrEmpty(_pallete.PartCode1))
+ {
+ var _asnpart = db.TB_ASN_PARTBOX.FirstOrDefault(p => p.PartCode == _pallete.PartCode1 && p.AsnBillNum == _pallete.AsnBillNum);
+ _asnpart.Box = _asnpart.Box + int.Parse(_pallete.Box1);
+ list.Add(_asnpart);
+ }
+ if (!string.IsNullOrEmpty(_pallete.PartCode2))
+ {
+ var _asnpart = db.TB_ASN_PARTBOX.FirstOrDefault(p => p.PartCode == _pallete.PartCode2 && p.AsnBillNum == _pallete.AsnBillNum);
+ _asnpart.Box = _asnpart.Box + int.Parse(_pallete.Box2);
+ list.Add(_asnpart);
+ }
+ if (!string.IsNullOrEmpty(_pallete.PartCode3))
+ {
+ var _asnpart = db.TB_ASN_PARTBOX.FirstOrDefault(p => p.PartCode == _pallete.PartCode3 && p.AsnBillNum == _pallete.AsnBillNum);
+ _asnpart.Box = _asnpart.Box + int.Parse(_pallete.Box3);
+ list.Add(_asnpart);
+ }
+ if (!string.IsNullOrEmpty(_pallete.PartCode4))
+ {
+ var _asnpart = db.TB_ASN_PARTBOX.FirstOrDefault(p => p.PartCode == _pallete.PartCode4 && p.AsnBillNum == _pallete.AsnBillNum);
+ _asnpart.Box = _asnpart.Box + int.Parse(_pallete.Box4);
+ list.Add(_asnpart);
+ }
+ if (!string.IsNullOrEmpty(_pallete.PartCode5))
+ {
+ var _asnpart = db.TB_ASN_PARTBOX.FirstOrDefault(p => p.PartCode == _pallete.PartCode5 && p.AsnBillNum == _pallete.AsnBillNum);
+ _asnpart.Box = _asnpart.Box + int.Parse(_pallete.Box5);
+ list.Add(_asnpart);
+ }
+ _pallete.IsDeleted = true;
+ var _ts = db.TS_BARCODE.Where(p => p.PalletNum == _pallete.PalletNum).ToList();
+ _ts.ForEach(p=>{
+ p.PalletNum = "";
+ });
+ db.TS_BARCODE.AddOrUpdate(_ts.ToArray());
+ db.TB_ASN_PARTBOX.AddOrUpdate(list.ToArray());
+ db.TB_PALLETS_BTL.AddOrUpdate(_pallete);
+ }
+
+ if (_ret.MessageList.Count > 0)
+ {
+ _ret.State = ReturnStatus.Failed;
+
+ }
+ else
+ {
+ if (db.SaveChanges() != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+ }
+
+ }
+
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//ʵ֤쳣
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("{0}ֶΣ{1}Ϣ{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "ֶ֤ʧ" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//ͻ쳣
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Change_Vend_state", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
+ public static void Get_TS_PALLETS_BTL_List(TB_PALLETS_BTL p_entity, Action>> p_action)
+ {
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ IQueryable q = db.TB_PALLETS_BTL;
+
+ if (!string.IsNullOrEmpty(p_entity.PalletNum))
+ {
+ q = q.Where(p => p.PalletNum == p_entity.PalletNum);
+ }
+ if (!string.IsNullOrEmpty(p_entity.AsnBillNum))
+ {
+ q = q.Where(p => p.AsnBillNum == p_entity.AsnBillNum);
+ }
+ q = q.Where(p => p.IsDeleted == p_entity.IsDeleted);
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = q;
+ p_action(_ret);
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//ʵ֤쳣
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("{0}ֶΣ{1}Ϣ{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "Get_TS_BARCODE_List", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "ֶ֤ʧ" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//ͻ쳣
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "Get_TS_BARCODE_List", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "Get_TS_BARCODE_List", ex.ToString());
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "Get_TS_BARCODE_List", e.Message);
+ throw e;
+ }
+ }
+
public static ResultObject> Get_TB_PRINT_COUNT_List(TB_PRINT_COUNT p_entity)
{
ResultObject> _ret = new ResultObject>();
@@ -483,7 +692,7 @@ namespace CK.SCP.Controller
_ret.MessageList.Add("Ϣδҵñ!");
}
var vendPart= db.TA_VEND_PART.FirstOrDefault(p => p.PartCode == p_entity.PartCode && p.VendId == p_entity.VendId);
- var ret = GetSmallBarcodeRule(p_entity.PartCode, p_entity.Batch, cnt);
+ var ret = GetSmallBarcodeRule(p_entity.PartCode, p_entity.Batch, cnt);
var _part = db.TA_PART.FirstOrDefault(p => p.PartCode == p_entity.PartCode && p.Site == p_entity.Site);
if (ret.State == ReturnStatus.Succeed)
{
@@ -521,6 +730,7 @@ namespace CK.SCP.Controller
Remark = p_entity.Remark,
SmallPackQty = p_entity.PackQty,
Site = p_entity.Site
+
};
if (_part == null)
{
@@ -670,14 +880,222 @@ namespace CK.SCP.Controller
}
return _ret;
}
+ ///
+ /// 루ͬţʱأ
+ ///
+ ///
+ ///
+ public static ResultObject> CreateBatchBarcodeList(List details)
+ {
+
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var checkitem = details.Select(r => new { r.PartCode, r.Batch }).Distinct();
+
+ if (checkitem.Count() > 1)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Message = ",ڶβܵӡ,ϵԱ!";
+ return _ret;
+ }
+ var list = new List();
+ var ret = GetBarcodeRule(details[0].PartCode, details[0].Batch, details.Count);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ var barcodeRule = ret.Result;
+ var partcode = details[0].PartCode;
+ var vendId = details[0].VendId;
+ var asnBillNum = details[0].AsnBillNum;
+ var site= details[0].Site;
+ var poBillNum= details[0].PoBillNum;
+ var part = db.TA_PART.FirstOrDefault(p => p.PartCode == partcode);
+ if (part == null)
+ {
+ _ret.MessageList.Add("Ϣδҵñ!");
+ //throw e;
+ }
+ var vendPart = db.TA_VEND_PART.FirstOrDefault(p => p.PartCode == partcode && p.VendId == vendId && p.Site == site);
+ var _part1 = db.TB_ASN_DETAIL.FirstOrDefault(p => p.PartCode == partcode && p.AsnBillNum == asnBillNum && p.PoBillNum == poBillNum);
+ string coustomer = "";
+ if (_part1.Extend1 == "FT")
+ {
+ var _coustomer = db.TA_SubPart.FirstOrDefault(p => p.PartCode == partcode);
+ if (_coustomer != null)
+ {
+ coustomer = _coustomer.SubPart.Replace("-", "");
+ }
+ }
+ else
+ {
+ coustomer = part.PartCode.Replace("-", "");
+ }
+ var _part = db.TA_PART.FirstOrDefault(p => p.PartCode == partcode && p.Site == site);
+ var _AsnBillNum = db.TB_ASN.FirstOrDefault(p => p.AsnBillNum == asnBillNum);
+ var _Ask = db.TB_ASK_DETAIL.FirstOrDefault(p => p.PartCode == part.PartCode);
+ var _Askde = db.TB_ASK_DETAIL.FirstOrDefault(p => p.PartCode == part.PartCode && p.AskBillNum == _AsnBillNum.AskBillNum);
+ string str;
+ string str1;
+ string str2;
+ string str3;
+ string str4;
+ string str5;
+ string str6;
+ str2 = _AsnBillNum.ReceiveTime.ToString();
+ var _PinFan = db.TA_PinFan.FirstOrDefault(p => p.PartCode == partcode);
+ str6 = _PinFan == null ? "" : _PinFan.Barcodnt;
+ var _Appliance = db.TA_Appliance.FirstOrDefault(p => p.VendID == _AsnBillNum.VendId && p.PartNumber == _Askde.SubSite);
+ str = _Appliance == null ? "" : _Appliance.Model;//
+ str1 = _Appliance == null ? "" : _Appliance.ReciteNumber;//
+ str3 = _Appliance == null ? "" : _Appliance.SufanLand;//
+ str4 = _Appliance == null ? "" : _Appliance.BoxType;//
+ str5 = _Appliance == null ? "" : _Appliance.PostEngineering;//
+ for (int i = 0; i < details.Count; i++)
+ {
+ var barcodenum = barcodeRule.LastNumber - details.Count+i+1;
+ V_TB_ASN_DETAIL p_entity = details[i];
+ var createTime = ScpCache.GetServerTime();
+ var code = GetLastBarCode(p_entity.PartCode, p_entity.Batch, barcodenum);
+ if (part.PartDesc1.ToUpper().Contains("") || part.PartDesc1.ToUpper().Contains("LEFT") ||
+ part.PartDesc2.ToUpper().Contains("") || part.PartDesc1.ToUpper().Contains("LEFT"))
+ p_entity.Remark = "L" + p_entity.Remark;
+ if (part.PartDesc1.ToUpper().Contains("") || part.PartDesc1.ToUpper().Contains("LEFT") ||
+ part.PartDesc2.ToUpper().Contains("") || part.PartDesc1.ToUpper().Contains("LEFT"))
+ p_entity.Remark = "R" + p_entity.Remark;
+ string _check = (_part.Ischeck == false || _part.Ischeck == null) ? "" : "()";
+ var barcode = new TS_BARCODE
+ {
+ BarCode = code,
+ PartCode = part.PartCode,
+ Extend12 = coustomer,
+ VendPartCode = vendPart?.VendPartCode,
+ Batch = p_entity.Batch,
+ ProduceDate = (DateTime)p_entity.ProduceDate,
+ SerialNum = barcodenum.ToString(ScpCache.Config.кŸʽ),
+ PoUnit = p_entity.PoUnit,
+ Qty = p_entity.Qty,
+ BarCodeType = 1,
+ BillNum = p_entity.AsnBillNum,
+ PoBillNum = p_entity.PoBillNum,
+ PoBillLine = p_entity.PoLine,
+ VendId = p_entity.VendId,
+ VendBatch = p_entity.VendBatch,
+ Extend1 = _part.PartDesc2,
+ Extend2 = _part.ReceivePort,//ë
+ Extend3 = _part.PalletSize,//
+ CreateTime = p_entity.CreateTime,
+ CreateOper = p_entity.CreateUser,
+ State = 0,
+ Remark = p_entity.UpdateInfo,
+ PackQty = p_entity.PackQty,
+ Site = p_entity.Site,
+ IsScanned = false,
+ Extend4 = _Askde.SubSite,//ŲϺ
+ Extend5 = str,//
+ Extend7 = part.PartDesc1,
+ Extend6 = DateTime.Parse(str2),
+ Extend8 = str1,//
+ Extend9 = str3,//
+ Extend10 = str4,//
+ Extend11 = str5,//
+ Extend13 = (_AsnBillNum.ShipTime).Value,
+ Extend14 = _part1.Extend2,
+ Extend15 = str6,//Ʒ
+ Extend16 = _part1.Extend1,
+ ProjectId = p_entity.UpdateUser
+
+ };
+
+ if (_part == null)
+ {
+ _ret.MessageList.Add("δҵ,ŻصϢ," + p_entity.PartCode);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "CreateBarcodeList", "δҵ,ŻصϢ," + p_entity.PartCode);
+ }
+ else
+ {
+ var _isCheck = (_part.Ischeck == null) ? false : _part.Ischeck;
+ barcode.Qlevel = _part.Qlevel;
+ barcode.QMark = (_isCheck == true) ? "" : "ȫ";
+ //barcode.ProjectId = _part.ProjectId;
+ }
+ var fullCode = GetFullCode(barcode);
+ barcode.FullBarCode = fullCode;
+ list.Add(barcode);
+ }
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = list;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Message = "!";
+ }
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//ʵ֤쳣
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("{0}ֶΣ{1}Ϣ{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "CreateBatchBarcodeList", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "ֶ֤ʧ" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//ͻ쳣
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "CreateBatchBarcodeList", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "CreateBatchBarcodeList", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "CreateBarcodeList", e.Message);
+ throw e;
+ }
+ return _ret;
+ }
public static ResultObject> CreateBarcodeList(V_TB_ASN_DETAIL p_entity, int cnt = 1)
{
ResultObject> _ret = new ResultObject>();
try
{
-
+
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
{
var list = new List();
@@ -687,12 +1105,44 @@ namespace CK.SCP.Controller
_ret.MessageList.Add("Ϣδҵñ!");
//throw e;
}
- var vendPart
- = db.TA_VEND_PART.FirstOrDefault(p => p.PartCode == p_entity.PartCode && p.VendId == p_entity.VendId && p.Site==p_entity.Site);
+ var vendPart = db.TA_VEND_PART.FirstOrDefault(p => p.PartCode == p_entity.PartCode && p.VendId == p_entity.VendId && p.Site == p_entity.Site);
var ret = GetBarcodeRule(p_entity.PartCode, p_entity.Batch, cnt);
-
+ var _part1 = db.TB_ASN_DETAIL.FirstOrDefault(p => p.PartCode == p_entity.PartCode && p.AsnBillNum == p_entity.AsnBillNum && p.PoBillNum == p_entity.PoBillNum);
+ string coustomer = "";
+ if (_part1.Extend1 == "FT")
+ {
+ var _coustomer = db.TA_SubPart.FirstOrDefault(p => p.PartCode == p_entity.PartCode);
+ if (_coustomer != null)
+ {
+ coustomer = _coustomer.SubPart.Replace("-", "");
+ }
+ }
+ else
+ {
+ coustomer = part.PartCode.Replace("-", "");
+ }
+
+
var _part=db.TA_PART.FirstOrDefault(p=>p.PartCode==p_entity.PartCode && p.Site==p_entity.Site);
-
+ var _AsnBillNum=db.TB_ASN.FirstOrDefault(p => p.AsnBillNum == p_entity.AsnBillNum );
+ var _Ask = db.TB_ASK_DETAIL.FirstOrDefault(p => p.PartCode == part.PartCode);
+ var _Askde = db.TB_ASK_DETAIL.FirstOrDefault(p => p.PartCode == part.PartCode&&p.AskBillNum== _AsnBillNum.AskBillNum);
+ string str;
+ string str1;
+ string str2;
+ string str3;
+ string str4;
+ string str5;
+ string str6;
+ str2 = _AsnBillNum.ReceiveTime.ToString();
+ var _PinFan = db.TA_PinFan.FirstOrDefault(p => p.PartCode == p_entity.PartCode);
+ str6 = _PinFan == null ? "" : _PinFan.Barcodnt;
+ var _Appliance = db.TA_Appliance.FirstOrDefault(p => p.VendID == _AsnBillNum.VendId && p.PartNumber == _Askde.SubSite);
+ str = _Appliance == null ? "" : _Appliance.Model;//
+ str1 = _Appliance == null ? "" : _Appliance.ReciteNumber;//
+ str3 = _Appliance == null ? "" : _Appliance.SufanLand;//
+ str4 = _Appliance == null ? "" : _Appliance.BoxType;//
+ str5 = _Appliance == null ? "" : _Appliance.PostEngineering;//
if (ret.State == ReturnStatus.Succeed)
{
var barcodeRule = ret.Result;
@@ -711,6 +1161,8 @@ namespace CK.SCP.Controller
{
BarCode = code,
PartCode = part.PartCode,
+ Extend12 = coustomer,
+
VendPartCode = vendPart?.VendPartCode,
Batch = p_entity.Batch,
ProduceDate = (DateTime)p_entity.ProduceDate,
@@ -719,19 +1171,34 @@ namespace CK.SCP.Controller
Qty = p_entity.Qty,
BarCodeType = 1,
BillNum = p_entity.AsnBillNum,
- PoBillNum=p_entity.PoBillNum,
+ PoBillNum = p_entity.PoBillNum,
PoBillLine = p_entity.PoLine,
VendId = p_entity.VendId,
VendBatch = p_entity.VendBatch,
-
+ Extend1 = _part.PartDesc2,
+ Extend2 = _part.ReceivePort,//ë
+ Extend3 = _part.PalletSize,//
CreateTime = p_entity.CreateTime,
CreateOper = p_entity.CreateUser,
State = 0,
Remark = p_entity.UpdateInfo,
PackQty = p_entity.PackQty,
Site = p_entity.Site,
- IsScanned = false
-
+ IsScanned = false,
+ Extend4 = _Askde.SubSite,//ŲϺ
+ Extend5 = str,//
+ Extend7 = part.PartDesc1,
+ Extend6 = DateTime.Parse(str2),
+ Extend8 = str1,//
+ Extend9 = str3,//
+ Extend10 = str4,//
+ Extend11 = str5,//
+ Extend13 = (_AsnBillNum.ShipTime).Value,
+ Extend14 = _part1.Extend2,
+ Extend15 = str6,//Ʒ
+ Extend16 = _part1.Extend1,
+ ProjectId = p_entity.UpdateUser
+
};
if (_part == null)
@@ -744,7 +1211,7 @@ namespace CK.SCP.Controller
var _isCheck=(_part.Ischeck == null)?false:_part.Ischeck;
barcode.Qlevel = _part.Qlevel;
barcode.QMark = (_isCheck == true) ? "" : "ȫ";
- barcode.ProjectId = _part.ProjectId;
+ //barcode.ProjectId = _part.ProjectId;
}
var fullCode = GetFullCode(barcode);
barcode.FullBarCode = fullCode;
@@ -994,7 +1461,111 @@ namespace CK.SCP.Controller
}
return _ret;
}
- private static ResultObject GetBarcodeRule( string partcode, string batch, int cnt = 1)
+ public static ResultObject updatebarder(List barder)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+
+ foreach (var yy in barder)
+ {
+ var _barder = db.TS_BARCODE.SingleOrDefault(t => t.UID.ToString() == yy);
+ var _second1 = db.TS_BARCODE.Where(p => p.PartCode == _barder.PartCode).Select(r => r.SerialNum).Max();
+ var _bard = db.TS_BARCODE.SingleOrDefault(t => t.SerialNum.ToString() == _second1.ToString()&&t.PartCode==_barder.PartCode);
+ string str = _barder.BarCode;
+ //str.Split('.');
+
+ //string str1 = str.Substring(str.Length - 6);
+ string str1 = _bard.SerialNum;
+ string str3 = str.Substring(0, str.Length - 6);
+ int i = Int32.Parse(str1);
+ i = i + 1;
+ string ss = i.ToString().PadLeft(6, '0');
+ string str4=str3+ss;
+ var _barder1 = db.TS_BARCODE.Count(t => t.BarCode.ToString() == str4);
+ _barder.BarCode = str4;
+ _barder.SerialNum = ss;
+ db.TS_BARCODE.AddOrUpdate(_barder);
+
+
+ if (db.SaveChanges() != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+
+ }
+ }
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//ʵ֤쳣
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("{0}ֶΣ{1}Ϣ{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "GetBarcodeRule", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "ֶ֤ʧ" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//ͻ쳣
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "GetBarcodeRule", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "GetBarcodeRule", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "GetBarcodeRule", e.Message);
+ throw e;
+ }
+ return _ret;
+ }
+ public static string Save_TS_Asn(string ls)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ var TT= db.TS_BARCODE.Where(p => p.UID.ToString() == ls).FirstOrDefault();
+ var SS=db.TA_PART.Where(p => p.PartCode == TT.PartCode).FirstOrDefault();
+ string part = SS.PartGroup;
+ return part;
+ }
+ }
+ private static ResultObject GetBarcodeRule(string partcode, string batch, int cnt = 1)
{
ResultObject _ret = new ResultObject();
try
@@ -1027,13 +1598,13 @@ namespace CK.SCP.Controller
{
_ret.State = ReturnStatus.Succeed;
_ret.Result = barcodeRule;
-
+
}
else
{
_ret.State = ReturnStatus.Failed;
-
- }
+
+ }
}
}
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//ʵ֤쳣
@@ -1055,7 +1626,7 @@ namespace CK.SCP.Controller
}
catch (OptimisticConcurrencyException ex)//ͻ쳣
{
-
+
_ret.State = ReturnStatus.Failed;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_BARCODE_CONTROLLER), "GetBarcodeRule", ex.ToString());
@@ -1071,7 +1642,7 @@ namespace CK.SCP.Controller
{
var inner = (UpdateException)ex.InnerException;
-
+
throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
}
else
@@ -1088,7 +1659,6 @@ namespace CK.SCP.Controller
}
return _ret;
}
-
private static ResultObject GetPalletsRule(string partcode, string batch, int cnt = 1)
{
ResultObject _ret = new ResultObject();
diff --git a/Controller/SCP_BILLCODE_CONTROLLER.cs b/Controller/SCP_BILLCODE_CONTROLLER.cs
index 916e5ab..935e9aa 100644
--- a/Controller/SCP_BILLCODE_CONTROLLER.cs
+++ b/Controller/SCP_BILLCODE_CONTROLLER.cs
@@ -24,6 +24,36 @@ namespace CK.SCP.Controller
return GetTablePK("P", "TB_PO", "PoBillNum", "yyMMdd", 4);
+ }
+ public static string MakemaxPOCode(string vendid,string time)
+ {
+
+ return GetTablePK(vendid, "TB_MAXPO", "PoBillNum", time, 4);
+
+ }
+ public static string MakePOCode1()
+ {
+
+ return GetTablePK("CYD03", "TB_PO", "PoBillNum", "yyMM", 5);
+
+ }
+ public static string MakePOCode3()
+ {
+
+ return GetTablePK("FB2", "TB_PO", "PoBillNum", "yyyyMMdd", 3);
+
+ }
+ public static string MakePOCode4()
+ {
+
+ return GetTablePK("FB1", "TB_PO", "PoBillNum", "yyyyMMdd", 3);
+
+ }
+ public static string MakePOCode2()
+ {
+
+ return GetTablePK("CYD01", "TB_PO", "PoBillNum", "yyMM", 5);
+
}
public static string MakeQualityCode()
{
@@ -67,6 +97,10 @@ namespace CK.SCP.Controller
{
return GetTablePKByNum("K", "TB_ASK", "AskBillNum", "yyMMdd", 4, num);
}
+ public static string MakeASKCodeByNum1(int num)
+ {
+ return GetTablePKByNum("K", "TB_ASK", "AskBillNum", "yyMM",6 , num);
+ }
public static string MakeASKCode()
{
diff --git a/Controller/SCP_CONTRACT_CONTROLLER.cs b/Controller/SCP_CONTRACT_CONTROLLER.cs
index 2a83b29..415fe4c 100644
--- a/Controller/SCP_CONTRACT_CONTROLLER.cs
+++ b/Controller/SCP_CONTRACT_CONTROLLER.cs
@@ -361,7 +361,91 @@ namespace CK.SCP.Controller
}
return p_list;
}
+ public static List GET_SUB_PART_LIST(List p_list)
+ {
+
+ if (p_list.Count > 0)
+ {
+
+ p_list.ForEach(p =>
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ if (!string.IsNullOrEmpty(p.SubSite))
+ {
+ var part = db.TA_PART.FirstOrDefault(t => t.PartCode == p.SubSite);
+ if (part != null)
+ {
+ p.Subpartspec = part.PartDesc2;
+ }
+ }
+ }
+ });
+
+ }
+ return p_list;
+ }
+ public static List GET_MAXPO_LIST(List p_list)
+ {
+
+ if (p_list.Count > 0)
+ {
+ p_list.ForEach(p =>
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ List _ls = new List();
+ var _No = db.TB_MAXPO_CONSUME.Where(t => t.PartCode == p.PartCode&&t.BillNum==p.PoBillNum).ToList();
+ var _Month = db.V_TB_MAXPO_CONSUME.Where(t => t.PartCode == p.PartCode && t.BillNum == p.PoBillNum).ToList();
+
+ foreach(var Mo in _Month)
+ {
+ if (!_ls.Contains(Mo.ContractMonth))
+ {
+ _ls.Add(Mo.ContractMonth);
+ }
+ }
+ string ContactNo = string.Join(";",_ls);
+ p.ContractMonth = ContactNo;
+ foreach (var pa in _No)
+ {
+ ContactNo = ContactNo + pa.PoBillNum + ";";
+ }
+ p.ContractNo = ContactNo.Substring(0, ContactNo.Length - 1).Trim();
+ }
+
+
+ });
+
+ }
+ return p_list;
+ }
+
+ public static List GET_SUB_PART_LIST_CYJ(List p_list)
+ {
+
+ if (p_list.Count > 0)
+ {
+
+ p_list.ForEach(p =>
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ if (!string.IsNullOrEmpty(p.PartCode))
+ {
+ var part = db.TA_PART.FirstOrDefault(t => t.PartCode == p.PartCode);
+ if (part != null)
+ {
+ p.Partname = part.PartDesc1;
+ }
+ }
+ }
+ });
+
+ }
+ return p_list;
+ }
public static List GET_CONTRACT_PRICE_LIST(List p_list)
{
diff --git a/Controller/SCP_EXCEL_CONTROLLER.cs b/Controller/SCP_EXCEL_CONTROLLER.cs
index cb77c5a..3942ec5 100644
--- a/Controller/SCP_EXCEL_CONTROLLER.cs
+++ b/Controller/SCP_EXCEL_CONTROLLER.cs
@@ -62,8 +62,9 @@ namespace CK.SCP.Controller
po_detail.发货数 = itm.ShippedQty.ToString();
po_detail.收货数 = itm.ReceivedQty.ToString();
po_detail.退货数 = itm.RejectQty;
- po_detail.到货日期 = itm.EndTime == null ? string.Empty : ((DateTime)itm.BeginTime).ToString("yyyyMMdd"); ;
+ po_detail.预计到货日期 = itm.EndTime.ToString();
po_detail.单位 = itm.PoUnit;
+ po_detail.存储地点 = itm.Extend2;
_exportDetailList.Add(po_detail);
});
var _list_dt = ConvertHelper.ToDataTable(_exportDetailList);
@@ -71,6 +72,56 @@ namespace CK.SCP.Controller
}
return _ds;
}
+ public static DataSet GET_MAXPO_EXECEL(List p_lst, bool p_IsDetail = false)
+ {
+ DataSet _ds = new DataSet();
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ if (p_IsDetail == false)
+ {
+ var _ls = db.V_TB_MAXPO.Where(p => p_lst.Contains(p.PoBillNum)).ToList();
+ var _exportList = new List();
+ _ls.ForEach(itm =>
+ {
+ SCP_MAXPODC_EXPORT _export = new SCP_MAXPODC_EXPORT();
+ _export.订单编号 = itm.PoBillNum;
+ _export.合同月 = itm.ContractMonth;
+ _export.供应商编码 = itm.VendId;
+ _export.供应商名称 = itm.VendName;
+ _exportList.Add(_export);
+ });
+ var _dt = ConvertHelper.ToDataTable(_exportList);
+ _ds.Tables.Add(_dt);
+ }
+ var _detailList = db.V_TB_MAXPO_DETAIL.Where(p => p_lst.Contains(p.PoBillNum)).ToList();
+ var _exportDetailList = new List();
+ _detailList.ForEach(itm =>
+ {
+ var po_detail = new SCP_MAXPO_DETAIL_EXPORT();
+ var part = db.TA_PART.FirstOrDefault(p=>p.PartCode==itm.PartCode);
+ po_detail.原材物料号 = itm.PartNumber;
+ po_detail.零件号 = itm.PartCode;
+ po_detail.订货件数 = itm.OrderNumber.ToString();
+ po_detail.订货量吨 = itm.OrderQtyd.ToString();
+ po_detail.起定量 = itm.MinordQty.ToString();
+ po_detail.技术标准 = itm.TechStandard;
+ po_detail.材料厂家 = itm.Matermanu;
+ po_detail.行号 = itm.PoLine.ToString();
+ po_detail.材质 = part.PartDesc2;
+ po_detail.车型 = itm.Model;
+ po_detail.预测1 = itm.forecastone;
+ po_detail.预测2 = itm.forecasttwo;
+ po_detail.预测3 = itm.forecastthree;
+ po_detail.预测4 = itm.forecastfour;
+ po_detail.预测5 = itm.forecastfive;
+ po_detail.预测6 = itm.forecastsix;
+ _exportDetailList.Add(po_detail);
+ });
+ var _list_dt = ConvertHelper.ToDataTable(_exportDetailList);
+ _ds.Tables.Add(_list_dt);
+ }
+ return _ds;
+ }
public static DataSet GET_OTD_VendId_REPORT_EXECEL(List p_lst)
{
DataSet _ds = new DataSet();
@@ -239,7 +290,7 @@ namespace CK.SCP.Controller
}
return _ds;
- }
+ }
public static DataSet GET_ASN_EXECEL(List p_lst)
{
DataSet _ds = new DataSet();
@@ -342,7 +393,9 @@ namespace CK.SCP.Controller
//_entity.折扣价格 = itm.DiscountPrice.ToString();
//_entity.折扣备注 = itm.DiscountRemark;
_entity.开票数量 = itm.Qty.ToString();
- _entity.备注 = itm.Remark;
+ _entity.备注 = itm.Remark;
+ _entity.发票金额 = itm.Extend1 =( itm.Price*itm.Qty).ToString();
+ _entity.订单金额 = itm.Extend2 = (itm.PurCost * itm.Qty).ToString();
_exportDetailList.Add(_entity);
});
var _list_dt = ConvertHelper.ToDataTable(_exportDetailList);
diff --git a/Controller/SCP_INVOICE_CONTROLLER.cs b/Controller/SCP_INVOICE_CONTROLLER.cs
index ad98597..059a4e1 100644
--- a/Controller/SCP_INVOICE_CONTROLLER.cs
+++ b/Controller/SCP_INVOICE_CONTROLLER.cs
@@ -336,7 +336,343 @@ namespace CK.SCP.Controller
throw e;
}
}
+ public static void Get_V_TB_INVOICE_List1(V_TB_REEEE p_entity, Action>> p_action)
+ {
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ IQueryable q = db.V_TB_REEEE;
+ if (!string.IsNullOrEmpty(p_entity.PoBillNum))
+ {
+ q = q.Where(p => p.PoBillNum == p_entity.PoBillNum);
+ }
+ if (!string.IsNullOrEmpty(p_entity.VendId))
+ {
+ q = q.Where(p => p.VendId == p_entity.VendId);
+ }
+ if (!string.IsNullOrEmpty(p_entity.VendName))
+ {
+ q = q.Where(p => p.VendName.Contains(p_entity.VendName));
+ }
+ if (!string.IsNullOrEmpty(p_entity.PartCode))
+ {
+ q = q.Where(p => p.PartCode.Contains(p_entity.PartCode));
+ }
+ if (!string.IsNullOrEmpty(p_entity.PartDesc2))
+ {
+ q = q.Where(p => p.PartDesc2.Contains(p_entity.PartDesc2));
+ }
+ if (!string.IsNullOrEmpty(p_entity.PartGroup))
+ {
+ q = q.Where(p => p.PartGroup.Contains(p_entity.PartGroup));
+ }
+ if (!string.IsNullOrEmpty(p_entity.CreateUser))
+ {
+ q = q.Where(p => p.CreateUser.Contains(p_entity.CreateUser));
+ }
+ if (!string.IsNullOrEmpty(p_entity.DockCode))
+ {
+ q = q.Where(p => p.DockCode.Contains(p_entity.DockCode));
+ }
+ if (!string.IsNullOrEmpty(p_entity.Buyer))
+ {
+ q = q.Where(p => p.Buyer.Contains(p_entity.Buyer));
+ }
+ if (!string.IsNullOrEmpty(p_entity.Describe))
+ {
+ q = q.Where(p => p.Describe.Contains(p_entity.Describe));
+ }
+ if (p_entity.ReceiveTimeBegin != null)
+ {
+
+ q = q.Where(p => p.CreateTime >= p_entity.ReceiveTimeBegin);
+ }
+
+ if (p_entity.ReceiveTimeEnd != null)
+ {
+ q = q.Where(p => p.CreateTime <= p_entity.ReceiveTimeEnd);
+
+
+ }
+ if (p_entity.Qty != 0)
+ {
+ q = q.Where(p => p.Qty == p_entity.Qty);
+ }
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = q;
+ p_action(_ret);
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", e.Message);
+ throw e;
+ }
+ }
+ public static void Get_V_TB_INVOICE_List_APPLIANCE(V_TA_APPLIANCE p_entity, Action>> p_action)
+ {
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ IQueryable q = db.V_TA_APPLIANCE;
+ if (!string.IsNullOrEmpty(p_entity.PartNumber))
+ {
+ q = q.Where(p => p.PartNumber == p_entity.PartNumber);
+ }
+ if (!string.IsNullOrEmpty(p_entity.VendID))
+ {
+ q = q.Where(p => p.VendID == p_entity.VendID);
+ }
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = q;
+ p_action(_ret);
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", e.Message);
+ throw e;
+ }
+ }
+ public static void Get_TA_SubPartCode(V_TA_SubPartCode p_entity, Action>> p_action)
+ {
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ IQueryable q = db.V_TA_SubPartCode;
+ if (p_entity.PartList != null && p_entity.PartList.Count > 0)
+ {
+ q = q.Where(p => p_entity.PartList.Contains(p.PartCode));
+ }
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = q;
+ p_action(_ret);
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", e.Message);
+ throw e;
+ }
+ }
+ public static void Get_TA_RECEING(TA_Receiving_Information p_entity, Action>> p_action)
+ {
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ IQueryable q = db.TA_Receiving_Information;
+
+ if (!string.IsNullOrEmpty(p_entity.Shift))
+ {
+ q = q.Where(p => p.Shift == p_entity.Shift);
+ }
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = q;
+ p_action(_ret);
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+
+
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", ex.ToString());
+
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+
+
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_V_TB_INVOICE_List", e.Message);
+ throw e;
+ }
+ }
public static void Get_V_TB_INVOICE_ERP_List(V_TB_INVOICE p_entity, Action>> p_action)
{
ResultObject> _ret = new ResultObject>();
diff --git a/Controller/SCP_PALLET_CONTROLLER.cs b/Controller/SCP_PALLET_CONTROLLER.cs
index 37ccd14..4571a60 100644
--- a/Controller/SCP_PALLET_CONTROLLER.cs
+++ b/Controller/SCP_PALLET_CONTROLLER.cs
@@ -175,6 +175,87 @@ namespace CK.SCP.Controller
}
}
+ public static void Get_TB_PALLETS_BTL_List(TB_PALLETS_BTL p_entity, Action>> p_action)
+ {
+ ResultObject> _ret = new ResultObject>();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ IQueryable q = db.TB_PALLETS_BTL;
+ if (p_entity.UID != 0)
+ {
+ q = q.Where(p => p.UID == p_entity.UID);
+ }
+ if (p_entity.UIDList != null && p_entity.UIDList.Count > 0)
+ {
+ q = q.Where(p => p_entity.UIDList.Contains(p.UID));
+ }
+ if (!string.IsNullOrEmpty(p_entity.AsnBillNum))
+ {
+ q = q.Where(p => p.AsnBillNum.Contains(p_entity.AsnBillNum));
+ }
+ if (!string.IsNullOrEmpty(p_entity.VendId))
+ {
+ q = q.Where(p => p.VendId.Contains(p_entity.VendId));
+ }
+ if (!string.IsNullOrEmpty(p_entity.PartCode))
+ {
+ q = q.Where(p => p.PartCode.Contains(p_entity.PartCode));
+ }
+ q = q.Where(p => p.IsDeleted == p_entity.IsDeleted);
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = q;
+ p_action(_ret);
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_TB_PALLETS_List", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_TB_PALLETS_List", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_TB_PALLETS_List", ex.ToString());
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.ErrorList.Add(e);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_INVOICE_CONTROLLER), "Get_TB_PALLETS_List", e.Message);
+ throw e;
+ }
+ }
public static void Get_TB_PALLETS_List(TB_PALLETS p_entity, Action>> p_action)
{
ResultObject> _ret = new ResultObject>();
diff --git a/Controller/SCP_PO_CONTROLLER.cs b/Controller/SCP_PO_CONTROLLER.cs
index f863109..428ccfd 100644
--- a/Controller/SCP_PO_CONTROLLER.cs
+++ b/Controller/SCP_PO_CONTROLLER.cs
@@ -13,6 +13,9 @@ using System.Data.Entity.Core;
using CK.SCP.Models.ScpEntity.ExcelExportEnttity;
using System.Text.RegularExpressions;
using System.Threading;
+using System.Data;
+using Newtonsoft.Json;
+using CK.SCP.Models.UniApiEntity;
namespace CK.SCP.Controller
{
@@ -37,7 +40,7 @@ namespace CK.SCP.Controller
}
if (!string.IsNullOrEmpty(p_entity.ErpBillNum))
{
- q = q.Where(p => p.ErpBillNum==p_entity.ErpBillNum);
+ q = q.Where(p => p.ErpBillNum == p_entity.ErpBillNum);
}
if (!string.IsNullOrEmpty(p_entity.VendId))
{
@@ -94,7 +97,11 @@ namespace CK.SCP.Controller
}
if (p_entity.EndTime != null)
{
- q = q.Where(p => p.EndTime <= p_entity.EndTime);
+ q = q.Where(p => p.EndTime >= p_entity.EndTime);
+ }
+ if (p_entity.EndTime_End != null)
+ {
+ q = q.Where(p => p.EndTime <= p_entity.EndTime_End);
}
if (p_entity.UserInAddress != null && p_entity.UserInAddress.Count > 0)
{
@@ -104,7 +111,7 @@ namespace CK.SCP.Controller
{
q = q.Where(p => p_entity.UserInVendIds.Contains(p.VendId));
}
-
+
if (!string.IsNullOrEmpty(p_entity.SubSite))
{
q = q.Where(p => p.SubSite.Contains(p_entity.SubSite));
@@ -121,23 +128,26 @@ namespace CK.SCP.Controller
{
q = q.Where(p => p.Extend3.Contains(p_entity.Extend3));
}
-
- //if (!string.IsNullOrEmpty(p_entity.PartCode))
- //{
- // var _po = db.TB_PO_DETAIL.Where(p => p.PartCode == p_entity.PartCode && p.IsDeleted== false);
- // if (_po.Count() > 0)
- // {
- // List _list = new List();
- // _po.ToList().ForEach(itm =>
- // {
- // _list.Add(itm.PoBillNum);
- // });
- // if (_list.Count() > 0)
- // {
- // q = q.Where(p => _list.Contains(p.PoBillNum));
- // }
- // }
- //}
+ if (p_entity.MaxpoList != null && p_entity.MaxpoList.Count > 0)
+ {
+ q = q.Where(p => p_entity.MaxpoList.Contains(p.PoBillNum));
+ }
+ if (!string.IsNullOrEmpty(p_entity.PartCode))
+ {
+ var _po = db.TB_PO_DETAIL.Where(p => p.PartCode == p_entity.PartCode );
+ if (_po.Count() > 0)
+ {
+ List _list = new List();
+ _po.ToList().ForEach(itm =>
+ {
+ _list.Add(itm.PoBillNum);
+ });
+ if (_list.Count() > 0)
+ {
+ q = q.Where(p => _list.Contains(p.PoBillNum));
+ }
+ }
+ }
_ret.State = ReturnStatus.Succeed;
_ret.Result = q;
p_action(_ret);
@@ -191,8 +201,7 @@ namespace CK.SCP.Controller
throw e;
}
}
-
-
+
public static List LOAD_ASK_DETAIL_SUM(List p_list)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
@@ -216,8 +225,153 @@ namespace CK.SCP.Controller
}
return p_list;
}
+ public static ResultObject Save_TB_MAXPO_DETAIL_QTY(List p_entitys)
+ {
+ ResultObject _ret = new ResultObject();
+ try
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+
+ foreach (var itm in p_entitys)
+ {
+ var _entity = db.TB_MAXPO_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault();
+ if(itm.OrderQtykg <_entity.OrderQtykg- _entity.AsnQty)
+ {
+ _ret.MessageList.Add("零件号"+_entity.PartCode+"剩余可消耗订货量不足!");
+ }
+ if( itm.OrderQtykg == 0)
+ {
+ _ret.MessageList.Add("订货量不能修改为0!");
+ }
+ else
+ {
+ _entity.SurplusQty = itm.OrderQtykg - _entity.OrderQtykg + _entity.SurplusQty;
+ _entity.AsnQty=itm.OrderQtykg - _entity.OrderQtykg + _entity.AsnQty;
+ _entity.OrderQtykg = itm.OrderQtykg;
+ _entity.OrderQtyd = itm.OrderQtykg / 1000;
+ db.TB_MAXPO_DETAIL.AddOrUpdate(p => p.UID, _entity);
+ TS_UNI_API maxuni = new TS_UNI_API();
+ maxuni.BillNum = _entity.PoBillNum;
+ maxuni.InterfaceType = "MaxPobillnum";
+ maxuni.TableName = "TS_UNI_API";
+ maxuni.BillType = 701;
+ maxuni.SubBillType = 0;
+ maxuni.PartCode = _entity.PartCode;
+ maxuni.VendId = _entity.VendId;//供应商编号
+ if (string.IsNullOrEmpty(_entity.Texture))
+ {
+ maxuni.Batch = "";
+ }
+ else
+ {
+ maxuni.Batch = _entity.Texture;//材质
+ }
+ maxuni.Qty = _entity.OrderNumber;
+ maxuni.State = 1;
+ maxuni.CreateOper = _entity.CreateUser;//创建者
+ maxuni.CreateTime =DateTime.Now;
+ maxuni.PutTime = DateTime.Now;
+ maxuni.Extend1 = _entity.PartNumber;
+ maxuni.PackQty = _entity.MinordQty;
+ maxuni.Price = _entity.OrderQtyd;
+ maxuni.VendBatch = _entity.ContractMonth;//合同月
+ maxuni.Currency = _entity.Model;
+ maxuni.Buyer = _entity.TechStandard;
+ maxuni.BuyerPhone =_entity.Finprspec;//规格
+ maxuni.Tax = 0;
+ maxuni.PoUnit = _entity.forecastone;//预测1
+ maxuni.LocUnit = _entity.forecasttwo;//预测2
+ maxuni.Attn =_entity.forecastthree;//预测3
+ maxuni.Receiver = _entity.forecastfour;//预测4
+ maxuni.ModType = _entity.forecastfive;//预测5
+ maxuni.SubSite = _entity.forecastsix;//预测6
+ maxuni.Site = _entity.Site;
+ maxuni.Extend2 = _entity.Matermanu;
+ maxuni.TaxAmt = _entity.Singlecon;//单件消耗
+ maxuni.ValidDate = DateTime.Now;
+ maxuni.ErpLineNum = _entity.PoLine;
+ maxuni.Domain = _entity.Site;
+ maxuni.Extend3 = "U";
+ db.TS_UNI_API.AddOrUpdate(maxuni);
+ }
+
+
+ }
+ if (_ret.MessageList.Count == 0)
+ {
+ int state = db.SaveChanges();
+ if (state != -1)
+ {
+ _ret.State = ReturnStatus.Succeed;
+ _ret.Result = true;
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+ }
+ else
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ }
+
+ }
+ }
+ catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
+ {
+ var sb = new StringBuilder();
+ foreach (var error in dbEx.EntityValidationErrors.ToList())
+ {
+ error.ValidationErrors.ToList().ForEach(i =>
+ {
+ sb.AppendFormat("表:{0},字段:{1},信息:{2}\r\n", error.Entry.Entity.GetType().Name, i.PropertyName, i.ErrorMessage);
+ });
+ }
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(dbEx);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", sb.ToString());
+ throw new ScpException(ResultCode.DbEntityValidationException, sb.ToString(), "字段验证失败" + sb.ToString());
+ }
+ catch (OptimisticConcurrencyException ex)//并发冲突异常
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", ex.ToString());
+ throw new ScpException(ResultCode.Exception, "9999", ex.ToString());
+ }
+ catch (ScpException ex)
+ {
+ _ret.State = ReturnStatus.Failed;
+ _ret.Result = false;
+ _ret.ErrorList.Add(ex);
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", ex.ToString());
+ if (ex.InnerException != null && ex.InnerException.GetType() == typeof(UpdateException))
+ {
+ var inner = (UpdateException)ex.InnerException;
+ throw new ScpException(ResultCode.Exception, "0000", ex.ToString());
+ }
+ else
+ {
+ if (ex.InnerException != null) throw ex.InnerException;
+ }
+ }
+ catch (Exception e)
+ {
+ _ret.State = ReturnStatus.Failed;
+ LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Save_TB_ASK_DETAIL_LIER", e.Message);
+ _ret.Result = false;
+ _ret.ErrorList.Add(e);
+ throw e;
+ }
+ return _ret;
+ }
public static List LOAD_PO_DETAIL_SUM(List p_list)
{
using (ScpEntities db = EntitiesFactory.CreateScpInstance())
@@ -229,7 +383,7 @@ namespace CK.SCP.Controller
{
var _ask = db.TB_ASK_DETAIL.Where(p => p.PoBillNum == _detail.PoBillNum && p.IsDeleted == false).GroupBy(p => new { p.PoBillNum, p.PoLine, p.PartCode }).Select(p => new { AskSum = p.Sum(itm => itm.AskQty), PoLine = p.Key.PoLine, PoBillNum = p.Key.PoBillNum, PartCode = p.Key.PartCode });
- var rec = db.TB_RECEIVE_DETAIL.Where(p => p.PoBillNum == _detail.PoBillNum && p.IsDeleted == false && p.State == (int)ReceiveState.Check && p.BillType == 0 )
+ var rec = db.TB_RECEIVE_DETAIL.Where(p => p.PoBillNum == _detail.PoBillNum && p.IsDeleted == false && p.State == (int)ReceiveState.Check && p.BillType == 0)
.GroupBy(p => new { p.PoBillNum, p.PoLine, p.PartCode }).Select(p => new { ReceiveSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, PoBillNum = p.Key.PoBillNum, PartCode = p.Key.PartCode });
var reject = db.TB_RECEIVE_DETAIL.Where(p => p.PoBillNum == _detail.PoBillNum && p.IsDeleted == false && p.State == (int)RejectState.Check && p.BillType == 1).GroupBy(p => new { p.PoBillNum, p.PoLine, p.PartCode }).Select(p => new { RejectSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, PoBillNum = p.Key.PoBillNum, PartCode = p.Key.PartCode });
@@ -245,7 +399,7 @@ namespace CK.SCP.Controller
if (_detail.PoBillNum == itm.PoBillNum && _detail.PoLine == itm.PoLine && _detail.PartCode == itm.PartCode)
{
_detail.ReceivedQty = itm.ReceiveSum;
-
+
}
});
@@ -492,7 +646,27 @@ namespace CK.SCP.Controller
return _ret;
}
-
+ public static List GetPoDetailList(List p_lst)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ return db.V_TB_PO_DETAIL.Where(p => p_lst.Contains(p.PoBillNum)).ToList();
+ }
+ }
+ public static List GetMaxpoConsume(string maxpobillnum)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ return db.TB_MAXPO_CONSUME.Where(p => p.PoBillNum == maxpobillnum).ToList();
+ }
+ }
+ public static List GetMaxPoDetailList(List p_lst)
+ {
+ using (ScpEntities db = EntitiesFactory.CreateScpInstance())
+ {
+ return db.V_TB_MAXPO_DETAIL.Where(p => p_lst.Contains(p.PoBillNum)).ToList();
+ }
+ }
public static ResultObject Save_TB_PO(List p_entitys)
{
ResultObject _ret = new ResultObject();
@@ -547,7 +721,7 @@ namespace CK.SCP.Controller
{
- _ret.State = ReturnStatus.Failed;
+ _ret.State = ReturnStatus.Failed;
_ret.Result = false;
_ret.ErrorList.Add(ex);
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_PO_CONTROLLER), "Save_TB_PO", ex.ToString());
@@ -608,7 +782,7 @@ namespace CK.SCP.Controller
}
- var _list = db.TB_PO_DETAIL.Where(p => p.PoBillNum == p_excel.QAD订单号 && p.PartCode == p_excel.零件号).ToList();
+ var _list = db.TB_PO_DETAIL.Where(p => p.PoBillNum == p_excel.QAD订单号 && p.PartCode == p_excel.零件号).ToList();
if (
string.IsNullOrEmpty(p_excel.分组编号) ||
string.IsNullOrEmpty(p_excel.QAD订单号) ||
@@ -627,7 +801,7 @@ namespace CK.SCP.Controller
else
{
p_excel.行号 = _list[0].PoLine.ToString();
- p_excel.价格= _list[0].Price.ToString();
+ p_excel.价格 = _list[0].Price.ToString();
p_excel.单位 = _list[0].PoUnit.ToString();
p_excel.币种 = _list[0].Currency.ToString();
}
@@ -635,6 +809,26 @@ namespace CK.SCP.Controller
return ErrorList;
}
+ private static List CheckExce2(ScpEntities db, string lt)
+ {
+ List ErrorList = new List();
+ var _asn = db.TB_ASN_DETAIL.Count(p => p.PoBillNum ==lt);
+ if (_asn> 0)
+ {
+ ErrorList.Add(string.Format("订单【{0}】已经生成发货单了,不能作废", lt));
+ }
+ return ErrorList;
+ }
+ private static List CheckExce3(ScpEntities db, string lt)
+ {
+ List ErrorList = new List();
+ var _asn = db.TB_ASK.SingleOrDefault(p => p.AskBillNum == lt);
+ if (_asn.State > 0)
+ {
+ ErrorList.Add(string.Format("看板【{0}】不是新建状态,不能删除", lt));
+ }
+ return ErrorList;
+ }
public static ResultObject Save_EXCEL_PO_MOD(List p_order_list, string site, string p_creator, DateTime p_time, BillModType p_modtype, string subsite, string p_chineseName, string p_buyerPhone)
{
ResultObject _ret = new ResultObject();
@@ -688,7 +882,7 @@ namespace CK.SCP.Controller
_PO_Detail.LocUnit = itm.单位;
_PO_Detail.PoUnit = itm.单位;
_PO_Detail.UnConv = 1;
- _PO_Detail.Price = string.IsNullOrEmpty(itm.单价) ? 0 : decimal.Parse(itm.单价);
+ _PO_Detail.Price = string.IsNullOrEmpty(itm.单价) ? 0 : decimal.Parse(itm.单价);
db.TB_PO_DETAIL.AddOrUpdate(_PO_Detail);
});
_polist = _polist + _po.PoBillNum + ",";
@@ -884,7 +1078,7 @@ namespace CK.SCP.Controller
return _ret;
}
- public static ResultObject Save_EXCEL_PO_MOD1(List p_order_list, string site, string p_creator, DateTime p_time, string subsite, string p_chineseName, string p_buyerPhone,string CreateTime,string EN,string EndTime,string PartCode,string PoBillNum,string Remark, string Time,string VendId,string PoUnit)
+ public static ResultObject Save_EXCEL_PO_MOD1(List p_order_list, string site, string p_creator, DateTime p_time, string subsite, string p_chineseName, string p_buyerPhone, string CreateTime, string EN, string EndTime, string PartCode, string PoBillNum, string Remark, string Time, string VendId, string PoUnit)
{
ResultObject _ret = new ResultObject();
try
@@ -899,7 +1093,7 @@ namespace CK.SCP.Controller
OrderList.ForEach((p) =>
{
var list = p.ToList();
- if (list.Count>0)
+ if (list.Count > 0)
{
TB_PO _po = new TB_PO();
_po.GUID = Guid.NewGuid();
@@ -1023,7 +1217,7 @@ namespace CK.SCP.Controller
_ret.Result = false;
}
}
- }
+ }
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
{
var sb = new StringBuilder();
@@ -1272,7 +1466,7 @@ namespace CK.SCP.Controller
{
ErrorList.Add(string.Format("订单编号【{0}】行号【{1}】已经存在,请更换行号!", p_excel.订单编号, p_excel.行号));
}
- var checkcount = db.TB_PRICE.Where(p => p.PartCode == p_excel.零件号 && p.Site == site && p.VendId == p_excel.供应商编号 && p.StartTime <= DateTime.Now && DateTime.Now <= p.EndTime).ToList();
+ var checkcount = db.TB_PRICE.Where(p => p.PartCode == p_excel.零件号 && p.Site == site && p.VendId == p_excel.供应商编号 && p.StartTime <= DateTime.Now && DateTime.Now <= p.EndTime).ToList();
if (checkcount.Count == 0)
{
ErrorList.Add(string.Format("零件名称【{0}】供应编码【{1}】价格表没有维护信息!", p_excel.零件号, p_excel.供应商编号));
@@ -1378,7 +1572,7 @@ namespace CK.SCP.Controller
var ls = db.TA_VENDER.SingleOrDefault(p => p.VendId == p_excel.供应商编号);
if (ls == null)
{
- ErrorList.Add(string.Format("订单编号【{1}】零件名称【{0}】的供应商编号不存在", p_excel.零件号, p_excel.订单编号));
+ ErrorList.Add(string.Format("订单编号【{1}】零件名称【{0}】的供应商编号不存在", p_excel.零件号, p_excel.订单编号));
}
decimal a = decimal.Parse(p_excel.数量);
if (a <= 0)
@@ -1426,7 +1620,7 @@ namespace CK.SCP.Controller
else
{
ErrorList.Add(string.Format("订单编号【{2}】零件名称【{0}】供应编码【{1}】的订单创建日期或要求到货日期要求为文本格式!", p_excel.零件号, p_excel.供应商编号, p_excel.订单编号));
- }
+ }
if (!string.IsNullOrEmpty(p_excel.订单类型))
{
if (p_excel.订单类型.ToUpper() != "S" && p_excel.订单类型.ToUpper() != "M")
@@ -1547,13 +1741,153 @@ namespace CK.SCP.Controller
if (
string.IsNullOrEmpty(p_excel.供应商代码) ||
string.IsNullOrEmpty(p_excel.零件号) ||
- string.IsNullOrEmpty(p_excel.标包数)||string.IsNullOrEmpty(p_excel.小包装数)||string.IsNullOrEmpty(p_excel.托盘包装数))
+ string.IsNullOrEmpty(p_excel.标包数) || string.IsNullOrEmpty(p_excel.小包装数) || string.IsNullOrEmpty(p_excel.托盘包装数))
{
ErrorList.Add(string.Format("供应商代码【{0}】零件编号【{1}】有填写为空!", p_excel.供应商代码, p_excel.零件号));
}
return ErrorList;
}
///
+ /// 供应商零件导入验证
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_VenderPart1(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+ //if (!string.IsNullOrEmpty(p_excel.零件号))
+ //{
+ // //int count = db.TA_PART.Count(p => p.PartCode == p_excel.零件号);
+ // //if (count <= 0)
+ // //{
+ // // ErrorList.Add(string.Format("零件编号【{0}】不存在!", p_excel.零件号));
+ // //}
+ // int count1 = db.TA_Appliance.Count(p => p.PartCode == p_excel.零件号 && p.Appliancenumber==p_excel.器具型号/*&&p.Model==p_excel.车型*/);
+ // if (count1 > 0)
+ // {
+ // ErrorList.Add(string.Format("零件编号【{0}】已存在!", p_excel.零件号));
+ // }
+ //}
+ if (
+ string.IsNullOrEmpty(p_excel.零件号码)||
+ string.IsNullOrEmpty(p_excel.收货口)||
+ string.IsNullOrEmpty(p_excel.供应商代码)||
+ string.IsNullOrEmpty(p_excel.标包数)
+ )
+ {
+ ErrorList.Add(string.Format("零件号码【{0}】有填写为空!", p_excel.零件号码));
+ }
+ return ErrorList;
+ }
+
+ ///
+ /// 供应商零件导入验证
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_CousmterPart1(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+ if (!string.IsNullOrEmpty(p_excel.零件号))
+ {
+ int count = db.TA_PART.Count(p => p.PartCode == p_excel.零件号);
+ if (count <= 0)
+ {
+ ErrorList.Add(string.Format("零件号【{0}】不存在!", p_excel.零件号));
+ }
+ }
+
+ if (
+ string.IsNullOrEmpty(p_excel.零件号) ||
+ string.IsNullOrEmpty(p_excel.客户零件号)
+ )
+ {
+ ErrorList.Add(string.Format("零件号【{0}】有填写为空!", p_excel.零件号));
+ }
+ return ErrorList;
+ }
+
+
+ ///
+ /// 本特勒收货信息导入验证
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_Receiving(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+ if(p_excel.班次!="白班"&& p_excel.班次 != "夜班")
+ {
+ ErrorList.Add(string.Format("班次【{0}】填写不对,班次只能为白班或者夜班!", p_excel.班次));
+ }
+ if (
+ string.IsNullOrEmpty(p_excel.班次) ||
+ string.IsNullOrEmpty(p_excel.收货人) ||
+ string.IsNullOrEmpty(p_excel.收货人电话)
+
+ )
+ {
+ ErrorList.Add(string.Format("班次【{0}】有填写为空!", p_excel.班次));
+ }
+ return ErrorList;
+ }
+ private static List CheckExcelMode_PurchasingGroup(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+
+ if (
+ string.IsNullOrEmpty(p_excel.采购组) ||
+ string.IsNullOrEmpty(p_excel.中文名称) ||
+ string.IsNullOrEmpty(p_excel.描述)
+ )
+ {
+ ErrorList.Add(string.Format("采购组【{0}】有填写为空!", p_excel.采购组));
+ }
+ return ErrorList;
+ }
+ private static List CheckExcelMode_Sort(ScpEntities db, SCP_VENDER_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+
+ if (
+ string.IsNullOrEmpty(p_excel.品番) ||
+ string.IsNullOrEmpty(p_excel.Code39条码) ||
+
+ string.IsNullOrEmpty(p_excel.条码内容)
+ )
+ {
+ ErrorList.Add(string.Format("品番【{0}】有填写为空!", p_excel.品番));
+ }
+ return ErrorList;
+ }
+ private static List CheckExcelMode_Box(ScpEntities db, SCP_VENDER_PART_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+
+ if (
+
+ string.IsNullOrEmpty(p_excel.箱种)
+ )
+ {
+ ErrorList.Add(string.Format("箱种【{0}】有填写为空!", p_excel.箱种));
+ }
+ return ErrorList;
+ }
+ private static List CheckExcel_Model(ScpEntities db, SCP_VENDER_EXPORT p_excel, string site)
+ {
+ List ErrorList = new List();
+
+ var ModelCount = db.TA_CarModel.Count(p=>p.Model==p_excel.车型);
+ if (ModelCount > 0)
+ {
+ ErrorList.Add(string.Format("车型【{0}】已经存在,请不要重复导入!", p_excel.车型));
+ }
+ return ErrorList;
+ }
+ ///
/// 供应商导入验证
///
///
@@ -1645,7 +1979,7 @@ namespace CK.SCP.Controller
string.IsNullOrEmpty(p_excel.零件名称) ||
string.IsNullOrEmpty(p_excel.项目编号))
{
- ErrorList.Add(string.Format("零件编号【{0}】有填写为空!", p_excel.零件编号));
+ ErrorList.Add(string.Format("零件编号{0}有填写为空!", p_excel.零件编号));
}
return ErrorList;
}
@@ -1658,210 +1992,6119 @@ namespace CK.SCP.Controller
private static List CheckExcelMode_Po(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel)
{
List ErrorList = new List();
- if (!string.IsNullOrEmpty(p_excel.订单编号))
+ if (!string.IsNullOrEmpty(p_excel.零件号)) {
+ var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号&&p.VendID==p_excel.供应商编号);
+ if (_count == 0)
{
- int count = db.TB_PO.Count(p => p.PoBillNum == p_excel.订单编号);
- if (count > 0)
+ ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号,p_excel.供应商编号));
+ }
+ }
+ var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码);
+ if (_count1 == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在!", p_excel.物料号码));
+ }
+
+
+ if (_count1 > 0)
+ {
+ if (!string.IsNullOrEmpty(p_excel.组件物料号))
+ {
+ ErrorList.Add(string.Format("普通采购订单不涉及组件物料号,请到委外采购订单菜单导入"));
+ }
+ var _part = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (_part.PartCode.ToString()!= p_excel.物料号码.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}填写不正确请注意大小写!", p_excel.物料号码));
+ }
+ var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码&&p.Unit==p_excel.单位);
+ if (_Unit==0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确!", p_excel.物料号码));
+ }
+
+ if(_part.Unit.ToString()!= p_excel.单位.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码));
+ }
+
+
+ var _checkpart = db.TA_PART.FirstOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (decimal.Parse(_checkpart.Remark) <= 0)
{
- ErrorList.Add(string.Format("订单编号{0}已经存在!", p_excel.订单编号));
+ ErrorList.Add(string.Format("物料号码{0}没有价格!", p_excel.物料号码));
}
}
- else
+ var _count2 = db.TA_VENDER.Count(p => p.VendId == p_excel.供应商编号);
+ if (_count2 == 0)
{
- ErrorList.Add(string.Format("订单编号为空!"));
+ ErrorList.Add(string.Format("供应商{0}不存在!", p_excel.供应商编号));
}
- decimal _result = 0;
-
- if (!decimal.TryParse(p_excel.数量, out _result))
+ if (_count2 > 0)
{
- ErrorList.Add(string.Format("订单编号{0}零件编号{1}数量填写有问题", p_excel.订单编号, p_excel.数量));
+ var _countvend = db.TA_VENDER.SingleOrDefault(p => p.VendId == p_excel.供应商编号);
+ if (_countvend.VendId != p_excel.供应商编号)
+ {
+ ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号));
+ }
}
+ var _count7 = db.TA_PurchasGroup.Count(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员);
+ if (_count7 == 0)
+ {
+ ErrorList.Add(string.Format("采购组{0}不存在!", p_excel.采购组));
+ }
+ if (_count7 > 0)
+ {
+ var _count9 = db.TA_PurchasGroup.SingleOrDefault(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员 && p.ChineseName == p_excel.采购员);
+ if (_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString())
+ {
+ ErrorList.Add(string.Format("采购组{0}填写错误,请注意大小写!", p_excel.采购组));
+ }
+ }
- //var _count = db.TA_PART.Count(p => p.PartCode == p_excel.零件号);
- if (
- string.IsNullOrEmpty(p_excel.订单编号) ||
- string.IsNullOrEmpty(p_excel.行号) ||
- string.IsNullOrEmpty(p_excel.订单创建时间) ||
- string.IsNullOrEmpty(p_excel.要求到货日期) ||
- string.IsNullOrEmpty(p_excel.零件号) ||
+ var _count8 = db.TA_StorageLocation.Count(p => p.StLocation == p_excel.存储地点);
+ if (_count8 == 0)
+ {
+ ErrorList.Add(string.Format("存储地点{0}不存在!", p_excel.存储地点));
+ }
+ if (_count8 > 0)
+ {
+ var _count10 = db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点);
+ if (_count10.StLocation.ToString() != p_excel.存储地点.ToString())
+ {
+ ErrorList.Add(string.Format("存储地点{0}填写错误,请注意大小写!", p_excel.存储地点));
+ }
+ }
+ if (
+ string.IsNullOrEmpty(p_excel.供应商编号) ||
+ string.IsNullOrEmpty(p_excel.物料号码) ||
+ string.IsNullOrEmpty(p_excel.采购员) ||
+ string.IsNullOrEmpty(p_excel.采购组) ||
+ string.IsNullOrEmpty(p_excel.采购员电话) ||
+ string.IsNullOrEmpty(p_excel.存储地点) ||
+ string.IsNullOrEmpty(p_excel.单位) ||
+ string.IsNullOrEmpty(p_excel.订单创建时间))
+ {
+ ErrorList.Add(string.Format("分组【{0}】物料号码有填写为空!", p_excel.物料号码));
+ }
+ return ErrorList;
+ }
+ ///
+ /// 期货订单导入检查
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_QH_Po(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel)
+ {
+ List ErrorList = new List();
+ if (!string.IsNullOrEmpty(p_excel.零件号))
+ {
+ var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号);
+ if (_count == 0)
+ {
+ ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号, p_excel.供应商编号));
+ }
+ }
+ var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码);
+ if (_count1 == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在!", p_excel.物料号码));
+ }
+ if (!string.IsNullOrEmpty(p_excel.期货订单))
+ {
+ if (p_excel.期货订单 != "Y")
+ {
+ ErrorList.Add(string.Format("物料号码{0}期货订单必须填Y!", p_excel.物料号码));
+ }
+ }
+
+ if (_count1 > 0)
+ {
+ var _part = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (_part.PartCode.ToString() != p_excel.物料号码.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}填写不正确请注意大小写!", p_excel.物料号码));
+ }
+ var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码 && p.Unit == p_excel.单位);
+ if (_Unit == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确!", p_excel.物料号码));
+ }
+
+ if (_part.Unit.ToString() != p_excel.单位.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码));
+ }
+
+
+ var _checkpart = db.TA_PART.FirstOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (decimal.Parse(_checkpart.Remark) <= 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}没有价格!", p_excel.物料号码));
+ }
+ }
+ var _count2 = db.TA_VENDER.Count(p => p.VendId == p_excel.供应商编号);
+ if (_count2 == 0)
+ {
+ ErrorList.Add(string.Format("供应商{0}不存在!", p_excel.供应商编号));
+ }
+ if (_count2 > 0)
+ {
+ var _countvend = db.TA_VENDER.SingleOrDefault(p => p.VendId == p_excel.供应商编号);
+ if (_countvend.VendId != p_excel.供应商编号)
+ {
+ ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号));
+ }
+ }
+ var maxpocount = db.TB_MAXPO_DETAIL.Count(p=>p.PartCode==p_excel.物料号码&&p.VendId == p_excel.供应商编号);
+ if (maxpocount ==0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}供应商编号{1}没有对应的大订单!",p_excel.物料号码, p_excel.供应商编号));
+ }
+ var _count7 = db.TA_PurchasGroup.Count(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员);
+ if (_count7 == 0)
+ {
+ ErrorList.Add(string.Format("采购组{0}不存在!", p_excel.采购组));
+ }
+ if (_count7 > 0)
+ {
+ var _count9 = db.TA_PurchasGroup.SingleOrDefault(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员 && p.ChineseName == p_excel.采购员);
+ if (_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString())
+ {
+ ErrorList.Add(string.Format("采购组{0}填写错误,请注意大小写!", p_excel.采购组));
+ }
+ }
+
+ var _count8 = db.TA_StorageLocation.Count(p => p.StLocation == p_excel.存储地点);
+ if (_count8 == 0)
+ {
+ ErrorList.Add(string.Format("存储地点{0}不存在!", p_excel.存储地点));
+ }
+ if (_count8 > 0)
+ {
+ var _count10 = db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点);
+ if (_count10.StLocation.ToString() != p_excel.存储地点.ToString())
+ {
+ ErrorList.Add(string.Format("存储地点{0}填写错误,请注意大小写!", p_excel.存储地点));
+ }
+ }
+ if (
+ string.IsNullOrEmpty(p_excel.供应商编号) ||
+ string.IsNullOrEmpty(p_excel.物料号码) ||
string.IsNullOrEmpty(p_excel.采购员) ||
+ string.IsNullOrEmpty(p_excel.采购组) ||
string.IsNullOrEmpty(p_excel.采购员电话) ||
- string.IsNullOrEmpty(p_excel.数量) ||
+ string.IsNullOrEmpty(p_excel.存储地点) ||
string.IsNullOrEmpty(p_excel.单位) ||
- string.IsNullOrEmpty(p_excel.单价) ||
+ string.IsNullOrEmpty(p_excel.期货订单) ||
string.IsNullOrEmpty(p_excel.订单创建时间))
{
- ErrorList.Add(string.Format("分组【{1}】零件名称【{0}】有填写为空!", p_excel.零件号, p_excel.订单编号));
+ ErrorList.Add(string.Format("分组【{0}】物料号码有填写为空!", p_excel.物料号码));
+ }
+ return ErrorList;
+ }
+ ///
+ /// 富维订单导入检查
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_Po1(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel)
+ {
+ List ErrorList = new List();
+ var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号);
+ if (_count == 0)
+ {
+ ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号, p_excel.供应商编号));
+ }
+ BomList1.JsonService bomVersionRe = new BomList1.JsonService();
+ var _ReturnRelust = bomVersionRe.GetBomVersion(p_excel.物料号码, p_excel.组件物料号);
+ if (p_excel.BOM版本 != _ReturnRelust)
+ {
+ ErrorList.Add(string.Format("物料号码{0}的BOM版本号填写错误", p_excel.物料号码));
+ }
+ var price = db.TB_NetPrice.Count(p => p.PartCode == p_excel.物料号码 && p.VendId == p_excel.供应商编号 && p.EndTime > DateTime.Now);
+ if (price == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在净价", p_excel.物料号码));
+ }
+ var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码);
+ if (_count1 == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在!", p_excel.物料号码));
+ }
+ if (_count1 > 0)
+ {
+ var _part = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (_part.PartCode.ToString() != p_excel.物料号码.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}填写不正确请注意大小写和空格!", p_excel.物料号码));
+ }
+ if (_part.Unit.ToString() != p_excel.单位.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码));
+ }
+ var _part5 = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.组件物料号);
+ if (_part5.PartCode.ToString() != p_excel.组件物料号.ToString())
+ {
+ ErrorList.Add(string.Format("组件物料号码{0}填写不正确请注意大小写和空格!", p_excel.组件物料号));
+ }
+ if (_part5.Unit.ToString() != p_excel.组件计量单位.ToString())
+ {
+ ErrorList.Add(string.Format("组件物料号{0}计量单位填写不正确,请注意大小写!", p_excel.组件物料号));
+ }
+ var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码 && p.Unit == p_excel.单位);
+ if (_Unit == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确!", p_excel.物料号码));
+ }
+ var _Unit1 = db.TA_PART.Count(p => p.PartCode == p_excel.组件物料号 && p.Unit == p_excel.组件计量单位);
+ if (_Unit1 == 0)
+ {
+ ErrorList.Add(string.Format("组件物料号{0}组件计量单位填写不正确!", p_excel.组件物料号));
+ }
+
+
+ if (decimal.Parse(_part.Remark) <= 0)
+ {
+ ErrorList.Add(string.Format("物料号码没有标准价格!", p_excel.物料号码));
+ }
+ }
+
+
+ var _count3 = db.TA_PART.Count(p => p.PartCode == p_excel.组件物料号);
+ if (_count3 == 0)
+ {
+ ErrorList.Add(string.Format("组件物料号{0}不存在!", p_excel.组件物料号));
+ }
+
+ var _count2 = db.TA_VENDER.Count(p => p.VendId == p_excel.供应商编号);
+ if (_count2 == 0)
+ {
+ ErrorList.Add(string.Format("供应商{0}不存在!", p_excel.供应商编号));
+ }
+ if (_count2 > 0)
+ {
+ var _countvend = db.TA_VENDER.SingleOrDefault(p => p.VendId == p_excel.供应商编号);
+ if (_countvend.VendId != p_excel.供应商编号)
+ {
+ ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号));
+ }
+ }
+
+ var _count7 = db.TA_PurchasGroup.Count(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员);
+ if (_count7 == 0)
+ {
+ ErrorList.Add(string.Format("采购组{0}不存在!", p_excel.采购组));
+ }
+ if (_count7 > 0)
+ {
+ var _count9 = db.TA_PurchasGroup.SingleOrDefault(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员 && p.ChineseName == p_excel.采购员);
+ if(_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString())
+ {
+ ErrorList.Add(string.Format("采购组{0}填写错误,请注意大小写!", p_excel.采购组));
+ }
+ }
+
+ var _count8 = db.TA_StorageLocation.Count(p => p.StLocation == p_excel.存储地点);
+ if (_count8 == 0)
+ {
+ ErrorList.Add(string.Format("存储地点{0}不存在!", p_excel.存储地点));
+ }
+ if (_count8 > 0)
+ {
+ var _count10= db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点);
+ if (_count10.StLocation.ToString()!= p_excel.存储地点.ToString())
+ {
+ ErrorList.Add(string.Format("存储地点{0}填写错误,请注意大小写!", p_excel.存储地点));
+ }
+ }
+
+ if (
+ string.IsNullOrEmpty(p_excel.订单创建时间) ||
+ //string.IsNullOrEmpty(p_excel.零件号) ||
+ string.IsNullOrEmpty(p_excel.采购员) ||
+ string.IsNullOrEmpty(p_excel.采购组) ||
+ string.IsNullOrEmpty(p_excel.采购员电话) ||
+ string.IsNullOrEmpty(p_excel.单位) ||
+ string.IsNullOrEmpty(p_excel.组件计量单位) ||
+ string.IsNullOrEmpty(p_excel.组件物料号) ||
+ string.IsNullOrEmpty(p_excel.存储地点)||
+ string.IsNullOrEmpty(p_excel.组件数量))
+
+ {
+ ErrorList.Add(string.Format("零件名称{0}有填写为空!", p_excel.零件号));
+ }
+
+ return ErrorList;
+
+
+ }
+ ///
+ /// 本特勒订单导入检查
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_BTL(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel)
+ {
+ List ErrorList = new List();
+ var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号);
+ if (_count == 0)
+ {
+ ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号, p_excel.供应商编号));
+ }
+ BomVersion1.JsonService bomVersionRe = new BomVersion1.JsonService();
+ var _ReturnRelust = bomVersionRe.GetBomVersion(p_excel.物料号码, p_excel.组件物料号);
+ if (p_excel.BOM版本 != _ReturnRelust)
+ {
+ ErrorList.Add(string.Format("物料号码{0}的BOM版本号填写错误", p_excel.物料号码));
+ }
+ var price = db.TB_NetPrice.Count(p => p.PartCode == p_excel.物料号码 && p.VendId == p_excel.供应商编号 && p.EndTime > DateTime.Now);
+ if (price == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在净价", p_excel.物料号码));
+ }
+ var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码);
+ if (_count1 == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在!", p_excel.物料号码));
+ }
+ if (_count1 > 0)
+ {
+ var _part = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (_part.PartCode.ToString() != p_excel.物料号码.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}填写不正确请注意大小写和空格!", p_excel.物料号码));
+ }
+ if (_part.Unit.ToString() != p_excel.单位.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码));
+ }
+ var _zjpart = db.TA_PART.Count(p => p.PartCode == p_excel.组件物料号);
+ {
+ if (_zjpart == 0)
+ {
+ ErrorList.Add(string.Format("组件物料号码{0}不存在!", p_excel.物料号码));
+ }
+ else
+ {
+ var _part5 = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.组件物料号);
+ if (_part5.PartCode.ToString() != p_excel.组件物料号.ToString())
+ {
+ ErrorList.Add(string.Format("组件物料号码{0}填写不正确请注意大小写和空格!", p_excel.组件物料号));
+ }
+ if (_part5.Unit.ToString() != p_excel.组件计量单位.ToString())
+ {
+ ErrorList.Add(string.Format("组件物料号{0}计量单位填写不正确,请注意大小写!", p_excel.组件物料号));
+ }
+ }
+ }
+
+ var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码 && p.Unit == p_excel.单位);
+ if (_Unit == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确!", p_excel.物料号码));
+ }
+ var _Unit1 = db.TA_PART.Count(p => p.PartCode == p_excel.组件物料号 && p.Unit == p_excel.组件计量单位);
+ if (_Unit1 == 0)
+ {
+ ErrorList.Add(string.Format("组件物料号{0}组件计量单位填写不正确!", p_excel.组件物料号));
+ }
+
+
+ if (decimal.Parse(_part.Remark) <= 0)
+ {
+ ErrorList.Add(string.Format("物料号码没有标准价格!", p_excel.物料号码));
+ }
}
- //if (_count == 0)
+
+
+ //var _count3 = db.TA_PART.Count(p => p.PartCode == p_excel.组件物料号);
+ //if (_count3 == 0)
//{
- // ErrorList.Add(string.Format("分组【{2}】零件名称【{0}】行号【{1}】不存在!", p_excel.零件号, p_excel.行号, p_excel.订单编号));
+ // ErrorList.Add(string.Format("组件物料号{0}不存在!", p_excel.组件物料号));
//}
+
+ var _count2 = db.TA_VENDER.Count(p => p.VendId == p_excel.供应商编号);
+ if (_count2 == 0)
+ {
+ ErrorList.Add(string.Format("供应商{0}不存在!", p_excel.供应商编号));
+ }
+ if (_count2 > 0)
+ {
+ var _countvend = db.TA_VENDER.SingleOrDefault(p => p.VendId == p_excel.供应商编号);
+ if (_countvend.VendId != p_excel.供应商编号)
+ {
+ ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号));
+ }
+ }
+
+ var _count7 = db.TA_PurchasGroup.Count(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员);
+ if (_count7 == 0)
+ {
+ ErrorList.Add(string.Format("采购组{0}不存在!", p_excel.采购组));
+ }
+ if (_count7 > 0)
+ {
+ var _count9 = db.TA_PurchasGroup.SingleOrDefault(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员 && p.ChineseName == p_excel.采购员);
+ if (_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString())
+ {
+ ErrorList.Add(string.Format("采购组{0}填写错误,请注意大小写!", p_excel.采购组));
+ }
+ }
+
+ var _count8 = db.TA_StorageLocation.Count(p => p.StLocation == p_excel.存储地点);
+ if (_count8 == 0)
+ {
+ ErrorList.Add(string.Format("存储地点{0}不存在!", p_excel.存储地点));
+ }
+ if (_count8 > 0)
+ {
+ var _count10 = db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点);
+ if (_count10.StLocation.ToString() != p_excel.存储地点.ToString())
+ {
+ ErrorList.Add(string.Format("存储地点{0}填写错误,请注意大小写!", p_excel.存储地点));
+ }
+ }
+
+ if (
+ string.IsNullOrEmpty(p_excel.订单创建时间) ||
+ //string.IsNullOrEmpty(p_excel.零件号) ||
+ string.IsNullOrEmpty(p_excel.采购员) ||
+ string.IsNullOrEmpty(p_excel.采购组) ||
+ string.IsNullOrEmpty(p_excel.采购员电话) ||
+ string.IsNullOrEmpty(p_excel.单位) ||
+ string.IsNullOrEmpty(p_excel.组件计量单位) ||
+ string.IsNullOrEmpty(p_excel.组件物料号) ||
+ string.IsNullOrEmpty(p_excel.存储地点) ||
+ string.IsNullOrEmpty(p_excel.组件数量))
+
+ {
+ ErrorList.Add(string.Format("零件名称{0}有填写为空!", p_excel.零件号));
+ }
+
return ErrorList;
+
+
+ }
+ ///
+ /// 富维多组件订单导入效验
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_Multicomponent(ScpEntities db, SCP_PO_EXPORT_IMPORT_MODEL p_excel,bool wmsweb)
+ {
+ List ErrorList = new List();
+ if (wmsweb == false) {
+ BomList.JsonService bomVersionRe = new BomList.JsonService();
+ var _ReturnRelust = bomVersionRe.GetBomsByVer(p_excel.物料号码, p_excel.BOM版本);
+ if (!_ReturnRelust.Contains("Qty"))
+ {
+ ErrorList.Add(string.Format("不存在物料号为{0},版本号为{1}的数据", p_excel.物料号码, p_excel.BOM版本));
+ }
+ }
+ else
+ {
+ BomList1.JsonService bomVersionRe = new BomList1.JsonService();
+ var _ReturnRelust = bomVersionRe.GetBomsByVer(p_excel.物料号码, p_excel.BOM版本);
+ if (!_ReturnRelust.Contains("Qty"))
+ {
+ ErrorList.Add(string.Format("不存在物料号为{0},版本号为{1}的数据", p_excel.物料号码, p_excel.BOM版本));
+ }
+ }
+
+ var _count = db.TA_Appliance.Count(p => p.PartNumber == p_excel.零件号 && p.VendID == p_excel.供应商编号);
+ if (_count == 0)
+ {
+ ErrorList.Add(string.Format("零件号码{0}与供应商{1}没有对应的基础信息!", p_excel.零件号, p_excel.供应商编号));
+ }
+
+
+ //var price = db.TB_NetPrice.Count(p => p.PartCode == p_excel.物料号码 && p.VendId == p_excel.供应商编号 && p.EndTime > DateTime.Now);
+ //if (price == 0)
+ //{
+ // ErrorList.Add(string.Format("物料号码{0}不存在净价", p_excel.物料号码));
+ //}
+ var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码);
+ if (_count1 == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}不存在!", p_excel.物料号码));
+ }
+ if (_count1 > 0)
+ {
+ var _part = db.TA_PART.SingleOrDefault(p => p.PartCode == p_excel.物料号码);
+ if (_part.PartCode.ToString() != p_excel.物料号码.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}填写不正确请注意大小写和空格!", p_excel.物料号码));
+ }
+ if (_part.Unit.ToString() != p_excel.单位.ToString())
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确,请注意大小写!", p_excel.物料号码));
+ }
+
+ var _Unit = db.TA_PART.Count(p => p.PartCode == p_excel.物料号码 && p.Unit == p_excel.单位);
+ if (_Unit == 0)
+ {
+ ErrorList.Add(string.Format("物料号码{0}单位填写不正确!", p_excel.物料号码));
+ }
+
+
+ if (decimal.Parse(_part.Remark) <= 0)
+ {
+ ErrorList.Add(string.Format("物料号码没有标准价格!", p_excel.物料号码));
+ }
+ }
+
+ var _count2 = db.TA_VENDER.Count(p => p.VendId == p_excel.供应商编号);
+ if (_count2 == 0)
+ {
+ ErrorList.Add(string.Format("供应商{0}不存在!", p_excel.供应商编号));
+ }
+ if (_count2 > 0)
+ {
+ var _countvend = db.TA_VENDER.SingleOrDefault(p => p.VendId == p_excel.供应商编号);
+ if (_countvend.VendId != p_excel.供应商编号)
+ {
+ ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号));
+ }
+ }
+
+ var _count7 = db.TA_PurchasGroup.Count(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员);
+ if (_count7 == 0)
+ {
+ ErrorList.Add(string.Format("采购组{0}不存在!", p_excel.采购组));
+ }
+ if (_count7 > 0)
+ {
+ var _count9 = db.TA_PurchasGroup.SingleOrDefault(p => p.PurchasingGroup == p_excel.采购组 && p.ChineseName == p_excel.采购员 && p.ChineseName == p_excel.采购员);
+ if (_count9.PurchasingGroup.ToString() != p_excel.采购组.ToString())
+ {
+ ErrorList.Add(string.Format("采购组{0}填写错误,请注意大小写!", p_excel.采购组));
+ }
+ }
+
+ var _count8 = db.TA_StorageLocation.Count(p => p.StLocation == p_excel.存储地点);
+ if (_count8 == 0)
+ {
+ ErrorList.Add(string.Format("存储地点{0}不存在!", p_excel.存储地点));
+ }
+ if (_count8 > 0)
+ {
+ var _count10 = db.TA_StorageLocation.SingleOrDefault(p => p.StLocation == p_excel.存储地点);
+ if (_count10.StLocation.ToString() != p_excel.存储地点.ToString())
+ {
+ ErrorList.Add(string.Format("存储地点{0}填写错误,请注意大小写!", p_excel.存储地点));
+ }
+ }
+
+ if (
+ string.IsNullOrEmpty(p_excel.订单创建时间) ||
+ string.IsNullOrEmpty(p_excel.零件号) ||
+ string.IsNullOrEmpty(p_excel.采购员) ||
+ string.IsNullOrEmpty(p_excel.采购组) ||
+ string.IsNullOrEmpty(p_excel.采购员电话) ||
+ string.IsNullOrEmpty(p_excel.单位) ||
+ string.IsNullOrEmpty(p_excel.存储地点))
+
+ {
+ ErrorList.Add(string.Format("零件名称{0}有填写为空!", p_excel.零件号));
+ }
+
+ return ErrorList;
+
+
+ }
+ ///
+ /// 富维冲压件大订单效验
+ ///
+ ///
+ ///
+ ///
+ private static List CheckExcelMode_MAXPO(ScpEntities db, SCP_MAXPO_EXPORT p_excel)
+ {
+ List ErrorList = new List();
+
+ var _count1 = db.TA_PART.Count(p => p.PartCode == p_excel.零件号);
+ if (_count1 == 0)
+ {
+ ErrorList.Add(string.Format("零件号{0}不存在!", p_excel.零件号));
+ }
+ var _count = db.TA_PART.Count(p => p.PartCode == p_excel.原材物料号);
+ if (_count == 0)
+ {
+ ErrorList.Add(string.Format("原材物料号{0}不存在!", p_excel.原材物料号));
+ }
+ var _count2 = db.TA_VENDER.Count(p => p.VendId == p_excel.供应商编号);
+ if (_count2 == 0)
+ {
+ ErrorList.Add(string.Format("供应商{0}不存在!", p_excel.供应商编号));
+ }
+ if (_count2 > 0)
+ {
+ var _countvend = db.TA_VENDER.FirstOrDefault(p => p.VendId == p_excel.供应商编号);
+ if (_countvend.VendId != p_excel.供应商编号)
+ {
+ ErrorList.Add(string.Format("供应商编号{0}不正确!", p_excel.供应商编号));
+ }
+ }
+
+ BomList1.JsonService bomVersionRe = new BomList1.JsonService();
+ var _ReturnRelust = bomVersionRe.GetBom(p_excel.零件号, p_excel.原材物料号);
+ if (_ReturnRelust == "[null]")
+ {
+ ErrorList.Add(string.Format("零件号{0}与原材物料号{1}不存在BOM关系!", p_excel.零件号, p_excel.原材物料号));
+ }
+ if (
+ string.IsNullOrEmpty(p_excel.零件号) ||
+ string.IsNullOrEmpty(p_excel.原材物料号) ||
+ string.IsNullOrEmpty(p_excel.供应商编号))
+
+ {
+ ErrorList.Add(string.Format("零件名称{0}有填写为空!", p_excel.零件号));
+ }
+
+ return ErrorList;
+
+
+ }
+ ///