package doumeemes.api.ext;
|
|
import doumeemes.api.BaseController;
|
import doumeemes.core.annotation.excel.ExcelExporter;
|
import doumeemes.core.annotation.pr.PreventRepeat;
|
import doumeemes.core.model.ApiResponse;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.dao.business.model.Appliances;
|
import doumeemes.dao.ext.dto.QueryAppliancesByManualDTO;
|
import doumeemes.dao.ext.dto.QueryAppliancesExtDTO;
|
import doumeemes.dao.ext.vo.AppliancesExtListVO;
|
import doumeemes.service.business.AppliancesService;
|
import doumeemes.service.ext.AppliancesExtService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 工装器具信息接口
|
* @author 江蹄蹄
|
* @date 2022/04/20 11:01
|
*/
|
@RestController
|
@RequestMapping("/ext/appliancesExt")
|
@Api(tags = "工装器具信息接口")
|
public class AppliancesExtController extends BaseController {
|
|
@Autowired
|
private AppliancesExtService appliancesExtService;
|
|
@Autowired
|
private AppliancesService appliancesService;
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@RequiresPermissions("ext:appliancesext:create")
|
public ApiResponse create(@RequestBody Appliances appliances) {
|
|
return appliancesService.create( appliances);
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@RequiresPermissions("ext:appliancesext:delete")
|
public ApiResponse deleteById(@PathVariable Integer id) {
|
appliancesService.deleteById(id);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@RequiresPermissions("ext:appliancesext:delete")
|
public ApiResponse deleteByIds(@RequestParam String ids) {
|
String [] idArray = ids.split(",");
|
List<Integer> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(Integer.valueOf(id));
|
}
|
appliancesService.deleteByIdInBatch(idList);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@RequiresPermissions("ext:appliancesext:update")
|
public ApiResponse updateById(@RequestBody Appliances appliances) {
|
appliancesService.updateById(appliances);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@RequiresPermissions("ext:appliancesext:query")
|
public ApiResponse<PageData<AppliancesExtListVO>> findPage (@RequestBody PageWrap<QueryAppliancesExtDTO> pageWrap) {
|
return ApiResponse.success(appliancesExtService.findPage(pageWrap));
|
}
|
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
// @RequiresPermissions("ext:appliancesext:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<QueryAppliancesExtDTO> pageWrap, HttpServletResponse response) {
|
List<AppliancesExtListVO> list=appliancesExtService.findPage(pageWrap).getRecords();
|
List<AppliancesExtListVO> dclist=new ArrayList();
|
if(list.size()>0){
|
for(int i=0;i<list.size();i++){
|
AppliancesExtListVO app=list.get(i);
|
if(StringUtils.isNotEmpty(app.getCmodel1MiddleName())){
|
app.setCmodel1BigName(app.getCmodel1BigName()+""+app.getCmodel1MiddleName());
|
if(StringUtils.isNotEmpty(app.getCmodel1SmallName())){
|
app.setCmodel1BigName(app.getCmodel1BigName()+""+app.getCmodel1MiddleName()+""+app.getCmodel1SmallName());
|
}
|
}
|
if(app.getStatus()!=null){
|
switch (app.getStatus()){
|
case 0: app.setStatusname("报废"); break;
|
case 1: app.setStatusname("空"); break;
|
case 2: app.setStatusname("部分"); break;
|
case 3: app.setStatusname("满"); break;
|
default:
|
break;
|
}
|
|
}
|
if(app.getNum()==null){
|
BigDecimal b=new BigDecimal("0");
|
app.setNum(b);
|
}
|
dclist.add(app);
|
}
|
}
|
ExcelExporter.build(AppliancesExtListVO.class).export(dclist, "工装器具信息"+System.currentTimeMillis(), response);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@RequiresPermissions("ext:appliancesext:query")
|
public ApiResponse<Appliances> findById(@PathVariable Integer id) {
|
return ApiResponse.success(appliancesService.findById(id));
|
}
|
|
|
@ApiOperation("根据工装类型获取最大的序列号")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "字典数据表主键 工装属性", name = "type", paramType = "query", required = true, dataType = "String"),
|
@ApiImplicitParam(value = "工装类型", name = "categoryId", paramType = "query", required = true, dataType = "String"),
|
})
|
@GetMapping("/getMaxSerialNumByType")
|
@RequiresPermissions("ext:appliancesext:getMaxSerialNumByType")
|
public ApiResponse getMaxSerialNumByType(@RequestParam String type,@RequestParam String categoryId) {
|
QueryAppliancesExtDTO findData=new QueryAppliancesExtDTO();
|
findData.setDepartId(getLoginUser().getCurComDepartment().getId());
|
findData.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
// findData.setType(Integer.valueOf(type));
|
findData.setCategoryId(Integer.valueOf(categoryId));
|
findData.setDeleted(Constants.ZERO);
|
AppliancesExtListVO appliances= appliancesExtService.findMaxSerial(findData);
|
if(appliances!=null){
|
return ApiResponse.success(appliances.getSerialNum());
|
}else{
|
return ApiResponse.success(0);
|
}
|
|
}
|
|
|
|
@ApiOperation("批量报废")
|
@GetMapping("/updateStatus")
|
@RequiresPermissions("ext:appliancesext:updateStatus")
|
public ApiResponse updateStatus(@RequestParam String ids,@RequestParam String remark) {
|
String [] idArray = ids.split(",");
|
List<Appliances> idList = new ArrayList<>();
|
for (String id : idArray) {
|
|
Appliances appliances= appliancesService.findById(Integer.valueOf(id));
|
if(appliances!=null&&appliances.getStatus()!=1){
|
return ApiResponse.failed(appliances.getCode()+":工装不为空,不能报废!");
|
}
|
if(appliances==null){
|
return ApiResponse.failed("数据不存在!");
|
}
|
appliances.setStatus(Constants.ZERO);
|
appliances.setUpdateTime(new Date());
|
appliances.setRemark(remark);
|
idList.add(appliances);
|
}
|
appliancesService.updateByIdInBatch(idList);
|
return ApiResponse.success(null);
|
}
|
|
|
|
|
@ApiOperation("工装器具导入Excel")
|
@PostMapping("/importExcel")
|
//@RequiresPermissions("ext:appliancesext:importExcel")
|
public ApiResponse importExcel(@RequestParam(name = "file") MultipartFile file, @RequestParam(name = "categoryId") String categoryId,HttpServletRequest request, HttpServletResponse response) throws Exception {
|
return appliancesExtService.importExcel(file,categoryId);
|
}
|
|
|
@ApiOperation("根据条件查询列表")
|
@PostMapping("/getListByCondition")
|
public ApiResponse<List<AppliancesExtListVO>> getListByCondition(@RequestBody QueryAppliancesExtDTO query) {
|
// QueryAppliancesExtDTO find=new QueryAppliancesExtDTO();
|
query.setDeleted(Constants.ZERO);
|
query.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
query.setDepartId(getLoginUser().getCurComDepartment().getId());
|
return ApiResponse.success(appliancesExtService.selectListByCondition(query));
|
}
|
|
|
|
|
/* @ApiOperation("根据id查询篮筐信息")
|
@PostMapping("/getApplianceListByCondition")
|
public ApiResponse<List<AppliancesExtListVO>> getApplianceListByCondition(@RequestBody QueryAppliancesExtDTO query) {
|
// QueryAppliancesExtDTO find=new QueryAppliancesExtDTO();
|
query.setDeleted(Constants.ZERO);
|
query.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
query.setDepartId(getLoginUser().getCurComDepartment().getId());
|
if(query.getFirstid()==null){
|
return ApiResponse.failed("参数错误!");
|
}
|
return appliancesExtService.getApplianceListByCondition(query);
|
}*/
|
|
|
/* @ApiOperation("更换篮筐")
|
@PostMapping("/chageApplicance")
|
public ApiResponse chageApplicance(@RequestParam(name = "oldId") Integer oldId, @RequestParam(name = "newId") Integer newId) {
|
|
|
return appliancesExtService.chageApplicance(oldId,newId);
|
|
}*/
|
|
|
|
@ApiOperation("更换篮筐")
|
@PostMapping("/chageApplicance")
|
public ApiResponse chageApplicance(@RequestBody QueryAppliancesExtDTO query) {
|
try {
|
return appliancesExtService.chageApplicance(query);
|
} catch (IOException e) {
|
e.printStackTrace();
|
return ApiResponse.failed("更换失败");
|
}
|
}
|
|
|
@ApiOperation("手动出入库使用 - 分页查询")
|
@PostMapping("/findListPageForManual")
|
@RequiresPermissions("ext:appliancesext:query")
|
public ApiResponse<PageData<AppliancesExtListVO>> findListPageForManual (@Validated @RequestBody PageWrap<QueryAppliancesByManualDTO> pageWrap) {
|
return ApiResponse.success(appliancesExtService.findListPageForManual(pageWrap));
|
}
|
|
|
|
|
}
|