王 垚
2021-11-12 0ce538e3c3dc01153ce1bfc2d75276881206c222
src/BLL/Demo.BillView/PRD/Pro_DayPlan.cs
@@ -11,6 +11,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -24,36 +25,34 @@
            base.BarItemClick(e);
            try
            {
                if (e.BarItemKey.ToUpper() == "TBDAYPLANMENU")
                //主表关闭
                if (e.BarItemKey.ToUpper() == "BTNCLOSE")
                {
                    string pageId = Guid.NewGuid().ToString();
                    ListShowParameter showParameter = new ListShowParameter();
                    showParameter.FormId = "Paez_Sc_WorkBillAutoSortBill";
                    showParameter.PageId = pageId;
                    showParameter.UseOrgId = this.Context.CurrentOrganizationInfo.ID;
                    showParameter.IsLookUp = true;
                    this.View.ShowForm(showParameter);
                    this.View.ShowForm(showParameter, delegate (FormResult result)
                    var FID = this.View.Model.GetPKValue();
                    string sql = $"/*dialect*/ update  Sc_WorkBillSortBillMain set FDocumentStatus = 'E',FHCloseMan = '{Context.UserId}',FHCloseDate = GETDATE() where FID = {FID}";
                    DBServiceHelper.Execute(Context, sql);
                    this.View.Refresh();
                    this.View.ShowMessage("操作成功");
                }
                //反关闭
                if (e.BarItemKey.ToUpper() == "BTNCANCELCLOSE")
                {
                    var FID = this.View.Model.GetPKValue();
                    string yzSql = string.Format(@"/*dialect*/
SELECT A.FBILLNO FROM SC_WORKBILLSORTBILLMAIN A
JOIN (SELECT * FROM SC_WORKBILLSORTBILLMAIN WHERE FDOCUMENTSTATUS <>'E') B ON A.FSCORDERNO=B.FSCORDERNO AND A.FSRCBILLENTRYSEQ=B.FSRCBILLENTRYSEQ
WHERE  A.FID IN ({0})
", FID);
                    DataTable dataTable = DBServiceHelper.ExecuteDataSet(Context, yzSql).Tables[0];
                    if (dataTable.Rows.Count > 0)
                    {
                        object returnData = result.ReturnData;
                        if (returnData is ListSelectedRowCollection)
                        {
                            ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
                            if (listSelectedRowCollection != null)
                            {
                                DynamicObjectDataRow datarow = (DynamicObjectDataRow)listSelectedRowCollection[0].DataRow;
                                this.View.Model.SetValue("FMATERIALID", datarow.DynamicObject["FHMaterID_Id"].ToString());
                                this.View.Model.SetValue("FPROORDERNO", datarow.DynamicObject["FSCOrderNo"].ToString());
                                this.View.Model.SetValue("FQty", datarow.DynamicObject["FHOrderNeedQty"].ToString());
                                this.View.Model.SetValue("FDayPlanFID", datarow.DynamicObject["FID"].ToString());
                                this.View.Model.SetValue("FDayPlanFentryID", datarow.DynamicObject["t1_FENTRYID"].ToString());
                                this.View.Model.SetValue("FSourceBillNo", datarow.DynamicObject["FBillNo"].ToString());
                                this.View.Model.SetValue("FSourceBillType", datarow.DynamicObject["FBillTypeID"].ToString());
                            }
                        }
                    });
                        this.View.ShowErrMessage("反关闭后会存在生产订单和明细行号数据重复");
                        return;
                    }
                    string sql = $"/*dialect*/ update  Sc_WorkBillSortBillMain set FDocumentStatus = 'C',FHCloseMan = '',FHCloseDate = NULL where FID = {FID}";
                    DBServiceHelper.Execute(Context, sql);
                    this.View.Refresh();
                    this.View.ShowMessage("操作成功");
                }
            }
            catch (Exception ex)
@@ -83,11 +82,11 @@
left join T_PRD_INSTOCKENTRY c on b.FENTRYID = c.FSrcEntryId
where a.FEntryID in ({0})", selectedRow["Id"]);
                    decimal FRealQty = DBServiceHelper.ExecuteScalar<decimal>(Context, sql, 0);
                    if (FRealQty == 0)
                    {
                        result.Append($"分录行:{selectedRow["Seq"]},日计划明细未下推生成生产入库单\r\n");
                        continue;
                    }
                    //if (FRealQty == 0)
                    //{
                    //    result.Append($"分录行:{selectedRow["Seq"]},日计划明细未下推生成生产入库单\r\n");
                    //    continue;
                    //}
                    sql = string.Format(@"
/*dialect*/
select count(*)res from Sc_WorkBillSortBillSub a 
@@ -99,7 +98,7 @@
                    decimal Count = DBServiceHelper.ExecuteScalar<decimal>(Context, sql, 0);
                    if (Count > 0)
                    {
                        result.Append($"分录行:{selectedRow["Seq"]},下游领料单的已领料数小于入库的标准用量\r\n");
                        result.Append($"分录行:{selectedRow["Seq"]},下游领料单的已领料数大于入库的标准用量\r\n");
                        continue;
                    }
                    sql = string.Format(@"