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.LoginUserInfo;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.dao.business.model.Procedures;
|
import doumeemes.dao.ext.dto.QueryProceduresExtDTO;
|
import doumeemes.dao.ext.vo.ProceduresExtListVO;
|
import doumeemes.service.business.ProceduresService;
|
import doumeemes.service.ext.ProceduresExtService;
|
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.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 工序信息接口
|
* @author 江蹄蹄
|
* @date 2022/04/20 10:57
|
*/
|
@RestController
|
@RequestMapping("/ext/proceduresExt")
|
@Api(tags = "工序信息接口")
|
public class ProceduresExtController extends BaseController {
|
|
@Autowired
|
private ProceduresExtService proceduresExtService;
|
|
@Autowired
|
private ProceduresService proceduresService;
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@RequiresPermissions("ext:proceduresext:create")
|
public ApiResponse create(@RequestBody Procedures procedures) {
|
if(StringUtils.isBlank(procedures.getCode())){
|
procedures.setCode(proceduresService.getNextCode(getLoginUser().getCompany().getId()));
|
}
|
|
Procedures find1=new Procedures();
|
find1.setDeleted(Constants.ZERO);
|
find1.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
find1.setOrgId(procedures.getOrgId());
|
find1.setName(procedures.getName().trim());
|
List<Procedures> list1=proceduresService.findList(find1);
|
if(list1.size()>0){
|
return ApiResponse.failed("所属工厂部门内名称已存在,不允许添加");
|
}
|
Procedures find2=new Procedures();
|
find2.setDeleted(Constants.ZERO);
|
find2.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
find2.setCode(procedures.getCode().trim());
|
List<Procedures> list2=proceduresService.findList(find2);
|
if(list2.size()>0){
|
return ApiResponse.failed("主组织下工序编码已存在,不允许添加");
|
}
|
|
procedures.setDeleted(Constants.ZERO);
|
procedures.setCreateTime(new Date());
|
procedures.setCreateUser(getLoginUser().getId());
|
procedures.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
procedures.setDepartId(getLoginUser().getCurComDepartment().getId());
|
return ApiResponse.success(proceduresService.create(procedures));
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@RequiresPermissions("ext:proceduresext:delete")
|
public ApiResponse deleteById(@PathVariable Integer id) {
|
Procedures procedures=new Procedures();
|
procedures.setDeleted(Constants.ONE);
|
procedures.setId(id);
|
return proceduresService.delete(procedures);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@RequiresPermissions("ext:proceduresext:delete")
|
public ApiResponse deleteByIds(@RequestParam String ids) {
|
String [] idArray = ids.split(",");
|
List<Procedures> idList = new ArrayList<>();
|
for (String id : idArray) {
|
Procedures procedures=new Procedures();
|
procedures.setDeleted(Constants.ONE);
|
procedures.setId(Integer.valueOf(id));
|
idList.add(procedures);
|
}
|
return proceduresService.updateByIdInBatch(idList);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@RequiresPermissions("ext:proceduresext:update")
|
public ApiResponse updateById(@RequestBody Procedures procedures) {
|
|
Procedures find1=new Procedures();
|
find1.setDeleted(Constants.ZERO);
|
find1.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
find1.setName(procedures.getName().trim());
|
find1.setOrgId(procedures.getOrgId());
|
List<Procedures> list1=proceduresService.findList(find1);
|
if(list1.size()>0){
|
if(!Constants.equalsInteger(list1.get(0).getId(),procedures.getId())){
|
return ApiResponse.failed("所属工厂部门内名称已存在,不允许添加");
|
}
|
}
|
|
Procedures find2=new Procedures();
|
find2.setDeleted(Constants.ZERO);
|
find2.setRootDepartId(getLoginUser().getRootDepartment().getId());
|
find2.setCode(procedures.getCode().trim());
|
List<Procedures> list2=proceduresService.findList(find2);
|
if(list2.size()>0){
|
if(!Constants.equalsInteger(list2.get(0).getId(),procedures.getId())){
|
return ApiResponse.failed("主组织下工序编码已存在,不允许添加");
|
}
|
}
|
|
Procedures find= proceduresService.findById(procedures.getId());
|
find.setUpdateTime(new Date());
|
find.setUpdateUser(getLoginUser().getId());
|
find.setCode(procedures.getCode());
|
find.setName(procedures.getName());
|
find.setType(procedures.getType());
|
find.setOrgId(procedures.getOrgId());
|
find.setUserId(procedures.getUserId());
|
find.setPickingWarehouseId(procedures.getPickingWarehouseId());
|
find.setProduceWarehouseId(procedures.getProduceWarehouseId());
|
find.setLevel(procedures.getLevel());
|
find.setSortnum(procedures.getSortnum());
|
find.setTobescrappedWarehouseId(procedures.getTobescrappedWarehouseId());
|
find.setBadWarehouseId(procedures.getBadWarehouseId());
|
find.setIscalculate(procedures.getIscalculate());
|
find.setIscalculate(procedures.getIscalculate());
|
find.setNeedcheck(procedures.getNeedcheck());
|
proceduresService.updateById(find);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@RequiresPermissions("ext:proceduresext:query")
|
public ApiResponse<PageData<ProceduresExtListVO>> findPage (@RequestBody PageWrap<QueryProceduresExtDTO> pageWrap) {
|
pageWrap.getModel().setDeleted(Constants.ZERO);
|
pageWrap.getModel().setRootDepartId(getLoginUser().getRootDepartment().getId());
|
pageWrap.getModel().setDepartId(getLoginUser().getCurComDepartment().getId());
|
return ApiResponse.success(proceduresExtService.findPage(pageWrap));
|
}
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@RequiresPermissions("ext:proceduresext:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<QueryProceduresExtDTO> pageWrap, HttpServletResponse response) {
|
ExcelExporter.build(ProceduresExtListVO.class).export(proceduresExtService.findPage(pageWrap).getRecords(), "工序信息", response);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@RequiresPermissions("ext:proceduresext:query")
|
public ApiResponse findById(@PathVariable Integer id) {
|
return ApiResponse.success(proceduresService.findById(id));
|
}
|
|
|
@ApiOperation("查询当前用户所有主组织下的工序")
|
@PostMapping("/productesGroup")
|
public ApiResponse<List<ProceduresExtListVO>> productesGroup (@RequestBody QueryProceduresExtDTO queryProceduresExtDTO) {
|
LoginUserInfo user = getLoginUser();
|
queryProceduresExtDTO.setDeleted(Constants.ZERO);
|
queryProceduresExtDTO.setRootDepartId(user.getRootDepartment().getId());
|
queryProceduresExtDTO.setDepartId(user.getCurComDepartment().getId());
|
return ApiResponse.success(proceduresExtService.getListByCondition(queryProceduresExtDTO));
|
}
|
|
@ApiOperation("查询当前用户全部范围内的全部工序")
|
@PostMapping("/getSelfList")
|
public ApiResponse<List<ProceduresExtListVO>> getSelfList (@RequestBody QueryProceduresExtDTO queryProceduresExtDTO) {
|
return ApiResponse.success(proceduresExtService.getSelfList(queryProceduresExtDTO));
|
}
|
|
@ApiOperation("根据物料分配主键查询")
|
@GetMapping("/getListByMaterialId")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "物料主键", name = "materialId", paramType = "query", required = true, dataType = "Integer")
|
})
|
public ApiResponse<List<Procedures>> getListByMaterialId(@RequestParam Integer materialId) {
|
return ApiResponse.success(proceduresExtService.getListByMaterialId(materialId));
|
}
|
|
}
|