Ejemplo n.º 1
0
        private void ktb_start_Click(object sender, EventArgs e)
        {
            if (ktb_pNum.Text == "")
            {
                MessageBox.Show("请输入打印张数", "提示");
                return;
            }
            if (ktb_Pcopies.Text == "")
            {
                MessageBox.Show("请输入打印份数", "提示");
                return;
            }
            string        Order_No = this.ktb_orderNO.Text.ToString();
            SerialManager sm       = null;

            if (kryptonComboBox1.SelectedIndex > 0)   //如果打印进制不是10进制
            {
                string entName = kryptonComboBox1.SelectedValue.ToString();
                sm = GetSM(entName);   //获取一个序列号管理对象
            }
            string             suffix   = "";
            List <P_WorkOrder> workList = null;

            for (int it = 0; it < int.Parse(ktb_pNum.Text); it++)
            {
                if (proc1[0].checkCode == 1)
                {
                    barcode.sn = GetSNByEnter(sm, Int32.Parse(this.ktb_currentSN.Text) + it);
                    suffix     = barcode.suffix + NVBarcode.CheckCode.ModCheckCode(barcode);
                }
                else
                {
                    suffix = barcode.suffix;
                }
                //根据前缀后缀判断是否存在数据,如果有数据,在当前的sn累加打印,没有数据则从1开始打印
                //string PrintSn = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetPrint_currentSn", barcode.prefix + "," + suffix);
                //PrintSnList = JsonConvert.DeserializeObject<List<P_Print_CurrentSN>>(PrintSn);
                string sn = "";
                if (PrintSnList != null)
                {
                    sn = NVBarcode.CodeRule.GetCompleteSN(GetSNByEnter(sm, int.Parse(PrintSnList[0].current_sn.ToString()) + it), barcode.snStr.Length);  //获取完整的SN
                }
                else
                {
                    sn = NVBarcode.CodeRule.GetCompleteSN(GetSNByEnter(sm, 1 + it), barcode.snStr.Length);  //获取完整的SN
                }

                ktb_Pcopies.Text = proc1[0].printCopies.ToString();
                for (int i = 0; i < Convert.ToInt32(ktb_Pcopies.Text); i++)
                {
                    pn.printDocument(sn, 1, prefix, suffix, 1, 1, int.Parse(proc1[0].faxType.ToString()));
                }
                string workinfo = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetWorder", Order_No);
                workList = JsonConvert.DeserializeObject <List <P_WorkOrder> >(workinfo);
                string           _product_code   = proc2[0].product_code;
                string           ProductCode     = NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetProduct", _product_code);
                List <B_Product> ProductCodeList = JsonConvert.DeserializeObject <List <B_Product> >(ProductCode);
                if (ProductCodeList[0].print_bind == 1)
                {
                    //打印一个条码,在条码绑定表插入一条数据
                    P_BarCodeBing P_barcode = new P_BarCodeBing()
                    {
                        order        = Order_No,
                        parent_order = workList[0].parent_order,
                        main_order   = workList[0].main_order,
                        state        = 0,
                        barcode      = barcode.prefix + sn + suffix,
                        product_code = _product_code,
                        InputTime    = DateTime.Now
                    };
                    string strJson = JsonToolsNet.ObjectToJson(P_barcode);
                    Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertBarCode", strJson);
                }
                //timer1.Stop();
            }
            //int planSN = (int.Parse(PrintSnList[0].current_sn.ToString()) - 1) + int.Parse(ktb_pNum.Text);
            //int planSN = (int.Parse(this.ktb_currentSN.Text) - 1) + int.Parse(ktb_pNum.Text);
            //PrintConfirm pconfirm = new PrintConfirm(int.Parse(ktb_pNum.Text), planSN);
            //pconfirm.ShowDialog();
            //if (pconfirm.num > 0)   //如果确认有打印数量
            //{
            //添加或修改P_Print_CurrentSN数据
            if (PrintSnList != null)
            {
                //修改
                string Sn = (PrintSnList[0].current_sn + Convert.ToInt32(decimal.Parse(ktb_pNum.Text))).ToString();
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateP_Print_currentSn", barcode.prefix + "|" + suffix + "|" + Sn);
            }
            else
            {
                //添加
                P_Print_CurrentSN P_Print_CurrentSN = new P_Print_CurrentSN()
                {
                    prefix     = barcode.prefix,
                    suffix     = suffix,
                    current_sn = Convert.ToInt32(1 + Convert.ToInt32(decimal.Parse(ktb_pNum.Text))),
                    input_time = DateTime.Now
                };
                string strJson = JsonToolsNet.ObjectToJson(P_Print_CurrentSN);
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertPrint_CurrentSn", strJson);
            }


            this.klb_barcode.Text = "条码:";
            //修改P_SSW_TemplateList的currentSN
            string MId = proc2[0].Template_id.ToString();
            int    CSN = int.Parse(proc1[0].currentSN.ToString()) + int.Parse(ktb_pNum.Text);

            Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateTemplateByMid", MId + "|" + CSN);
            //为P_SSW_PrintList新增或修改
            string dt = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetPrint_orderNo", orderNO);
            List <P_SSW_PrintList> proc = JsonConvert.DeserializeObject <List <P_SSW_PrintList> >(dt);

            if (proc != null)
            {
                //修改
                string order_no = proc[0].order_no.ToString();
                int    num      = int.Parse(proc2[0].completed.ToString()) + int.Parse(ktb_pNum.Text.ToString());
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdatePrintByOrder_no", order_no + "|" + num);
            }
            else
            {
                //添加
                P_SSW_PrintList P_list = new P_SSW_PrintList()
                {
                    completed    = Convert.ToInt32(this.ktb_pNum.Text.ToString()),
                    order_no     = this.ktb_orderNO.Text.ToString(),
                    Main_order   = workList[0].main_order,
                    product_code = proc2[0].product_code,
                    product_name = null,
                    Template_id  = proc2[0].Template_id,
                    qty          = proc2[0].qty,
                    inputTime    = null,
                    finishTime   = null,
                    state        = null
                };
                string strJson = JsonToolsNet.ObjectToJson(P_list);
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertPrint", strJson);
            }
            //重新绑定工单信息
            BindOrderRu();
            if (Convert.ToDecimal(this.ktb_qty.Text) - Convert.ToDecimal(this.ktb_complete.Text) <= 0)
            {
                //修改工单状态
                string order_no = proc2[0].order_no.ToString();
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateWorkOderState", order_no);
            }
            string Alreadyprint = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetAlreadyPrint", workList[0].main_order);
            List <P_SSW_PrintList> AlreadyprintList = JsonConvert.DeserializeObject <List <P_SSW_PrintList> >(Alreadyprint);
            string Mainworkinfo = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetByMain_order", workList[0].main_order);
            int    WorkOrderNum = JsonConvert.DeserializeObject <List <P_WorkOrder> >(Mainworkinfo).Count;

            if (AlreadyprintList != null && AlreadyprintList.Count == WorkOrderNum)
            {
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateMainWorkOderState", workList[0].main_order);
            }
            //}
        }
