提交 a7534562 authored 作者: zjm's avatar zjm

Master

上级 2e9d88a1
...@@ -266,5 +266,13 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary, Integer>, ...@@ -266,5 +266,13 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary, Integer>,
@Query("update DeviceLibrary o set o.ownUnit = :updateUnitName where o.ownUnit = :originUnitName") @Query("update DeviceLibrary o set o.ownUnit = :updateUnitName where o.ownUnit = :originUnitName")
int updateOwnUnit( @Param("originUnitName") String originUnitName, int updateOwnUnit( @Param("originUnitName") String originUnitName,
@Param("updateUnitName") String updateUnitName); @Param("updateUnitName") String updateUnitName);
@Modifying
@Transactional
@Query("update DeviceLibrary d set d.model = :newModel where d.packingId in :packingIds")
int batchUpdateDevicesByPackingIds(@Param("newModel")String newModel, @Param("packingIds")List<Integer> packingIds);
} }
...@@ -564,5 +564,5 @@ public interface DeviceLibraryService { ...@@ -564,5 +564,5 @@ public interface DeviceLibraryService {
*/ */
Map<String,Object> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo); Map<String,Object> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo);
void batchUpdateDevicesByPackingIds(String newModel,List<Integer> packingIds);
} }
...@@ -1427,6 +1427,11 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService { ...@@ -1427,6 +1427,11 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
deviceLibraryDao.deleteById(id); deviceLibraryDao.deleteById(id);
} }
@Override
public void batchUpdateDevicesByPackingIds(String newModel, List<Integer> packingIds) {
deviceLibraryDao.batchUpdateDevicesByPackingIds(newModel, packingIds);
}
private Specification<DeviceLibrary> getSelectSpecification(DeviceLibrarySelectVo deviceLibrarySelectVo) { private Specification<DeviceLibrary> getSelectSpecification(DeviceLibrarySelectVo deviceLibrarySelectVo) {
PredicateBuilder<DeviceLibrary> predicateBuilder = getPredicateBuilder(deviceLibrarySelectVo); PredicateBuilder<DeviceLibrary> predicateBuilder = getPredicateBuilder(deviceLibrarySelectVo);
//unitId为空,默认查询当前单位 //unitId为空,默认查询当前单位
......
...@@ -583,6 +583,98 @@ public class PackingController { ...@@ -583,6 +583,98 @@ public class PackingController {
} }
} }
// @ApiOperation(value = "编辑列装型号")
// @PostMapping("/update/model")
// @Transactional(rollbackFor = Exception.class)
// public ResponseEntity updateModel(@RequestBody PackingModelEdit packingModelEdit){
// Integer userId = userUtils.getCurrentUserId();
// PackingLibrary packingLibrary = packingLibraryService.getOne(packingModelEdit.getPackingId());
// if (!packingLibrary.getModel().equals(packingModelEdit.getModel()) && packingLibraryService.modelIsExist(packingModelEdit.getModel())) {
// Map<String, Object> map = new HashMap<>();
// map.put("error", "型号" + packingModelEdit.getModel() + "已存在");
// return ResponseEntity.ok(map);
// }
// packingLibrary.setShowOrder(packingModelEdit.getShowOrder());
// PackingLog packingLog = new PackingLog();
// Map<String,String> originalMap=new HashMap<>();
// Map<String,String> nowMap=new HashMap<>();
// if (packingLibrary.getIsRoot() == 1) {
// if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())) {
// //判断该列装下有没有入库装备 有装备则进行装备的型号的修改
// //更新装备
// long l2 = System.currentTimeMillis();
// List<DeviceLibrary> storagePackingDevices = deviceLibraryService.findAllByModel(packingLibrary.getModel());
// if (storagePackingDevices.size()>0){
// //添加装备日志
// String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel();
// deviceLibraryService.batchUpdateDevices(packingLibrary.getModel(),packingModelEdit.getModel());
//
// List<Integer> deviceIds = storagePackingDevices.stream().map(DeviceLibrary::getId).collect(Collectors.toList());
// List<DeviceLog> logDtos=new ArrayList<>();
// deviceIds.forEach(integer -> {
// logDtos.add(new DeviceLogDto(integer,remark,null,userId,null).toDo());
// });
// executor.execute(()->{
// long start = System.currentTimeMillis();
// deviceLogService.saveAllLog(logDtos);
// log.info("saveAllLog时间:{}", System.currentTimeMillis() - start);
// });
// List<RepairDetail> allByModel = repairDetailDao.findAllByModel(packingLibrary.getModel());
// List<Integer> ids = allByModel.stream().map(RepairDetail::getDeviceId).collect(Collectors.toList());
// if (ids.size()>0){
// repairDetailDao.updateModel(packingModelEdit.getModel(),ids);
// }
// }
// log.info("batchUpdateDevices时间:{}", System.currentTimeMillis() - l2);
//// }
// String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel();
// originalMap.put("型号",packingLibrary.getModel());
// nowMap.put("型号",packingModelEdit.getModel());
// packingLibrary.setModel(packingModelEdit.getModel());
// packingLibrary.setName(packingModelEdit.getModel());
// packingLibraryService.changeAllModel(packingLibrary.getId(), packingModelEdit.getModel());
// //添加列装日志
//// PackingLog packingLog = new PackingLog();
// packingLog.setRemark(remark);
// packingLog.setPackingId(packingLibrary.getId());
// packingLogService.add(packingLog);
// //修改3D中的model
//// CompletableFuture.runAsync(()->
//// deviceLibraryPositionService.updateModelByOldModel(packingLibrary.getModel(),packingModelEdit.getModel()));
// }
// BeanUtils.copyProperties(packingModelEdit, packingLibrary);
// packingLibraryService.update(packingLibrary);
// List<Integer> userIds = userPublicService.findOtherUser(userUtils.getCurrentUserId());
// MessageBto messageBto = new MessageBto();
//// if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())){
//// messageBto= new MessageBto(0, 1, "修改列装:"+packingLog.getRemark(), userIds, 0);
////// MessageBto messageBto = new MessageBto(0, 1, "修改列装型号目录", userIds, 0);
//// }else {
// if (packingLog.getRemark()!=null){
// messageBto= new MessageBto(0, 1, "修改"+packingLibrary.getModel()+"列装目录为:原"+mapToString(originalMap)+"-->现"+mapToString(nowMap), userIds, 0);
// }
//// }
// messageService.add(messageBto);
// } else {
// throw new ApiException("传入的列装id不是型号");
// }
//
// //更新缓存
// packingLibraryService.getSortMap();
// if (packingModelEdit.getShowOrder() != null){
// //重新排序
// List<PackingLibrary> allPackingExceptNull = getAllPackingExceptNull(new SelectPack());
// AtomicInteger sortNum = new AtomicInteger();
// List<PackingLibrary> orderNumbers = setOrderNumber(sortNum, allPackingExceptNull);
// orderNumbers.forEach(packingLibrary1 -> {
// if (packingLibrary1.getId().equals(packingModelEdit.getPackingId())){
// packingModelEdit.setSeqOrderNumber(packingLibrary1.getSeqOrderNumber());
// }
// });
// }
// return ResponseEntity.ok(ResponseEntity.ok(packingModelEdit));
// }
@ApiOperation(value = "编辑列装型号") @ApiOperation(value = "编辑列装型号")
@PostMapping("/update/model") @PostMapping("/update/model")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -598,66 +690,75 @@ public class PackingController { ...@@ -598,66 +690,75 @@ public class PackingController {
PackingLog packingLog = new PackingLog(); PackingLog packingLog = new PackingLog();
Map<String,String> originalMap=new HashMap<>(); Map<String,String> originalMap=new HashMap<>();
Map<String,String> nowMap=new HashMap<>(); Map<String,String> nowMap=new HashMap<>();
if (packingLibrary.getIsRoot() == 1) { if (packingLibrary.getIsRoot() == 1) {
if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())) { if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())) {
//判断该列装下有没有入库装备 有装备则进行装备的型号的修改 //判断该列装下有没有入库装备 有装备则进行装备的型号的修改
//更新装备 //更新装备
long l2 = System.currentTimeMillis(); long l2 = System.currentTimeMillis();
List<DeviceLibrary> storagePackingDevices = deviceLibraryService.findAllByModel(packingLibrary.getModel()); // List<DeviceLibrary> storagePackingDevices = deviceLibraryService.findAllByModel(packingLibrary.getModel());
if (storagePackingDevices.size()>0){ //根据列装id查询装备 从而修改装备
//添加装备日志 List<Integer> packingIds = new ArrayList<>();
String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel(); getCurrentChild3(packingLibrary,packingIds);
deviceLibraryService.batchUpdateDevices(packingLibrary.getModel(),packingModelEdit.getModel()); List<DeviceLibrary> storagePackingDevices = new ArrayList<>();
if (packingIds.size()>0){
List<Integer> deviceIds = storagePackingDevices.stream().map(DeviceLibrary::getId).collect(Collectors.toList()); //根据列装查询装备
List<DeviceLog> logDtos=new ArrayList<>(); storagePackingDevices = deviceLibraryService.findAllByPackingIdsIn(packingIds);
deviceIds.forEach(integer -> {
logDtos.add(new DeviceLogDto(integer,remark,null,userId,null).toDo()); }
}); if (storagePackingDevices.size()>0){
executor.execute(()->{ //添加装备日志
long start = System.currentTimeMillis(); String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel();
deviceLogService.saveAllLog(logDtos); // deviceLibraryService.batchUpdateDevices(packingLibrary.getModel(),packingModelEdit.getModel());
log.info("saveAllLog时间:{}", System.currentTimeMillis() - start); deviceLibraryService.batchUpdateDevicesByPackingIds(packingModelEdit.getModel(),packingIds);
}); List<Integer> deviceIds = storagePackingDevices.stream().map(DeviceLibrary::getId).collect(Collectors.toList());
List<RepairDetail> allByModel = repairDetailDao.findAllByModel(packingLibrary.getModel()); List<DeviceLog> logDtos=new ArrayList<>();
List<Integer> ids = allByModel.stream().map(RepairDetail::getDeviceId).collect(Collectors.toList()); deviceIds.forEach(integer -> {
if (ids.size()>0){ logDtos.add(new DeviceLogDto(integer,remark,null,userId,null).toDo());
repairDetailDao.updateModel(packingModelEdit.getModel(),ids); });
} executor.execute(()->{
long start = System.currentTimeMillis();
deviceLogService.saveAllLog(logDtos);
log.info("saveAllLog时间:{}", System.currentTimeMillis() - start);
});
List<RepairDetail> allByModel = repairDetailDao.findAllByModel(packingLibrary.getModel());
List<Integer> ids = allByModel.stream().map(RepairDetail::getDeviceId).collect(Collectors.toList());
if (ids.size()>0){
repairDetailDao.updateModel(packingModelEdit.getModel(),ids);
} }
log.info("batchUpdateDevices时间:{}", System.currentTimeMillis() - l2); }
log.info("batchUpdateDevices时间:{}", System.currentTimeMillis() - l2);
// } // }
String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel(); String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel();
originalMap.put("型号",packingLibrary.getModel()); originalMap.put("型号",packingLibrary.getModel());
nowMap.put("型号",packingModelEdit.getModel()); nowMap.put("型号",packingModelEdit.getModel());
packingLibrary.setModel(packingModelEdit.getModel()); packingLibrary.setModel(packingModelEdit.getModel());
packingLibrary.setName(packingModelEdit.getModel()); packingLibrary.setName(packingModelEdit.getModel());
packingLibraryService.changeAllModel(packingLibrary.getId(), packingModelEdit.getModel()); packingLibraryService.changeAllModel(packingLibrary.getId(), packingModelEdit.getModel());
//添加列装日志 //添加列装日志
// PackingLog packingLog = new PackingLog(); // PackingLog packingLog = new PackingLog();
packingLog.setRemark(remark); packingLog.setRemark(remark);
packingLog.setPackingId(packingLibrary.getId()); packingLog.setPackingId(packingLibrary.getId());
packingLogService.add(packingLog); packingLogService.add(packingLog);
//修改3D中的model //修改3D中的model
// CompletableFuture.runAsync(()-> // CompletableFuture.runAsync(()->
// deviceLibraryPositionService.updateModelByOldModel(packingLibrary.getModel(),packingModelEdit.getModel())); // deviceLibraryPositionService.updateModelByOldModel(packingLibrary.getModel(),packingModelEdit.getModel()));
} }
BeanUtils.copyProperties(packingModelEdit, packingLibrary); BeanUtils.copyProperties(packingModelEdit, packingLibrary);
packingLibraryService.update(packingLibrary); packingLibraryService.update(packingLibrary);
List<Integer> userIds = userPublicService.findOtherUser(userUtils.getCurrentUserId()); List<Integer> userIds = userPublicService.findOtherUser(userUtils.getCurrentUserId());
MessageBto messageBto = new MessageBto(); MessageBto messageBto = new MessageBto();
// if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())){ // if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())){
// messageBto= new MessageBto(0, 1, "修改列装:"+packingLog.getRemark(), userIds, 0); // messageBto= new MessageBto(0, 1, "修改列装:"+packingLog.getRemark(), userIds, 0);
//// MessageBto messageBto = new MessageBto(0, 1, "修改列装型号目录", userIds, 0); //// MessageBto messageBto = new MessageBto(0, 1, "修改列装型号目录", userIds, 0);
// }else { // }else {
if (packingLog.getRemark()!=null){ if (packingLog.getRemark()!=null){
messageBto= new MessageBto(0, 1, "修改"+packingLibrary.getModel()+"列装目录为:原"+mapToString(originalMap)+"-->现"+mapToString(nowMap), userIds, 0); messageBto= new MessageBto(0, 1, "修改"+packingLibrary.getModel()+"列装目录为:原"+mapToString(originalMap)+"-->现"+mapToString(nowMap), userIds, 0);
}
// }
messageService.add(messageBto);
} else {
throw new ApiException("传入的列装id不是型号");
} }
// }
messageService.add(messageBto);
} else {
throw new ApiException("传入的列装id不是型号");
}
//更新缓存 //更新缓存
packingLibraryService.getSortMap(); packingLibraryService.getSortMap();
...@@ -1237,4 +1338,20 @@ public class PackingController { ...@@ -1237,4 +1338,20 @@ public class PackingController {
} }
} }
/**
* 查询所有的列装id
* @param packingLibrary
* @param packingIds
*/
public void getCurrentChild3(PackingLibrary packingLibrary,List<Integer> packingIds){
packingIds.add(packingLibrary.getId());
//查询所有的第一级子
List<PackingLibrary> byParentId = packingLibraryService.findByParentId(packingLibrary.getId());
if (byParentId.size()>0){
byParentId.forEach(packingLibrary1 -> {
getCurrentChild3(packingLibrary1,packingIds);
});
}
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论