作业中心设置班组和工艺能力

liweidong
pangyang 2 months ago
parent f8f20293c7
commit 29c4fdb451
  1. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/WorkCenter.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/feign/INoticeClient.java
  3. 95
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java
  4. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/notice/feign/NoticeClient.java
  5. 29
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/CraftAbilityController.java
  6. 13
      blade-service/blade-system/src/main/java/org/springblade/system/controller/UserController.java

@ -3,6 +3,7 @@
*/
package org.springblade.desk.basic.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -11,6 +12,7 @@ import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.List;
/**
* [作业中心] 实体类
@ -128,6 +130,8 @@ public class WorkCenter extends BaseEntity {
*/
@Schema(description = "工艺能力")
private String craftAbility;
@Schema(description = "工艺能力Id")
private String craftAbilityId;
/**
* 业务标识
*/
@ -143,6 +147,8 @@ public class WorkCenter extends BaseEntity {
*/
@Schema(description = "班组")
private String team;
@Schema(description = "班组id")
private String teamId;
/**
* 面积
*/
@ -208,4 +214,11 @@ public class WorkCenter extends BaseEntity {
*/
@Schema(description = "备注")
private String remarks;
@TableField(exist = false)
private List<Long> teamIds;
@TableField(exist = false)
private List<Long> craftIds;
}

@ -27,9 +27,13 @@ package org.springblade.desk.feign;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
import org.springblade.desk.pojo.entity.Notice;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
@ -44,6 +48,7 @@ public interface INoticeClient {
String API_PREFIX = "/feign/client/notice";
String TOP = API_PREFIX + "/top";
String DETAIL = API_PREFIX + "/detail";
/**
* 获取notice列表
@ -55,4 +60,7 @@ public interface INoticeClient {
@GetMapping(TOP)
BladePage<Notice> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
@PostMapping(DETAIL)
WorkCenterVO detail(WorkCenter workCenter);
}

@ -26,17 +26,23 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.WorkCenterExcel;
import org.springblade.desk.basic.pojo.entity.PlatingSmall;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.wrapper.WorkCenterWrapper;
import org.springblade.scheduling.pojo.entity.TeamSetEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* [作业中心] 控制器
@ -56,6 +62,10 @@ public class WorkCenterController extends BladeController {
@Resource
private IWorkCenterService service;
@Resource
private ITeamSetService teamService;
/**
* [作业中心] 详情
*/
@ -137,6 +147,91 @@ public class WorkCenterController extends BladeController {
return R.status(service.saveBatch(addList));
}
@PostMapping("/getUnSelectTeam")
@ApiOperationSupport(order = 31)
@Operation(summary = "获取未选择班组", description = "传入WorkCenter List")
public R<List<TeamSet>> getUnSelectTeam(@Valid @RequestBody WorkCenter workCenter) {
List<TeamSet> teams = new ArrayList<>();
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = service.getOne(qw);
if(detail != null){
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.notIn("id",ids);
teams = teamService.list(queryWrapper);
}else{
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
teams = teamService.list(queryWrapper);
}
}
return R.data(teams);
}
@PostMapping("/getSelectTeam")
@ApiOperationSupport(order = 31)
@Operation(summary = "获取已选择班组", description = "传入WorkCenter List")
public R<List<TeamSet>> getSelectTeam(@Valid @RequestBody WorkCenter workCenter) {
List<TeamSet> teams = new ArrayList<>();
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = service.getOne(qw);
if(detail != null){
String teamId = detail.getTeamId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<TeamSet> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",ids);
teams = teamService.list(queryWrapper);
}
}
return R.data(teams);
}
@PostMapping("/updateTeamId")
@ApiOperationSupport(order = 31)
@Operation(summary = "设置班组Id保存", description = "传入WorkCenter List")
public R updateTeamId(@Valid @RequestBody WorkCenter workCenter) {
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = service.getOne(qw);
List<Long> teamIds = workCenter.getTeamIds();
String result = null;
if(null != teamIds){
result = teamIds.stream()
.map(Object::toString) // 或者直接使用String::valueOf,效果相同
.collect(Collectors.joining(","));
}
detail.setTeamId(result);
service.updateById(detail);
return R.status(true);
}
@PostMapping("/updateCraftAbilityId")
@ApiOperationSupport(order = 31)
@Operation(summary = "设置工艺Id保存", description = "传入WorkCenter List")
public R updateCraftAbilityId(@Valid @RequestBody WorkCenter workCenter) {
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = service.getOne(qw);
List<Long> craftIds = workCenter.getCraftIds();
String result = null;
if(null != craftIds){
result = craftIds.stream()
.map(Object::toString) // 或者直接使用String::valueOf,效果相同
.collect(Collectors.joining(","));
}
detail.setCraftAbilityId(result);
service.updateById(detail);
return R.status(true);
}
/**
* [作业中心] 修改一条
*/