Ejemplo n.º 2
0
        private void ktb_start_Click(object sender, EventArgs e)
        {
            if (ktb_pNum.Text == "")
            {
                MessageBox.Show("请输入打印张数", "提示");
                return;
            }
            if (ktb_Pcopies.Text == "")
            {
                MessageBox.Show("请输入打印份数", "提示");
                return;
            }
            //if (decimal.Parse(ktb_sy.Text) == 0)
            //{
            //    MessageBox.Show("该工单已经打印完成,请尽快结案", "提示");
            //    return;
            //}
            //if (decimal.Parse(ktb_sy.Text) < int.Parse(ktb_pNum.Text))
            //{
            //    MessageBox.Show("打印张数不可大于剩余打印数", "提示");
            //    return;
            //}
            //if (Convert.ToDecimal(int.Parse(ktb_pNum.Text)) > Convert.ToDecimal(ktb_sy.Text))
            //{
            //    ktb_pNum.Text = ktb_sy.Text;
            //}
            string        Order_No = this.ktb_orderNO.Text.ToString();
            SerialManager sm       = null;

            if (kryptonComboBox1.SelectedIndex > 0)   //如果打印进制不是10进制
            {
                string entName = kryptonComboBox1.SelectedValue.ToString();
                sm = GetSM(entName);   //获取一个序列号管理对象
            }
            string suffix = "";

            for (int it = 0; it < int.Parse(ktb_pNum.Text); it++)
            {
                if (proc1[0].checkCode == 1)
                {
                    barcode.sn = GetSNByEnter(sm, Int32.Parse(this.ktb_currentSN.Text) + it);
                    suffix     = barcode.suffix + NVBarcode.CheckCode.ModCheckCode(barcode);
                }
                else
                {
                    suffix = barcode.suffix;
                }
                //根据前缀后缀判断是否存在数据,如果有数据,在当前的sn累加打印,没有数据则从1开始打印
                //string PrintSn = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetPrint_currentSn", barcode.prefix + "," + suffix);
                //PrintSnList = JsonConvert.DeserializeObject<List<P_Print_CurrentSN>>(PrintSn);
                string sn = "";
                if (PrintSnList != null)
                {
                    sn = NVBarcode.CodeRule.GetCompleteSN(GetSNByEnter(sm, int.Parse(PrintSnList[0].current_sn.ToString()) + it), barcode.snStr.Length);  //获取完整的SN
                }
                else
                {
                    sn = NVBarcode.CodeRule.GetCompleteSN(GetSNByEnter(sm, 1 + it), barcode.snStr.Length);  //获取完整的SN
                }

                string             workinfo = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetWorder", Order_No);
                List <P_WorkOrder> workList = JsonConvert.DeserializeObject <List <P_WorkOrder> >(workinfo);

                string            variable = proc1[0].variable.ToString();
                List <V_variable> varList  = new List <V_variable>();
                if (variable != "" && !string.IsNullOrEmpty(variable))
                {
                    string[] variableList = variable.Split(',');

                    for (int index = 0; index < variableList.Count(); index++)
                    {
                        V_variable variabletemp = new V_variable();
                        if (variableList[index].ToString() == "version")
                        {
                            variabletemp.Text  = variableList[index].ToString();
                            variabletemp.value = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetPrintList1", workList[0].main_order + "," + variableList[index].ToString());
                        }
                        else
                        {
                            variabletemp.Text  = variableList[index].ToString();
                            variabletemp.value = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetPrintList", orderNO + "," + variableList[index].ToString());
                        }
                        varList.Add(variabletemp);
                    }
                }

                pn.printDocument(sn, 0, prefix, suffix, 1, Convert.ToInt32(ktb_Pcopies.Text), int.Parse(proc1[0].faxType.ToString()), varList);


                string           _product_code   = proc2[0].product_code;
                string           ProductCode     = NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetProduct", _product_code);
                List <B_Product> ProductCodeList = JsonConvert.DeserializeObject <List <B_Product> >(ProductCode);
                if (ProductCodeList[0].print_bind == 1)
                {
                    //打印一个条码,在条码绑定表插入一条数据
                    P_BarCodeBing P_barcode = new P_BarCodeBing()
                    {
                        order        = Order_No,
                        parent_order = workList[0].parent_order,
                        main_order   = workList[0].main_order,
                        state        = 0,
                        barcode      = barcode.prefix + sn + suffix,
                        product_code = _product_code,
                        InputTime    = DateTime.Now
                    };
                    string strJson = JsonToolsNet.ObjectToJson(P_barcode);
                    Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertBarCode", strJson);
                }
            }

            //添加或修改P_Print_CurrentSN数据
            if (PrintSnList != null)
            {
                //修改
                string Sn = (PrintSnList[0].current_sn + Convert.ToInt32(decimal.Parse(ktb_pNum.Text))).ToString();
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateP_Print_currentSn", barcode.prefix + "|" + suffix + "|" + Sn);
            }
            else
            {
                //添加
                P_Print_CurrentSN P_Print_CurrentSN = new P_Print_CurrentSN()
                {
                    prefix     = barcode.prefix,
                    suffix     = suffix,
                    current_sn = Convert.ToInt32(1 + Convert.ToInt32(decimal.Parse(ktb_pNum.Text))),
                    input_time = DateTime.Now
                };
                string strJson = JsonToolsNet.ObjectToJson(P_Print_CurrentSN);
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertPrint_CurrentSn", strJson);
            }


            this.klb_barcode.Text = "条码:";
            //修改P_SSW_TemplateList的currentSN
            string MId = proc2[0].Template_id.ToString();
            int    CSN = int.Parse(proc1[0].currentSN.ToString()) + int.Parse(ktb_pNum.Text);

            Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateTemplateByMid", MId + "|" + CSN);
            //为P_SSW_PrintList新增或修改
            string dt = Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetPrint_orderNo", orderNO);
            List <P_SSW_PrintList> proc = JsonConvert.DeserializeObject <List <P_SSW_PrintList> >(dt);

            if (proc != null)
            {
                //修改
                string  order_no = proc[0].order_no.ToString();
                decimal num      = Convert.ToDecimal(proc2[0].completed.ToString()) + int.Parse(ktb_pNum.Text.ToString());
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdatePrintByOrder_no", order_no + "|" + num);
            }
            else
            {
                //添加
                P_SSW_PrintList P_list = new P_SSW_PrintList()
                {
                    completed    = Convert.ToInt32(this.ktb_pNum.Text.ToString()),
                    order_no     = this.ktb_orderNO.Text.ToString(),
                    product_code = proc2[0].product_code,
                    product_name = null,
                    Template_id  = proc2[0].Template_id,
                    qty          = proc2[0].qty,
                    inputTime    = DateTime.Now,
                    finishTime   = DateTime.Now,
                    state        = null
                };
                string strJson = JsonToolsNet.ObjectToJson(P_list);
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertPrint", strJson);
            }
            //重新绑定工单信息
            BindOrderRu();
            if (Convert.ToDecimal(this.ktb_sy.Text) == 0)
            {
                //修改工单状态
                string order_no = proc2[0].order_no.ToString();
                Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateWorkOderState", order_no);
            }

            //}
        }
