王 垚
2020-12-16 8524e9349787b08c974542cf21bcc133e03ee16d
问题更改上传备份
4个文件已修改
129 ■■■■■ 已修改文件
src/BLL/Demo.BillView/Config/kdapi.config 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/Config/kdapi.config
@@ -4,6 +4,6 @@
        <add key="DbId" value="5f9258a311401c"></add>
    <add key="UserName" value="Administrator"></add>
        <add key="PassWord" value="888888"></add>
        <add key="KDApiUrl" value="http://erp-windows002/K3Cloud/"></add>
        <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add>
    </appSettings>
</configuration>
src/BLL/Demo.BillView/PRD/ProCompleteAnalysisDetails.cs
@@ -48,11 +48,14 @@
                        this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//齐套数量  
                        this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量  
                        this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量   
                        this.Model.SetValue("FMateralCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//物料数量
                        this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量
                        this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套   
                        this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//生产订单内码   
                        this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//生产订单内码   
                        this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//日计划日期   
                        this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//库存组织
                        this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], i);//货主类型
                        this.Model.SetValue("FOwnerId", dt.Rows[i]["FOwnerId"], i);//货主
                    }
                }
                did = true;
@@ -130,9 +133,6 @@
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    decimal FPlanIssueCount = Convert.ToDecimal(dt.Rows[i]["FSumPlanCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//计划发料数量
                    decimal FCompleteCount = Convert.ToDecimal(dt.Rows[i]["FCompleteCount"]) * Convert.ToDecimal(dt.Rows[i]["FUNITDOSAGE"]);//齐套数量
                    decimal FLackCount = FPlanIssueCount - FCompleteCount;//缺料数量
                    this.Model.CreateNewEntryRow("FEntity");
                    this.Model.SetValue("FSEQ", i + 1, i);//序号
                    this.Model.SetValue("FMateralDetailId", dt.Rows[i]["FHMATERID"], i);
@@ -140,11 +140,14 @@
                    this.Model.SetValue("FCompleteCount", dt.Rows[i]["FCompleteCount"], i);//齐套数量  
                    this.Model.SetValue("FLackCount", dt.Rows[i]["FLackCount"], i);//缺料数量  
                    this.Model.SetValue("FPassableCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//可用数量   
                    this.Model.SetValue("FMateralCount", dt.Rows[i]["FHLeftQty"].ToString(), i);//物料数量
                    this.Model.SetValue("FMateralCount", dt.Rows[i]["FHStockQty"].ToString(), i);//物料数量
                    this.Model.SetValue("FCompleteDetailStatus", dt.Rows[i]["FComPlete"].ToString(), i);//是否齐套  
                    this.Model.SetValue("FHMainICMOInterIDr", dt.Rows[i]["FHMainICMOInterIDr"].ToString(), i);//生产订单内码   
                    this.Model.SetValue("FPRDBillNo", dt.Rows[i]["FPRDBillNo"].ToString(), i);//生产订单内码   
                    this.Model.SetValue("FPlanDate", dt.Rows[i]["FPlanDate"].ToString(), i);//日计划日期   
                    this.Model.SetValue("FOrgId", dt.Rows[i]["FHStockOrgID"], i);//库存组织
                    this.Model.SetValue("FOwnerTypeId", dt.Rows[i]["FOwnerTypeId"], i);//货主类型
                    this.Model.SetValue("FOwnerId", dt.Rows[i]["FOwnerId"], i);//货主
                }
            }
            this.View.UpdateView();
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -27,11 +27,7 @@
    [HotUpdate]
    public class Pro_ScDayImport : AbstractDynamicFormPlugIn
    {
        private string fileFullPath = string.Empty;
        //public override void BarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
        //{
        //    base.BarItemClick(e);
@@ -53,8 +49,6 @@
        //    }
        //}
        public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
        {
            base.AfterBarItemClick(e);
@@ -98,6 +92,10 @@
            }
            base.CustomEvents(e);
        }
        /// <summary>
        /// 文件上传界面数据显示
        /// </summary>
        /// <param name="fileFullPath"></param>
        private void ImportDataSC(string fileFullPath)
        {
            using (ExcelOperation helper = new ExcelOperation(this.View))
@@ -116,7 +114,6 @@
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            //根据生产订单号和物料查询是否存在明细
                            string sql = string.Format(@"/*dialect*/ SELECT T1.FBILLNO,T2.* FROM T_PRD_MO T1
LEFT JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID
@@ -124,19 +121,27 @@
WHERE T1.FBILLNO = '{0}'  AND T3.FNUMBER = '{1}'", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString());
                            DataTable _dt = new DataTable();
                            _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                            string FLOT = "";//FLOT  批次
                            string FQTY = "";//FQTY 生产订单数量
                            string FBILLNO = "";//FBILLNO 原单号 
                            if (_dt.Rows.Count > 0)
                            {
                                FLOT = _dt.Rows[0]["FLOT"].ToString();
                                FQTY = _dt.Rows[0]["FQTY"].ToString();
                                FBILLNO = _dt.Rows[0]["FBILLNO"].ToString();
                            }
                            //物料编码 + 生产订单号 + 生产资源 去判断是否导入过 带出日计划工单ID及编号
                            string fDayPlanID = "";
                            string fDayPlanBillNo = "";
                            sql = string.Format(@"select a.FID,FBILLNO,FSCOrderNo,FHMaterID,FHSourceID from Sc_WorkBillSortBillMain a JOIN T_BD_MATERIAL b ON a.FHMaterID = b.FMATERIALID
left join T_ENG_WORKCENTER c on a.FHSourceID=c.fid
 where FSCOrderNo ='{0}' and b.FNUMBER ='{1}' and isnull(c.FNUMBER,'') ='{2}' ", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][4].ToString());
                            DataTable dayPlanDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                            if (dayPlanDt.Rows.Count > 0)
                            {
                                fDayPlanID = _dt.Rows[0]["FID"].ToString();
                                fDayPlanBillNo = _dt.Rows[0]["FBILLNO"].ToString();
                            }
                            //DynamicObject row = new DynamicObject(entity.DynamicObjectType);
                            this.Model.CreateNewEntryRow("FEntity");
                            this.Model.SetValue("FSEQ", i + 1, i);
@@ -147,27 +152,23 @@
                            this.Model.SetItemValueByNumber("FResourcesId", dt.Rows[i][4].ToString(), i);
                            //  this.Model.SetValue("FMatrailId", dt.Rows[i][5].ToString(), i);
                            this.Model.SetItemValueByNumber("FMatrailId", dt.Rows[i][5].ToString(), i);
                            //  this.Model.SetValue("FMatrailName", dt.Rows[i][6].ToString(), i);
                            // this.Model.SetValue("FModel", dt.Rows[i][7].ToString(), i);
                            // this.Model.SetValue("FUnit", dt.Rows[i][8].ToString(), i);
                            this.Model.SetValue("FBatch", dt.Rows[i][9].ToString(), i);
                            this.Model.SetValue("FSalOrderCount", dt.Rows[i][10].ToString(), i);
                            this.Model.SetValue("FCompleteSetCount", dt.Rows[i][12].ToString(), i);
                            this.Model.SetValue("FDeliveryDate", ToDateTimeValue(dt.Rows[i][13].ToString()), i);
                            this.Model.SetValue("FOrderLevel", dt.Rows[i][14].ToString(), i);
                            this.Model.SetValue("FOrderLevel", OrderType(dt.Rows[i][14].ToString()), i);
                            this.Model.SetValue("FOrderQuantity", FQTY, i);
                            this.Model.SetValue("FDayPlanID", fDayPlanID, i);//日计划工单ID
                            this.Model.SetValue("FDayPlanBillNo", fDayPlanBillNo, i);//日工单编号
                            for (int j = 0; j <= 60; j++)
                            {
                                this.Model.SetValue("FT" + "" + j + "", dt.Rows[i][15 + j].ToString(), i);
                            }
                            //调用数量值更新
                            this.View.InvokeFieldUpdateService("FT0", i);
                        }
                    }
                    this.View.UpdateView();
                    for (int j = 0; j <= 60; j++)
                    {
                        this.View.GetControl("FT" + "" + j + "").Text = date.AddDays(j).ToShortDateString();
@@ -179,7 +180,30 @@
        }
        /// <summary>
        /// 订单状态等级
        /// </summary>
        /// <param name="Type"></param>
        /// <returns></returns>
        public string OrderType(string Type)
        {
            switch (Type)
            {
                case "特急":
                    return "1";
                    break;
                case "紧急":
                    return "2";
                    break;
                case "普通":
                    return "3";
                    break;
                default:
                    return " ";
                    break;
            }
        }
        /// <summary>  
        /// 时间戳Timestamp转换成日期  
        /// </summary>  
@@ -193,7 +217,6 @@
            DateTime targetDt = dtStart.Add(toNow);
            return targetDt;
        }
        /// <summary>
        /// 导入功能
        /// </summary>
@@ -269,8 +292,6 @@
                        FQTY = dt.Rows[0]["FQTY"].ToString();
                        FBILLNO = dt.Rows[0]["FBILLNO"].ToString();
                    }
                    JObject jsonRoot = new JObject();
                    jsonRoot.Add("Creator", "");
                    jsonRoot.Add("NeedUpDateFields", new JArray());
