Ejemplo n.º 1
0
        public string Data_GetBarCodeByGD(string aufnr)
        {
            token = appClass.CRM_Gettoken();
            MODEL_ZBCFUN_TM_READ data = crmModels.BarCode.GET_ZBCFUN_TM_READ(aufnr, "F", token);

            return(Newtonsoft.Json.JsonConvert.SerializeObject(data));
        }
Ejemplo n.º 2
0
        public string Data_Insert_PM(string data, string isTuiHuo)
        {
            token = appClass.CRM_Gettoken();
            try
            {
                CRM_BC_PMLIST model = Newtonsoft.Json.JsonConvert.DeserializeObject <CRM_BC_PMLIST>(data);
                model.CJR = appClass.CRM_GetStaffid();
                CRM_BC_PMLISTList[] xianyouData = crmModels.BC_PMLIST.SelectByGD(model.AUFNR, token);
                if (xianyouData.Length != 0)    //已经有该工单的数据
                {
                    if (xianyouData[0].CHARG != model.CHARG)
                    {
                        return("已存在该工单,且日期唛不一致");
                    }
                    if (xianyouData[0].PM == "" && xianyouData[xianyouData.Length - 1].PM == "") //数据库里有该工单的信息,但箱码还未生成喷码
                    {
                        int error = crmModels.BC_PMLIST.UpdatePM(token);                         //生成喷码
                        if (error != 0)
                        {
                            return("喷码生成失败,请重试");
                        }
                    }
                    else         //该工单的箱码已经生成了喷码
                    {
                        MODEL_ZBCFUN_TM_READ TMmodel = crmModels.BarCode.GET_ZBCFUN_TM_READ(model.AUFNR, "F", token);
                        if (TMmodel.ET_TM.Length == 0)
                        {
                            return("该工单没有所属箱码");
                        }

                        List <ZSL_BCT100> ET_TM = TMmodel.ET_TM.ToList();
                        //ET_TM = (from o in ET_TM orderby (o.DXM.Substring(2,o.DXM.Length-2)) select o).ToList();
                        ET_TM = ET_TM.OrderBy(u => u.TPM.Substring(2, u.TPM.Length - 2)).ThenBy(u => u.DXM.Substring(2, u.DXM.Length - 2)).ToList();

                        string PM = "";
                        if (isTuiHuo == "1")       //如果是退货的话喷码统一为ZAA
                        {
                            PM = "ZAA";
                        }
                        string TPM_temp = "";
                        int    isexist  = 0;                  //变成1表示当前行是这回刚增进去的,所以其对应的托码整个都要增进去
                        for (int x = 0; x < ET_TM.Count; x++) //按箱码进行循环
                        {
                            CRM_BC_PMLIST cxmodel = new CRM_BC_PMLIST();
                            if (ET_TM[x].TPM != TPM_temp)                   //当托码变化时,去数据库看下这个托码是否已经存在
                            {
                                isexist        = 0;
                                cxmodel.AUFNR  = model.AUFNR;
                                cxmodel.TPM    = ET_TM[x].TPM;
                                cxmodel.PMTYPE = 1;
                                CRM_BC_PMLIST[] cxresult = crmModels.BC_PMLIST.SelectByModel(cxmodel, "", "", token);
                                if (cxresult.Length != 0 && isexist == 0)          //已经有这个托码了,就跳过
                                {
                                    continue;
                                }
                                else          //这个托码还没生成喷码
                                {
                                    isexist   = 1;
                                    model.DXM = ET_TM[x].DXM;
                                    model.TPM = ET_TM[x].TPM;

                                    model.PM     = PM;
                                    model.PMTYPE = 1;   //根据工单
                                    int i = crmModels.BC_PMLIST.Create(model, token);
                                    if (i <= 0)
                                    {
                                        return("生成失败!");
                                    }
                                }
                            }
                            else
                            {
                                if (isexist == 1)
                                {
                                    model.DXM = ET_TM[x].DXM;
                                    model.TPM = ET_TM[x].TPM;

                                    model.PM     = PM;
                                    model.PMTYPE = 1;   //根据工单
                                    int i = crmModels.BC_PMLIST.Create(model, token);
                                    if (i <= 0)
                                    {
                                        return("生成失败!");
                                    }
                                }
                                else
                                {
                                    continue;
                                }
                            }

                            TPM_temp = ET_TM[x].TPM;
                        }
                    }
                }
                else        //数据库里没有该工单的数据
                {
                    MODEL_ZBCFUN_TM_READ TMmodel = crmModels.BarCode.GET_ZBCFUN_TM_READ(model.AUFNR, "F", token);
                    if (TMmodel.ET_TM.Length == 0)
                    {
                        return("该工单没有所属箱码");
                    }

                    List <ZSL_BCT100> ET_TM = TMmodel.ET_TM.ToList();
                    //ET_TM = (from o in ET_TM orderby (o.DXM.Substring(2,o.DXM.Length-2)) select o).ToList();
                    ET_TM = ET_TM.OrderBy(u => u.TPM.Substring(2, u.TPM.Length - 2)).ThenBy(u => u.DXM.Substring(2, u.DXM.Length - 2)).ToList();

                    string PM = "";
                    if (isTuiHuo == "1")       //如果是退货的话喷码统一为ZAA
                    {
                        PM = "ZAA";
                    }
                    for (int x = 0; x < ET_TM.Count; x++)
                    {
                        model.DXM = ET_TM[x].DXM;
                        model.TPM = ET_TM[x].TPM;

                        model.PM     = PM;
                        model.PMTYPE = 1;   //根据工单
                        int i = crmModels.BC_PMLIST.Create(model, token);
                        if (i <= 0)
                        {
                            return("生成失败!");
                        }
                    }
                    //if (isTuiHuo == "0")       //不是退货的话需要生成喷码
                    //{
                    //    int error = crmModels.BC_PMLIST.UpdatePM(token);    //生成喷码
                    //    if (error != 0)
                    //    {
                    //        return "喷码生成失败,请重试";
                    //    }
                    //}
                }
            }
            catch (Exception e)
            {
                return(e.Message);
            }


            return("生成成功!");
        }