Exemple #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="SysNo"></param>
 /// <returns></returns>
 /// <remarkss>2016-04-05 王耀发 更新</remarks>
 public override int UpdateIcpGZNanShaGoodsInfoEntity(IcpGZNanShaGoodsInfo entity)
 {
     return(Context.Update("IcpGZNanShaGoodsInfo", entity)
            .AutoMap(o => o.SysNo)
            .Where("SysNo", entity.SysNo)
            .Execute());
 }
Exemple #2
0
        /// <summary>
        /// 新增商品备案信息
        /// </summary>
        /// <param name="models">商品备案信息列表</param>
        /// <returns>空</returns>
        /// <remarks>2015-09-10 王耀发 创建</remarks>
        public override void CreateExcelGZNanShaGoodsInfo(List <IcpGZNanShaGoodsInfo> models)
        {
            foreach (IcpGZNanShaGoodsInfo model in models)
            {
                IcpGZNanShaGoodsInfo GoodsInfoData = new IcpGZNanShaGoodsInfo();
                GoodsInfoData.ProductSysNo = model.ProductSysNo;

                GoodsInfoData.Gcode        = model.Gcode;
                GoodsInfoData.Gname        = model.Gname;
                GoodsInfoData.Spec         = model.Spec;
                GoodsInfoData.HSCode       = model.HSCode;
                GoodsInfoData.Unit         = model.Unit;
                GoodsInfoData.Brand        = model.Brand;
                GoodsInfoData.AssemCountry = model.AssemCountry;

                GoodsInfoData.SellWebSite  = model.SellWebSite;
                GoodsInfoData.GoodsBarcode = model.GoodsBarcode;
                GoodsInfoData.GoodsDesc    = model.GoodsDesc;
                GoodsInfoData.ComName      = model.ComName;
                GoodsInfoData.Ingredient   = model.Ingredient;
                GoodsInfoData.Additiveflag = model.Additiveflag;
                GoodsInfoData.Poisonflag   = model.Poisonflag;
                GoodsInfoData.Remark       = model.Remark;

                GoodsInfoData.CreatedBy      = model.CreatedBy;
                GoodsInfoData.CreatedDate    = model.CreatedDate;
                GoodsInfoData.LastUpdateBy   = model.LastUpdateBy;
                GoodsInfoData.LastUpdateDate = model.LastUpdateDate;
                int InfoSysNo = Context.Insert <IcpGZNanShaGoodsInfo>("IcpGZNanShaGoodsInfo", GoodsInfoData)
                                .AutoMap(o => o.SysNo)
                                .ExecuteReturnLastId <int>("SysNo");
            }
        }
Exemple #3
0
        /// <summary>
        /// 保存广州南沙的商品配置信息
        /// </summary>
        /// <param name="productModel"></param>
        /// <returns></returns>
        /// <remarks>2016-04-05 王耀发 创建</remarks>
        public Result SaveIcpGZNanShaGoodsInfo(IcpGZNanShaGoodsInfo model, SyUser user)
        {
            Result r = new Result()
            {
                Status = false
            };
            IcpGZNanShaGoodsInfo entity = IcpDao.Instance.GetIcpGZNanShaGoodsInfoEntityByPid(model.ProductSysNo);

            if (entity != null)
            {
                model.SysNo          = entity.SysNo;
                model.CreatedDate    = entity.CreatedDate;
                model.CreatedBy      = entity.CreatedBy;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                IcpDao.Instance.UpdateIcpGZNanShaGoodsInfoEntity(model);
                r.Status = true;
            }
            else
            {
                model.CreatedDate    = DateTime.Now;
                model.CreatedBy      = user.SysNo;
                model.LastUpdateBy   = user.SysNo;
                model.LastUpdateDate = DateTime.Now;
                IcpDao.Instance.InsertIcpGZNanShaGoodsInfo(model);
                r.Status = true;
            }
            return(r);
        }
Exemple #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="SysNo"></param>
 /// <returns></returns>
 /// <remarkss>2016-04-05 王耀发 创建</remarks>
 public override int InsertIcpGZNanShaGoodsInfo(IcpGZNanShaGoodsInfo entity)
 {
     entity.SysNo = Context.Insert("IcpGZNanShaGoodsInfo", entity)
                    .AutoMap(o => o.SysNo)
                    .ExecuteReturnLastId <int>("SysNo");
     return(entity.SysNo);
 }
