public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
        {
            base.AfterBarItemClick(e);

            //客户回签签单打印  传Fid ,不需要自动打印,加一个按钮打印
            //补打标签

            if (e.BarItemKey.EqualsIgnoreCase("SZXY_tbGridPrintNoBD"))
            {
                this.Model.DataObject["FFormId"] = this.View.BusinessInfo.GetForm().Id;
                Utils.Save(View, new DynamicObject[] { this.Model.DataObject }, Kingdee.BOS.Orm.OperateOption.Create(), Context);

                string F_SZXY_ForLabel = Convert.ToString(this.Model.GetValue("F_SZXY_ForLabel"));//输入的补打标签

                DynamicObject OrgObj = this.Model.GetValue("F_SZXY_OrgId") as DynamicObject;

                if (OrgObj != null && !F_SZXY_ForLabel.IsNullOrEmptyOrWhiteSpace())
                {
                    long orgid = Convert.ToInt64(OrgObj["Id"]);

                    //如果输入的是分切条码号
                    string SelSql = $" /*dialect*/select T1.F_SZXY_CBNO1,T1.F_SZXY_CUST,T4.FNAME   " +
                                    $" from  SZXY_t_KHHQDEntry T1  " +
                                    $"left join SZXY_t_KHHQD T2  on t1.fid=T2.fid   " +
                                    $"left join T_BD_MATERIAL T3   on T3.FMATERIALID = T1.F_SZXY_MATERIAL  " +
                                    $"left join T_BD_MATERIAL_L T4 on t3.FMATERIALID = T4.FMATERIALID " +
                                    $"where  T1.F_SZXY_CBNO1='{F_SZXY_ForLabel}' ";
                    DataSet SelSqlds = DBServiceHelper.ExecuteDataSet(this.Context, SelSql);


                    //如果输入的是生产订单号加行号
                    string SelSql1 = $"/*dialect*/select " +
                                     $"T1.F_SZXY_CBNO1 ,T1.F_SZXY_CUST,T4.FNAME    " +
                                     $" from  SZXY_t_KHHQDEntry T1 " +
                                     $"left join SZXY_t_KHHQD T2  on t1.fid=T2.fid " +
                                     $"left join T_BD_MATERIAL T3   on T3.FMATERIALID = T1.F_SZXY_MATERIAL  " +
                                     $"left join T_BD_MATERIAL_L T4 on t3.FMATERIALID = T4.FMATERIALID  " +
                                     $" where  T1.F_SZXY_MONOE+CAST(T1.F_SZXY_MOLINENOE as varchar(50))='{F_SZXY_ForLabel}' " +

                                     $" group by T1.F_SZXY_CBNO1 ,F_SZXY_CUST,T4.FNAME ";

                    DataSet SelSqlds1 = DBServiceHelper.ExecuteDataSet(this.Context, SelSql1);


                    string InType = "";

                    if (SelSqlds.Tables[0].Rows.Count > 0)
                    {
                        InType = "BarNo";
                        Logger.Debug("输入的是条码号", SelSql);
                    }
                    if (SelSqlds1.Tables[0].Rows.Count > 0)
                    {
                        InType = "BillNo";
                        Logger.Debug("输入的是生产订单号", SelSql1);
                    }
                    if (InType == "")
                    {
                        this.View.ShowWarnningMessage("没有匹配到信息,请输入条码号或者生产订单号+行号!"); return;
                    }

                    //是否指定标签模板
                    string PJSQL = " ";

                    //DynamicObject PrintTemp = this.Model.GetValue("F_SZXY_LabelPrint") as DynamicObject;

                    //if (PrintTemp != null)
                    //{
                    //    string PId = Convert.ToString(PrintTemp["Id"]);

                    //    if (!PId.IsNullOrEmptyOrWhiteSpace())
                    //    {
                    //        PJSQL = $" and T1.Fid={PId} ";
                    //    }
                    //}
                    string MacInfo = Utils.GetMacAddress();
                    Logger.Debug("当前MAC地址", MacInfo);

                    #region

                    //条码号
                    orgid = Convert.ToInt64(OrgObj["Id"]);

                    StringBuilder STR          = new StringBuilder();
                    DataSet       PrintModelDS = null;
                    int           ckb          = 0;
                    if (InType == "BarNo" && SelSqlds.Tables[0].Rows.Count > 0 && !F_SZXY_ForLabel.IsNullOrEmptyOrWhiteSpace() && orgid != 0)
                    {
                        for (int i = 0; i < SelSqlds.Tables[0].Rows.Count; i++)
                        {
                            string F_SZXY_CUSTID = Convert.ToString(SelSqlds.Tables[0].Rows[i]["F_SZXY_CUST"]);
                            string FNAME         = Convert.ToString(SelSqlds.Tables[0].Rows[i]["FNAME"]);

                            if (!MacInfo.IsNullOrEmptyOrWhiteSpace())
                            {
                                if (i == 0)
                                {
                                    PrintModelDS = XYStraddleCut.getPrintModel(this.View, Context, PJSQL, orgid.ToString(), MacInfo, F_SZXY_CUSTID, FNAME, F_SZXY_ForLabel, "BarNo", ref ckb);
                                }
                                STR.Append($"'{F_SZXY_ForLabel}',");
                            }
                        }

                        if (STR.ToString() != "" && !STR.ToString().IsNullOrEmptyOrWhiteSpace())
                        {
                            string BarNoStr = STR.ToString();
                            BarNoStr = BarNoStr.Substring(0, BarNoStr.Length - 1);
                            if (PrintModelDS != null)
                            {
                                XYStraddleCut.Print(PrintModelDS, ckb, Context, this.View, BarNoStr, "BarNo");
                            }
                        }
                    }

                    //生产订单号+行号
                    if (InType == "BillNo" && SelSqlds1.Tables[0].Rows.Count > 0 && !F_SZXY_ForLabel.IsNullOrEmptyOrWhiteSpace() && orgid > 0)
                    {
                        if (SelSqlds1 != null && SelSqlds1.Tables.Count > 0 && SelSqlds1.Tables[0].Rows.Count > 0)
                        {
                            int j = 0;
                            for (int i = 0; i < SelSqlds1.Tables[0].Rows.Count; i++)
                            {
                                string F_SZXY_CUSTID   = Convert.ToString(SelSqlds1.Tables[0].Rows[i]["F_SZXY_CUST"]);
                                string FNAME           = Convert.ToString(SelSqlds1.Tables[0].Rows[i]["FNAME"]);
                                string F_SZXY_BARCODEE = Convert.ToString(SelSqlds1.Tables[0].Rows[i]["F_SZXY_CBNO1"]);

                                if (!MacInfo.IsNullOrEmptyOrWhiteSpace() && !F_SZXY_BARCODEE.IsNullOrEmptyOrWhiteSpace() && F_SZXY_BARCODEE != "")
                                {
                                    if (j == 0)
                                    {
                                        j++;
                                        PrintModelDS = XYStraddleCut.getPrintModel(this.View, Context, PJSQL, orgid.ToString(), MacInfo, F_SZXY_CUSTID, FNAME, F_SZXY_BARCODEE, "BillNo", ref ckb);
                                    }
                                    STR.Append($"'{F_SZXY_BARCODEE}',");
                                }
                            }

                            if (STR.ToString() != "")
                            {
                                string BarNoStr = STR.ToString();
                                BarNoStr = BarNoStr.Substring(0, BarNoStr.Length - 1);

                                if (PrintModelDS != null)
                                {
                                    XYStraddleCut.Print(PrintModelDS, ckb, Context, this.View, $"'{F_SZXY_ForLabel}'", "BillNo");
                                }
                            }
                        }
                        Logger.Debug($"箱号匹配到:{SelSqlds.Tables[0].Rows.Count}条数据", $" 生产订单号+行号匹配到:{SelSqlds1.Tables[0].Rows.Count}条数据");

                        #endregion
                    }
                }
            }
        }