@@ -346,7 +367,7 @@
                    {
                        jsonModel.Add("FID", Convert.ToString(current["FDayPlanID"])); ;//源单编号
                        jsonRoot.Add("Model", jsonModel);
                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                        var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -355,29 +376,22 @@
                        {
                            string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
                            string FDayPlanID = saveObj["Result"]["Id"].ToString();
                            this.Model.SetValue("FDayPlanBillNo", FDayPlanBillNo, Convert.ToInt32(current["SEQ"]) - 1);// 
                            this.Model.SetValue("FDayPlanID", FDayPlanID, Convert.ToInt32(current["SEQ"]) - 1);// 
                            this.View.ShowMessage("导入成功");
                        }
                        else
                        {
                            //LogService.WriteAsync(saveIsSuc);
                            LogService.WriteAsync(jsonRoot);
                            LogHelper.Error(jsonRoot.ToString());
                            this.View.ShowErrMessage(jsonRoot.ToString());
                        }
                    }
                    else
                    {
                        jsonRoot.Add("Model", jsonModel);
                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                        var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -418,9 +432,6 @@
            }
        }
        /// <summary>
        /// 数字转换时间格式
        /// </summary>
@@ -468,7 +479,6 @@
            }
            return string.Empty;
        }
    }
}
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -639,7 +639,7 @@
                _jsonRoot.Add("Model", _jsonModel);
                CloudClient _cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                CloudClient _cloudClient = new CloudClient("http://localhost/K3Cloud/");
                var _result = _cloudClient.Save("paez_CompleteAnalysisTemp", _jsonRoot.ToString());
                JObject _saveObj = JObject.Parse(_result);
                string _saveIsSuc = _saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -712,7 +712,7 @@
                    jsonRoot.Add("Model", jsonModel);
                    CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                    CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                    var result = cloudClient.Save("paez_CompleteAnalysisTemp", jsonRoot.ToString());
                    JObject saveObj = JObject.Parse(result);
                    string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -770,8 +770,7 @@
LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID 
LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID and a.FOwnerId = b.FOwnerId 
LEFT join T_ORG_Organizations c on a.FOWNERID = c.FORGID
--where isnull(a.FBASEQTY,0)-ISNULL(b.FHUseQty,0)>0 and  T1.FMATERIALID in (105842,
--105843)
where T1.FMATERIALID in (105773)
");
                ListInventory = ds.ToModelList<PRD_Inventory>();
                //总库存 物料+库存组织+库存数量
@@ -788,10 +787,8 @@
) T1 
LEFT JOIN T_STK_Inventory a on T1.FStockOrgId = a.FStockOrgId and T1.FMATERIALID =a.FMATERIALID 
LEFT JOIN JIT_MOMaterReadysBill B ON T1.FStockOrgId = b.FHSTOCKORGID and T1.FMATERIALID =b.FHMATERID
--where T1.FMATERIALID in (105842,
--105843)
where T1.FMATERIALID in (105773)
group by T1.FStockOrgId,T1.FMATERIALID
");
                ListInventoryByStockOrgId = ds.ToModelList<PRD_Inventory>();
                //需要齐套分析的数据
@@ -807,8 +804,8 @@
JOIN T_BD_MATERIAL T4 on T2.FMATERIALID = T4.FMATERIALID
JOIN T_ORG_Organizations t5 on a.FHPRDORGID = t5.FORGID
--where FPRDMOMAINID = 100010
--where  t4.FMATERIALID in (105842,
--105843)
where  t4.FMATERIALID in (105773
)
ORDER BY b.FHMASTERDATE,a.FHOrderLev  ";
                ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                List<PRD_PPBOM> BomList = ds.ToModelList<PRD_PPBOM>();