Exemple #5
0
        List <Hyt.Model.Icp.GZNanSha.CommodityInspectionLists> SetModLists(List <CIcpGoodsItem> CIcpGoodsItemList)
        {
            List <Hyt.Model.Icp.GZNanSha.CommodityInspectionLists> modLists = new List <Hyt.Model.Icp.GZNanSha.CommodityInspectionLists>();

            foreach (CIcpGoodsItem item in CIcpGoodsItemList)
            {
                IcpGZNanShaGoodsInfo Entity = IcpBo.Instance.GetIcpGZNanShaGoodsInfoEntityByPid(item.ProductSysNo);
                if (Entity != null)
                {
                    modLists.Add(new CommodityInspectionLists()
                    {
                        Additiveflag = Entity.GoodsDesc == null ? "无" : Entity.GoodsDesc,
                        Brand        = Entity.Brand,
                        AssemCountry = Entity.AssemCountry,
                        ComName      = Entity.ComName == null ? "" : Entity.ComName,
                        Gcode        = Entity.Gcode,
                        Gname        = Entity.Gname,
                        GoodsBarcode = Entity.GoodsBarcode == null ? "" : Entity.GoodsBarcode,
                        GoodsDesc    = Entity.GoodsDesc == null ? "" : Entity.GoodsDesc,
                        Hscode       = Entity.HSCode,
                        Ingredient   = Entity.Ingredient == null ? "无" : Entity.Ingredient,
                        Poisonflag   = Entity.Poisonflag == null ? "无" : Entity.Poisonflag,
                        Remark       = Entity.Remark,
                        Spec         = Entity.Spec,
                        Unit         = Entity.Unit
                    });
                }
            }
            return(modLists);
        }