Beispiel #2
0
        public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
        {
            base.AfterBarItemClick(e);

            if (e.BarItemKey.EqualsIgnoreCase("SZXY_tbGridPrintNo"))
            {
                this.Model.DataObject["FFormId"] = this.View.BusinessInfo.GetForm().Id;
                Utils.Save(View, new DynamicObject[] { this.Model.DataObject }, Kingdee.BOS.Orm.OperateOption.Create(), Context);


                string F_SZXY_ForLabel = Convert.ToString(this.Model.GetValue("F_SZXY_ForLabel"));//补打标签


                if (this.Model.GetValue("F_SZXY_OrgId") is DynamicObject OrgObj && !F_SZXY_ForLabel.IsNullOrEmptyOrWhiteSpace())
                {
                    long orgid = Convert.ToInt64(OrgObj["Id"]);

                    //如果输入的是箱号
                    string SelSql = $"/*dialect*/select  T1.F_SZXY_BOXNOE from SZXY_t_XYDCJXXBEntry T1 left join SZXY_t_XYDCJXXB  T2  on t1.fid=T2.fid " +

                                    $"where  T1.F_SZXY_BOXNOE='{F_SZXY_ForLabel}'" +
                                    $" group by  T1.F_SZXY_BOXNOE";

                    DataSet SelSqlds = DBServiceHelper.ExecuteDataSet(this.Context, SelSql);

                    if (SelSqlds.Tables[0].Rows.Count > 0 && SelSqlds != null && SelSqlds.Tables.Count > 0)
                    {
                    }
                    else
                    {
                        this.View.ShowWarnningMessage("没有找到此箱号的信息");
                        return;
                    }

                    string MacInfo = Utils.GetMacAddress();
                    Logger.Debug("当前MAC地址", MacInfo);


                    DataSet PrintModelDS = null;
                    int     ckb          = 0;
                    orgid = Convert.ToInt64(OrgObj["Id"]);


                    //是否指定标签模板
                    string PJSQL = " ";

                    DynamicObject PrintTemp = this.Model.GetValue("F_SZXY_Tagtype") as DynamicObject;

                    if (PrintTemp != null)
                    {
                        string PId = Convert.ToString(PrintTemp["Id"]);

                        if (!PId.IsNullOrEmptyOrWhiteSpace())
                        {
                            PJSQL = $" and T1.Fid={PId} ";
                        }
                    }


                    if (!MacInfo.IsNullOrEmptyOrWhiteSpace())
                    {
                        PrintModelDS = getPrintModel(this.View, Context, PJSQL, orgid.ToString(), MacInfo, F_SZXY_ForLabel, ref ckb);

                        if (PrintModelDS != null)
                        {
                            XYStraddleCut.Print(PrintModelDS, ckb, Context, this.View, $"'{F_SZXY_ForLabel}'", "XH");
                        }
                        else
                        {
                            View.ShowWarnningMessage("没有匹配到模板!");
                            return;
                        }

                        Logger.Debug($" 箱号匹配到:{SelSqlds.Tables[0].Rows.Count}条数据。", "");
                    }
                }
            }
        }
        public override void DataChanged(DataChangedEventArgs e)
        {
            base.DataChanged(e);
            int           m = e.Row; string WhereSql = "";
            DynamicObject billobj = this.Model.DataObject;
            string        InNO    = Convert.ToString(this.Model.GetValue("F_SZXY_BoxNo", m)); //获取输入的编号
            string        MONO    = Convert.ToString(this.Model.GetValue("F_SZXY_MONO", m));  //获取输入的任务单行号
            string        XQty    = Convert.ToString(this.Model.GetValue("F_SZXY_BoxQty"));   //获取输入的箱数

            string flag = "";

            //客户订单号获取客户PO号、日期获取包装日期、业务员、客户
            //扫包装箱号
            if (e.Field.Key.EqualsIgnoreCase("F_SZXY_BoxNo"))
            {
                flag = "XH";
                if (!MONO.IsNullOrEmptyOrWhiteSpace())
                {
                    return;
                }

                if (!XQty.IsNullOrEmptyOrWhiteSpace() && Convert.ToInt32(XQty) > 0 && !InNO.IsNullOrEmptyOrWhiteSpace() && billobj["F_SZXY_OrgId"] is DynamicObject orgobj)
                {
                    string orgname = string.Empty;

                    if (InNO.Length <= 2)
                    {
                        this.View.ShowWarnningMessage("请检查输入的编号是否有误!"); return;
                    }

                    //string no1 = InNO.Remove(1, 1);

                    //int Currindex = no1.IndexOf('S');
                    //if (!InNO.IsNullOrEmptyOrWhiteSpace())
                    //{
                    //    if (Currindex == 0)
                    //    {

                    WhereSql = $"  T1.F_SZXY_CTNNO='{InNO}'  ";
                    //    }

                    //}
                    SetBillValue(Context, orgobj, WhereSql, this.View, e.Row);
                    this.Model.BatchCreateNewEntryRow("F_SZXY_KHHQDEntity", 1);
                    this.View.GetControl <EntryGrid>("F_SZXY_KHHQDEntity").SetEnterMoveNextColumnCell(true);
                    this.View.SetEntityFocusRow("F_SZXY_KHHQDEntity", e.Row + 1);
                    this.View.UpdateView("F_SZXY_KHHQDEntity");
                }
                else
                {
                    this.View.ShowWarnningMessage("请检查输入的箱数!");
                    return;
                }
            }


            //扫生产订单号
            if (e.Field.Key.EqualsIgnoreCase("F_SZXY_MoNO"))
            {
                flag = "DDH";
                if (!MONO.IsNullOrEmptyOrWhiteSpace() && billobj["F_SZXY_OrgId"] is DynamicObject orgobj)
                {
                    WhereSql = $"  T1.F_SZXY_PUDNO+CAST(T1.F_SZXY_PUDLINENO as nvarchar(50))='{MONO}' ";

                    if (!XQty.IsNullOrEmptyOrWhiteSpace() && Convert.ToInt32(XQty) > 0)
                    {
                        SetBillValue(Context, orgobj, WhereSql, this.View, e.Row);

                        //调用打印

                        #region

                        //if (this.Model.GetValue("F_SZXY_OrgId") is DynamicObject OrgDO)
                        //{
                        //    //是否指定标签模板
                        //    string PJSQL = "";

                        //    long orgid = Convert.ToInt64(OrgDO["Id"]);

                        //    int ckb = 0;
                        //    string CustId = "";
                        //    string Material = "";
                        //    string MacInfo = Utils.GetMacAddress();
                        //    Logger.Debug("当前MAC地址", MacInfo);

                        //    if (this.Model.DataObject["SZXY_KHHQDEntry"] is DynamicObjectCollection Entry)
                        //    {
                        //        foreach (var Row in Entry.Where(we => !Convert.ToString(we["F_SZXY_CBNO1"]).IsNullOrEmptyOrWhiteSpace()))
                        //        {
                        //            if (Row["F_SZXY_Material"] is DynamicObject MATERIALObj)
                        //            {
                        //                Material = MATERIALObj["Name"].ToString();

                        //            }


                        //            if (Row["F_SZXY_CUST"] is DynamicObject CustIdObj)
                        //            {
                        //                CustId = CustIdObj["Id"].ToString();
                        //            }

                        //            DataSet PrintModelDS = XYStraddleCut.getPrintModel(this.View, Context, PJSQL, orgid.ToString(), MacInfo, CustId, Material, KBNO, "BarNo", ref ckb);

                        //            if (PrintModelDS != null)
                        //            {
                        //                XYStraddleCut.Print(PrintModelDS, ckb, Context, this.View, $"'{KBNO}'", "BarNo");
                        //            }
                        //        }
                        //    }


                        #endregion
                    }
                    else
                    {
                        this.View.ShowWarnningMessage("请检查输入的箱数!");
                        return;
                    }
                }
            }



            if (e.Field.Key.EqualsIgnoreCase("F_SZXY_CBNO"))
            {
                if (true) //if (flag == "XH")
                {
                    string KBNO = Convert.ToString(this.Model.GetValue("F_SZXY_CBNO"));
                    if (this.Model.GetValue("F_SZXY_OrgId") is DynamicObject OrgDO)
                    {
                        long orgid = Convert.ToInt64(OrgDO["Id"]);
                        if (KBNO.IsNullOrEmptyOrWhiteSpace())
                        {
                            return;
                        }
                        #region

                        int    ckb      = 0;
                        string CustId   = "";
                        string Material = "";
                        string MacInfo  = Utils.GetMacAddress();
                        Logger.Debug("当前MAC地址", MacInfo);

                        if (this.Model.DataObject["SZXY_KHHQDEntry"] is DynamicObjectCollection Entry)
                        {
                            foreach (var Row in Entry.Where(we => Convert.ToString(we["F_SZXY_CBNO1"]) == KBNO))
                            {
                                if (Row["F_SZXY_Material"] is DynamicObject MATERIALObj)
                                {
                                    Material = MATERIALObj["Name"].ToString();
                                }


                                if (Row["F_SZXY_CUST"] is DynamicObject CustIdObj)
                                {
                                    CustId = CustIdObj["Id"].ToString();
                                }
                                break;
                            }
                        }


                        //是否指定标签模板
                        string PJSQL = " ";


                        DataSet PrintModelDS = XYStraddleCut.getPrintModel(this.View, Context, PJSQL, orgid.ToString(), MacInfo, CustId, Material, KBNO, "BarNo", ref ckb);

                        if (PrintModelDS != null)
                        {
                            XYStraddleCut.Print(PrintModelDS, ckb, Context, this.View, $"'{KBNO}'", "BarNo");
                        }

                        #endregion
                    }
                }
            }
        }
