王 垚
2021-09-08 dfbc0389d6b9b2bd8e92e976248b9992a03979f4
提料生成送货单
下推数量 =提料计划数量 - 已生成送货单数量
2个文件已修改
48 ■■■■■ 已修改文件
src/BLL/Demo.BillView/PRD/Pro_TlPush.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
@@ -1,5 +1,6 @@
using System;
using System.ComponentModel;
using System.Linq;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
@@ -27,15 +28,14 @@
                {
                    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")); //通知日期
@@ -44,8 +44,6 @@
                        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", ""); //供货方地址
@@ -56,7 +54,6 @@
                        //model.Add("FSettleId", new JObject() { ["Fnumber"] = "" }); // 结算方 
                        //model.Add("FIsInsideBill", "false"); // 外部单据
                        //model.Add("FScanBox", "false"); // 序列号上传
                        //子表 数据模型
                        JArray Fentity = new JArray();
                        foreach (var item in entityRows)
@@ -64,22 +61,22 @@
                            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");
@@ -124,12 +121,10 @@
                        _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"] = "",
@@ -141,7 +136,6 @@
                            //["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();
src/BLL/Demo.BillView/PRD/Pro_TlPushAudit.cs
@@ -15,7 +15,7 @@
namespace Demo.DynamicForm.PRD
{
    [Description("送货计划单插件关联提料计划单")]
    [Description("[弃用]送货计划单插件关联提料计划单")]
    [HotUpdate]
    public class Pro_TlPushAudit : AbstractOperationServicePlugIn
    {