Example #1
0
        /// <summary>
        /// 单条删除
        /// </summary>
        /// <param name="bukrs"></param>
        /// <param name="ebeln"></param>
        /// <param name="ebelp"></param>
        public bool RemoveTdsAupo(string bukrs, string ebeln, string ebelp)
        {
            tdsAupo tdsAupo = new tdsAupo();

            try
            {
                tdsAupo = GetTdsAupo(bukrs, ebeln, ebelp);
                _context.tdsAupos.Remove(tdsAupo);
                _context.SaveChanges();
                return(true);
            }
            catch (SqlException e)
            {
                return(false);
            }
        }
Example #2
0
        /// <summary>
        /// 更新其他数据
        /// </summary>
        /// <param name="tdsAupo"></param>
        /// <param name="retrc"></param>
        /// <param name="itemno"></param>
        /// <returns></returns>
        public int UpdateOtherDatas(tdsAupo tdsAupo, string retrc, string itemno)
        {
            string sql1 = $"delete tdspoitem  where BUKRS = @bukrs and ebeln = @ebeln and ebelp = @ebelp and  mandt = @mandt;";
            string sql2 = $"insert into tdspoitem ([Mandt],bukrs,[Ebeln],[Ebelp],[Retrc],[Remark] ) values ( @mandt ,@bukrs,@ebeln,@ebelp,@retrc,'');";
            string sql3 = $"update tdsPOBasicInfoAupo set ITMENO =@itemno where mandt = @mandt and bukrs = @bukrs and ebeln = @ebeln and ebelp = @ebelp ;";
            string sql4 = $"update tdsuploadMsg set LOCK = 'Y' where bukrs = @bukrs and ebeln = @ebeln and ebelp = @ebelp ;";

            return(_context.Database.ExecuteSqlRaw(sql1 + sql2 + sql3 + sql4,
                                                   new[]
            {
                new SqlParameter("bukrs", tdsAupo.BUKRS),
                new SqlParameter("ebeln", tdsAupo.EBELN),
                new SqlParameter("ebelp", tdsAupo.EBELP),
                new SqlParameter("mandt", tdsAupo.MANDT),
                new SqlParameter("retrc", retrc),
                new SqlParameter("itemno", itemno),
            }));
        }
        public ServerResponse <string> Save(JArray forms)
        {
            IList <tdsAupo> tdsAupos = new List <tdsAupo>();
            string          user     = GetUser();


            if (string.IsNullOrEmpty(user))
            {
                return(ServerResponse <string> .CreateByErrorMessage("请求超时,请刷新主页重进!"));
            }
            foreach (var form in forms)
            {
                if (form["REMARK"].ToString().Equals("申请人确认抽单") && string.IsNullOrEmpty(form["DECLITEM"].ToString()))
                {
                }
                else
                {
                    # region 境外po
                    if (form["LIFNR"].ToString().Equals("QCI_MRO") ||
                        form["LIFNR"].ToString().Substring(form["LIFNR"].ToString().Length - 1, 1) == "F")   //境外PO
                    {
                        if (_tdsYitemRepository.Is3C(form["BUKRS"].ToString(), form["DECLITEM"].ToString()) &&
                            form["MARK"].ToString().Equals("0"))
                        {
                            return(ServerResponse <string> .CreateByErrorMessage("此序号涉及3C认证!不能设置为不涉及!"));
                        }
                        if (_tdsYitemRepository.IsEnergy(form["BUKRS"].ToString(), form["DECLITEM"].ToString()) &&
                            form["CELFLAG"].ToString().Equals("0"))
                        {
                            return(ServerResponse <string> .CreateByErrorMessage("此序号涉及能源标识!不能设置为不涉及!"));
                        }
                    }
                    #endregion
                    #region 境内po
                    else
                    {
                        string strFlag = _tdsYitemRepository.IsMonitorRule(form["BUKRS"].ToString(), form["DECLITEM"].ToString());
                        if (strFlag != "")
                        {
                            switch (strFlag)
                            {
                            case "3":
                                return(ServerResponse <string> .CreateByErrorMessage("此序号涉及证件:3两用物项和技术出口许可证 "));

                                break;

                            case "4":
                                return(ServerResponse <string> .CreateByErrorMessage("此序号涉及证件:4出口许可证"));

                                break;

                            case "8":
                                return(ServerResponse <string> .CreateByErrorMessage("此序号涉及证件:8禁止出口商品"));

                                break;

                            case "G":
                                return(ServerResponse <string> .CreateByErrorMessage("此序号涉及证件:G两用物项和技术出口许可证(定向)"));

                                break;

                            default:
                                break;
                            }
                        }
                    }
                    #endregion
                    if (form["vendortype"].ToString() == "自主报关" || form["vendortype"].ToString() == "代理报关")
                    {
                        #region  料号的po:当有料号的po: 自主报关、代理报关、 在归类有料号的PO时,系统校验公司别+料号是否存在不一致的底账序号,如果有,系统提示;如果没有,系统保存成功
                        if (form["matnrE"].ToString() != "COASSET" && form["matnrE"].ToString() != "FOCCONSU" && form["matnrE"].ToString() != "")
                        {
                            if (!_tdsAupoRepository.IsExistZl11(form["BUKRS"].ToString(), form["matnrE"].ToString(), form["LIFNR"].ToString()))
                            {
                                return(ServerResponse <string> .CreateByErrorMessage("料号:" + form["matnrE"].ToString() + "在ZL11未备案!"));
                            }
                            if (!_tdsAupoRepository.SameDecMatnr(form["BUKRS"].ToString(), form["LIFNR"].ToString(), form["matnrE"].ToString(), form["DECLITEM"].ToString()))
                            {
                                return(ServerResponse <string> .CreateByErrorMessage("归并序号与ZL11序号不一致,请核实!"));
                            }
                            if (!_tdsAupoRepository.SameDecDiffEbeln(form["BUKRS"].ToString(), form["matnrE"].ToString(), form["DECLITEM"].ToString()))
                            {
                                if ((user != "03070472" && user != "06030239" && user != "A0070028" && user != "A0070116" && user != "A7100040" && user != "QSBN"))
                                {
                                    return(ServerResponse <string> .CreateByErrorMessage("相同料号,不同PO中的底账序号不一致!"));
                                }
                            }
                        }
                        #endregion
                        #region 无料号po:当没有料号的po:自主报关、代理报关、 同厂区(QSMC及QCMC公司别)、同VENDOR CODE、同Shorttext、归并底账序号不同时,无法保存
                        else
                        {
                            if (!"TFC_MRO,TFQ_MRO,TCC_MRO,TLC_MRO,TGC_MRO,TWW_MRO,TWQ_MRO,ZYS_MRO,ZYQ_MRO".Contains(form["LIFNR"].ToString()))
                            {
                                if (!_tdsAupoRepository.PoCheck(form["BUKRS"].ToString(), form["LIFNR"].ToString()
                                                                , form["TXZ01"].ToString(), form["EBELN"].ToString()
                                                                , form["vendortype"].ToString(), form["DECLITEM"].ToString()) &&
                                    !"03070472,A0070028,A2132386,A0070116,06030239,QSBN,A7100040".Contains(user))
                                {
                                    return(ServerResponse <string> .CreateByErrorMessage("ITEM:" + form["EBELP"].ToString() + "相同Short text已归并过底账序号:" + form["DECLITEM"].ToString() + ",请确认"));
                                }
                            }
                        }
                        #endregion
                    }
                    #region 判断是否做过EC单1
                    if (_tdsAupoRepository.ECCheck(form["BUKRS"].ToString(), form["EBELN"].ToString(), form["EBELP"].ToString()))
                    {
                        return(ServerResponse <string> .CreateByErrorMessage("该PO已做过EC单!"));
                    }
                    #endregion
                }
                tdsAupo tdsAupo = new tdsAupo();
                tdsAupo.MANDT = form["MANDT"].ToString();
                tdsAupo.BUKRS = form["BUKRS"].ToString();

                tdsAupo.EBELN = form["EBELN"].ToString();
                //tdsAupo.EBELN = "111111111";
                tdsAupo.EBELP        = form["EBELP"].ToString();
                tdsAupo.DECLITEM     = form["DECLITEM"].ToString();
                tdsAupo.MATNR        = form["MATNR"].ToString();
                tdsAupo.E_I          = "I";
                tdsAupo.TAX_CODE     = form["TAX_CODE"].ToString();
                tdsAupo.ZGEWEI       = form["ZGEWEI"].ToString();
                tdsAupo.SMAKTX       = form["SMAKTX"].ToString();
                tdsAupo.APPQTY       = form["APPQTY"].ToObject <decimal>();
                tdsAupo.DECLQTY      = form["DECLQTY"].ToObject <decimal>();
                tdsAupo.APFLAG       = form["APFLAG"].ToString();
                tdsAupo.STATUS       = form["STATUS"].ToString();
                tdsAupo.MARK         = form["MARK"].ToString();
                tdsAupo.REMARK       = form["REMARK"].ToString();
                tdsAupo.CHDATE       = DateTime.Now;
                tdsAupo.CHNAME       = user;
                tdsAupo.ZHENGSHUI    = form["BRGEW"].ToString();
                tdsAupo.HOMEORABROAD = string.Empty;
                tdsAupo.CELFLAG      = form["CELFLAG"].ToString();
                tdsAupo.ACCNO        = form["BOITYP"].ToString();
                tdsAupos.Add(tdsAupo);
                // 管制
                string retrc = form["RETRC"].ToString();
                // 新旧
                string itemno = form["STATUS"].ToString();
                _tdsAupoRepository.UpdateOtherDatas(tdsAupo, retrc, itemno);
            }
Example #4
0
 /// <summary>
 /// 单条添加
 /// </summary>
 /// <param name="tdsAupo"></param>
 public void AddTdsAupo(tdsAupo tdsAupo)
 {
     RemoveTdsAupo(tdsAupo.BUKRS, tdsAupo.EBELN, new string[] { tdsAupo.EBELP });
     _context.tdsAupos.Add(tdsAupo);
     _context.SaveChanges();
 }