作业槽接口修改

liweidong
pangyang 2 months ago
parent 5cc58c3d9c
commit dbf5fc40ed
  1. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/Oem.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/WorkTankVO.java
  3. 11
      blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/CraftAbilityEntity.java
  4. 84
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java
  5. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java

@ -3,13 +3,16 @@
*/ */
package org.springblade.desk.basic.pojo.entity; package org.springblade.desk.basic.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import java.io.Serial; import java.io.Serial;
import java.util.List;
/** /**
* [外协厂家] 实体类 * [外协厂家] 实体类
@ -98,6 +101,7 @@ public class Oem extends BaseEntity {
*/ */
@Schema(description = "工艺能力") @Schema(description = "工艺能力")
private String craftAbility; private String craftAbility;
private String craftAbilityId;
/** /**
* 地区 * 地区
*/ */
@ -153,4 +157,7 @@ public class Oem extends BaseEntity {
*/ */
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@TableField(exist = false)
private List<CraftAbilityEntity> crafs;
} }

@ -25,4 +25,6 @@ public class WorkTankVO extends WorkTank {
@Schema(description = "BaseEntityVO") @Schema(description = "BaseEntityVO")
private BaseEntityVO base; private BaseEntityVO base;
private String opUserRealName;
} }

@ -85,5 +85,16 @@ public class CraftAbilityEntity extends BaseEntity {
private String batch; private String batch;
@Schema(description = "饱和度") @Schema(description = "饱和度")
private BigDecimal saturation; private BigDecimal saturation;
@Schema(description = "计划员")
private Long planner;
@Schema(description = "调度员")
private Long dispatcher;
@Schema(description = "是否大批量 0:是 1:否")
private String isBatch;
// @TableField(exist = false)
private String plannerName;
// @TableField(exist = false)
private String dispatcherName;
} }

@ -28,17 +28,25 @@ import org.springblade.desk.basic.constant.BAModuleConst;
import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.excel.OemExcel; import org.springblade.desk.basic.excel.OemExcel;
import org.springblade.desk.basic.pojo.entity.Oem; import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.request.OemSearch; import org.springblade.desk.basic.pojo.request.OemSearch;
import org.springblade.desk.basic.pojo.vo.OemVO; import org.springblade.desk.basic.pojo.vo.OemVO;
import org.springblade.desk.basic.service.ICraftAbilityService;
import org.springblade.desk.basic.service.IOemService; import org.springblade.desk.basic.service.IOemService;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.wrapper.OemWrapper; import org.springblade.desk.basic.wrapper.OemWrapper;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -59,7 +67,10 @@ public class OemController extends BladeController {
@Resource @Resource
private IOemService service; private IOemService service;
@Resource
private ICraftAbilityService craftAbilityService;
@Resource
private IUserClient iUserClient;
/** /**
* [外协厂家] 详情 * [外协厂家] 详情
*/ */
@ -74,6 +85,77 @@ public class OemController extends BladeController {
return R.data(detailVO); return R.data(detailVO);
} }
@PostMapping("/updateCraftAbilityId")
@ApiOperationSupport(order = 31)
@Operation(summary = "设置工艺Id保存", description = "传入WorkCenter List")
@Transactional
public R updateCraftAbilityId(@Valid @RequestBody Oem oem) {
QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem);
Oem detail = service.getOne(qw);
// List<Long> craftIds = workCenter.getCraftIds();
List<CraftAbilityEntity> crafs = oem.getCrafs();
String result = null;
String craftAbility = null;
if(null != crafs && crafs.size()>0){
for(CraftAbilityEntity craft:crafs){
craftAbilityService.updateById(craft);
}
// result= crafs.stream()
// .map(user -> String.valueOf(user.getId()))
// .collect(Collectors.joining(","));
result= crafs.stream()
.map(craf -> craf.getId())
.filter(Objects::nonNull) // 过滤 null 的 role_id
.map(String::valueOf) // 转换为 String 类型(适配 joining)
.collect(Collectors.joining(",")); // 用逗号拼接
craftAbility= crafs.stream()
.map(user -> String.valueOf(user.getCaName()))
.collect(Collectors.joining(","));
}
detail.setCraftAbilityId(result);
detail.setCraftAbility(craftAbility);
service.updateById(detail);
return R.status(true);
}
@PostMapping("/getSelectCraftAbility")
@ApiOperationSupport(order = 31)
@Operation(summary = "获取已选择工艺", description = "传入WorkCenter List")
public R<List<CraftAbilityEntity>> getSelectCraftAbility(@Valid @RequestBody Oem oem) {
List<CraftAbilityEntity> teams = new ArrayList<>();
QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem);
Oem detail = service.getOne(qw);
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);
for(CraftAbilityEntity team:teams){
R<User> user= iUserClient.userInfoById(team.getDispatcher());
if(null != user && null != user.getData()){
team.setDispatcherName(user.getData().getRealName());
}
R<User> userplan= iUserClient.userInfoById(team.getPlanner());
if(null != userplan && null != userplan.getData()){
team.setPlannerName(userplan.getData().getRealName());
}
}
}
}
return R.data(teams);
}
/** /**
* [外协厂家] list分页 * [外协厂家] list分页
*/ */

@ -33,6 +33,8 @@ import org.springblade.desk.basic.pojo.vo.WorkTankVO;
import org.springblade.desk.basic.service.IWorkTankService; import org.springblade.desk.basic.service.IWorkTankService;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.wrapper.WorkTankWrapper; import org.springblade.desk.basic.wrapper.WorkTankWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -58,6 +60,8 @@ public class WorkTankController extends BladeController {
@Resource @Resource
private IWorkTankService service; private IWorkTankService service;
@Resource
private IUserClient iUserClient;
/** /**
* [作业槽] 详情 * [作业槽] 详情
@ -83,6 +87,11 @@ public class WorkTankController extends BladeController {
QueryWrapper<WorkTank> qw = Condition.getQueryWrapper(workTank, WorkTank.class); QueryWrapper<WorkTank> qw = Condition.getQueryWrapper(workTank, WorkTank.class);
IPage<WorkTank> pages = service.page(Condition.getPage(query), qw); IPage<WorkTank> pages = service.page(Condition.getPage(query), qw);
IPage<WorkTankVO> pagesVO = WorkTankWrapper.build().pageVO(pages); IPage<WorkTankVO> pagesVO = WorkTankWrapper.build().pageVO(pages);
List<WorkTankVO> listVO = pagesVO.getRecords();
for(WorkTankVO one : listVO){
R<User> userplan= iUserClient.userInfoById(one.getOpUserId());
one.setOpUserRealName(userplan.getData().getRealName());
}
return R.data(pagesVO); return R.data(pagesVO);
} }
@ -97,6 +106,11 @@ public class WorkTankController extends BladeController {
IPage<WorkTankVO> pagesVO = service.selectWorkTankPage( IPage<WorkTankVO> pagesVO = service.selectWorkTankPage(
Condition.getPage(query), workTank Condition.getPage(query), workTank
); );
List<WorkTankVO> listVO = pagesVO.getRecords();
for(WorkTankVO one : listVO){
R<User> userplan= iUserClient.userInfoById(one.getOpUserId());
one.setOpUserRealName(userplan.getData().getRealName());
}
return R.data(pagesVO); return R.data(pagesVO);
} }

Loading…
Cancel
Save