@ -25,16 +25,25 @@
*/
package org.springblade.desk.notice.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.BladePage;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.wrapper.WorkCenterWrapper;
import org.springblade.desk.feign.INoticeClient;
import org.springblade.desk.notice.service.INoticeService;
import org.springblade.desk.pojo.entity.Notice;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.Hidden;
@ -50,6 +59,8 @@ import io.swagger.v3.oas.annotations.Hidden;
public class NoticeClient implements INoticeClient {
private final INoticeService service;
@Resource
private IWorkCenterService workCenterService;
@Override
@GetMapping(TOP)
@ -61,4 +72,13 @@ public class NoticeClient implements INoticeClient {
return BladePage.of(page);
}
@Override
@PostMapping(DETAIL)
public WorkCenterVO detail(@RequestBody WorkCenter workCenter) {
QueryWrapper<WorkCenter> qw = Condition.getQueryWrapper(workCenter);
WorkCenter detail = workCenterService.getOne(qw);
WorkCenterVO detailVO = WorkCenterWrapper.build().entityVO(detail);
return detailVO;
}
}

@ -41,7 +41,11 @@ import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.CoatingThickness;
import org.springblade.desk.basic.pojo.entity.PlatingSmall;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.vo.PlatingSmallVO;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
import org.springblade.desk.feign.INoticeClient;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import org.springblade.scheduling.scheduling.excel.CraftAbilityExcel;
import org.springblade.scheduling.scheduling.service.ICraftAbilityService;
@ -76,7 +80,7 @@ import org.springframework.web.multipart.MultipartFile;
public class CraftAbilityController extends BladeController {
private final ICraftAbilityService craftAbilityService;
private final INoticeClient noticeClient;
/**
* 工艺能力 详情
*/
@ -87,6 +91,29 @@ public class CraftAbilityController extends BladeController {
CraftAbilityEntity detail = craftAbilityService.getOne(Condition.getQueryWrapper(craftAbility));
return R.data(CraftAbilityWrapper.build().entityVO(detail));
}
@PostMapping("/getSelectCraftAbility")
@ApiOperationSupport(order = 31)
@Operation(summary = "获取已选择工艺", description = "传入WorkCenter List")
public R<List<CraftAbilityEntity>> getSelectCraftAbility(@Valid @RequestBody WorkCenter workCenter) {
List<CraftAbilityEntity> teams = new ArrayList<>();
WorkCenterVO detail = noticeClient.detail(workCenter);
if(detail != null){
String teamId = detail.getCraftAbilityId();
if(null != teamId && !"".equals(teamId)){
List<Long> ids = Func.toLongList(teamId);
QueryWrapper<CraftAbilityEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",ids);
teams = craftAbilityService.list(queryWrapper);
}
}
return R.data(teams);
}
/**
* 工艺能力 分页
*/

@ -261,6 +261,19 @@ public class UserController {
ExcelUtil.export(response, "用户数据" + DateUtil.time(), "用户数据表", list, UserExcel.class);
}
@GetMapping("getLeaderUser")
@ApiOperationSupport(order = 13)
@Operation(summary = "获取主管工艺员", description = "传入user")
public R<List<User>> getLeaderUser(@Parameter(hidden = true) @RequestParam Map<String, Object> user, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<User> queryWrapper = Condition.getQueryWrapper(user, User.class);
queryWrapper.lambda().eq(User::getIsDeleted, BladeConstant.DB_NOT_DELETED);
queryWrapper.lambda().like(User::getRoleId, "2000409951566053378");
List<User> list = userService.list(queryWrapper);
return R.data(list);
}
/**
* 导出模板
*/

Loading…
Cancel
Save