Ejemplo n.º 3
0
        public static void Print(string variable, string Main_order, Form fm, List <P_SSW_TemplateList> list, string clas)
        {
            string var     = variable;
            string Main_Od = Main_order;
            Form   form    = fm;
            List <P_SSW_TemplateList> proc1 = list;

            KryptonComboBox com = new KryptonComboBox();

            com = (KryptonComboBox)form.Controls.Find("kryptonComboBox1", true)[0];
            KryptonTextBox tb = new KryptonTextBox();

            tb = (KryptonTextBox)form.Controls.Find("ktb_orderNO", true)[0];
            TextBox tb_1 = new TextBox();

            tb_1 = (TextBox)form.Controls.Find("tb_1", true)[0];
            TextBox tb_2 = new TextBox();

            tb_2 = (TextBox)form.Controls.Find("tb_2", true)[0];
            KryptonLabel lb = new KryptonLabel();

            lb = (KryptonLabel)form.Controls.Find("klb_barcode", true)[0];

            pn = NVBarcode.PrintEngine6.GetPrintEngine(proc1[0].TemplatePath);
            string Mid = proc1[0].RuleStr.ToString();

            if (Mid.IndexOf("(") > -1)
            {
                PrintVari pv = new PrintVari(Mid, "", "");
                pv.ShowDialog();
                Mid = pv.result;
            }
            NVBarcode.CodeRule coderule = NV_SNP.Objs.SpecialRule.TransformRuleStr(Mid);   //将特殊规则转成一般规则
            barcode = coderule.GetCodeByRule();
            lb.Text = barcode.prefix + barcode.snStr + barcode.suffix;
            if (com.SelectedIndex > 0)   //如果打印进制不是10进制
            {
                string entName = com.SelectedValue.ToString();
                sm = GetSM(entName);   //获取一个序列号管理对象
            }
            for (int it = int.Parse(tb_1.Text); it <= int.Parse(tb_2.Text); it++)
            {
                string sn     = NVBarcode.CodeRule.GetCompleteSN(GetSNByEnter(sm, it), barcode.snStr.Length); //获取完整的SN
                string suffix = "";
                if (proc1[0].checkCode == 1)
                {
                    barcode.sn = GetSNByEnter(sm, it);
                    suffix     = barcode.suffix + NVBarcode.CheckCode.ModCheckCode(barcode);
                }
                else
                {
                    suffix = barcode.suffix;
                }
                pn.printDocument(sn, 1, barcode.prefix, suffix, 1, 1, int.Parse(proc1[0].faxType.ToString()));
                string             order_No = tb.Text.ToString();
                string             workinfo = NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetWorder", order_No);
                List <P_WorkOrder> proc2    = JsonConvert.DeserializeObject <List <P_WorkOrder> >(workinfo);
                //补打是重复的条码不重复插入清单
                string           product_code    = proc2[0].product_code;
                string           ProductCode     = NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetProduct", product_code);
                List <B_Product> ProductCodeList = JsonConvert.DeserializeObject <List <B_Product> >(ProductCode);
                if (ProductCodeList[0].print_bind == 1)
                {
                    string             Bar         = barcode.prefix + sn + suffix;
                    string             BarCode     = NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "GetBarCode", Bar);
                    List <P_WorkOrder> BarCodeList = JsonConvert.DeserializeObject <List <P_WorkOrder> >(BarCode);
                    if (BarCodeList == null)
                    {
                        //打印一个条码,在条码绑定表插入一条数据
                        P_BarCodeBing P_barcode = new P_BarCodeBing()
                        {
                            order        = order_No,
                            parent_order = proc2[0].parent_order,
                            main_order   = proc2[0].main_order,
                            state        = 0,
                            barcode      = Bar,
                            product_code = proc2[0].product_code,
                            InputTime    = DateTime.Now
                        };
                        string strJson = JsonToolsNet.ObjectToJson(P_barcode);
                        NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "InsertBarCode", strJson);
                    }
                }
                //string MID=proc1[0].Template_id;
                //if (Convert.ToInt32(tb_2.Text) > proc1[0].currentSN)
                //{
                //    int CSN = Convert.ToInt32(tb_2.Text);
                //    NV_SNP.Toos.ServiceReferenceManager.GetClient().RunServerAPI("BLL.SSW", "UpdateTemplateByMid", MID + "|" + CSN);
                //}
            }
        }