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

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

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