王 垚
2021-02-02 580dcaa522b417105c3cdbd9fcb078c404817492
选单功能 bug
2个文件已修改
119 ■■■■■ 已修改文件
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -442,7 +442,7 @@
                        }
                        else
                        {
                            LogHelper.Error(saveObj.ToString());
                            LogHelper.Error("生产日计划导入 新增异常:" + saveObj.ToString());
                            this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
                        }
                    }
@@ -473,8 +473,8 @@
                        }
                        else
                        {
                            LogHelper.Error("生产日计划导入 新增异常:" + saveObj.ToString());
                            this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
                            this.View.ShowErrMessage(jsonRoot.ToString());
                        }
                    }
                    this.View.UpdateView();
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -507,6 +507,13 @@
                }
                else
                {
                    //验证日计划工单是否存在数据 生产订单号加明细行号 已生成过日计划的不生成
                    string moSql = string.Format(@"/*dialect*/  select FID from SC_WORKBILLSORTBILLMAIN
 where FSCORDERNO ='{0}' and FSRCBILLENTRYSEQ = '{1}'", Convert.ToString(current["FSCOrderNo"]), Convert.ToString(current["FSRCBILLENTRYSEQ"]));
                    int fDayPlanFID = DBServiceHelper.ExecuteScalar<int>(Context, moSql, 0);
                    if (fDayPlanFID > 0)
                        continue;
                    //根据生产订单号和物料查询是否存在明细 +生产订单明细行号
                    sql = string.Format(@"
/*dialect*/
@@ -2981,59 +2988,73 @@
        //生产计划平台选单 生产订单数据
        public void SelectMenu()
        {
            //获取单据体信息
            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
            //单据体信息转换为列表集合
            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
            int Fseq = entityDataObjoct.Count();
            //if (Fseq == 0)
            //{
            //    this.View.ShowErrMessage("请先加载数据");
            //    return;
            //}
            //var isexists = entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == "1");
            //var isexists1 = entityDataObjoct.ToList().FindAll(x => x["FSRCBILLENTRYSEQ"].ToString() == "1");
            string pageId = Guid.NewGuid().ToString();
            ListShowParameter showParameter = new ListShowParameter();
            showParameter.FormId = "PRD_MO";
            showParameter.PageId = pageId;
            showParameter.UseOrgId = this.Context.CurrentOrganizationInfo.ID;
            showParameter.IsLookUp = true;
            this.View.ShowForm(showParameter);
            this.View.ShowForm(showParameter, delegate (FormResult result)
            try
            {
                object returnData = result.ReturnData;
                if (returnData is ListSelectedRowCollection)
                //获取单据体信息
                Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
                //单据体信息转换为列表集合
                DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
                int Fseq = entityDataObjoct.Count();
                //if (Fseq == 0)
                //{
                //    this.View.ShowErrMessage("请先加载数据");
                //    return;
                //}
                //var isexists = entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == "1");
                //var isexists1 = entityDataObjoct.ToList().FindAll(x => x["FSRCBILLENTRYSEQ"].ToString() == "1");
                string pageId = Guid.NewGuid().ToString();
                ListShowParameter showParameter = new ListShowParameter();
                showParameter.FormId = "PRD_MO";
                showParameter.PageId = pageId;
                showParameter.UseOrgId = this.Context.CurrentOrganizationInfo.ID;
                showParameter.IsLookUp = true;
                this.View.ShowForm(showParameter);
                this.View.ShowForm(showParameter, delegate (FormResult result)
                {
                    ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
                    if (listSelectedRowCollection != null)
                    object returnData = result.ReturnData;
                    if (returnData is ListSelectedRowCollection)
                    {
                        foreach (var listSelectedRow in listSelectedRowCollection)
                        ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
                        LogHelper.Info("生产计划平台选单 行数" + listSelectedRowCollection.Count().ToString());
                        if (listSelectedRowCollection != null)
                        {
                            if (entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == listSelectedRow.DataRow["t1_FSeq"].ToString() && x["FSCOrderNo"].ToString() == listSelectedRow.DataRow["FBillNo"].ToString()).Count() > 0)
                                return;
                            //今天以前的数据是显示不出来的
                            string sql = $"select DATEDIFF(d,getdate(),FPlanStartDate)days from T_PRD_MOENTRY where FENTRYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}";
                            int day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
                            this.Model.CreateNewEntryRow("FEntity");
                            this.View.Model.SetItemValueByNumber("FORGID", "100", Fseq);
                            this.View.Model.SetValue("FSCOrderNo", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq);
                            this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["t1_FSeq"].ToString(), Fseq);
                            this.View.Model.SetValue("FMatrailId", listSelectedRow.DataRow["FMaterialId_Id"].ToString(), Fseq);//2129900005
                            this.View.Model.SetValue("FFUnit", listSelectedRow.DataRow["FUnitId_Id"].ToString(), Fseq);
                            this.View.Model.SetValue("FOrderQuantity", listSelectedRow.DataRow["FQty"].ToString(), Fseq);
                            this.View.Model.SetValue("FProductWorkShopId", listSelectedRow.DataRow["FWorkShopID_Id"].ToString(), Fseq);
                            this.View.Model.SetValue("FOrderLevel", "3", Fseq);
                            this.View.Model.SetValue("FBzDate", DateTime.Now.AddDays(day).ToShortDateString(), Fseq);//预计开工日期
                            this.View.Model.SetValue("FT" + day.ToString(), listSelectedRow.DataRow["FQty"].ToString(), Fseq);
                            Fseq++;
                            foreach (var listSelectedRow in listSelectedRowCollection)
                            {
                                if (entityDataObjoct.Where(x => x["FSRCBILLENTRYSEQ"].ToString() == listSelectedRow.DataRow["t1_FSeq"].ToString() && x["FSCOrderNo"].ToString() == listSelectedRow.DataRow["FBillNo"].ToString()).Count() > 0)
                                {
                                    LogHelper.Info("生产计划平台选单:"+listSelectedRow.DataRow["FBillNo"].ToString()+ ", 行号," +listSelectedRow.DataRow["t1_FSeq"].ToString() + ",已选");
                                    continue;
                                }
                                //今天以前的数据是显示不出来的
                                string sql = $"select DATEDIFF(d,getdate(),FPlanStartDate)days from T_PRD_MOENTRY where FENTRYID = {listSelectedRow.DataRow["t1_FENTRYID"].ToString()}";
                                int day = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
                                if (day < 0)
                                {
                                    LogHelper.Info("生产计划平台选单:日期太靠后," + listSelectedRow.DataRow["FBillNo"].ToString()+ ", 行号, "+listSelectedRow.DataRow["t1_FSeq"].ToString() + ", day= "+ day.ToString());
                                    //LogHelper.Info(sql);
                                    continue;
                                }
                                this.Model.CreateNewEntryRow("FEntity");
                                this.View.Model.SetItemValueByNumber("FORGID", "100", Fseq);
                                this.View.Model.SetValue("FSCOrderNo", listSelectedRow.DataRow["FBillNo"].ToString(), Fseq);
                                this.View.Model.SetValue("FSRCBILLENTRYSEQ", listSelectedRow.DataRow["t1_FSeq"].ToString(), Fseq);
                                this.View.Model.SetValue("FMatrailId", listSelectedRow.DataRow["FMaterialId_Id"].ToString(), Fseq);//2129900005
                                this.View.Model.SetValue("FFUnit", listSelectedRow.DataRow["FUnitId_Id"].ToString(), Fseq);
                                this.View.Model.SetValue("FOrderQuantity", listSelectedRow.DataRow["FQty"].ToString(), Fseq);
                                this.View.Model.SetValue("FProductWorkShopId", listSelectedRow.DataRow["FWorkShopID_Id"].ToString(), Fseq);
                                this.View.Model.SetValue("FOrderLevel", "3", Fseq);
                                this.View.Model.SetValue("FBzDate", DateTime.Now.AddDays(day).ToShortDateString(), Fseq);//预计开工日期
                                this.View.Model.SetValue("FT" + day.ToString(), listSelectedRow.DataRow["FQty"].ToString(), Fseq);
                                Fseq++;
                            }
                        }
                    }
                }
            });
                });
            }
            catch (Exception ex)
            {
                LogHelper.Error("选单失败:" + ex.Message);
            }
        }
    }
}