| | |
| | | using System; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | | using Kingdee.BOS.Core.Bill; |
| | | using Kingdee.BOS.Core.Bill.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | |
| | | { |
| | | if (a == "TBPUSH") |
| | | { |
| | | // 获取父单据体 |
| | | Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");//标识 |
| | | //DynamicObjectCollection entityRows = entity.DynamicProperty.GetValue(this.Model.DataObject) as DynamicObjectCollection;//获取父单据体行集合 |
| | | DynamicObjectCollection entityRows = this.Model.GetEntityDataObject(entity);//获取父单据体行集合 |
| | | // 1和2均可 |
| | | // 取当前页面子单据体 |
| | | //Entity subEntity = this.View.BillBusinessInfo.GetEntity("FEntity");//标识 |
| | | //DynamicObjectCollection rows = this.Model.GetEntityDataObject(subEntity);//获得子单据体行集合 |
| | | //构建 model 主表 |
| | | int ret = entityRows.Where(x => Convert.ToDecimal(x["FHQty"]) - Convert.ToDecimal(x["FReciveCount"]) > 0).Count(); |
| | | if (ret == 0) |
| | | { |
| | | this.View.ShowErrMessage("已全部生成送货单"); |
| | | return; |
| | | } |
| | | JObject model = new JObject(); |
| | | model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //单据类型 |
| | | model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //通知日期 |
| | |
| | | model.Add("FSupplierId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSupplierID") as DynamicObject)?["Number"].ToString() ?? "" }); //供应商 |
| | | model.Add("FOwnerTypeIdHead", "BD_OwnerOrg");// 货主类型 |
| | | model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//货主 |
| | | |
| | | |
| | | //model.Add("FPurchaserId", new JObject() { ["Fnumber"] = "" }); //采购员 |
| | | //model.Add("FReceiverId", new JObject() { ["Fnumber"] = "" }); //收料员 |
| | | //model.Add("FSupplyAddress", ""); //供货方地址 |
| | |
| | | //model.Add("FSettleId", new JObject() { ["Fnumber"] = "" }); // 结算方 |
| | | //model.Add("FIsInsideBill", "false"); // 外部单据 |
| | | //model.Add("FScanBox", "false"); // 序列号上传 |
| | | |
| | | //子表 数据模型 |
| | | JArray Fentity = new JArray(); |
| | | foreach (var item in entityRows) |
| | |
| | | JObject FentityModel = new JObject(); |
| | | FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = (item["FHMaterID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 物料编码 |
| | | FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 单位 |
| | | FentityModel.Add("FPreDeliveryDate", this.Model.GetValue("FHDate").ToString()); // 预计到货日期 |
| | | FentityModel.Add("FPreDeliveryDate", this.Model.GetValue("FHDate").ToString()); //预计到货日期 |
| | | FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 计价单位 |
| | | FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 库存单位 |
| | | FentityModel.Add("FActReceiveQty", item["FHQty"].ToString()); // 供应商送货数量 |
| | | FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");// 货主类型 |
| | | FentityModel.Add("FActReceiveQty", Convert.ToDecimal(item["FHQty"]) - Convert.ToDecimal(item["FReciveCount"])); // 供应商送货数量(提料计划数量 - 已生成送货单数量) |
| | | FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//货主类型 |
| | | FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//货主 |
| | | FentityModel.Add("FSrcId", item["FHPOOrderInterID"].ToString());// 源单内码 |
| | | FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");// 源单类型 |
| | | FentityModel.Add("FSrcBillNo", item["FHPOOrderBillNo"].ToString());// 源单单号 |
| | | FentityModel.Add("FSRCENTRYID", item["FHPOOrderEntryID"].ToString());// 源单分录内码 |
| | | FentityModel.Add("FORDERBILLNO", item["FHPOOrderBillNo"].ToString());// 源单单号 |
| | | FentityModel.Add("FPOORDERENTRYID", item["FHPOOrderEntryID"].ToString());// 源单分录内码 |
| | | FentityModel.Add("FTLId", this.View.Model.DataObject["Id"].ToString());// 提料源单内码 |
| | | FentityModel.Add("FTLentryId", item["Id"].ToString());// 提料源单分录内码 |
| | | FentityModel.Add("FTLOrderNo", this.Model.GetValue("FBillNo").ToString());// 提料源单分录内码 |
| | | |
| | | FentityModel.Add("FSrcId", item["FHPOOrderInterID"].ToString());//源单内码 |
| | | FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//源单类型 |
| | | FentityModel.Add("FSrcBillNo", item["FHPOOrderBillNo"].ToString());//源单单号 |
| | | FentityModel.Add("FSRCENTRYID", item["FHPOOrderEntryID"].ToString());//源单分录内码 |
| | | FentityModel.Add("FORDERBILLNO", item["FHPOOrderBillNo"].ToString());//源单单号 |
| | | FentityModel.Add("FPOORDERENTRYID", item["FHPOOrderEntryID"].ToString());//源单分录内码 |
| | | FentityModel.Add("FTLId", this.View.Model.DataObject["Id"].ToString());//提料源单内码 |
| | | FentityModel.Add("FTLentryId", item["Id"].ToString());//提料源单分录内码 |
| | | FentityModel.Add("FTLOrderNo", this.Model.GetValue("FBillNo").ToString());//提料源单分录内码 |
| | | |
| | | JArray Fentity2 = new JArray(); |
| | | JObject FentityModel2 = new JObject(); |
| | | FentityModel2.Add("FDetailEntity_Link_FRULEID", "a8c6b6e5-a8c0-4fc1-8592-6b76c2136cf9"); |
| | |
| | | _FentityModel.Add("FPricePoint", 0); // 定价时点 |
| | | //FPricePoint |
| | | model.Add("FinanceEntity ", _FentityModel);//财务信息 |
| | | |
| | | //model.Add("FinanceEntity ", new JObject() { |
| | | //"FSettleOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }, |
| | | //"FSettleCurrId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSettleCurrId") as DynamicObject)?["Number"].ToString() ?? "" } |
| | | //}); |
| | | |
| | | JObject jsonRoot = new JObject() |
| | | { |
| | | ["Creator"] = "", |
| | |
| | | //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 |
| | | ["Model"] = model |
| | | }; |
| | | |
| | | var result = cloudClient.Save("PUR_ReceiveBill", jsonRoot.ToString()); |
| | | JObject saveObj = JObject.Parse(result); |
| | | string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); |