@@ -827,18 +824,18 @@
                        //实际总库存 
                        decimal sjkc = 0;
                        var sjkcList = ListInventoryByStockOrgId.Where(x => x.FMATERIALID == _item.FMATERIALID2 && x.FStockOrgId == _item.FStockOrgId).FirstOrDefault();
                        sjkc = sjkcList.FBASEQTY;
                        //真正需要取计算的数量(拆分货主)
                        //货主匹配
                        List<PRD_Inventory> _ListInventory = ListInventory.Where(c => c.FMATERIALID == _item.FMATERIALID2 && c.FStockOrgId == _item.FStockOrgId && c.FBASEQTY > 0).ToList();
                        if (_ListInventory.Count > 0)
                        {
                            decimal _fLackCount = _item.PlanCount > sjkcList.FBASEQTY ? (_item.PlanCount - sjkcList.FBASEQTY) : 0;//缺料数量
                            foreach (var Inventory in _ListInventory)
                            {
                                if (need == 0)
                                    break;
                                decimal fCompleteCount = need >= Inventory.FBASEQTY ? Inventory.FBASEQTY : need;//齐套数量
                                decimal _fLackCount = _item.PlanCount - fCompleteCount;//缺料数量
                                //总计划数量 和 总库存数量比对
                                completeAnalysisTempModel.Add(new Demo.Model.Model.CompleteAnalysisTempModel
                                {
                                    FHMainICMOInterIDr = _item.FPRDMOMAINID,
@@ -856,16 +853,16 @@
                                    FCompleteCount = fCompleteCount, //齐套数量
                                    FLackCount = _fLackCount,//缺料数量
                                    FHStockQty = sjkcList.FBASEQTY,//即时库存
                                    FHLeftQty = sjkcList.FBASEQTY,//可用数量
                                    FComPlete = _fLackCount > 0 ? "未齐套" : "齐套",
                                    FHLeftQty = Inventory.FBASEQTY,//可用数量
                                    FComPlete = sjkcList.FBASEQTY >= _item.PlanCount ? "齐套" : "未齐套",
                                    FPlanDate = item.FHMASTERDATE // 日计划日期
                                });
                                //扣减总库存数量
                                sjkcList.FBASEQTY = sjkc >= fCompleteCount ? sjkc - fCompleteCount : 0;
                                //扣减消耗库存
                                Inventory.FBASEQTY = Inventory.FBASEQTY - fCompleteCount;
                                sjkcList.FBASEQTY = sjkcList.FBASEQTY >= fCompleteCount ? sjkcList.FBASEQTY - fCompleteCount : 0;
                                //剩余日计划需求数量
                                need = need >= Inventory.FBASEQTY ? need - Inventory.FBASEQTY : 0;
                                //扣减消耗库存
                                Inventory.FBASEQTY = Inventory.FBASEQTY - fCompleteCount;
                            }
                        }
                        else
@@ -936,6 +933,9 @@
                //执行完成后 更新日计划工单状态
                DBServiceHelper.Execute(Context, @"
/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '未齐套' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套')
");
                DBServiceHelper.Execute(Context, @"
/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '齐套' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套')
");
                sw.Stop();//结束计时
                LogHelper.Info("运行总时长:" + sw.Elapsed);
@@ -1070,7 +1070,7 @@
                            this.View.GetFieldEditor("FT" + getDay.Days.ToString(), j).Enabled = false; //单据体行锁定字段
                            grid.SetForecolor("FT" + "" + getDay.Days.ToString() + "", "#FF0000", j);
                        }
                        else
                        else if (dr["FCOMPLETE"].ToString() == "齐套")
                        {
                            this.View.GetFieldEditor("FT" + getDay.Days.ToString(), j).Enabled = false; //单据体行锁定字段
                            grid.SetForecolor("FT" + "" + getDay.Days.ToString() + "", "#00FF00", j);
@@ -1684,7 +1684,7 @@
                    ["Model"] = model
                };
                CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
                JObject saveObj = JObject.Parse(result);
                string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();