Exemple #6
0
        /// <summary>
        /// 导入excel
        /// </summary>
        /// <param name="stream">导入的excel stream format</param>
        /// <param name="operatorSysno">操作人员编号</param>
        /// <returns>封装的泛型result对象</returns>
        /// <remarks>2015-09-10 王耀发 创建</remarks>
        public Result ImportExcelNS(Stream stream, int operatorSysno)
        {
            DataTable dt   = null;
            var       cols = DicColsMappingNS.Select(p => p.Value).ToArray();

            try
            {
                dt = ExcelUtil.ImportExcel(stream, cols);
            }
            catch (Exception ex)
            {
                //exception happened,some not caughted
                return(new Result
                {
                    Message = string.Format("数据导入错误,请选择正确的excel文件"),
                    Status = false
                });
            }
            if (dt == null)
            {
                //not all the cols mapped
                return(new Result
                {
                    Message = string.Format("请选择正确的excel文件!"),
                    Status = false
                });
            }
            var excellst    = new List <IcpGZNanShaGoodsInfo>();
            var lstToInsert = new List <IcpGZNanShaGoodsInfo>();
            var lstToUpdate = new List <IcpGZNanShaGoodsInfo>();

            for (var i = 0; i < dt.Rows.Count; i++)
            {
                int excelRow = i;
                for (var j = 0; j < dt.Columns.Count; j++)
                {
                    //
                    if (j <= 8)
                    {
                        if ((dt.Rows[i][j] == null || string.IsNullOrEmpty(dt.Rows[i][j].ToString())))
                        {
                            return(new Result
                            {
                                Message = string.Format("excel表第{0}行第{1}列数据不能有空值", (excelRow + 1), (j + 1)),
                                Status = false
                            });
                        }
                    }
                }
                //商品编号
                var       ErpCode = dt.Rows[i][DicColsMappingNS["ErpCode"]].ToString().Trim();
                PdProduct pEntity = PdProductBo.Instance.GetProductByErpCode(ErpCode);
                if (pEntity == null)
                {
                    return(new Result
                    {
                        Message = string.Format("excel表第{0}行商品编号不存在", (excelRow + 1)),
                        Status = false
                    });
                }
                //商品货号
                var Gcode = dt.Rows[i][DicColsMappingNS["Gcode"]].ToString().Trim();
                //商品名称
                var Gname = dt.Rows[i][DicColsMappingNS["Gname"]].ToString().Trim();
                //规格型号
                var Spec = dt.Rows[i][DicColsMappingNS["Spec"]].ToString().Trim();
                //HS编码
                var HSCode = dt.Rows[i][DicColsMappingNS["HSCode"]].ToString().Trim();
                //计量单位(最小)
                var Unit = dt.Rows[i][DicColsMappingNS["Unit"]].ToString().Trim();
                //品牌
                var Brand = dt.Rows[i][DicColsMappingNS["Brand"]].ToString().Trim();
                //原产国/地区
                var AssemCountry = dt.Rows[i][DicColsMappingNS["AssemCountry"]].ToString().Trim();
                //销售网址
                var SellWebSite = dt.Rows[i][DicColsMappingNS["SellWebSite"]].ToString().Trim();
                //商品条形码
                var GoodsBarcode = dt.Rows[i][DicColsMappingNS["GoodsBarcode"]].ToString().Trim();
                //商品描述
                var GoodsDesc = dt.Rows[i][DicColsMappingNS["GoodsDesc"]].ToString().Trim();
                //生产企业名称
                var ComName = dt.Rows[i][DicColsMappingNS["ComName"]].ToString().Trim();
                //成分
                var Ingredient = dt.Rows[i][DicColsMappingNS["Ingredient"]].ToString().Trim();
                //超范围使用食品添加剂
                var Additiveflag = dt.Rows[i][DicColsMappingNS["Additiveflag"]].ToString().Trim();
                //含有毒害物质
                var Poisonflag = dt.Rows[i][DicColsMappingNS["Poisonflag"]].ToString().Trim();
                //备注
                var Remark = dt.Rows[i][DicColsMappingNS["Remark"]].ToString().Trim();

                var model = new IcpGZNanShaGoodsInfo
                {
                    ProductSysNo = pEntity.SysNo,
                    Gcode        = Gcode,
                    Gname        = Gname,
                    Spec         = Spec,
                    HSCode       = HSCode,
                    Unit         = Unit,
                    Brand        = Brand,
                    AssemCountry = AssemCountry,

                    SellWebSite  = SellWebSite,
                    GoodsBarcode = GoodsBarcode,
                    GoodsDesc    = GoodsDesc,
                    ComName      = ComName,
                    Ingredient   = Ingredient,
                    Additiveflag = Additiveflag,
                    Poisonflag   = Poisonflag,
                    Remark       = Remark,

                    CreatedBy      = operatorSysno,
                    CreatedDate    = DateTime.Now,
                    LastUpdateBy   = operatorSysno,
                    LastUpdateDate = DateTime.Now
                };
                excellst.Add(model);
            }
            var lstExisted = DataAccess.Icp.IcpDao.Instance.GetAllGZNanShaGoodsInfo();

            foreach (var excelModel in excellst)
            {
                if (lstExisted.Any(e => e.ProductSysNo == excelModel.ProductSysNo))
                {
                    lstToUpdate.Add(excelModel);
                }
                else //insert
                {
                    lstToInsert.Add(excelModel);
                }
            }
            try
            {
                DataAccess.Icp.IcpDao.Instance.CreateExcelGZNanShaGoodsInfo(lstToInsert);
                DataAccess.Icp.IcpDao.Instance.UpdateExcelGZNanShaGoodsInfo(lstToUpdate);
            }
            catch (Exception ex)
            {
                SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Error, LogStatus.系统日志来源.后台, "导入高捷商品备案信息",
                                         LogStatus.系统日志目标类型.商品基本信息, 0, ex, null, operatorSysno);
                return(new Result
                {
                    Message = string.Format("数据更新错误:{0}", ex.Message),
                    Status = false
                });
            }
            var msg = lstToInsert.Count > 0 ? string.Format("成功导入{0}条数据!", lstToInsert.Count) : "";

            msg += lstToUpdate.Count > 0 ? string.Format("成功修改{0}条数据!", lstToUpdate.Count) : "";
            return(new Result
            {
                Message = msg,
                Status = true
            });
        }
Exemple #7
0
 /// <summary>
 /// 更新数据
 /// </summary>
 /// <param name="entity">数据实体</param>
 /// <returns></returns>
 /// <remarkss>2016-04-05 王耀发 更新</remarks>
 public abstract int UpdateIcpGZNanShaGoodsInfoEntity(IcpGZNanShaGoodsInfo entity);
Exemple #8
0
 /// <summary>
 /// 插入数据
 /// </summary>
 /// <param name="entity">数据实体</param>
 /// <returns>新增记录编号</returns>
 /// <remarkss>2016-04-05 王耀发 创建</remarks>
 public abstract int InsertIcpGZNanShaGoodsInfo(IcpGZNanShaGoodsInfo entity);
