isEmpty($data,'id')) return [201,'ID不存在!']; list($status,$msg) = $this->basicMaterialRule($data); if(!$status) return [$status,$msg]; $first = BasicMaterial::where('title',$data['title'])->where('id','<>',$data['id'])->where('del_time',0)->first(); if(!empty($first))return [false,'工号已存在!']; $model = new BasicMaterial(); $model = $model->where('id',$data['id'])->first(); $model->id_card = $data['title']; $model->save(); return [true,'保存成功!']; } public function basicMaterialAdd($data,$user){ list($status,$msg) = $this->basicMaterialRule($data); if(!$status) return [$status,$msg]; $first = BasicMaterial::where('title',$data['title'])->where('del_time',0)->first(); if(!empty($first))return [false,'名称已存在!']; $model = new BasicMaterial(); $model->title = $data['title']; $model->save(); return [true,'保存成功!']; } public function basicMaterialDel($data){ if($this->isEmpty($data,'id')) return [false,'ID必须!']; BasicMaterial::where('id',$data['id'])->update([ 'del_time'=>time() ]); return [true,'删除成功']; } public function basicMaterialList($data){ $list = BasicMaterial::where('del_time',0)->select('title','crt_time','upd_time','id')->orderBy('id','desc'); $list = $this->limit($list,'',$data); return [200,$list]; } public function basicMaterialRule($data){ if($this->isEmpty($data,'title')) return [false,'名称不存在!']; return [true,'']; } public function MaterialEdit($data){ list($status,$msg) = $this->MaterialRule($data); if(!$status) return [$status,$msg]; if($this->isEmpty($data,'id')) return [false,'ID必传']; $first = Material::where('title',$data['title'])->where('id','<>',$data['id'])->where('del_time',0)->first(); if(!empty($first))return [false,'名称已存在!']; $first = Material::where('abbreviation_title',$data['abbreviation_title'])->where('id','<>',$data['id'])->where('del_time',0)->first(); if(!empty($first))return [false,'简称已存在!']; DB::beginTransaction(); try{ $model = new Material(); $model = $model->where('id',$data['id'])->first(); $model->b_m_id = $data['b_m_id'] ; $model->title = $data['title'] ; $model->abbreviation_title = $data['abbreviation_title'] ; $model->unit = $data['unit'] ; $model->remark = $data['remark'] ?? '' ; $model->img_url = $data['img_url'] ?? '' ; $model->save(); $detail_insert = []; MaterialDetail::where('material_id',$model->id)->update([ 'del_time' => time() ]); if(isset($data['children'])){ foreach ($data['children'] as $v){ $detail_insert[] = [ 'material_id' => $model->id, 'price' => $v['price'], 'long' => $v['long'], 'width' => $v['width'], 'high' => $v['high'], 'code' => $v['code'], 'brand' => $v['brand'], ]; } } MaterialDetail::insert($detail_insert); DB::commit(); }catch (\Exception $e){ DB::rollBack(); return [false,$e->getMessage()]; } return [true,'保存成功!']; } public function MaterialAdd($data,$user){ // if($this->isEmpty($data,'title')) return [201,'名称不存在!']; list($status,$msg) = $this->MaterialRule($data); if(!$status) return [$status,$msg]; $first = Material::where('title',$data['title'])->where('del_time',0)->first(); if(!empty($first))return [false,'名称已存在!']; $first = Material::where('abbreviation_title',$data['abbreviation_title'])->where('del_time',0)->first(); if(!empty($first))return [false,'简称已存在!']; DB::beginTransaction(); try{ $model = new Material(); $model->b_m_id = $data['b_m_id'] ; $model->title = $data['title'] ; $model->abbreviation_title = $data['abbreviation_title'] ; $model->unit = $data['unit'] ; $model->remark = $data['remark'] ?? '' ; $model->img_url = $data['img_url'] ?? '' ; $model->save(); $detail_insert = []; if(isset($data['detail'])){ foreach ($data['detail'] as $v){ $detail_insert[] = [ 'material_id' => $model->id, 'price' => $v['price'], 'long' => $v['long'], 'width' => $v['width'], 'high' => $v['high'], 'code' => $v['code'], 'brand' => $v['brand'], ]; } } MaterialDetail::insert($detail_insert); DB::commit(); }catch (\Exception $e){ DB::rollBack(); return [false,$e->getMessage()]; } return [true,'保存成功!']; } public function MaterialDel($data){ if($this->isEmpty($data,'id')) return [false,'ID必须!']; Material::where('id',$data['id'])->update([ 'del_time'=>time() ]); MaterialDetail::where('material_id',$data['id'])->update([ 'del_time'=>time() ]); return [true,'删除成功']; } public function MaterialList($data){ $list = Material::where('del_time',0)->select('title','b_m_id','abbreviation_title','unit','crt_time','upd_time','id')->orderBy('id','desc'); $list = $this->limit($list,'',$data); return [true,$list]; } public function MaterialDetail($data){ if($this->isEmpty($data,'id')) return [false,'ID必传']; $id = $data['id']; $detail = Material::where('del_time',0)->where('id',$id)->select('title','b_m_id','abbreviation_title','unit','crt_time','upd_time','id')->first(); if(empty($detail)) return [false,'数据不存在!']; $detail['detail'] = MaterialDetail::where('material_id',$id)->select('price','long','width','high','crt_time','upd_time','code','brand')->get()->toArray(); return [true,$detail]; } public function MaterialRule($data){ if($this->isEmpty($data,'b_m_id')) return [false,'物料分类不存在!']; if($this->isEmpty($data,'title')) return [false,'物料名称不存在!']; if($this->isEmpty($data,'abbreviation_title')) return [false,'物料简称不存在!']; if($this->isEmpty($data,'unit')) return [false,'物料单位不存在!']; return [true,'']; } }