package com.dy.pmsPlatform.material; 
 | 
  
 | 
import com.alibaba.fastjson2.JSON; 
 | 
import com.dy.common.aop.SsoPowerAop; 
 | 
import com.dy.common.webUtil.BaseResponse; 
 | 
import com.dy.common.webUtil.BaseResponseUtils; 
 | 
import com.dy.common.webUtil.QueryResultVo; 
 | 
import com.dy.pmsGlobal.aop.Log; 
 | 
import com.dy.pmsGlobal.pojoPlt.PltMaterial; 
 | 
import jakarta.validation.Valid; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.validation.BindingResult; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Objects; 
 | 
  
 | 
/** 
 | 
 * 物料管理 
 | 
 */ 
 | 
@Slf4j 
 | 
@RestController 
 | 
@RequestMapping(path="material") 
 | 
@SuppressWarnings("unchecked") 
 | 
public class MaterialCtrl { 
 | 
    private MaterialSv sv; 
 | 
    @Autowired 
 | 
    public MaterialCtrl(MaterialSv sv){ 
 | 
        this.sv = sv; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 保存物料信息 
 | 
     * @param material 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path="save") 
 | 
    @SsoPowerAop(power = "10300001") 
 | 
    @Log("保存物料信息") 
 | 
    public BaseResponse<PltMaterial> save(@RequestBody @Valid PltMaterial material,BindingResult bindingResult){ 
 | 
        try { 
 | 
            if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
                return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
            } 
 | 
            material.deleted = false; 
 | 
            return BaseResponseUtils.buildSuccess(sv.save(material)); 
 | 
        }catch (Exception e){ 
 | 
            log.error("保存物料异常", e); 
 | 
            return BaseResponseUtils.buildException(e.getMessage()); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 更新物料信息 
 | 
     * @param material 
 | 
     * @param bindingResult 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path="update") 
 | 
    @SsoPowerAop(power = "10300001") 
 | 
    @Log("更新物料信息") 
 | 
    public BaseResponse<PltMaterial> update(@RequestBody @Valid PltMaterial material,BindingResult bindingResult){ 
 | 
        try { 
 | 
            if (bindingResult != null && bindingResult.hasErrors()) { 
 | 
                return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); 
 | 
            } 
 | 
            return BaseResponseUtils.buildSuccess(sv.update(material)); 
 | 
        }catch (Exception e){ 
 | 
            log.error("更新物料异常", e); 
 | 
            return BaseResponseUtils.buildException(e.getMessage()); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 删除物料信息 
 | 
     * @param id 
 | 
     * @return 
 | 
     */ 
 | 
    @GetMapping(path="delete") 
 | 
    @SsoPowerAop(power = "10300001") 
 | 
    @Log("删除物料信息") 
 | 
    public BaseResponse<PltMaterial> delete(String id){ 
 | 
        try { 
 | 
            return BaseResponseUtils.buildSuccess(sv.delete(Long.parseLong(id))); 
 | 
        }catch (Exception e){ 
 | 
            log.error("删除物料异常", e); 
 | 
            return BaseResponseUtils.buildException(e.getMessage()); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    /** 
 | 
     * 根据ID查询物料信息 
 | 
     * @return 
 | 
     */ 
 | 
    @GetMapping(path="one") 
 | 
    @SsoPowerAop(power = "10300000") //登录与权限同时验证 
 | 
    @Log("根据ID查询物料信息") 
 | 
    public BaseResponse<PltMaterial> one(String id){ 
 | 
        try{ 
 | 
            PltMaterial material=sv.selectById(id); 
 | 
            return BaseResponseUtils.buildSuccess(JSON.toJSON(material)); 
 | 
        }catch (Exception e){ 
 | 
            log.error("查询物料异常", e); 
 | 
            return BaseResponseUtils.buildException(e.getMessage()); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 查询物料信息 
 | 
     * @param vo 
 | 
     * @return 
 | 
     */ 
 | 
    @PostMapping(path="some") 
 | 
    @SsoPowerAop(power = "10300000") 
 | 
    @Log("查询物料信息") 
 | 
    public BaseResponse<QueryResultVo<List<PltMaterial>>> some(@RequestBody QueryVo vo){ 
 | 
        try { 
 | 
            QueryResultVo<List<PltMaterial>> list = sv.selectSome(vo) ; 
 | 
            return BaseResponseUtils.buildSuccess(list); 
 | 
        }catch (Exception e){ 
 | 
            log.error("查询物料异常", e); 
 | 
            return BaseResponseUtils.buildException(e.getMessage()); 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |