提交 087324c8 authored 作者: 邓砥奕's avatar 邓砥奕

[列装]修改了列装和退装

上级 89c17c70
...@@ -149,6 +149,7 @@ public class PackingController { ...@@ -149,6 +149,7 @@ public class PackingController {
BeanUtils.copyProperties(addModel,packingLibrary); BeanUtils.copyProperties(addModel,packingLibrary);
packingLibrary.setIsRoot(1); packingLibrary.setIsRoot(1);
packingLibrary.setName(addModel.getModel()); packingLibrary.setName(addModel.getModel());
packingLibrary.setPackingStatus(2);
packingLibraryService.addEntity(packingLibrary); packingLibraryService.addEntity(packingLibrary);
return ResponseEntity.ok("添加成功"); return ResponseEntity.ok("添加成功");
} }
...@@ -164,7 +165,7 @@ public class PackingController { ...@@ -164,7 +165,7 @@ public class PackingController {
@ApiOperation(value = "删除列装") @ApiOperation(value = "删除列装")
@PostMapping("/delete/{id}") @PostMapping("/delete/{id}")
public ResponseEntity deleteById(@PathVariable("id") int id){ public ResponseEntity deleteById(@PathVariable("id") int id){
packingLibraryService.delete(id); packingLibraryService.deleteAll(id);
return ResponseEntity.ok("删除成功"); return ResponseEntity.ok("删除成功");
} }
...@@ -176,24 +177,10 @@ public class PackingController { ...@@ -176,24 +177,10 @@ public class PackingController {
@ApiOperation(value = "编辑列装型号") @ApiOperation(value = "编辑列装型号")
@PostMapping("/update/model") @PostMapping("/update/model")
public ResponseEntity updateModel(@RequestBody PackingModelEdit packingModelEdit){ public ResponseEntity updateModel(@RequestBody @Validated PackingModelEdit packingModelEdit){
PackingLibrary packingLibrary = packingLibraryService.getOne(packingModelEdit.getPackingId()); PackingLibrary packingLibrary = packingLibraryService.getOne(packingModelEdit.getPackingId());
if (packingLibrary.getIsRoot()==1){ if (packingLibrary.getIsRoot()==1){
if (packingModelEdit.getModel()!=null){ BeanUtils.copyProperties(packingModelEdit,packingLibrary);
packingLibrary.setModel(packingModelEdit.getModel());
}
if (packingModelEdit.getInvisibleRange()!=null){
packingLibrary.setInvisibleRange(packingModelEdit.getInvisibleRange());
}
if (packingModelEdit.getSecretLevel()!=null){
packingLibrary.setSecretLevel(packingModelEdit.getSecretLevel());
}
if (packingModelEdit.getShowOrder()!=null){
packingLibrary.setShowOrder(packingModelEdit.getShowOrder());
}
if (packingModelEdit.getStatus()!=null){
packingLibrary.setStatus(packingModelEdit.getStatus());
}
packingLibraryService.update(packingLibrary); packingLibraryService.update(packingLibrary);
} }
else { else {
...@@ -204,7 +191,18 @@ public class PackingController { ...@@ -204,7 +191,18 @@ public class PackingController {
@ApiOperation(value = "编辑列装装备") @ApiOperation(value = "编辑列装装备")
@PostMapping("/update/device") @PostMapping("/update/device")
public ResponseEntity updateDevice(){ public ResponseEntity updateDevice(@RequestBody @Validated PackingLibraryUpdateVo packingLibraryUpdateVo){
PackingLibrary packingLibrary = packingLibraryService.getOne(packingLibraryUpdateVo.getPackingId());
//复制相同的字段
BeanUtils.copyProperties(packingLibraryUpdateVo,packingLibrary);
packingLibraryService.update(packingLibrary);
return ResponseEntity.ok("编辑成功"); return ResponseEntity.ok("编辑成功");
} }
@ApiOperation(value = "获取列装名称")
@GetMapping("/getName/{id}")
public ResponseEntity getPackName(@PathVariable("id") int id){
PackingLibrary packingLibrary = packingLibraryService.getOne(id);
return ResponseEntity.ok(packingLibrary.getName());
}
} }
...@@ -4,9 +4,12 @@ import com.tykj.dev.device.packing.subject.domin.PackingLibrary; ...@@ -4,9 +4,12 @@ import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
/** /**
* @author dengdiyi * @author dengdiyi
*/ */
public interface PackingLibraryDao extends JpaRepository<PackingLibrary, Integer>, JpaSpecificationExecutor<PackingLibrary> { public interface PackingLibraryDao extends JpaRepository<PackingLibrary, Integer>, JpaSpecificationExecutor<PackingLibrary> {
List<PackingLibrary> findAllByPartParentId(Integer id);
} }
...@@ -86,4 +86,10 @@ public interface PackingLibraryService { ...@@ -86,4 +86,10 @@ public interface PackingLibraryService {
* 获取父子结构列装列表 * 获取父子结构列装列表
*/ */
List<PackingLibrary> getInsertList(SelectPack selectPack); List<PackingLibrary> getInsertList(SelectPack selectPack);
/**
* @param id 列装主键id
* 通过id逻辑删除该列装以及所有子列装
*/
void deleteAll(Integer id);
} }
...@@ -155,7 +155,7 @@ public class PackingLibraryServiceImpl implements PackingLibraryService { ...@@ -155,7 +155,7 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
final String name = selectPack.getName(); final String name = selectPack.getName();
final Integer status = selectPack.getStatus(); final Integer status = selectPack.getStatus();
final Integer secretLevel = selectPack.getSecretLevel(); final Integer secretLevel = selectPack.getSecretLevel();
List<PackingLibrary> packingLibraryEntities = packingLibraryDao.findAll(); List<PackingLibrary> packingLibraryEntities = packingLibraryDao.findAll(getSelectSpecification6());
//返回父子结构 //返回父子结构
Map<Integer, PackingLibrary> nodeCollect = Map<Integer, PackingLibrary> nodeCollect =
packingLibraryEntities.stream().collect(Collectors.toMap(PackingLibrary::getId, packingLibrary -> packingLibrary)); packingLibraryEntities.stream().collect(Collectors.toMap(PackingLibrary::getId, packingLibrary -> packingLibrary));
...@@ -177,6 +177,19 @@ public class PackingLibraryServiceImpl implements PackingLibraryService { ...@@ -177,6 +177,19 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
}).sorted(Comparator.comparing(PackingLibrary::getShowOrder)).collect(Collectors.toList()); }).sorted(Comparator.comparing(PackingLibrary::getShowOrder)).collect(Collectors.toList());
} }
/**
* @param id 列装主键id
* 通过id逻辑删除该列装以及所有子列装
*/
@Override
public void deleteAll(Integer id) {
List<Integer> ids = packingLibraryDao.findAllByPartParentId(id).stream().map(PackingLibrary::getId).collect(Collectors.toList());
delete(id);
if (ids.size()>0){
ids.forEach(this::deleteAll);
}
}
private Specification<PackingLibrary> getSelectSpecification(PackingLibrarySelectVo packingLibrarySelectVo) { private Specification<PackingLibrary> getSelectSpecification(PackingLibrarySelectVo packingLibrarySelectVo) {
PredicateBuilder<PackingLibrary> predicateBuilder = Specifications.and(); PredicateBuilder<PackingLibrary> predicateBuilder = Specifications.and();
Integer level = userUtils.getCurrentUnitLevel(); Integer level = userUtils.getCurrentUnitLevel();
...@@ -221,6 +234,7 @@ public class PackingLibraryServiceImpl implements PackingLibraryService { ...@@ -221,6 +234,7 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
} }
} }
predicateBuilder.eq("packingStatus", 2); predicateBuilder.eq("packingStatus", 2);
predicateBuilder.eq("isRoot",0);
return predicateBuilder.build(); return predicateBuilder.build();
} }
...@@ -333,4 +347,16 @@ public class PackingLibraryServiceImpl implements PackingLibraryService { ...@@ -333,4 +347,16 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
return predicateBuilder.build(); return predicateBuilder.build();
} }
private Specification<PackingLibrary> getSelectSpecification6(){
Integer level = userUtils.getCurrentUnitLevel();
PredicateBuilder<PackingLibrary> predicateBuilder = Specifications.and();
if (level == 2) {
predicateBuilder.in("invisibleRange", new Integer[]{2, 3});
}
if (level == 3) {
predicateBuilder.eq("invisibleRange", 3);
}
predicateBuilder.eq("packingStatus", 2);
return predicateBuilder.build();
}
} }
...@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull; ...@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
* @author dengdiyi * @author dengdiyi
*/ */
@Data @Data
@ApiModel("列装存储类") @ApiModel("列装装备存储类")
@Repository @Repository
public class AddPack { public class AddPack {
@NotNull(message = "model不能为空") @NotNull(message = "model不能为空")
......
...@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.validation.constraints.NotNull;
/** /**
* @author dengdiyi * @author dengdiyi
*/ */
...@@ -13,54 +15,75 @@ import org.springframework.stereotype.Repository; ...@@ -13,54 +15,75 @@ import org.springframework.stereotype.Repository;
@ApiModel("列装更新类") @ApiModel("列装更新类")
public class PackingLibraryUpdateVo { public class PackingLibraryUpdateVo {
@NotNull(message = "packingId不能为空")
@ApiModelProperty(value = "列装库id", example = "1") @ApiModelProperty(value = "列装库id", example = "1")
private int packingId; private int packingId;
@NotNull(message = "model不能为空")
@ApiModelProperty(value = "型号", example = "测试型号") @ApiModelProperty(value = "型号", example = "测试型号")
private String model; private String model;
@NotNull(message = "name不能为空")
@ApiModelProperty(value = "名称", example = "测试名称") @ApiModelProperty(value = "名称", example = "测试名称")
private String name; private String name;
@NotNull(message = "applyType不能为空")
@ApiModelProperty(value = "应用类型", example = "1") @ApiModelProperty(value = "应用类型", example = "1")
private Integer applyType; private Integer applyType;
@NotNull(message = "secretLevel不能为空")
@ApiModelProperty(value = "密级", example = "1") @ApiModelProperty(value = "密级", example = "1")
private Integer secretLevel; private Integer secretLevel;
@NotNull(message = "matchingRange不能为空")
@ApiModelProperty(value = "配用范围", example = "1") @ApiModelProperty(value = "配用范围", example = "1")
private Integer matchingRange; private Integer matchingRange;
@NotNull(message = "invisibleRange不能为空")
@ApiModelProperty(value = "可见范围", example = "1") @ApiModelProperty(value = "可见范围", example = "1")
private Integer invisibleRange; private Integer invisibleRange;
@ApiModelProperty(value = "类型", example = "1") @NotNull(message = "type不能为空")
@ApiModelProperty(value = "形态", example = "1")
private Integer type; private Integer type;
@NotNull(message = "style不能为空")
@ApiModelProperty(value = "类型")
private Integer style;
@NotNull(message = "status不能为空")
@ApiModelProperty(value = "列装状态", example = "1") @ApiModelProperty(value = "列装状态", example = "1")
private Integer status; private Integer status;
@NotNull(message = "nature不能为空")
@ApiModelProperty(value = "列装性质", example = "1") @ApiModelProperty(value = "列装性质", example = "1")
private Integer nature; private Integer nature;
@NotNull(message = "prodUnit不能为空")
@ApiModelProperty(value = "生产单位", example = "测试型号") @ApiModelProperty(value = "生产单位", example = "测试型号")
private String prodUnit; private String prodUnit;
@NotNull(message = "createUnit不能为空")
@ApiModelProperty(value = "创建单位", example = "测试创建单位") @ApiModelProperty(value = "创建单位", example = "测试创建单位")
private String createUnit; private String createUnit;
@NotNull(message = "price不能为空")
@ApiModelProperty(value = "价格", example = "2.000.000") @ApiModelProperty(value = "价格", example = "2.000.000")
private String price; private String price;
@NotNull(message = "imageName不能为空")
@ApiModelProperty(value = "照片名称", example = "没有先填一个空格") @ApiModelProperty(value = "照片名称", example = "没有先填一个空格")
private String imageName; private String imageName;
@NotNull(message = "imageUrl不能为空")
@ApiModelProperty(value = "照片路径", example = "没有先填一个空格") @ApiModelProperty(value = "照片路径", example = "没有先填一个空格")
private String imageUrl; private String imageUrl;
@NotNull(message = "fileName不能为空")
@ApiModelProperty(value = "附件名称", example = "没有先填一个空格") @ApiModelProperty(value = "附件名称", example = "没有先填一个空格")
private String fileName; private String fileName;
@NotNull(message = "fileUrl不能为空")
@ApiModelProperty(value = "附件路径", example = "没有先填一个空格") @ApiModelProperty(value = "附件路径", example = "没有先填一个空格")
private String fileUrl; private String fileUrl;
......
...@@ -16,18 +16,23 @@ import java.util.List; ...@@ -16,18 +16,23 @@ import java.util.List;
@ApiModel("列装型号编辑类") @ApiModel("列装型号编辑类")
public class PackingModelEdit { public class PackingModelEdit {
@NotNull(message = "model不能为空")
@ApiModelProperty(value = "型号") @ApiModelProperty(value = "型号")
private String model; private String model;
@NotNull(message = "secretLevel不能为空")
@ApiModelProperty(value = "密级") @ApiModelProperty(value = "密级")
private Integer secretLevel; private Integer secretLevel;
@NotNull(message = "invisibleRange不能为空")
@ApiModelProperty(value = "可见范围") @ApiModelProperty(value = "可见范围")
private Integer invisibleRange; private Integer invisibleRange;
@NotNull(message = "status不能为空")
@ApiModelProperty(value = "列装状态") @ApiModelProperty(value = "列装状态")
private Integer status; private Integer status;
@NotNull(message = "showOrder不能为空")
@ApiModelProperty(value = "排序号") @ApiModelProperty(value = "排序号")
private Integer showOrder; private Integer showOrder;
......
...@@ -5,14 +5,11 @@ import io.swagger.annotations.ApiModel; ...@@ -5,14 +5,11 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List;
/** /**
* @author dengdiyi * @author dengdiyi
*/ */
@Data @Data
@ApiModel("列装查询类") @ApiModel("列装父子结构查询类")
public class SelectPack extends CustomPage { public class SelectPack extends CustomPage {
@ApiModelProperty(value = "模糊查询关键字", example = "测试") @ApiModelProperty(value = "模糊查询关键字", example = "测试")
......
...@@ -6,6 +6,7 @@ import com.tykj.dev.device.library.service.DeviceLogService; ...@@ -6,6 +6,7 @@ import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto; import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary; import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.vo.DeviceLibrarySelectVo; import com.tykj.dev.device.library.subject.vo.DeviceLibrarySelectVo;
import com.tykj.dev.device.packing.repository.PackingLibraryDao;
import com.tykj.dev.device.packing.service.PackingLibraryService; import com.tykj.dev.device.packing.service.PackingLibraryService;
import com.tykj.dev.device.packing.subject.domin.PackingLibrary; import com.tykj.dev.device.packing.subject.domin.PackingLibrary;
import com.tykj.dev.device.packing.subject.vo.PackingLibrarySelectVo; import com.tykj.dev.device.packing.subject.vo.PackingLibrarySelectVo;
...@@ -73,6 +74,9 @@ public class DeviceRetiredController { ...@@ -73,6 +74,9 @@ public class DeviceRetiredController {
@Autowired @Autowired
private UserUtils userUtils; private UserUtils userUtils;
@Autowired
private PackingLibraryDao packingLibraryDao;
public DeviceRetiredController(DeviceRetiredBillService deviceRetiredBillService, TaskService taskService, PackingLibraryService packingLibraryService, DeviceLibraryService deviceLibraryService, DeviceLogService deviceLogService, TaskLogService taskLogService) { public DeviceRetiredController(DeviceRetiredBillService deviceRetiredBillService, TaskService taskService, PackingLibraryService packingLibraryService, DeviceLibraryService deviceLibraryService, DeviceLogService deviceLogService, TaskLogService taskLogService) {
this.deviceRetiredBillService = deviceRetiredBillService; this.deviceRetiredBillService = deviceRetiredBillService;
this.taskService = taskService; this.taskService = taskService;
...@@ -160,6 +164,7 @@ public class DeviceRetiredController { ...@@ -160,6 +164,7 @@ public class DeviceRetiredController {
packingLibraryServiceOne.setPackingStatus(3); packingLibraryServiceOne.setPackingStatus(3);
packingLibraryServiceOne.setExitTime(Timestamp.from(new Date().toInstant())); packingLibraryServiceOne.setExitTime(Timestamp.from(new Date().toInstant()));
packingLibraryService.update(packingLibraryServiceOne); packingLibraryService.update(packingLibraryServiceOne);
setSonsRetired(packingLibraryServiceOne);
//更改对应的装备为退装 //更改对应的装备为退装
changeDeviceToRetired(packingLibraryServiceOne.getId()); changeDeviceToRetired(packingLibraryServiceOne.getId());
} }
...@@ -170,6 +175,21 @@ public class DeviceRetiredController { ...@@ -170,6 +175,21 @@ public class DeviceRetiredController {
return selectDestoryDetail(deviceRetiredBillEntity.getId()); return selectDestoryDetail(deviceRetiredBillEntity.getId());
} }
/**
* 将子列装退装
*/
private void setSonsRetired(PackingLibrary packingLibrary){
List<PackingLibrary> sons = packingLibraryDao.findAllByPartParentId(packingLibrary.getId());
if (sons.size()>0){
sons.forEach(packingLibrary1 -> {
packingLibrary1.setPackingStatus(3);
packingLibrary1.setExitTime(Timestamp.from(new Date().toInstant()));
packingLibraryService.update(packingLibrary1);
setSonsRetired(packingLibrary1);
});
}
}
private List<Integer> getRetiredDeviceList(String destoryDeviceDetail) { private List<Integer> getRetiredDeviceList(String destoryDeviceDetail) {
return StringSplitUtil.split(destoryDeviceDetail); return StringSplitUtil.split(destoryDeviceDetail);
...@@ -184,6 +204,11 @@ public class DeviceRetiredController { ...@@ -184,6 +204,11 @@ public class DeviceRetiredController {
DeviceRetiredResultVo childDeviceRetiredResultVo = new DeviceRetiredResultVo(); DeviceRetiredResultVo childDeviceRetiredResultVo = new DeviceRetiredResultVo();
BeanUtils.copyProperties(p, childDeviceRetiredResultVo); BeanUtils.copyProperties(p, childDeviceRetiredResultVo);
childDeviceRetiredResultVo.setCount(deviceRetiredBillService.getCantPackingCount(p.getId())); childDeviceRetiredResultVo.setCount(deviceRetiredBillService.getCantPackingCount(p.getId()));
if (!p.getChilds().isEmpty()){
for (PackingLibrary pack:p.getChilds()) {
childDeviceRetiredResultVo.getChildNodes().add(calcDeviceRetiredResultVo(pack));
}
}
deviceRetiredResultVo.getChildNodes().add(childDeviceRetiredResultVo); deviceRetiredResultVo.getChildNodes().add(childDeviceRetiredResultVo);
} }
return deviceRetiredResultVo; return deviceRetiredResultVo;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论