static void Main(string[] args) { // 获取最近结束并且允许发货的流程数据 DataTable data = SqlHelper.ExecuteDataTableOa(@" select * from SJKeHuFaHuoShenQingView "); if (data.Rows.Count > 0) { var lists = SqlHelper.DataTableToModelList <KeHuFaHuoShenQingModel>(data); foreach (var item in lists) { // 构造Json数据 var org = new OrganizationService().GetOrganizationByNumber(item.OrgNumber); if (org != null) { var requestModel = new K3ApiUpdateRequestModel <CustomerUpdateFStatusModel> { Data = new K3ApiUpdateDataRequestModel <CustomerUpdateFStatusModel> { FNumber = org.FNumber, Data = new CustomerUpdateFStatusModel { FNumber = org.FNumber, FName = org.FName, FStatus = new BaseIdNameX { FID = "ZT01", FName = "使用" } } } }; string postJson = SerializationHelper.ObjectToJson(requestModel); // API插入到后台 K3ApiUpdateDataResponseModel response = new K3ApiService().Update("Customer", postJson); // 写后台更改记录 SqlHelper.ExecuteNonQueryOa(@" insert into SJOAKeHuFaHuoShenQingLog(FlowId,FlowName,FlowDate,OrgNumber,Permission,OrgSourceStatus,OrgTargetStatus,Data,DataDesc,FItemID,FNumber,FStatus) values (@FlowId,@FlowName,@FlowDate,@OrgNumber,@Permission,@OrgSourceStatus,@OrgTargetStatus,@Data,@DataDesc,@FItemID,@FNumber,@FStatus)" , new SqlParameter[] { new SqlParameter("@FlowId", item.FlowId), new SqlParameter("@FlowName", item.FlowName), new SqlParameter("@FlowDate", item.FlowDate), new SqlParameter("@OrgNumber", item.OrgNumber), new SqlParameter("@Permission", item.Permission), new SqlParameter("@OrgSourceStatus", org.FStatus), new SqlParameter("@OrgTargetStatus", "ZT01 使用"), new SqlParameter("@Data", response.Data), new SqlParameter("@DataDesc", response.DataDesc), new SqlParameter("@FItemID", response.FItemID), new SqlParameter("@FNumber", response.FNumber), new SqlParameter("@FStatus", response.FStatus) }); } } } }
private void InitCommand() { DirectorySelectBaseCommand = new DelegateCommand((obj) => { // 导出目录选择 System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog(); if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { HostConfig.HostValue = fbd.SelectedPath; var result = CommonService.SaveHostConfig(HostConfig); if (result) { HostConfig = CommonService.GetHostConfig(Menu.ID, HostName, User.ID); } } }); ExportBaseCommand = new DelegateCommand((obj) => { if (Directory.Exists(HostConfig.HostValue)) { ExportView view = new ExportView(Menu.ID, 3);// Menu.ID-SJExportViewTypedColumn中的ViewGroupId; 3 - 第几个radioButton被默认选中从1开始 //Export((type - 导出1 取消0, outputEntity 界面选中的radiobuttion 同上, checkBoxValue 选择分类导出的情况下,选择的类别和, orderedColumns 选择分类导出的情况下,选择类别的顺序列表) (view.DataContext as ExportViewModel).Export((type, outputEntity, checkBoxValue, orderedColumns) => { view.Close(); if (type == 1) { if (outputEntity == 3) { DataTable datatable = _service.GetSJBatchBomRequestDeliveryExportData(GeneralParameter.ParamBeginDate.Value, string.Join(",", orderedColumns)); if (datatable.Rows.Count > 0) { ExportHelper.ExportDeliveryDataToExcel(GeneralParameter.ParamBeginDate.Value, datatable, HostConfig.HostValue, HostConfig.TypeDesciption + CommonService.GetQueryParameterValueString(GeneralParameter) , outputEntity, orderedColumns, true, "$$$发料单", true); MessageBox.Show("导出成功"); } else { MessageBox.Show($"【{GeneralParameter.ParamBeginDate.Value}】 没有可导出的数据"); } } else { DataTable datatable = _service.GeSJBatchBOMSummaryExportData(GeneralParameter.ParamBeginDate.Value); if (datatable.Rows.Count > 0) { ExportHelper.ExportDataTableToExcel(datatable, HostConfig.HostValue, "物料需求" + CommonService.GetQueryParameterValueString(GeneralParameter), outputEntity, null, false, "物料需求", false); MessageBox.Show("导出成功"); } else { MessageBox.Show($"【{GeneralParameter.ParamBeginDate.Value}】 没有可导出的数据"); } } } }); view.ShowDialog(); } else { MessageBox.Show("目录不存在,请先选择导出的目录"); DirectorySelectBaseCommand.Execute(null); } CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "ExportBaseCommand", ActionDesc = HostConfig.TypeDesciption + HostConfig.TypeId.ToString(), UserId = User.ID, MainMenuId = Menu.ID, PKId = -1, HostName = HostName }); }); MaterialRequestGenerateCommand = new DelegateCommand((obj) => { _service.SplitBatchBomRequest(GeneralParameter.ParamBeginDate.Value); QueryBaseCommand.Execute(null); CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "MaterialRequestGenerateCommand", ActionDesc = "生成物料需求", UserId = User.ID, MainMenuId = Menu.ID, PKId = -1, HostName = HostName }); }); WorkshopInventoryRefreshCommand = new DelegateCommand((obj) => { BatchBomRequestSummaryLists.Clear(); _service.RefreshWorkshopInventoryQty(CommonService.GetSqlWhereString(Filter)); QueryBaseCommand.Execute(null); CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "WorkshopInventoryRefreshCommand", ActionDesc = "获取现场库存", UserId = User.ID, MainMenuId = Menu.ID, PKId = -1, HostName = HostName }); }); QueryBaseCommand = new DelegateCommand((obj) => { BatchBomRequestSummaryLists.Clear(); InventoryLists.Clear(); DeliverTransferLists.Clear(); _service.GetBatchBomRequestDetailSummaryLists(CommonService.GetSqlWhereString(Filter)).ForEach(x => BatchBomRequestSummaryLists.Add(x)); }); DeliverCommand = new DelegateCommand((obj) => { if (BatchBomRequestSummarySelectedItem != null) { if (InventorySelectedItem != null && InventorySelectedItem.TransferingWeight > 0 && InventorySelectedItem.TransferingWeight <= InventorySelectedItem.TotalWeight) { if (_service.InsertDeliverTransfer(InventorySelectedItem)) { DeliverTransferLists.Clear(); _service.GetDeliverTransferLists(BatchBomRequestSummarySelectedItem).ForEach(x => DeliverTransferLists.Add(x)); BatchBomRequestSummarySelectedItem.QtyTransfering = DeliverTransferLists.Where(x => string.IsNullOrEmpty(x.TransferedBillNo)).Sum(x => x.TransferingWeight).Value; } } else { MessageBox.Show("发料数量必须大于0且小于总重量"); } } else { MessageBox.Show("先选择主表行数据"); } CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "DeliverCommand", ActionDesc = "发料", UserId = User.ID, MainMenuId = Menu.ID, PKId = -1, HostName = HostName }); }); DeliveryDeleteCommand = new DelegateCommand((obj) => { int id = -1; if (BatchBomRequestSummarySelectedItem != null) { var selectedLists = ((obj as DataGrid).SelectedItems).Cast <MaterialTimelyInventoryModel>().ToList(); if (selectedLists.Count == 1) { var model = selectedLists.First(); if (_service.DeleteDeliverTransfer(model.Id)) { id = model.Id; DeliverTransferLists.Clear(); _service.GetDeliverTransferLists(BatchBomRequestSummarySelectedItem).ForEach(x => DeliverTransferLists.Add(x)); BatchBomRequestSummarySelectedItem.QtyTransfering = DeliverTransferLists.Sum(x => x.TransferingWeight).Value; } } else { MessageBox.Show("每次必须选中且删除一行记录"); } } else { MessageBox.Show("先选择主表行数据"); } CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "DeliveryDeleteCommand", ActionDesc = "删除发料", UserId = User.ID, MainMenuId = Menu.ID, PKId = id, HostName = HostName }); }); TransferDeleteCommand = new DelegateCommand((obj) => { if (BatchBomRequestSummarySelectedItem != null) { var selectedLists = ((obj as DataGrid).SelectedItems).Cast <MaterialTimelyInventoryModel>().ToList(); if (selectedLists.Count == 1) { var model = selectedLists.First(); if (!_service.ExistsK3Bill(model.TransferedBillNo)) { if (_service.DeleteDeliverTransfer(model.TransferedBillNo)) { //重新加载主表格 QueryBaseCommand.Execute(null); } } else { MessageBox.Show("请先将选择的调拨单号,在K3里面删除"); } } else { MessageBox.Show("每次必须选中且删除一行记录"); } } else { MessageBox.Show("先选择主表行数据"); } CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "TransferDeleteCommand", ActionDesc = "删除调拨单", UserId = User.ID, MainMenuId = Menu.ID, PKId = -1, HostName = HostName }); }); SelectionChangedCommand = new DelegateCommand((obj) => { if (BatchBomRequestSummarySelectedItem == null) { return; } InventoryLists.Clear(); _service.GetGetMaterialTimelyInventoryLists(BatchBomRequestSummarySelectedItem.MaterialId, BatchBomRequestSummarySelectedItem.ProductionDate, BatchBomRequestSummarySelectedItem.BatchTypeId, BatchBomRequestSummarySelectedItem.StockId).ForEach(x => InventoryLists.Add(x)); DeliverTransferLists.Clear(); _service.GetDeliverTransferLists(BatchBomRequestSummarySelectedItem).ForEach(x => DeliverTransferLists.Add(x)); }); BatchNoQtyK3InsertCommand = new DelegateCommand((obj) => { // 获取当天所有已发料未调拨数据 var selectedLists = ((obj as DataGrid).SelectedItems).Cast<MaterialTimelyInventoryModel>().ToList(); var selectedLists = _service.GetK3InsertData(GeneralParameter.ParamBeginDate.Value); if (selectedLists.Count > 0) { var emp = K3ApiFKService.GetEmployeeByUserName(User.UserName); if (emp != null) { TransferMainModel main = new TransferMainModel { FBillerID = new BaseNumberNameModelX { FNumber = emp.FName, FName = emp.FName }, FFManagerID = emp, // BaseNumberNameModelX { FNumber = "111", FName = "吴强" }, FSManagerID = emp, // new BaseNumberNameModelX { FNumber = "111", FName = "吴强" }, FRefType = new BaseNumberNameModelX { FNumber = "01", FName = "成本调拨" }, FClassTypeID = 41, FDate = DateTime.Now.Date.ToString("yyyy-MM-dd") }; List <TransferSonModel> sons = new List <TransferSonModel>(); foreach (MaterialTimelyInventoryModel item in selectedLists) { sons.Add(new TransferSonModel { FItemID = new BaseNumberNameModelX { FNumber = item.MaterialNumber, FName = item.MaterialName }, // K3ApiFKService.GetMaterialById FChkPassItem = new BaseNumberNameModelX { FNumber = "Y", FName = "是" }, FPlanMode = new BaseNumberNameModelX { FNumber = "MTS", FName = "MTS计划模式" }, FDCStockID1 = new BaseNumberNameModelX { FNumber = item.ParentStockNumber, FName = item.ParentStockName }, //K3ApiFKService.GetStockById(item.ParentStockId), FSCStockID1 = new BaseNumberNameModelX { FNumber = item.StockNumber, FName = item.StockName }, FUnitID = new BaseNumberNameModelX { FNumber = "kg", FName = "kg" }, FAuxQty = item.TransferingWeight.Value, FQty = item.TransferingWeight.Value, FBatchNo = item.BatchNo, }); } var requestModel = new K3ApiInsertRequestModel <TransferMainModel, TransferSonModel>() { Data = new K3ApiInsertDataRequestModel <TransferMainModel, TransferSonModel>() { Page1 = new List <TransferMainModel> { main }, Page2 = sons } }; string postJson = JsonHelper.ObjectToJson(requestModel); K3ApiInsertResponseModel response = K3ApiService.Insert("Transfer", postJson); if (response.StatusCode == 200) { //double totalQty = selectedLists.Sum(x => x.TransferingWeight).Value; string ids = string.Join(",", selectedLists.Select(x => x.Id)); if (_service.UpdateBillNo(ids, response.Data.BillNo)) { QueryBaseCommand.Execute(null); } else { MessageBox.Show($"插入K3调拨单,更新发料表失败,请联系管理员"); } } else { MessageBox.Show($"{response.Message}"); } } else { MessageBox.Show($"【{User.UserName}】 在K3里面不存在,或不一致"); } } else { MessageBox.Show($"【{GeneralParameter.ParamBeginDate.Value}】 没有已发料且未调拨的数据"); } CommonService.WriteActionLog(new ActionOperationLogModel { ActionName = "BatchNoQtyK3InsertCommand", ActionDesc = "生成调拨单", UserId = User.ID, MainMenuId = Menu.ID, PKId = -1, HostName = HostName }); }); }
private void InitCommand() { ICStockBill29ImportCommand = new DelegateCommand((obj) => { System.Windows.Forms.OpenFileDialog opd = new System.Windows.Forms.OpenFileDialog(); opd.Title = "选择文件"; opd.Filter = "EXCEL文件|*.xls*"; if (opd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { CommonService.ImportExcelToDatabaseTable(opd.FileName, "SJICStockBill29ExcelTemplate"); ImportFileFullName = opd.FileName; // 数据验证后加载验证模型列表到表格 CheckedICStockBill29VerificationLists.Clear(); _stockService.GetICStockBill29ImportVerificationLists().ForEach(x => CheckedICStockBill29VerificationLists.Add(x)); } opd.Dispose(); }); ICStockBill1ImportCommand = new DelegateCommand((obj) => { System.Windows.Forms.OpenFileDialog opd = new System.Windows.Forms.OpenFileDialog(); opd.Title = "选择文件"; opd.Filter = "EXCEL文件|*.xls*"; if (opd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { CommonService.ImportExcelToDatabaseTable(opd.FileName, "SJICStockBill1ExcelTemplate"); ImportFileFullName1 = opd.FileName; // 数据验证后加载验证模型列表到表格 CheckedICStockBill1VerificationLists.Clear(); _stockService.GetICStockBill1ImportVerificationLists().ForEach(x => CheckedICStockBill1VerificationLists.Add(x)); } opd.Dispose(); }); ICStockBill29InsertK3Command = new DelegateCommand((obj) => { if (CheckedICStockBill29VerificationLists.Count == 0) { MessageBox.Show("请先导入Excel模板数据"); } else if (CheckedICStockBill29VerificationLists.Where(m => !m.IsPassed).Count() > 0) { MessageBox.Show("必须全部数据验证成功才允许导入,请修改Excel数据"); } else { var billnos = CheckedICStockBill29VerificationLists.GroupBy(m => m.BillNo); foreach (var item in billnos) { var data = CheckedICStockBill29VerificationLists.Where(m => m.BillNo == item.Key); var first = data.First(); var main = new MiscellaneousDeliveryMainModel() { Fuse = "研发领料", FHeadSelfB0939 = first.BillNo, FDate = DateTime.Now.Date.ToShortDateString(), FDeptID = new BaseNumberNameModelX() { FNumber = first.DeptFNumber, FName = first.DeptFName }, FBillerID = new BaseNumberNameModelX() { FNumber = "何科威", FName = "何科威" }, // FFManagerID = new BaseNumberNameModel() { FNumber = "1033", FName = "付志刚" }, 领料人 FFManagerID = new BaseNumberNameModelX() { FNumber = first.FFManagerFNumber, FName = first.FFManagerName }, FSManagerID = new BaseNumberNameModelX() { FNumber = "1033", FName = "付志刚" } }; var sons = new List <MiscellaneousDeliverySonModel>(); foreach (ICStockBill29ImportVerificationModel entry in data) { var son = new MiscellaneousDeliverySonModel() { FItemID = new BaseNumberNameModelX() { FNumber = entry.MaterialFNumber, FName = entry.MaterialFName }, FUnitID = new BaseNumberNameModelX() { FNumber = "kg", FName = "kg" }, FDCStockID1 = new BaseNumberNameModelX() { FNumber = entry.StockFNumber, FName = entry.StockFName }, FDCSPID = new BaseNumberNameModelX() { FNumber = entry.StockPlaceFNumber, FName = entry.StockPlaceFName }, FPlanMode = new BaseNumberNameModelX() { FNumber = "MTS", FName = "MTS计划模式" }, FQty = entry.Quantity, FScanQty = entry.Quantity, Fauxqty = entry.Quantity, FEntrySelfB0947 = entry.BrandName, //"品牌", FEntrySelfB0948 = entry.CaseName, //"案子", FBatchNo = entry.BatchNo, FNote = entry.FNote }; sons.Add(son); } var requestModel = new K3ApiInsertRequestModel <MiscellaneousDeliveryMainModel, MiscellaneousDeliverySonModel>() { Data = new K3ApiInsertDataRequestModel <MiscellaneousDeliveryMainModel, MiscellaneousDeliverySonModel>() { Page1 = new List <MiscellaneousDeliveryMainModel> { main }, Page2 = sons } }; string postJson = JsonHelper.ObjectToJson(requestModel); K3ApiInsertResponseModel response = new K3ApiService("Miscellaneous_Delivery").Insert(postJson); if (response.StatusCode == 200) { K3InsertResponseData.BillNo += response.Data.BillNo + "\t"; K3InsertResponseData.BillInterID += response.Data.BillInterID + "\t"; } else { MessageBox.Show($"{response.Message}"); return; } } MessageBox.Show($"导入成功"); } }); ICStockBill1InsertK3Command = new DelegateCommand((obj) => { if (CheckedICStockBill1VerificationLists.Count == 0) { MessageBox.Show("请先导入Excel模板数据"); } else if (CheckedICStockBill1VerificationLists.Where(m => !m.IsPassed).Count() > 0) { MessageBox.Show("必须全部数据验证成功才允许导入,请修改Excel数据"); } else { } }); }
private void InitCommand() { AllCheckCommand = new DelegateCommand((obj) => { if (IsCheckedAll) { foreach (var item in MaterialPlanSeorderLists) { if (!item.IsLocked) { item.IsChecked = true; } } } else { foreach (var item in MaterialPlanSeorderLists) { if (!item.IsLocked) { item.IsChecked = false; } } } }); QueryCommand = new DelegateCommand((obj) => { MaterialPlanSeOrderFullLists.Clear(); MaterialPlanSeOrderFullLists = _materialPlanInventoryService.GetMaterialPlanSeorderFullLists(Filter.ParamBeginDate, Filter.ParamEndDate); MaterialPlanSeorderLists.Clear(); MaterialPlanSeOrderFullLists.GroupBy(x => new { x.FCustName, x.FEmpName, x.FDeptName, x.FDate, x.FInterID, x.FBillNo }) .Select(x => new MaterialPlanSeOrderShowModel { FCustName = x.Key.FCustName, FEmpName = x.Key.FEmpName, FDeptName = x.Key.FDeptName, FDate = x.Key.FDate, FInterID = x.Key.FInterID, FBillNo = x.Key.FBillNo }) .ToList().ForEach(m => MaterialPlanSeorderLists.Add(m)); MaterialPlanSeOrderEntryLists.Clear(); _materialPlanInventoryService.DeleteMaterialPlanInventory(); MaterialPlanInventoryLists.Clear(); }); UnLockCommand = new DelegateCommand((obj) => { // 将列表的锁定状态归0并且清空原料锁定总数 MaterialPlanSeOrderEntryLists.Clear(); foreach (var item in MaterialPlanSeorderLists) { item.IsChecked = false; item.IsLocked = false; } _materialPlanInventoryService.DeleteMaterialPlanInventory(); MaterialPlanInventoryLists.Clear(); }); CalculateCommand = new DelegateCommand((obj) => { //var data = MaterialPlanSeorderLists.Where(x => !x.IsLocked && x.IsChecked).Select(x => x.FDetailId); if (MaterialPlanSeOrderEntryLists.Count() > 0) { // 将选定计算行,锁定数据 string ids = string.Join(",", MaterialPlanSeOrderEntryLists.Select(x => x.FDetailId)); MaterialPlanInventoryLists.Clear(); _materialPlanInventoryService.GetMaterialPlanInventoryLists(ids).OrderByDescending(x => x.IsVisible).ToList().ForEach(x => MaterialPlanInventoryLists.Add(x)); MaterialPlanSeOrderEntryLists.Clear(); foreach (var item in MaterialPlanSeorderLists) { if (!item.IsLocked && item.IsChecked) { item.IsLocked = true; } } } else { MessageBox.Show("没有选择最新的数据"); } }); MouseLeftClickCommand = new DelegateCommand((obj) => { MaterialPlanSeOrderShowModel dr = (obj as DataGridRow).Item as MaterialPlanSeOrderShowModel; if (!dr.IsLocked) { dr.IsChecked = !dr.IsChecked; var cz = MaterialPlanSeOrderEntryLists.Any(x => x.FBillNo == dr.FBillNo); if (cz) { for (int i = 0; i < MaterialPlanSeOrderEntryLists.Count; i++) { if (MaterialPlanSeOrderEntryLists[i].FBillNo == dr.FBillNo) { MaterialPlanSeOrderEntryLists.RemoveAt(i); i--; } } } else { var entries = MaterialPlanSeOrderFullLists.Where(x => x.FBillNo == dr.FBillNo).Select(x => new MaterialPlanSeOrderEntryShowModel { FBillNo = x.FBillNo, FInterID = x.FInterID, FEntryID = x.FEntryID, FDetailId = x.FDetailId, DeliveryDate = x.DeliveryDate, FitemId = x.FitemId, FName = x.FName, FQty = x.FQty }); foreach (var item in entries) { MaterialPlanSeOrderEntryLists.Add(item); } } } }); MouseLeftClickCommand1 = new DelegateCommand((obj) => { //MaterialBomModel dr = (obj as DataGridRow).Item as MaterialBomModel; //dr.IsChecked = !dr.IsChecked; }); ImportCommand = new DelegateCommand((obj) => { StringBuilder sb = new StringBuilder(); //文件选择窗口 System.Windows.Forms.OpenFileDialog opd = new System.Windows.Forms.OpenFileDialog(); opd.Title = "选择文件"; //第一个参数是名称,随意取,第二个是模式匹配, 多个也是用“|”分割 opd.Filter = "EXCEL文件|*.xls*"; if (opd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ImportFileFullName = opd.FileName; DataTable dataTable1 = new FileHelper().ConvertExcelToDataTable(opd.FileName, true); DataTable dataTable2 = _materialPlanInventoryService.GetMaterialBomLists(); var query1 = from a in dataTable1.AsEnumerable() join b in dataTable2.AsEnumerable() on a.Field <string>("物料代码") equals b.Field <string>("Number") into temp from tt in temp.DefaultIfEmpty() select new MaterialBomModel { Seq = Convert.ToInt32(a.Field <string>("Seq")), Number = a.Field <string>("物料代码"), ItemName = tt == null ? "" : tt.Field <string>("ItemName"), BomCount = tt == null ? 0 : tt.Field <int>("BomCount"), ItemId = tt == null ? 0 : tt.Field <int>("ItemId") }; MaterialBomLists.Clear(); MaterialBomLists = new ObservableCollection <MaterialBomModel>(query1); } opd.Dispose(); }); PurchaseRequisitionImportCommand = new DelegateCommand((obj) => { StringBuilder sb = new StringBuilder(); //文件选择窗口 System.Windows.Forms.OpenFileDialog opd = new System.Windows.Forms.OpenFileDialog(); opd.Title = "选择文件"; //第一个参数是名称,随意取,第二个是模式匹配, 多个也是用“|”分割 opd.Filter = "EXCEL文件|*.xls*"; if (opd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ImportFileFullName1 = opd.FileName; // 读取Excel内容到导入Model DataTable dataTable1 = new FileHelper().ConvertExcelToDataTable(opd.FileName, true); // 读取数据库底表,跟上述excel数据做左连接来验证哪些是有合法的 DataTable dataTable2 = CommonService.GetAllItems(); var query1 = from a in dataTable1.AsEnumerable() join b in dataTable2.AsEnumerable() on a.Field <string>("物料代码") equals b.Field <string>("FNumber") into temp from tt in temp.DefaultIfEmpty() select new PurchaseRequisitionImportVerificationModel { Seq = Convert.ToInt32(a.Field <string>("Seq")), FNumber = a.Field <string>("物料代码"), Quantity = Convert.ToDouble(a.Field <string>("数量")), FName = tt == null ? "" : tt.Field <string>("FName"), SystemId = tt == null ? 0 : Convert.ToInt32(tt["FItemID"]), IsPassed = tt == null || string.IsNullOrEmpty(a.Field <string>("物料代码")) || Convert.ToDouble(a.Field <string>("数量")) <= 0 ? false : true }; CheckedPurchaseRequisitionMaterialLists.Clear(); CheckedPurchaseRequisitionMaterialLists = new ObservableCollection <PurchaseRequisitionImportVerificationModel>(query1); } opd.Dispose(); }); PurchaseRequisitionInsertK3Command = new DelegateCommand((obj) => { MessageBoxResult result = System.Windows.MessageBox.Show("验证失败的数据将会被过滤,是否继续?", "【温馨提示】", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { var sons = new List <PurchaseRequisitionSonModel>(); var ss = CheckedPurchaseRequisitionMaterialLists.AsQueryable().Where(x => x.IsPassed); var emp = _employeeLists.Where(m => m.FName == User.UserName).FirstOrDefault(); foreach (var item in ss) { var refSource = _purchaseRequisitionICItemLists.Where(m => m.FNumber == item.FNumber).FirstOrDefault(); if (refSource == null) { MessageBox.Show($" 此物料{item.FNumber}在t_icitem中不存在,请联系管理员"); return; } var son = new PurchaseRequisitionSonModel() { FItemID = new BaseNumberNameModel() { FNumber = refSource.FNumber, FName = refSource.FName }, FLeadTime = refSource.FFixLeadTime, //这个字段是根据FNumber带出来的,本身表里面没有是不是不用传递参数? FAPurchTime = DateTime.Now.Date.ToString("yyyy-MM-dd"), FFetchTime = DateTime.Now.Date.AddDays(refSource.FFixLeadTime).ToString("yyyy-MM-dd"), FAuxPropID = new BaseNumberNameModel() { FNumber = "", FName = "" }, FUnitID = _measureUnitLists.Where(m => m.FId == refSource.FUnitID).FirstOrDefault(), // FUnitID = new BaseNumberNameModel() { FNumber = "kg", FName = "kg" }, FBomInterID = new BaseNumberNameModel() { FNumber = "", FName = "" }, FSupplyID = new BaseNumberNameModel() { FNumber = "", FName = "" }, FPlanMode = new BaseNumberNameModel() { FNumber = "MTS", FName = "MTS计划模式" }, //FItemID = new BaseNumberNameModel() { FNumber = "YL.SC.RJ.00825", FName = "110" }, //FAuxPropID = new BaseNumberNameModel() { FNumber = "", FName = "" }, //FUnitID = new BaseNumberNameModel() { FNumber = "kg", FName = "kg" }, //FBomInterID = new BaseNumberNameModel() { FNumber = "", FName = "" }, //FSupplyID = new BaseNumberNameModel() { FNumber = "", FName = "" }, //FPlanMode = new BaseNumberNameModel() { FNumber = "MTS", FName = "MTS计划模式" }, FQty = item.Quantity, Fauxqty = item.Quantity, FOrderQty = 0, Fuse = "", FNumber = "", FIsInquiry = 0, FMTONo = "", FMrpLockFlag = 0, FSourceEntryID = 0, FSourceInterId = 0, FSourceTranType = 0, FSourceBillNo = "", FPlanOrderInterID = 0, FSecQty = 0, FSecCoefficient = 0, FSecUnitID = null, FAuxPropCls = null }; sons.Add(son); } PurchaseRequisitionMainModel main = new PurchaseRequisitionMainModel() { //FHeadSelfP0131 = new BaseNumberNameModel() { FNumber = "10.01", FName = "销售部" }, FHeadSelfP0131 = new BaseNumberNameModel() { FNumber = "FSQLX02", FName = "生产部" }, FPlanCategory = new BaseNumberNameModel() { FNumber = "STD", FName = "标准" }, FBizType = new BaseNumberNameModel() { FNumber = "FPLX01", FName = "外购入库" }, FDeptID = new BaseNumberNameModel() { FNumber = "05.04.02", FName = "生产制造组" }, //FCheckerID = new BaseNumberNameModel(), FSelTranType = new BaseNumberNameModel() { FNumber = "81", FName = "销售订单" }, FRequesterID = new BaseNumberNameModel() { FNumber = emp.FNumber, FName = emp.FName }, Fdate = DateTime.Now.Date.ToString("yyyy-MM-dd"), FMRP = 0, FTranType = 70, FGeneratePurBudQty = 0, Fnote = "", FNumber = "", FBillerID = new BaseNumberNameModel { FNumber = emp.FNumber, FName = emp.FName } }; var requestModel = new K3ApiInsertRequestModel <PurchaseRequisitionMainModel, PurchaseRequisitionSonModel>() { Data = new K3ApiInsertDataRequestModel <PurchaseRequisitionMainModel, PurchaseRequisitionSonModel>() { Page1 = new List <PurchaseRequisitionMainModel> { main }, Page2 = sons } }; string postJson = JsonHelper.ObjectToJson(requestModel); K3ApiInsertResponseModel response = new K3ApiService("Purchase_Requisition").Insert(postJson); K3InsertResponseData = response.Data; MessageBox.Show($"{response.Message}"); } }); PurchaseRequisitionCheckBill1K3Command = new DelegateCommand((obj) => { //var check = new K3ApiCheckBillRequestMode() //{ // Data = new K3ApiCheckBillDataRequestMode() // { // FBillNo = "POREQ005735", // FChecker = "Administrator", // FCheckDirection = 1,// 1 开启多级审核,预审 // FDealComment = "" // } //}; //string json = JsonHelper.ObjectToJson(check); //var checkRes = new K3ApiService("Purchase_Requisition").CheckBill(json); }); PurchaseRequisitionCheckBill2K3Command = new DelegateCommand((obj) => { if (string.IsNullOrEmpty(K3InsertResponseData.BillNo)) { MessageBox.Show("请生成或者输入单据号"); return; } var check = new K3ApiCheckBillRequestMode() { Data = new K3ApiCheckBillDataRequestMode() { FBillNo = K3InsertResponseData.BillNo, FChecker = User.UserName, FCheckDirection = 2,// 1 开启多级审核,预审 FDealComment = "" } }; string json = JsonHelper.ObjectToJson(check); var checkRes = new K3ApiService("Purchase_Requisition").CheckBill(json); MessageBox.Show(checkRes.Message); }); }
public K3ApiBaseViewModel() { K3ApiFKService = new K3ApiFKService(); K3ApiService = new K3ApiService(); }