Beispiel #4
0
        public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
        {
            base.AfterBarItemClick(e);


            if (e.BarItemKey.EqualsIgnoreCase("SZXY_tbGridPrintNo"))
            {
                this.Model.DataObject["FFormId"] = this.View.BusinessInfo.GetForm().Id;
                Utils.Save(View, new DynamicObject[] { this.Model.DataObject }, Kingdee.BOS.Orm.OperateOption.Create(), Context);

                #region
                if (this.Model.GetValue("F_SZXY_OrgId") is DynamicObject OrgObj)
                {
                    long orgid = Convert.ToInt64(OrgObj["Id"]);

                    //是否指定标签模板
                    string PJSQL = " ";

                    //DynamicObject PrintTemp = this.Model.GetValue("F_SZXY_LabelPrint") as DynamicObject;

                    //if (PrintTemp != null)
                    //{
                    //    string PId = Convert.ToString(PrintTemp["Id"]);

                    //    if (!PId.IsNullOrEmptyOrWhiteSpace())
                    //    {
                    //        PJSQL = $" and T1.Fid={PId} ";
                    //    }
                    //}


                    string MacInfo = Utils.GetMacAddress();
                    Logger.Debug("当前MAC地址", MacInfo);
                    string F_SZXY_CustId = "";
                    string material      = "";
                    string CustName      = "";

                    DynamicObjectCollection entry1 = this.Model.DataObject["SZXY_CPCHBGDEntry"] as DynamicObjectCollection;

                    if (entry1 != null)
                    {
                        StringBuilder STR = new StringBuilder();

                        DataSet PrintModelDS = null;
                        int     ckb          = 0;

                        foreach (var item in entry1.Where(m => !Convert.ToString(m["F_SZXY_Barcode"]).IsNullOrEmptyOrWhiteSpace()))
                        {
                            string BarNo = Convert.ToString(item["F_SZXY_Barcode"]);

                            if (item["F_SZXY_CustId"] is DynamicObject cust)
                            {
                                F_SZXY_CustId = Convert.ToString(cust["Id"]);
                                CustName      = Convert.ToString(cust["Name"]);
                            }
                            if (item["F_SZXY_Material"] is DynamicObject Mat)
                            {
                                material = Convert.ToString(Mat["Name"]);
                            }

                            if (!MacInfo.IsNullOrEmptyOrWhiteSpace())
                            {
                                Logger.Debug("调用匹配模板前客户为", CustName);
                                PrintModelDS = XYStraddleCut.getPrintModel(this.View, Context, PJSQL, orgid.ToString(), MacInfo, F_SZXY_CustId, material, BarNo, "BarNo", ref ckb);

                                if (PrintModelDS != null)
                                {
                                    XYStraddleCut.Print(PrintModelDS, ckb, Context, this.View, $"'{BarNo}'", "BarNo");
                                }
                            }
                        }
                    }

                    #endregion
                }
            }
        }