usingHh.Mes.Common.log;usingHh.Mes.Common.Request;usingHh.Mes.POJO.Entity;usingHh.Mes.POJO.Response;usingHh.Mes.Service.Repository;usingSystem;usingSystem.Text;namespaceHh.Mes.Service.Warehous{publicclassWarehouseService:RepositorySqlSugar<base_warehouse>{///<summary>///查询方法///</summary>///<paramname="page">页码</param>///<paramname="model">传入的参数</param>///<returns></returns>publicResponseLoad(PageReqpage,base_warehousemodel){varresult=newResponse();varstringBuilder=newStringBuilder();stringsqlWhere=SqlWhere(model);stringBuilder.Append($@"selectt1.*,t2.workshopNameworkshopname,t3.lineNamefrombase_warehouset1leftjoinbase_workshopt2ont1.workShopCode=t2.workShopCodeleftjoinbase_linet3ont1.lineCode=t3.lineCodewhere{sqlWhere}");//查询条件varparameters=new{name=model.name,code=model.code,workshopCode=model.workshopCode,lineCode=model.lineCode};varindex=base.Context.Ado.GetDataTable(stringBuilder.ToString(),parameters).Rows.Count;//获取行数if(page!=null)//分页{stringBuilder.Append($" order by t1.id desc offset {(page.page - 1) * page.limit} row fetch next {page.limit} row only ");}varlist=base.Context.Ado.GetDataTable(stringBuilder.ToString(),parameters);result.Result=list;result.Count=index;returnresult;}///<summary>///添加///</summary>///<paramname="model">参数</param>///<returns></returns>publicdynamicIns(base_warehousemodel){varresponse=newResponse();returnExceptionsHelp.Instance.ExecuteT(()=>{model.lineId=null;model.workshopId=null;varprefix=base.GetDictionaryDictValue("base_warehouse");varmaxValue=GetTableMaxValue<base_warehouse>("id");model.code=prefix+maxValue;
model.updateTime=DateTime.Now;response.Status=base.Context.Updateable(model).IgnoreColumns(it=>new{it.createBy,it.createTime}).ExecuteCommand()>0;if(!response.Status){response.Message="编辑失败";}returnresponse;});}///<summary>///删除方法///</summary>///<paramname="ids">需要删除的id</param>///<returns></returns>publicdynamicDelByIds(string[]ids){varresponse=newResponse{Message=""};returnExceptionsHelp.Instance.ExecuteT(()=>{varindex=0;foreach(varcodeinids){varisExit=Context.Queryable<base_location>().Any(u=>u.warehouseCode==code);//是否存在if(isExit){index++;//提示response.Code=300;response.Message+=$"仓库:{code}在库存里面存在数据不能删除 <br>";}}if(index>0)returnresponse;vartemp=Context.Deleteable<base_warehouse>().In(x=>x.code,ids).ExecuteCommand()>0;if(!temp){response.Message="删除失败,反复出现请联系管理员";}returnresponse;});}publicstringSqlWhere(base_warehousemodel){varstringBuilder=newStringBuilder();stringBuilder.Append("1=1");if(!string.IsNullOrWhiteSpace(model.name)){stringBuilder.Append($" and t1.name like '%'+@name+'%' ");}if(!string.IsNullOrWhiteSpace(model.code)){stringBuilder.Append($" and t1.code like '%'+@code+'%' ");}if(!string.IsNullOrWhiteSpace(model.workshopCode)){stringBuilder.Append($" and t1.workshopCode like '%'+@workshopCode+'%' ");}if(!string.IsNullOrWhiteSpace(model.lineCode)){stringBuilder.Append($" and t1.lineCode like '%'+@lineCode+'%' ");}returnstringBuilder.ToString();}///<summary>///导出///</summary>publicdynamicExportData(PageReqpage,base_warehouseentity){returnExceptionsHelp.Instance.ExecuteT(()=>{varresult=newResponse();vards=Load(null,entity);if(ds==null||ds.Count==0){result.Result="[]";result.Count=0;}else{result.Result=ds.Result;result.Count=ds.Count;}returnresult;},catchRetrunValue:"list");}}}