using System; using System.Collections.Generic; using System.Data; using SuperMap.RealEstate.ServiceModel; using Business = SuperMap.RealEstate.BasicArchives.Storage.Business; namespace GSYWApi.Helper { /// /// 商品管理相关方法 /// public class COMMODITYHelper { #region 获取商品信息列表 /// /// 获取商品信息列表 /// /// 事务管理器 /// 服务区内码 /// 记录总数量 /// 查询页码 /// 每页显示行数 /// 模糊查询内容:商品名称、条码 /// 商品类别 /// 商品业态 /// 商品状态 /// 排序字段 /// public static List GetCOMMODITYList(Transaction transaction, int? ServerpartId, ref int TotalCount, int PageIndex = 1, int PageSize = 10, string keyword = "", int? COMMODITY_TYPE = null, int? BUSINESSTYPE = null, int? COMMODITY_STATE = null, string SortStr = "") { List COMMODITYList = new List(); string WhereSQL = "", RowFilterSQL = ""; //查询服务区内码 if (ServerpartId != null) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SERVERPART_ID = " + ServerpartId; } //查询商品类别 if (COMMODITY_TYPE != null) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "COMMODITY_TYPE = '" + COMMODITY_TYPE + "'"; } //查询商品业态 if (BUSINESSTYPE != null) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "BUSINESSTYPE = " + BUSINESSTYPE; } //查询商品状态 if (COMMODITY_STATE != null) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "COMMODITY_STATE = " + COMMODITY_STATE; } DataTable dtCOMMODITY = new Business.COMMODITY(transaction).FillDataTable(WhereSQL); if (!string.IsNullOrWhiteSpace(keyword)) { RowFilterSQL = string.Format("COMMODITY_NAME like '%{0}%' or COMMODITY_BARCODE like '%{0}%'", keyword); } if (RowFilterSQL != "") { dtCOMMODITY.DefaultView.RowFilter = RowFilterSQL; } //排序: dtCOMMODITY.DefaultView.Sort = SortStr; dtCOMMODITY = dtCOMMODITY.DefaultView.ToTable(); //获取查询结果总记录条数 TotalCount = dtCOMMODITY.Rows.Count; //根据传入的页码和每页显示条数返回结果 dtCOMMODITY = CommonHelper.GetDataTableWithPageSize(dtCOMMODITY, PageSize, PageIndex); DataTable dtCommodityType = new Business.COMMODITYTYPE(transaction).FillDataTable(""); foreach (DataRow drCOMMODITY in dtCOMMODITY.Rows) { Model.COMMODITYModel commodityModel = new Model.COMMODITYModel(); commodityModel.COMMODITY_ID = drCOMMODITY["COMMODITY_ID"].TryParseToInt(); //商品内码 commodityModel.COMMODITY_TYPE = drCOMMODITY["COMMODITY_TYPE"].TryParseToInt(); //商品类型 if (commodityModel.COMMODITY_TYPE != null && dtCommodityType.Select( "COMMODITYTYPE_ID = " + commodityModel.COMMODITY_TYPE).Length > 0) { //商品类型名称 commodityModel.COMMODITY_TYPENAME = dtCommodityType.Select("COMMODITYTYPE_ID = " + commodityModel.COMMODITY_TYPE)[0]["COMMODITYTYPE_NAME"].ToString(); } commodityModel.COMMODITY_CODE = drCOMMODITY["COMMODITY_CODE"].ToString(); //商品编码 commodityModel.COMMODITY_NAME = drCOMMODITY["COMMODITY_NAME"].ToString(); //商品名称 commodityModel.COMMODITY_BARCODE = drCOMMODITY["COMMODITY_BARCODE"].ToString(); //商品条码 commodityModel.COMMODITY_SERVERCODE = drCOMMODITY["COMMODITY_SERVERCODE"].ToString(); //商品服务区编码 commodityModel.COMMODITY_ALLNAME = drCOMMODITY["COMMODITY_ALLNAME"].ToString(); //商品全名 commodityModel.COMMODITY_EN = drCOMMODITY["COMMODITY_EN"].ToString(); //商品英文缩写 commodityModel.COMMODITY_UNIT = drCOMMODITY["COMMODITY_UNIT"].ToString(); //商品单位 commodityModel.COMMODITY_RULE = drCOMMODITY["COMMODITY_RULE"].ToString(); //商品规格 commodityModel.COMMODITY_ORI = drCOMMODITY["COMMODITY_ORI"].ToString(); //商品产地 commodityModel.COMMODITY_GRADE = drCOMMODITY["COMMODITY_GRADE"].ToString(); //商品质量等级 commodityModel.COMMODITY_CURRPRICE = drCOMMODITY["COMMODITY_CURRPRICE"].TryParseToDouble(); //商品当前价格 commodityModel.COMMODITY_ORIPRICE = drCOMMODITY["COMMODITY_ORIPRICE"].TryParseToDouble(); //商品原价 commodityModel.COMMODITY_RETAILPRICE = drCOMMODITY["COMMODITY_RETAILPRICE"].TryParseToDouble(); //商品零售价 commodityModel.COMMODITY_MAXPRICE = drCOMMODITY["COMMODITY_MAXPRICE"].TryParseToDouble(); //商品最高价 commodityModel.COMMODITY_MINPRICE = drCOMMODITY["COMMODITY_MINPRICE"].TryParseToDouble(); //商品最低价 commodityModel.COMMODITY_PROMOTIONPRICE = drCOMMODITY["COMMODITY_PROMOTIONPRICE"].TryParseToDouble(); //商品促销价 commodityModel.COMMODITY_UNIFORMPRICE = drCOMMODITY["COMMODITY_UNIFORMPRICE"].TryParseToDouble(); //商品统一价 commodityModel.COMMODITY_GROUPPRICE = drCOMMODITY["COMMODITY_GROUPPRICE"].TryParseToDouble(); //商品团购价 commodityModel.COMMODITY_MEMBERPRICE = drCOMMODITY["COMMODITY_MEMBERPRICE"].TryParseToDouble(); //商品会员价 commodityModel.COMMODITY_PURCHASEPRICE = drCOMMODITY["COMMODITY_PURCHASEPRICE"].TryParseToDouble(); //商品进货价 commodityModel.COMMODITY_STATE = drCOMMODITY["COMMODITY_STATE"].TryParseToInt(); //商品状态 commodityModel.COMMODITY_DESC = drCOMMODITY["COMMODITY_DESC"].ToString(); //商品说明 commodityModel.SUPPLIER_ID = drCOMMODITY["SUPPLIER_ID"].TryParseToInt(); //商品供应商内码 commodityModel.COMMODITY_BRAND = drCOMMODITY["COMMODITY_BRAND"].ToString(); //品牌编码 commodityModel.DUTY_PARAGRAPH = drCOMMODITY["DUTY_PARAGRAPH"].TryParseToShort(); //进价税率 commodityModel.RETAIL_DUTY = drCOMMODITY["RETAIL_DUTY"].TryParseToShort(); //零售税率 commodityModel.COMMODITY_COUNT = drCOMMODITY["COMMODITY_COUNT"].TryParseToLong(); //货物剩余数量 commodityModel.COMMODITY_FROZENCOUNT = drCOMMODITY["COMMODITY_FROZENCOUNT"].TryParseToLong(); //货物冻结数量 commodityModel.ADDTIME = drCOMMODITY["ADDTIME"].TryParseToDateTime(); //添加时间 commodityModel.CANSALE = drCOMMODITY["CANSALE"].TryParseToInt(); //是否可售 commodityModel.SERVERPART_ID = drCOMMODITY["SERVERPART_ID"].TryParseToInt(); //服务区内码 commodityModel.PROVINCE_CODE = drCOMMODITY["PROVINCE_CODE"].TryParseToInt(); //省份编码 commodityModel.BUSINESSTYPE = drCOMMODITY["BUSINESSTYPE"].TryParseToInt(); //商品业态 commodityModel.ISBULK = drCOMMODITY["ISBULK"].TryParseToInt(); //是否散装 commodityModel.METERINGMETHOD = drCOMMODITY["METERINGMETHOD"].TryParseToInt(); //称重方式 commodityModel.OPERATE_DATE = drCOMMODITY["OPERATE_DATE"].TryParseToDateTime(); //修改时间 commodityModel.COMMODITY_SYMBOL = drCOMMODITY["COMMODITY_SYMBOL"].ToString(); //商品标识 commodityModel.COMMODITY_HOTKEY = drCOMMODITY["COMMODITY_HOTKEY"].ToString(); //商品快捷键 commodityModel.USERDEFINEDTYPE_ID = drCOMMODITY["USERDEFINEDTYPE_ID"].TryParseToInt(); //自定义类别内码 COMMODITYList.Add(commodityModel); } return COMMODITYList; } #endregion #region 获取商品管理明细 /// /// 获取商品管理明细 /// /// 事务管理器 /// 商品内码 /// public static Model.COMMODITYModel GetCOMMODITYDetail(Transaction transaction, int COMMODITYId) { Model.COMMODITYModel commodityModel = new Model.COMMODITYModel(); Business.COMMODITY _COMMODITY = new Business.COMMODITY(transaction); _COMMODITY.COMMODITY_ID = COMMODITYId; if (_COMMODITY.Select()) { commodityModel.COMMODITY_HOTKEY = _COMMODITY.COMMODITY_HOTKEY; //商品快捷键 commodityModel.USERDEFINEDTYPE_ID = _COMMODITY.USERDEFINEDTYPE_ID; //自定义类别内码 commodityModel.COMMODITY_ID = _COMMODITY.COMMODITY_ID; //商品内码 commodityModel.COMMODITY_TYPE = _COMMODITY.COMMODITY_TYPE.TryParseToInt(); //商品类型 commodityModel.COMMODITY_CODE = _COMMODITY.COMMODITY_CODE; //商品编码 commodityModel.COMMODITY_NAME = _COMMODITY.COMMODITY_NAME; //商品名称 commodityModel.COMMODITY_BARCODE = _COMMODITY.COMMODITY_BARCODE; //商品条码 commodityModel.COMMODITY_SERVERCODE = _COMMODITY.COMMODITY_SERVERCODE; //商品服务区编码 commodityModel.COMMODITY_ALLNAME = _COMMODITY.COMMODITY_ALLNAME; //商品全名 commodityModel.COMMODITY_EN = _COMMODITY.COMMODITY_EN; //商品英文缩写 commodityModel.COMMODITY_UNIT = _COMMODITY.COMMODITY_UNIT; //商品单位 commodityModel.COMMODITY_RULE = _COMMODITY.COMMODITY_RULE; //商品规格 commodityModel.COMMODITY_ORI = _COMMODITY.COMMODITY_ORI; //商品产地 commodityModel.COMMODITY_GRADE = _COMMODITY.COMMODITY_GRADE; //商品质量等级 commodityModel.COMMODITY_CURRPRICE = _COMMODITY.COMMODITY_CURRPRICE; //商品当前价格 commodityModel.COMMODITY_ORIPRICE = _COMMODITY.COMMODITY_ORIPRICE; //商品原价 commodityModel.COMMODITY_RETAILPRICE = _COMMODITY.COMMODITY_RETAILPRICE; //商品零售价 commodityModel.COMMODITY_MAXPRICE = _COMMODITY.COMMODITY_MAXPRICE; //商品最高价 commodityModel.COMMODITY_MINPRICE = _COMMODITY.COMMODITY_MINPRICE; //商品最低价 commodityModel.COMMODITY_PROMOTIONPRICE = _COMMODITY.COMMODITY_PROMOTIONPRICE; //商品促销价 commodityModel.COMMODITY_UNIFORMPRICE = _COMMODITY.COMMODITY_UNIFORMPRICE; //商品统一价 commodityModel.COMMODITY_GROUPPRICE = _COMMODITY.COMMODITY_GROUPPRICE; //商品团购价 commodityModel.COMMODITY_MEMBERPRICE = _COMMODITY.COMMODITY_MEMBERPRICE; //商品会员价 commodityModel.COMMODITY_PURCHASEPRICE = _COMMODITY.COMMODITY_PURCHASEPRICE; //商品进货价 commodityModel.COMMODITY_STATE = _COMMODITY.COMMODITY_STATE; //商品状态 commodityModel.COMMODITY_DESC = _COMMODITY.COMMODITY_DESC; //商品说明 commodityModel.SUPPLIER_ID = _COMMODITY.SUPPLIER_ID; //商品供应商内码 commodityModel.COMMODITY_BRAND = _COMMODITY.COMMODITY_BRAND; //品牌编码 commodityModel.DUTY_PARAGRAPH = _COMMODITY.DUTY_PARAGRAPH; //进价税率 commodityModel.RETAIL_DUTY = _COMMODITY.RETAIL_DUTY; //零售税率 commodityModel.COMMODITY_COUNT = _COMMODITY.COMMODITY_COUNT; //货物剩余数量 commodityModel.COMMODITY_FROZENCOUNT = _COMMODITY.COMMODITY_FROZENCOUNT; //货物冻结数量 commodityModel.ADDTIME = _COMMODITY.ADDTIME; //添加时间 commodityModel.CANSALE = _COMMODITY.CANSALE; //是否可售 commodityModel.SERVERPART_ID = _COMMODITY.SERVERPART_ID; //服务区内码 commodityModel.PROVINCE_CODE = _COMMODITY.PROVINCE_CODE; //省份编码 commodityModel.BUSINESSTYPE = _COMMODITY.BUSINESSTYPE; //商品业态 commodityModel.ISBULK = _COMMODITY.ISBULK; //是否散装 commodityModel.METERINGMETHOD = _COMMODITY.METERINGMETHOD; //称重方式 commodityModel.OPERATE_DATE = _COMMODITY.OPERATE_DATE; //修改时间 commodityModel.COMMODITY_SYMBOL = _COMMODITY.COMMODITY_SYMBOL; //商品标识 } return commodityModel; } #endregion #region 同步商品信息 /// /// 同步商品信息 /// /// /// /// public static bool SynchroCOMMODITY(Transaction transaction, Model.COMMODITYModel commodityModel) { bool SynchroFlag = true; if (commodityModel.SERVERPART_ID != null) { Business.SERVERPART _SERVERPART = new Business.SERVERPART(transaction); _SERVERPART.SERVERPART_ID = commodityModel.SERVERPART_ID; if (_SERVERPART.Select()) { commodityModel.COMMODITY_SERVERCODE = _SERVERPART.SERVERPART_CODE; } } Business.COMMODITY _COMMODITY = new Business.COMMODITY(transaction); if (commodityModel.COMMODITY_ID != null) { _COMMODITY.COMMODITY_ID = commodityModel.COMMODITY_ID; if (_COMMODITY.Select()) { SynchroModelToObject(_COMMODITY, commodityModel); _COMMODITY.Update(); } else { SynchroFlag = false; } } else { SynchroModelToObject(_COMMODITY, commodityModel); _COMMODITY.Insert(); } return SynchroFlag; } #region 赋值商品管理数据对象 /// /// 赋值商品管理数据对象 /// /// /// public static void SynchroModelToObject(Business.COMMODITY _COMMODITY, Model.COMMODITYModel commodityModel) { _COMMODITY.COMMODITY_HOTKEY = commodityModel.COMMODITY_HOTKEY; //商品快捷键 _COMMODITY.USERDEFINEDTYPE_ID = commodityModel.USERDEFINEDTYPE_ID; //自定义类别内码 _COMMODITY.COMMODITY_TYPE = commodityModel.COMMODITY_TYPE.ToString(); //商品类型 _COMMODITY.COMMODITY_CODE = commodityModel.COMMODITY_CODE; //商品编码 _COMMODITY.COMMODITY_NAME = commodityModel.COMMODITY_NAME; //商品名称 _COMMODITY.COMMODITY_BARCODE = commodityModel.COMMODITY_BARCODE; //商品条码 _COMMODITY.COMMODITY_SERVERCODE = commodityModel.COMMODITY_SERVERCODE; //商品服务区编码 _COMMODITY.COMMODITY_ALLNAME = commodityModel.COMMODITY_ALLNAME; //商品全名 _COMMODITY.COMMODITY_EN = commodityModel.COMMODITY_EN; //商品英文缩写 _COMMODITY.COMMODITY_UNIT = commodityModel.COMMODITY_UNIT; //商品单位 _COMMODITY.COMMODITY_RULE = commodityModel.COMMODITY_RULE; //商品规格 _COMMODITY.COMMODITY_ORI = commodityModel.COMMODITY_ORI; //商品产地 _COMMODITY.COMMODITY_GRADE = commodityModel.COMMODITY_GRADE; //商品质量等级 _COMMODITY.COMMODITY_CURRPRICE = commodityModel.COMMODITY_CURRPRICE; //商品当前价格 _COMMODITY.COMMODITY_ORIPRICE = commodityModel.COMMODITY_ORIPRICE; //商品原价 _COMMODITY.COMMODITY_RETAILPRICE = commodityModel.COMMODITY_RETAILPRICE; //商品零售价 _COMMODITY.COMMODITY_MAXPRICE = commodityModel.COMMODITY_MAXPRICE; //商品最高价 _COMMODITY.COMMODITY_MINPRICE = commodityModel.COMMODITY_MINPRICE; //商品最低价 _COMMODITY.COMMODITY_PROMOTIONPRICE = commodityModel.COMMODITY_PROMOTIONPRICE; //商品促销价 _COMMODITY.COMMODITY_UNIFORMPRICE = commodityModel.COMMODITY_UNIFORMPRICE; //商品统一价 _COMMODITY.COMMODITY_GROUPPRICE = commodityModel.COMMODITY_GROUPPRICE; //商品团购价 _COMMODITY.COMMODITY_MEMBERPRICE = commodityModel.COMMODITY_MEMBERPRICE; //商品会员价 _COMMODITY.COMMODITY_PURCHASEPRICE = commodityModel.COMMODITY_PURCHASEPRICE; //商品进货价 _COMMODITY.COMMODITY_STATE = commodityModel.COMMODITY_STATE; //商品状态 _COMMODITY.COMMODITY_DESC = commodityModel.COMMODITY_DESC; //商品说明 _COMMODITY.SUPPLIER_ID = commodityModel.SUPPLIER_ID; //商品供应商内码 _COMMODITY.COMMODITY_BRAND = commodityModel.COMMODITY_BRAND; //品牌编码 _COMMODITY.DUTY_PARAGRAPH = commodityModel.DUTY_PARAGRAPH; //进价税率 _COMMODITY.RETAIL_DUTY = commodityModel.RETAIL_DUTY; //零售税率 _COMMODITY.COMMODITY_COUNT = commodityModel.COMMODITY_COUNT; //货物剩余数量 _COMMODITY.COMMODITY_FROZENCOUNT = commodityModel.COMMODITY_FROZENCOUNT; //货物冻结数量 _COMMODITY.ADDTIME = commodityModel.ADDTIME; //添加时间 _COMMODITY.CANSALE = commodityModel.CANSALE; //是否可售 _COMMODITY.SERVERPART_ID = commodityModel.SERVERPART_ID; //服务区内码 _COMMODITY.PROVINCE_CODE = commodityModel.PROVINCE_CODE; //省份编码 _COMMODITY.BUSINESSTYPE = commodityModel.BUSINESSTYPE; //商品业态 _COMMODITY.ISBULK = commodityModel.ISBULK; //是否散装 _COMMODITY.METERINGMETHOD = commodityModel.METERINGMETHOD; //称重方式 _COMMODITY.OPERATE_DATE = commodityModel.OPERATE_DATE; //修改时间 _COMMODITY.COMMODITY_SYMBOL = commodityModel.COMMODITY_SYMBOL; //商品标识 } #endregion #endregion #region 删除商品信息 /// /// 删除商品信息 /// /// 事务管理器 /// 商品内码 /// public static bool DeleteCOMMODITY(Transaction transaction, int? COMMODITYId) { bool DeleteFlag = false; if (COMMODITYId != null) { Business.COMMODITY _COMMODITY = new Business.COMMODITY(transaction); _COMMODITY.COMMODITY_ID = COMMODITYId; if (_COMMODITY.Select()) { _COMMODITY.Delete(); DeleteFlag = true; } } return DeleteFlag; } #endregion } }