Exemple #9
0
        /// <summary>
        /// 商品备案
        /// </summary>
        /// <returns></returns>
        /// <remarks>2016-3-21 王耀发 创建</remarks>
        public override Result PushGoods(string ProductSysNoList)
        {
            Result result = new Result();
            CIcp   model  = new CIcp();

            model.IcpType = (int)Model.CommonEnum.商检.广州南沙;
            List <CIcpGoodsItem> CIcpGoodsItemList = new List <CIcpGoodsItem>();

            string[] sArray = ProductSysNoList.Split(',');

            foreach (string i in sArray)
            {
                int ProductSysNo            = int.Parse(i);
                IcpGZNanShaGoodsInfo Entity = IcpBo.Instance.GetIcpGZNanShaGoodsInfoEntityByPid(ProductSysNo);
                CIcpGoodsItemList.Add(new CIcpGoodsItem()
                {
                    IcpType      = model.IcpType,
                    ProductSysNo = ProductSysNo,
                    EntGoodsNo   = Entity.Gcode
                });
            }

            Model.Icp.GZNanSha.CommodityInspection mod = SetMod(model);
            List <Hyt.Model.Icp.GZNanSha.CommodityInspectionLists> modLists = SetModLists(CIcpGoodsItemList);

            Hyt.Model.Icp.GZNanSha.Root root = new Hyt.Model.Icp.GZNanSha.Root();
            root.head                                         = new Hyt.Model.Icp.GZNanSha.Head();
            root.body                                         = new Hyt.Model.Icp.GZNanSha.Body();
            root.body.goodSrecord                             = new Model.Icp.GZNanSha.GOODSRECORD();
            root.body.goodSrecord.record                      = new Model.Icp.GZNanSha.Record();
            root.body.goodSrecord.record.cargoList            = new Model.Icp.GZNanSha.CARGO.CARGOLIST();
            root.body.goodSrecord.record.cargoList.recordList = new List <Hyt.Model.Icp.GZNanSha.Record1>();

            //生成最大流水号
            string   MaxSerialNumber = GetMaxSerialNumberByMType(model.IcpType.ToString(), config.NSIcpInfo.GoodsMessageType);
            DateTime now             = DateTime.Now;
            string   strDate         = now.ToString("yyyyMMddHHmmssfff");
            string   strDateMid      = now.ToString("yyyyMMddHHmmss");

            //string fileName = config.NSIcpInfo.GoodsMessageType + "_" + strDate + MaxSerialNumber;
            string MessageID = "ICIP" + strDateMid;
            string fileName  = config.NSIcpInfo.GoodsMessageType + "_" + strDate;

            SetCustomHead(MessageID, root.head);
            SetCustomBodyData(root.body.goodSrecord.record, mod);
            SetCustomBodyData(root.body.goodSrecord.record.cargoList, modLists);
            string str = Hyt.Util.Serialization.SerializationUtil.XmlSerialize <Model.Icp.GZNanSha.Root>(root);

            str = str.Replace("encoding=\"utf-16\"", "encoding=\"utf-8\"");
            FtpUtil ftp = new FtpUtil(config.NSIcpInfo.FtpUrl, config.NSIcpInfo.FtpName, config.NSIcpInfo.FtpPassword);
            string  msg = "";

            //string MessageID = fileName;
            fileName = fileName + ".xml";
            try
            {
                ftp.UploadFile(config.NSIcpInfo.FtpUrl + "4200.IMPBA.SWBCARGOBACK.REPORT/in", fileName, Encoding.UTF8.GetBytes(str), out msg);
                //新增商检表信息
                int UserSysNo = AdminAuthenticationBo.Instance.Current.Base.SysNo;
                model.SourceSysNo    = 0;
                model.MessageID      = MessageID;
                model.MessageType    = config.NSIcpInfo.GoodsMessageType;
                model.SerialNumber   = MaxSerialNumber;
                model.XmlContent     = str;
                model.CreatedBy      = UserSysNo;
                model.CreatedDate    = DateTime.Now;
                model.Status         = (int)IcpStatus.商品商检推送状态.已推送;
                model.LastUpdateBy   = AdminAuthenticationBo.Instance.Current.Base.SysNo;
                model.LastUpdateDate = DateTime.Now;
                model.SysNo          = IcpDao.Instance.Insert(model);
                if (model.SysNo > 0) //
                {
                    if (CIcpGoodsItemList != null)
                    {
                        foreach (var item in CIcpGoodsItemList)
                        {
                            var m = new CIcpGoodsItem
                            {
                                SourceSysNo    = 0,
                                IcpType        = model.IcpType,
                                MessageID      = MessageID,
                                IcpGoodsSysNo  = model.SysNo,
                                ProductSysNo   = item.ProductSysNo,
                                EntGoodsNo     = item.EntGoodsNo,
                                CreatedBy      = UserSysNo,
                                CreatedDate    = DateTime.Now,
                                LastUpdateBy   = UserSysNo,
                                LastUpdateDate = DateTime.Now
                            };
                            IcpDao.Instance.InsertIcpGoodsItem(m);
                        }
                    }
                }
                result.Status  = true;
                result.Message = root.head.MessageID;
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }