|
@@ -170,32 +170,33 @@ public class WareHouseBasicService {
|
|
|
// 查询基础信息表
|
|
|
WareHouseBasic info = basicMapper.selectById(id);
|
|
|
BeanUtils.copyProperties(info, dto);
|
|
|
- //将入库详情数据查出
|
|
|
+ // 查询入库详情数据,只包含没有被修改过的数据以及修改后的数据
|
|
|
List<WareHouseDetailed> wareHouseList = detailedMapper.getByBasicId(id);
|
|
|
+ // 审核页面或者查看详情页面要进这个判断,这里面会将被修改掉的数据也查出来
|
|
|
if ("audit".equals(status) || "taskFormDetail".equals(status)) {
|
|
|
List<WareHouseDetailed> wareList = new ArrayList<>();
|
|
|
List<WareHouseDetailed> finalWareHouseList = detailedMapper.getByBasicIdAll(id);
|
|
|
List<WareHouseDetailed> detailedList = wareHouseList; // 这里不copy一下会报错
|
|
|
detailedList.stream().forEach(item2 -> {
|
|
|
if (StringUtils.isBlank(item2.getSourceId())) {
|
|
|
- wareList.add(item2);
|
|
|
+ wareList.add(item2); // 获取一直没有被修改过的数据
|
|
|
}
|
|
|
});
|
|
|
finalWareHouseList.stream().forEach(item -> {
|
|
|
if("2".equals(item.getUpFlag())) {
|
|
|
- wareList.add(item);
|
|
|
+ wareList.add(item); // 获取被删除的数据
|
|
|
} else if ("1".equals(item.getUpFlag())) {
|
|
|
- wareList.add(item);
|
|
|
+ wareList.add(item); // 获取被修改的数据
|
|
|
detailedList.stream().forEach(item2 -> {
|
|
|
if (StringUtils.isNotBlank(item2.getSourceId())) {
|
|
|
if (item2.getSourceId().equals(item.getId())) {
|
|
|
- wareList.add(item2);
|
|
|
+ wareList.add(item2); // 获取修改后的数据
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- wareHouseList = new ArrayList<>(wareList);
|
|
|
+ wareHouseList = new ArrayList<>(wareList); // 给 wareHouseList重新赋值
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(wareHouseList)){
|
|
|
wareHouseList.forEach(detailed->{
|
|
@@ -262,7 +263,7 @@ public class WareHouseBasicService {
|
|
|
if ("start".equals(dto.getFunctionFlag())) { // 送审时执行
|
|
|
// 添加当前修改申请人
|
|
|
basicMapper.saveUpdateUser(dto.getId(),UserUtils.getCurrentUserDTO().getId());
|
|
|
- // 判断是否为第一次送审(排除撤回后送审或者驳回后送审)
|
|
|
+ // 判断是否为第一次送审(目的是排除撤回后送审或者驳回后送审)
|
|
|
List<WarehouseUpHi> warehouseUpHis = warehouseUpHiMapper.selectList(new LambdaQueryWrapper<WarehouseUpHi>()
|
|
|
.eq(WarehouseUpHi::getWarehouseId, dto.getId()).eq(WarehouseUpHi::getEndflag, "0"));
|
|
|
if (CollectionUtil.isEmpty(warehouseUpHis)) { // 当前送审操作为第一次送审
|
|
@@ -270,7 +271,7 @@ public class WareHouseBasicService {
|
|
|
WareHouseDto byId = this.findById(dto.getId(),"false");
|
|
|
String jsonString = JSON.toJSONString(byId);
|
|
|
WarehouseUpHi warehouseUpHi = new WarehouseUpHi();
|
|
|
- warehouseUpHi.setEndflag("0");
|
|
|
+ warehouseUpHi.setEndflag("0"); // endflag = 0 代表此数据为原数据,在回退数据的时候使用
|
|
|
warehouseUpHi.setJsonData(jsonString);
|
|
|
warehouseUpHi.setWarehouseId(dto.getId());
|
|
|
warehouseUpHiMapper.insert(warehouseUpHi);
|
|
@@ -280,6 +281,7 @@ public class WareHouseBasicService {
|
|
|
// 将历史数据表中的原始数据删除(end_flag = 0并且warehouse_id = 当前数据id)
|
|
|
warehouseUpHiMapper.delete(new LambdaQueryWrapper<WarehouseUpHi>().eq(WarehouseUpHi::getEndflag,"0").eq(WarehouseUpHi::getWarehouseId,dto.getId()));
|
|
|
WarehouseUpHi warehouseUpHi = new WarehouseUpHi();
|
|
|
+ // 获取到当前审核页面的数据并存储到历史修改表中
|
|
|
WareHouseDto byId = this.findById(dto.getId(),"audit");
|
|
|
if (ObjectUtil.isNotEmpty(byId)) {
|
|
|
// 获取修改数据的商品名称、商品类型
|
|
@@ -292,24 +294,26 @@ public class WareHouseBasicService {
|
|
|
}).collect(Collectors.toList());
|
|
|
List<String> updateTradeNameList = updateData.stream().map(WareHouseDetailed::getTradeName).collect(Collectors.toList());
|
|
|
if (CollectionUtil.isNotEmpty(updateTradeNameList)) {
|
|
|
- warehouseUpHi.setUpdateTradeName(String.join(",",updateTradeNameList)); //获取修改数据的商品名称
|
|
|
+ //获取修改数据的商品名称
|
|
|
+ warehouseUpHi.setUpdateTradeName(String.join(",",updateTradeNameList));
|
|
|
}
|
|
|
List<String> updateTradeTypeList = updateData.stream().map(WareHouseDetailed::getWareHouseType).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
|
|
|
if (CollectionUtil.isNotEmpty(updateTradeTypeList)) {
|
|
|
- warehouseUpHi.setUpdateTradeType(String.join(",",updateTradeTypeList)); //获取修改数据的商品类型
|
|
|
+ //获取修改数据的商品类型
|
|
|
+ warehouseUpHi.setUpdateTradeType(String.join(",",updateTradeTypeList));
|
|
|
}
|
|
|
}
|
|
|
- // 将审核页面的数据存储到历史数据表中
|
|
|
+ // 保存当前审核页面的数据到历史修改表
|
|
|
String jsonString = JSON.toJSONString(byId);
|
|
|
warehouseUpHi.setJsonData(jsonString);
|
|
|
}
|
|
|
// 获取数据修改申请人
|
|
|
String updateUser = basicMapper.getUpdateUser(dto.getId());
|
|
|
if (StringUtils.isNotBlank(updateUser)) {
|
|
|
- warehouseUpHi.setUpdateUser(updateUser);
|
|
|
+ warehouseUpHi.setUpdateUser(updateUser); // 历史修改表保存修改人
|
|
|
basicMapper.deleteUpdateUser(dto.getId()); // 删除数据修改申请人
|
|
|
}
|
|
|
- warehouseUpHi.setEndflag("1");
|
|
|
+ warehouseUpHi.setEndflag("1"); // endflag = 1 代表当前数据为历史修改数据
|
|
|
warehouseUpHi.setWarehouseId(dto.getId());
|
|
|
warehouseUpHiMapper.insert(warehouseUpHi);
|
|
|
// 修改基础信息
|
|
@@ -331,7 +335,7 @@ public class WareHouseBasicService {
|
|
|
});
|
|
|
return dto.getId();
|
|
|
}
|
|
|
- if ("back".equals(dto.getFunctionFlag())) {
|
|
|
+ if ("back".equals(dto.getFunctionFlag())) { // 撤回后取消修改、流程终止
|
|
|
// 修改基础信息
|
|
|
WareHouseBasic info = new WareHouseBasic();
|
|
|
BeanUtils.copyProperties(dto, info);
|
|
@@ -389,10 +393,11 @@ public class WareHouseBasicService {
|
|
|
detailInfo.setWareHouseType(detailInfo.getWareHouseTypeId());
|
|
|
detailInfo.setBasicId(dto.getId()); // 保存基础表信息主键值
|
|
|
detailInfo.setTradeTotalPrice(dto.getWareHouseTotalPrice());
|
|
|
- if ("1".equals(detailInfo.getUpFlag())) { // 已修改标记数据
|
|
|
+ if ("1".equals(detailInfo.getUpFlag())) { // ‘修改’标记数据
|
|
|
if(StringUtils.isBlank(detailInfo.getSourceId())) {
|
|
|
WareHouseDetailed ware = detailedMapper.selectById(detailInfo.getId());
|
|
|
boolean is = false;
|
|
|
+ // 判断是否有修改入库详情
|
|
|
if (judgmentEquals(detailInfo.getWareHouseMan(),ware.getWareHouseMan())) {
|
|
|
is = true;
|
|
|
} else if (judgmentEquals(detailInfo.getWareHouseType(),ware.getWareHouseType())) {
|
|
@@ -422,7 +427,7 @@ public class WareHouseBasicService {
|
|
|
detailInfo.setUpFlag("0");
|
|
|
detailedMapper.updateById(detailInfo);
|
|
|
}
|
|
|
- } else if ("2".equals(detailInfo.getUpFlag())) { // 已删除标记数据
|
|
|
+ } else if ("2".equals(detailInfo.getUpFlag())) { // ‘删除’标记数据
|
|
|
if(StringUtils.isBlank(detailInfo.getSourceId())) {
|
|
|
detailedMapper.updateById(detailInfo);
|
|
|
}else{
|