package com.gkhy.safePlatform.specialWork.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.specialWork.model.dto.req.DeleteForm; import com.gkhy.safePlatform.specialWork.model.dto.req.MaterialAllocationBaseAddReqDTO; import com.gkhy.safePlatform.specialWork.model.dto.req.MaterialAllocationBaseModReqDTO; import com.gkhy.safePlatform.specialWork.model.dto.req.MaterialReceiveReqDTO; import com.gkhy.safePlatform.specialWork.model.dto.resp.MaterialAllcationBasePageRespDTO; import com.gkhy.safePlatform.specialWork.model.dto.resp.MaterialAllocationBaseRespDTO; import com.gkhy.safePlatform.specialWork.model.query.MaterialAllocationBaseQuery; import com.gkhy.safePlatform.specialWork.service.MaterialAllocationBaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping(value = "/specialWork/material") public class MaterialAllocationBaseController { @Autowired private MaterialAllocationBaseService materialAllocationBaseService; @RequestMapping(value = "/save",method = RequestMethod.POST) public ResultVO save(Authentication authentication, @Validated @RequestBody MaterialAllocationBaseAddReqDTO addReqDTO){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.save(currentUser,addReqDTO); } @RequestMapping(value = "/update",method = RequestMethod.POST) public ResultVO update(Authentication authentication, @Validated @RequestBody MaterialAllocationBaseModReqDTO modReqDTO){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.update(currentUser,modReqDTO); } @RequestMapping(value = "/delete",method = RequestMethod.POST) public ResultVO delete(Authentication authentication, @RequestBody JSONObject jsonObject){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long id = jsonObject.getLong("id"); return materialAllocationBaseService.delete(currentUser,id); } @RequestMapping(value = "/deleteBatch",method = RequestMethod.POST) public ResultVO deleteBatch(Authentication authentication, @Validated @RequestBody DeleteForm deleteForm){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.deleteBatch(currentUser,deleteForm); } @RequestMapping(value = "page/list",method = RequestMethod.POST) public SearchResultVO> listByPage(Authentication authentication, @RequestBody PageQuery pageQuery){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.listByPage(currentUser,pageQuery); } @RequestMapping(value = "/list",method = RequestMethod.POST) public ResultVO> list(Authentication authentication, @RequestBody MaterialAllocationBaseQuery query){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.list(currentUser,query); } @RequestMapping(value = "/queryByWorkTypeOrLevel",method = RequestMethod.POST) public ResultVO> queryByWorkTypeOrLevel(Authentication authentication, @RequestBody MaterialAllocationBaseQuery query){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.queryByWorkTypeOrLevel(currentUser,query); } /** * 获取应急物资列表接口 * @param authentication * @return */ @RequestMapping(value = "/emegency/materials",method = RequestMethod.POST) public ResultVO emergencyMaterial(Authentication authentication){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialAllocationBaseService.emergencyMaterial(currentUser); } /** * 获取安全物资类型 */ @RequestMapping(value = "/equipment/materialClassify") public ResultVO materialClassify(Authentication authentication){ return new ResultVO<>(ResultCodes.OK,materialAllocationBaseService.materialClassify()); } /** * 根据物资配置以及人员获取数据 */ @RequestMapping(value = "/receive") public ResultVO materialReceive(Authentication authentication, @Validated @RequestBody MaterialReceiveReqDTO receiveReq){ return new ResultVO(ResultCodes.OK,materialAllocationBaseService.materialReceive(receiveReq)); } }