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

合并分支 'master' 到 'dev'

Master 查看合并请求 !92
......@@ -266,5 +266,13 @@ public interface DeviceLibraryDao extends JpaRepository<DeviceLibrary, Integer>,
@Query("update DeviceLibrary o set o.ownUnit = :updateUnitName where o.ownUnit = :originUnitName")
int updateOwnUnit( @Param("originUnitName") String originUnitName,
@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 {
*/
Map<String,Object> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo);
void batchUpdateDevicesByPackingIds(String newModel,List<Integer> packingIds);
}
......@@ -1427,6 +1427,11 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
deviceLibraryDao.deleteById(id);
}
@Override
public void batchUpdateDevicesByPackingIds(String newModel, List<Integer> packingIds) {
deviceLibraryDao.batchUpdateDevicesByPackingIds(newModel, packingIds);
}
private Specification<DeviceLibrary> getSelectSpecification(DeviceLibrarySelectVo deviceLibrarySelectVo) {
PredicateBuilder<DeviceLibrary> predicateBuilder = getPredicateBuilder(deviceLibrarySelectVo);
//unitId为空,默认查询当前单位
......
......@@ -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 = "编辑列装型号")
@PostMapping("/update/model")
@Transactional(rollbackFor = Exception.class)
......@@ -598,66 +690,75 @@ public class PackingController {
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);
}
if (packingLibrary.getIsRoot() == 1) {
if (packingModelEdit.getModel() != null && !packingModelEdit.getModel().equals(packingLibrary.getModel())) {
//判断该列装下有没有入库装备 有装备则进行装备的型号的修改
//更新装备
long l2 = System.currentTimeMillis();
// List<DeviceLibrary> storagePackingDevices = deviceLibraryService.findAllByModel(packingLibrary.getModel());
//根据列装id查询装备 从而修改装备
List<Integer> packingIds = new ArrayList<>();
getCurrentChild3(packingLibrary,packingIds);
List<DeviceLibrary> storagePackingDevices = new ArrayList<>();
if (packingIds.size()>0){
//根据列装查询装备
storagePackingDevices = deviceLibraryService.findAllByPackingIdsIn(packingIds);
}
if (storagePackingDevices.size()>0){
//添加装备日志
String remark = "将原型号"+packingLibrary.getModel()+"修改型号为"+packingModelEdit.getModel();
// deviceLibraryService.batchUpdateDevices(packingLibrary.getModel(),packingModelEdit.getModel());
deviceLibraryService.batchUpdateDevicesByPackingIds(packingModelEdit.getModel(),packingIds);
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);
}
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());
//添加列装日志
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
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();
}
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不是型号");
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();
......@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论