package doumeemes.api.ext;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
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.PageWrap;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.core.utils.DateUtil;
|
import doumeemes.dao.business.model.Plans;
|
import doumeemes.dao.business.model.WorkPlans;
|
import doumeemes.dao.business.vo.WorkPlansVO;
|
import doumeemes.dao.ext.dto.QueryPlansExtDTO;
|
import doumeemes.dao.ext.dto.QueryWorkPlansDTO;
|
import doumeemes.dao.ext.dto.WorkPlansSaveDTO;
|
import doumeemes.dao.ext.vo.PlansExtListVO;
|
import doumeemes.service.business.WorkPlansService;
|
import doumeemes.service.ext.WorkPlansExtService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* @author 江蹄蹄
|
* @since 2023/07/24 15:33
|
*/
|
@Api(tags = "工单类-成品生产计划信息表")
|
@RestController
|
@RequestMapping("/business/workPlans")
|
public class WorkPlansExtController extends BaseController {
|
|
@Autowired
|
private WorkPlansExtService workPlansService;
|
|
@ApiOperation(value = "批量导入计划", notes = "批量导入计划", httpMethod = "POST", position = 6)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "folder", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
|
})
|
@PostMapping(value = "/importBatch", headers = "content-type=multipart/form-data")
|
@RequiresPermissions("ext:workplans:create")
|
public ApiResponse importBatch(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
|
if (multipartResovler.isMultipart(request)) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Iterator<String> it = multipartRequest.getFileNames();
|
while (it.hasNext()) {
|
MultipartFile file = multipartRequest.getFile((String) it.next());
|
workPlansService.importPlans(file);
|
break;
|
}
|
}
|
return ApiResponse.success( null);
|
}
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@RequiresPermissions("ext:workplans:create")
|
public ApiResponse create(@RequestBody WorkPlansSaveDTO workPlansSaveDTO) {
|
return ApiResponse.success(workPlansService.saveOrUpdate(workPlansSaveDTO));
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@RequiresPermissions("ext:workplans:query")
|
public ApiResponse<PageData<WorkPlansVO>> findPage (@RequestBody PageWrap<QueryWorkPlansDTO> pageWrap) {
|
return ApiResponse.success(workPlansService.findWorkPlansVOPage(pageWrap));
|
}
|
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@RequiresPermissions("ext:workplans:delete")
|
public ApiResponse deleteById(@PathVariable Integer id) {
|
workPlansService.deleteById(id);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("暂停计划")
|
@PostMapping("/paused")
|
@RequiresPermissions("ext:workplans:control")
|
public ApiResponse paused(@RequestBody WorkPlans plans) {
|
workPlansService.paused(plans.getId());
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("恢复计划")
|
@PostMapping("/regain")
|
@RequiresPermissions("ext:workplans:control")
|
public ApiResponse regain(@RequestBody WorkPlans plans) {
|
workPlansService.regain(plans.getId());
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("关闭计划")
|
@PostMapping("/close")
|
@RequiresPermissions("ext:workplans:control")
|
public ApiResponse close(@RequestBody WorkPlans plans) {
|
workPlansService.close(plans.getId());
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@RequiresPermissions("ext:workplans:query")
|
public ApiResponse<WorkPlansVO> findById(@PathVariable Integer id) {
|
return ApiResponse.success(workPlansService.getWorkPlansDetail(id));
|
}
|
|
@ApiOperation("计划发布")
|
@PostMapping("/release")
|
@RequiresPermissions("ext:workplans:control")
|
public ApiResponse release(@RequestBody WorkPlans plans) {
|
workPlansService.release(plans.getId());
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("计划批量删除")
|
@PostMapping("/deleteBatch")
|
@RequiresPermissions("ext:workplans:delete")
|
public ApiResponse deleteBatch(@RequestBody List<WorkPlans> workPlansList) {
|
if(!Objects.isNull(workPlansList)&&workPlansList.size()> Constants.ZERO){
|
for (WorkPlans workPlans:workPlansList) {
|
workPlansService.deleteById(workPlans.getId());
|
}
|
}
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("计划批量发布")
|
@PostMapping("/releaseBatch")
|
@RequiresPermissions("ext:workplans:control")
|
public ApiResponse releaseBatch(@RequestBody List<WorkPlans> workPlansList) {
|
if(!Objects.isNull(workPlansList)&&workPlansList.size()> Constants.ZERO){
|
for (WorkPlans workPlans:workPlansList) {
|
workPlansService.release(workPlans.getId());
|
}
|
}
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@RequiresPermissions("ext:workplans:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<QueryWorkPlansDTO> pageWrap, HttpServletResponse response) throws Exception{
|
ExcelExporter.build(WorkPlansVO.class).export(workPlansService.findWorkPlansVOPage(pageWrap).getRecords(), "成品计划"+ DateUtil.getNowLongTime(), response);
|
}
|
|
}
|