提交 77090dca authored 作者: zhoushaopan's avatar zhoushaopan

feat(列装模块、装备模块): 列装的绑定和解绑

列装的绑定和解绑
上级 65d679e5
......@@ -213,5 +213,11 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary, Integer>,
int updatePackingId(
@Param("packingId") Integer packingId,
@Param("deviceIds") List<Integer> deviceIds);
// @Transactional
// @Modifying
// @Query("update DeviceLibrary o set o.partParentId = null where o.id in :deviceIds")
// int updatePartParentId(
// @Param("deviceIds") List<Integer> deviceIds);
}
......@@ -434,4 +434,11 @@ public interface DeviceLibraryService {
* 查询所有装备
*/
List<DeviceLibrary> findAllDevices();
// /**
// * 根据装备id的集合更新列装id
// * @param deviceIds 装备id的集合
// * @return 影响行数
// */
// int updatePartParentId(List<Integer> deviceIds);
}
......@@ -770,6 +770,7 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
return deviceLibraryDao.findAll().stream().map(DeviceLibrary::setConfigName).collect(Collectors.toList());
}
@Override
@UpdateCache
public void updateLocalAndOwn(String localUnit,List<Integer> deviceIds) {
deviceLibraryDao.updateDevicesOwnUnit(localUnit,deviceIds);
......@@ -876,81 +877,97 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
}
@Override
@UpdateCache
public int upDateLeftStatus(Integer lifeStatus, List<Integer> idList) {
return deviceLibraryDao.upDateLeftStatus(lifeStatus,idList);
}
@Override
@UpdateCache
public int upDateSeqNumbersLeftStatus(Integer lifeStatus, List<String> seqNumbers) {
return deviceLibraryDao.upDateSeqNumbersLeftStatus(lifeStatus,seqNumbers);
}
@Override
@UpdateCache
public int upDateLeftStatusAndLockStatus(Integer lifeStatus, Integer lock, List<Integer> idList) {
return deviceLibraryDao.upDateLeftStatusAndLockStatus(lifeStatus,lock,idList);
}
@Override
@UpdateCache
public int upDateLockStatus(Integer lock, List<Integer> idList) {
return deviceLibraryDao.upDateLockStatus(lock,idList);
}
@Override
@UpdateCache
public int upDateLeftStatusAndUnitNameAndLockStatus(Integer lifeStatus, String unitName, Integer lock, List<Integer> idList) {
return deviceLibraryDao.upDateLeftStatusAndUnitNameAndLockStatus(lifeStatus,unitName,lock,idList);
}
@Override
@UpdateCache
public int upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(Integer lifeStatus, String unitName, Integer lock, List<String> seqNumbers) {
return deviceLibraryDao.upDateSeqNumbersLeftStatusAndUnitNameAndLockStatus(lifeStatus,unitName,lock,seqNumbers);
}
@Override
@UpdateCache
public int upDateLeftStatusAndOwnUnitName(Integer lifeStatus, String unitName, List<Integer> idList) {
return deviceLibraryDao.upDateLeftStatusAndOwnUnitName(lifeStatus,unitName,idList);
}
@Override
@UpdateCache
public int upDateRfidSurfaceIdAsSeqNumber(List<Integer> idList) {
return deviceLibraryDao.upDateRfidSurfaceIdAsSeqNumber(idList);
}
@Override
@UpdateCache
public int upDateName(String name, Integer packingId) {
return deviceLibraryDao.upDateName(name,packingId);
}
@Override
@UpdateCache
public int upDateMatchingRange(Integer matchingRange, Integer packingId) {
return deviceLibraryDao.upDateMatchingRange(matchingRange,packingId);
}
@Override
@UpdateCache
public int batchUpdate(Integer lifeStatus, Integer id) {
return deviceLibraryDao.batchUpdate(lifeStatus,id);
}
@Override
@UpdateCache
public int batchUpdate2(Integer lifeStatus, List<Integer> ids) {
return deviceLibraryDao.batchUpdate2(lifeStatus,ids);
}
@Override
@UpdateCache
public int updateMatchingRange(Integer matchingRange, Integer packingId) {
return deviceLibraryDao.updateMatchingRange(matchingRange,packingId);
}
@Override
@UpdateCache
public int updateMatchingRange2(Integer matchingRange, List<Integer> deviceIds) {
return deviceLibraryDao.updateMatchingRange2(matchingRange,deviceIds);
}
@Override
@UpdateCache
public int updateModelAndPackingId(String newModel, Integer packingId, List<Integer> deviceIds) {
return deviceLibraryDao.updateModelAndPackingId(newModel,packingId,deviceIds);
}
@Override
@UpdateCache
public int updatePackingId(Integer packingId, List<Integer> deviceIds) {
return deviceLibraryDao.updatePackingId(packingId,deviceIds);
}
......@@ -960,6 +977,12 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
return cacheLibraryService.getAllDeviceLibraryList();
}
// @Override
// @UpdateCache
// public int updatePartParentId(List<Integer> deviceIds) {
// return deviceLibraryDao.updatePartParentId(deviceIds);
// }
@Override
@UpdateCache
......
......@@ -4,6 +4,7 @@ import com.tykj.dev.config.cache.ConfigCache;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.file.service.FilesUtil;
import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.service.DeviceLibraryCacheService;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
......@@ -94,14 +95,17 @@ public class PackingController {
@Autowired
ConfigCache configCache;
@Autowired
DeviceLibraryDao deviceLibraryDao;
// @Autowired
// DeviceLibraryDao deviceLibraryDao;
@Autowired
private RepairDetailDao repairDetailDao;
@Autowired
private DeviceLogService deviceLogService;
@Autowired
private DeviceLibraryCacheService deviceLibraryCacheService;
@Autowired
@Qualifier("taskExecutor")
Executor executor;
......@@ -503,7 +507,8 @@ public class PackingController {
@ApiOperation(value = "判断序列号区间不存在")
@PostMapping("/seqsNotExist/{id}/{num}/{seq}")
public ResponseEntity seqsNotExist(@PathVariable("id") int id,@PathVariable("num") int num,@PathVariable("seq") String seq){
List<DeviceLibrary> deviceLibraries = deviceLibraryDao.findAll();
// List<DeviceLibrary> deviceLibraries = deviceLibraryDao.findAll();
List<DeviceLibrary> deviceLibraries = deviceLibraryCacheService.getAllDeviceLibraryList();
List<String> existSeqs = deviceLibraries.stream().map(DeviceLibrary::getSeqNumber).collect(Collectors.toList());
List<String> inputSeqs = DeviceSeqUtil.selectDeviceSeqs(seq);
if (inputSeqs.size()>0&&inputSeqs.size()!=num){
......@@ -738,7 +743,8 @@ public class PackingController {
packingLog.setPackingId(packingLibrary.getId());
packingLogService.add(packingLog);
packingLibrary.setName(packingLibraryUpdateVo.getName());
deviceLibraryDao.upDateName(packingLibrary.getName(),packingLibrary.getId());
// deviceLibraryDao.upDateName(packingLibrary.getName(),packingLibrary.getId());
deviceLibraryService.upDateName(packingLibrary.getName(),packingLibrary.getId());
}
if (packingLibraryUpdateVo.getApplyType()!=null&&!packingLibraryUpdateVo.getApplyType().equals(packingLibrary.getApplyType())){
//添加列装应用类型日志
......@@ -795,7 +801,8 @@ public class PackingController {
List<Integer> ids = deviceLibraryList.stream().map(DeviceLibrary::getId).collect(Collectors.toList());
Integer userId = userUtils.getCurrentUserId();
if(ids.size()>0){
deviceLibraryDao.updateMatchingRange2(packingLibraryUpdateVo.getMatchingRange(),ids);
// deviceLibraryDao.updateMatchingRange2(packingLibraryUpdateVo.getMatchingRange(),ids);
deviceLibraryService.updateMatchingRange2(packingLibraryUpdateVo.getMatchingRange(),ids);
List<DeviceLog> logDtos=new ArrayList<>();
// String remark = "将原配用范围"+packingLibrary.getMatchingRangeName()+"修改为"+packingLibraryUpdateVo.getMatchingRangeName();
String remark = "将原配用范围"+packingLibrary1.getMatchingRangeName()+"修改为"+packingLibraryUpdateVo.getMatchingRangeName();
......@@ -810,7 +817,8 @@ public class PackingController {
}
});
deviceLibraryDao.upDateMatchingRange(packingLibrary.getMatchingRange(),packingLibrary.getId());
// deviceLibraryDao.upDateMatchingRange(packingLibrary.getMatchingRange(),packingLibrary.getId());
deviceLibraryService.updateMatchingRange(packingLibrary.getMatchingRange(),packingLibrary.getId());
}
if (packingLibraryUpdateVo.getInvisibleRange()!=null&&!packingLibraryUpdateVo.getInvisibleRange().equals(packingLibrary.getInvisibleRange())){
//添加列装可见范围日志
......@@ -935,6 +943,46 @@ public class PackingController {
}
@ApiOperation(value = "解除列装绑定")
@PostMapping("/relievePacking")
public ResponseEntity relievePacking(@RequestBody PackingLibrary packingLibrary){
packingLibraryService.relievePacking(packingLibrary);
return ResponseEntity.ok("解除成功");
}
@ApiOperation(value = "列装绑定")
@PostMapping("/bindingPacking")
public ResponseEntity bindingPacking(@RequestBody BindingPackingVo bindingPackingVo){
packingLibraryService.bindingPacking(bindingPackingVo);
return ResponseEntity.ok("列装绑定成功");
}
@ApiOperation(value = "查询可选择的列装")
@PostMapping("/selectPacking")
public ResponseEntity selectPacking(@RequestBody SelectPackingVo selectPackingVo){
List<PackingLibrary> resultList = packingLibraryService.getAllSelectPacking(selectPackingVo.getPackingIds());
//进行过滤 退装的目录下面 回收站
List<Integer> statuses = new ArrayList<>(Arrays.asList(3, 4));
//先过滤出child为空的
List<PackingLibrary> childs = resultList.stream().filter(packingLibrary -> packingLibrary.getChilds() == null || packingLibrary.getChilds().size() == 0).collect(Collectors.toList());
//取出不为空的
resultList.removeAll(childs);
childs.forEach(packingLibrary -> {
List<PackingLibrary> in = packingLibraryDao.findAllByPartParentIdAndPackingStatusIn(
packingLibrary.getId(), statuses);
if (in == null || in.size() == 0) {
resultList.add(packingLibrary);
}
});
List<PackingLibrary> packingLibraries = resultList.stream().filter(packingLibrary -> packingLibrary.getIsRoot() == 0).collect(Collectors.toList());
Page<PackingLibrary> perPage = PageUtil.getPerPage(selectPackingVo.getPage(),
selectPackingVo.getSize(), packingLibraries, selectPackingVo.getPageable());
Map<String, Object> map = new HashMap<>();
map.put("page",perPage);
return ResponseEntity.ok(map);
}
/**
* 设置排序
* @param sortNum 数字
......
......@@ -146,7 +146,6 @@ public class PackingLibraryController {
List<PackingLibrary> defectList = new ArrayList<>();
//做一个去重
List<String> strings = models.stream().distinct().collect(Collectors.toList());
// for (String model : models) {
//model在models出现的次数
for (String string : strings) {
// int count = Collections.frequency(models, model);
......@@ -165,8 +164,6 @@ public class PackingLibraryController {
List<PackingLibrary> context1 = getContext1(map1);
resultList2.addAll(context1);
}
// }
}
//过滤出空目录
//判断它本身是不是就是空目录
......@@ -435,79 +432,20 @@ public class PackingLibraryController {
//取出目录 找出目录
PackingLibrary packingLibrary = packingLibraries.get(0);
packingLibraries.remove(packingLibrary);
// List<PackingLibrary> finalPackingList = new ArrayList<>();
List<PackingLibrary> finalPackingList = new ArrayList<>();
for (int i = 0; i < packingLibraries.size(); i++) {
List<PackingLibrary> finalPackingList = new ArrayList<>();
//会造成覆盖
if (packingLibrary.getChilds() != null){
List<PackingLibrary> childs = packingLibrary.getChilds();
finalPackingList.addAll(childs);
finalPackingList.addAll(packingLibraries);
// finalPackingList.stream().distinct().collect(Collectors.toList());
packingLibrary.setChilds(finalPackingList);
}else {
//直接赋值
packingLibrary.setChilds(packingLibraries);
if (packingLibraries.get(i).getPartParentId() !=null){
if ( !packingLibraries.get(i).getPartParentId().equals(packingLibrary.getId())){
finalPackingList.add(packingLibraries.get(i));
List<PackingLibrary> childs = packingLibrary.getChilds();
childs.add(packingLibraries.get(i));
}
}
}
//判断是否是child
// List<PackingLibrary> child = new ArrayList<>(packingLibraries);
// packingLibrary.setChilds(child);
return packingLibrary;
}
// public PackingLibrary getContext4(List<PackingLibrary> packingLibraries){ //12 6
// //判断集合的长度 801 802 803 804 只操作804 或者803
// //取出目录
// PackingLibrary root = packingLibraries.get(0);
// packingLibraries.removeIf(e -> Objects.equals(e,root));
// List<PackingLibrary> finalPackingList = new ArrayList<>();
// for (int i = 0; i < packingLibraries.size(); i++) {
// //会造成覆盖
// if (root.getChilds() != null){
// List<PackingLibrary> childs = root.getChilds();
// finalPackingList.addAll(childs);
// finalPackingList.addAll(packingLibraries);
// root.setChilds(finalPackingList);
// }else {
// //直接赋值
// root.setChilds(packingLibraries);
// }
//
// }
// return root;
// }
// /**
// *
// * @param packingLibraries 有父子结构集合
// * @return
// */
// public List<PackingLibrary> getAllChilds(List<PackingLibrary> packingLibraries){
// List<PackingLibrary> packingLibraryList = new ArrayList<>();
// for (PackingLibrary packingLibrary : packingLibraries) {
// List<PackingLibrary> allChilds2 = getAllChilds2(packingLibrary);
// packingLibraryList.addAll(allChilds2);
// }
// return packingLibraryList;
// }
//
// //取出所有的子
// public List<PackingLibrary> getAllChilds2(PackingLibrary packingLibrary){
// List<PackingLibrary> list = new ArrayList<>();
// if (packingLibrary.getChilds().size()>0){
// List<PackingLibrary> childs = packingLibrary.getChilds();
// for (PackingLibrary child : childs) {
// list.add(packingLibrary);
// list.add(child);
// return getAllChilds2(child);
// }
// }else {
// list.add(packingLibrary);
// }
// return list;
// }
/**
* 通过列装id查询装备是否存在 过滤出装备为0的
......
......@@ -74,5 +74,14 @@ public interface PackingLibraryDao extends JpaRepository<PackingLibrary, Integer
@Query("select p.showOrder from PackingLibrary p")
List<Integer> selectAllShowOrders();
/**
* 解绑需要用到
*/
@Transactional
@Modifying
@Query("update PackingLibrary p set p.partParentId = :partParentId where p.id in :packingIds")
List<PackingLibrary> updatePartParentId(@Param("partParentId") Integer partParentId,
@Param("packingIds") List<Integer> packingIds);
}
......@@ -3,9 +3,7 @@ package com.tykj.dev.device.packing.service;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.vo.Script;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import com.tykj.dev.device.packing.subject.vo.AllotSeqs;
import com.tykj.dev.device.packing.subject.vo.PackingLibrarySelectVo;
import com.tykj.dev.device.packing.subject.vo.SelectPack;
import com.tykj.dev.device.packing.subject.vo.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
......@@ -220,4 +218,22 @@ public interface PackingLibraryService{
* 根据父id查询
*/
List<PackingLibrary> findByParentId(Integer parentId);
/**
* 列装的绑定 原来列装 要绑定的列装
* @param bindingPackingVo 绑定列装的vo
*/
void bindingPacking(BindingPackingVo bindingPackingVo);
/**
* 列装的解除绑定
* @param packingLibrary 解绑的vo
*/
void relievePacking(PackingLibrary packingLibrary);
/**
* 查询可以被绑定的列装
*/
List<PackingLibrary> getAllSelectPacking(List<Integer> packingIds);
}
package com.tykj.dev.device.packing.subject.vo;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.stereotype.Repository;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author zsp
*/
@Repository
@Data
@ApiModel("列装绑定vo")
public class BindingPackingVo {
@ApiModelProperty(value = "当前列装")
private PackingLibrary originPacking;
// @ApiModelProperty(value = "勾选的列装")
// private List<PackingLibrary> selectPacking;
@ApiModelProperty(value = "勾选的列装")
private PackingLibrary selectPacking;
}
package com.tykj.dev.device.packing.subject.vo;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.stereotype.Repository;
/**
* @author zsp
*/
@Data
@ApiModel("列装解绑的vo")
public class RelievePackingVo {
// @ApiModelProperty(value = "父对象")
// private PackingLibrary parentPackingLibrary;
// @ApiModelProperty(value = "列装对象")
// private PackingLibrary childPackingLibrary;
@ApiModelProperty(value = "列装对象")
private PackingLibrary packingLibrary;
}
package com.tykj.dev.device.packing.subject.vo;
import com.tykj.dev.misc.base.CustomPage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("查询可进行绑定的列装")
public class SelectPackingVo extends CustomPage {
@ApiModelProperty(value = "列装id")
private List<Integer> packingIds;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论