/// <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()); }
/// <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"); } }
/// <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); }
/// <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); }
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); }
/// <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 }); }
/// <summary> /// 更新数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns></returns> /// <remarkss>2016-04-05 王耀发 更新</remarks> public abstract int UpdateIcpGZNanShaGoodsInfoEntity(IcpGZNanShaGoodsInfo entity);
/// <summary> /// 插入数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>新增记录编号</returns> /// <remarkss>2016-04-05 王耀发 创建</remarks> public abstract int InsertIcpGZNanShaGoodsInfo(IcpGZNanShaGoodsInfo entity);
/// <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); }