|
@@ -127,6 +127,11 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
List<ChangeFormVO2> formList = new ArrayList<>();
|
|
List<ChangeFormVO2> formList = new ArrayList<>();
|
|
Map<Long, ChangeNodeVO> voMap = new HashMap<>();
|
|
Map<Long, ChangeNodeVO> voMap = new HashMap<>();
|
|
if (nodeList.size() != 0){
|
|
if (nodeList.size() != 0){
|
|
|
|
+ //判断是否存在重复节点
|
|
|
|
+ long count = nodeList.stream().distinct().count();
|
|
|
|
+ if (nodeList.size() != count){
|
|
|
|
+ throw new ServiceException("当前变更节点中存在重复节点,请检查后再保存");
|
|
|
|
+ }
|
|
voMap = nodeList.stream().collect(Collectors.toMap(l -> l.getId(), l -> l));
|
|
voMap = nodeList.stream().collect(Collectors.toMap(l -> l.getId(), l -> l));
|
|
List<ChangeTokenMeter> meterList = nodeList.stream().map(l -> {
|
|
List<ChangeTokenMeter> meterList = nodeList.stream().map(l -> {
|
|
ChangeTokenMeter meter = new ChangeTokenMeter();
|
|
ChangeTokenMeter meter = new ChangeTokenMeter();
|
|
@@ -141,22 +146,22 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
meter.setChangeMoney(new BigDecimal(0));
|
|
meter.setChangeMoney(new BigDecimal(0));
|
|
meter.setIsSupplement(l.getIsSupplement());
|
|
meter.setIsSupplement(l.getIsSupplement());
|
|
List<ChangeFormVO2> list = l.getFormList();
|
|
List<ChangeFormVO2> list = l.getFormList();
|
|
|
|
+ BigDecimal big = new BigDecimal(0);
|
|
if (list != null && list.size() != 0){
|
|
if (list != null && list.size() != 0){
|
|
formList.addAll(list);
|
|
formList.addAll(list);
|
|
- BigDecimal big = new BigDecimal(0);
|
|
|
|
for (ChangeFormVO2 vo2 : list) {
|
|
for (ChangeFormVO2 vo2 : list) {
|
|
big = big.add(vo2.getChangeMoney());
|
|
big = big.add(vo2.getChangeMoney());
|
|
}
|
|
}
|
|
- meter.setChangeMoney(big);
|
|
|
|
}
|
|
}
|
|
|
|
+ meter.setChangeMoney(big);
|
|
return meter;
|
|
return meter;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
changeTokenMeterService.saveBatch(meterList);
|
|
changeTokenMeterService.saveBatch(meterList);
|
|
}
|
|
}
|
|
//保存清单,并计算总变更金额设置进变更令
|
|
//保存清单,并计算总变更金额设置进变更令
|
|
|
|
+ BigDecimal big = new BigDecimal(0);
|
|
if (formList.size() != 0){
|
|
if (formList.size() != 0){
|
|
List<ChangeTokenInventory> inventoryList = new ArrayList<>();
|
|
List<ChangeTokenInventory> inventoryList = new ArrayList<>();
|
|
- BigDecimal big = new BigDecimal(0);
|
|
|
|
for (ChangeFormVO2 vo2 : formList) {
|
|
for (ChangeFormVO2 vo2 : formList) {
|
|
ChangeTokenInventory inventory = new ChangeTokenInventory();
|
|
ChangeTokenInventory inventory = new ChangeTokenInventory();
|
|
inventory.setProjectId(dto.getProjectId());
|
|
inventory.setProjectId(dto.getProjectId());
|
|
@@ -196,9 +201,9 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
inventory.setChangeAfterMoney(vo2.getCurrentPrice().multiply(new BigDecimal(inventory.getChangeAfterTotal())));
|
|
inventory.setChangeAfterMoney(vo2.getCurrentPrice().multiply(new BigDecimal(inventory.getChangeAfterTotal())));
|
|
inventoryList.add(inventory);
|
|
inventoryList.add(inventory);
|
|
}
|
|
}
|
|
- form.setChangeMoney(big);
|
|
|
|
changeTokenInventoryService.saveBatch(inventoryList);
|
|
changeTokenInventoryService.saveBatch(inventoryList);
|
|
}
|
|
}
|
|
|
|
+ form.setChangeMoney(big);
|
|
this.save(form);
|
|
this.save(form);
|
|
//保存附件
|
|
//保存附件
|
|
List<AttachmentForm> fileList = dto.getFileList();
|
|
List<AttachmentForm> fileList = dto.getFileList();
|
|
@@ -267,14 +272,18 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
* 新增-获取变更申请部位
|
|
* 新增-获取变更申请部位
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<ChangeNodeVO> getChangeNode(Long contractId,String ids) {
|
|
|
|
|
|
+ public List<ChangeNodeVO> getChangeNode(Long contractId,String ids,String changeIds) {
|
|
List<ChangeNodeVO> vos = new ArrayList<>();
|
|
List<ChangeNodeVO> vos = new ArrayList<>();
|
|
if (StringUtils.isBlank(ids)){
|
|
if (StringUtils.isBlank(ids)){
|
|
return vos;
|
|
return vos;
|
|
}
|
|
}
|
|
List<Long> longs = Func.toLongList(ids);
|
|
List<Long> longs = Func.toLongList(ids);
|
|
- //暂时使用循环单条查询
|
|
|
|
|
|
+ //获取所选节点下的最底层节点
|
|
vos = baseMapper.getChangeNode(contractId,longs,ids);
|
|
vos = baseMapper.getChangeNode(contractId,longs,ids);
|
|
|
|
+ //排除当前已经存在的节点
|
|
|
|
+ if (StringUtils.isNotBlank(changeIds)) {
|
|
|
|
+ vos = vos.stream().filter(l ->!changeIds.contains(l.getId()+"")).collect(Collectors.toList());
|
|
|
|
+ }
|
|
for (ChangeNodeVO vo : vos) {
|
|
for (ChangeNodeVO vo : vos) {
|
|
vo.setNodeUrl(middleMeterApplyService.getNodeDivide(vo.getId()));
|
|
vo.setNodeUrl(middleMeterApplyService.getNodeDivide(vo.getId()));
|
|
}
|
|
}
|
|
@@ -285,6 +294,7 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
* 修改 变更令表
|
|
* 修改 变更令表
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional
|
|
public void update2(ChangeTokenFormDTO dto) {
|
|
public void update2(ChangeTokenFormDTO dto) {
|
|
//复制出基础数据
|
|
//复制出基础数据
|
|
ChangeTokenForm form = new ChangeTokenForm();
|
|
ChangeTokenForm form = new ChangeTokenForm();
|
|
@@ -296,6 +306,11 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
List<ChangeFormVO2> formList = new ArrayList<>();
|
|
List<ChangeFormVO2> formList = new ArrayList<>();
|
|
Map<Long, ChangeNodeVO> voMap = new HashMap<>();
|
|
Map<Long, ChangeNodeVO> voMap = new HashMap<>();
|
|
if (nodeList.size() != 0){
|
|
if (nodeList.size() != 0){
|
|
|
|
+ //判断是否存在重复节点
|
|
|
|
+ long count = nodeList.stream().distinct().count();
|
|
|
|
+ if (nodeList.size() != count){
|
|
|
|
+ throw new ServiceException("当前变更节点中存在重复节点,请检查后再保存");
|
|
|
|
+ }
|
|
voMap = nodeList.stream().collect(Collectors.toMap(l -> l.getId(), l -> l));
|
|
voMap = nodeList.stream().collect(Collectors.toMap(l -> l.getId(), l -> l));
|
|
List<ChangeTokenMeter> meterList = nodeList.stream().map(l -> {
|
|
List<ChangeTokenMeter> meterList = nodeList.stream().map(l -> {
|
|
ChangeTokenMeter meter = new ChangeTokenMeter();
|
|
ChangeTokenMeter meter = new ChangeTokenMeter();
|
|
@@ -304,6 +319,20 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
meter.setChangeTokenId(dto.getId());
|
|
meter.setChangeTokenId(dto.getId());
|
|
meter.setContractMeterId(l.getId());
|
|
meter.setContractMeterId(l.getId());
|
|
meter.setContractPicture(l.getContractPicture());
|
|
meter.setContractPicture(l.getContractPicture());
|
|
|
|
+ //设置部位基础信息,方便公式生成报表
|
|
|
|
+ meter.setNodeName(l.getNodeName());
|
|
|
|
+ meter.setNodeUrl(l.getNodeUrl());
|
|
|
|
+ meter.setChangeMoney(new BigDecimal(0));
|
|
|
|
+ meter.setIsSupplement(l.getIsSupplement());
|
|
|
|
+ List<ChangeFormVO2> list = l.getFormList();
|
|
|
|
+ BigDecimal big = new BigDecimal(0);
|
|
|
|
+ if (list != null && list.size() != 0){
|
|
|
|
+ formList.addAll(list);
|
|
|
|
+ for (ChangeFormVO2 vo2 : list) {
|
|
|
|
+ big = big.add(vo2.getChangeMoney());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ meter.setChangeMoney(big);
|
|
return meter;
|
|
return meter;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
changeTokenMeterService.saveBatch(meterList);
|
|
changeTokenMeterService.saveBatch(meterList);
|
|
@@ -311,9 +340,9 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
//保存清单,并计算总变更金额设置进变更令
|
|
//保存清单,并计算总变更金额设置进变更令
|
|
//删除当前变更令下的清单
|
|
//删除当前变更令下的清单
|
|
changeTokenInventoryService.deleteByTokenId(dto.getId());
|
|
changeTokenInventoryService.deleteByTokenId(dto.getId());
|
|
|
|
+ BigDecimal big = new BigDecimal(0);
|
|
if (formList.size() != 0){
|
|
if (formList.size() != 0){
|
|
List<ChangeTokenInventory> inventoryList = new ArrayList<>();
|
|
List<ChangeTokenInventory> inventoryList = new ArrayList<>();
|
|
- BigDecimal big = new BigDecimal(0);
|
|
|
|
for (ChangeFormVO2 vo2 : formList) {
|
|
for (ChangeFormVO2 vo2 : formList) {
|
|
ChangeTokenInventory inventory = new ChangeTokenInventory();
|
|
ChangeTokenInventory inventory = new ChangeTokenInventory();
|
|
inventory.setProjectId(dto.getProjectId());
|
|
inventory.setProjectId(dto.getProjectId());
|
|
@@ -336,8 +365,10 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
.eq(InventoryFormMeter::getContractFormId, vo2.getId())
|
|
.eq(InventoryFormMeter::getContractFormId, vo2.getId())
|
|
.eq(InventoryFormMeter::getContractMeterId, vo2.getContractMeterId()));
|
|
.eq(InventoryFormMeter::getContractMeterId, vo2.getContractMeterId()));
|
|
if (meter == null || (meter.getBuildPictureTotal()+vo2.getCurrentChangeTotal() < 0)){
|
|
if (meter == null || (meter.getBuildPictureTotal()+vo2.getCurrentChangeTotal() < 0)){
|
|
- throw new ServiceException(voMap.get(vo2.getContractMeterId()).getNodeName()+"部位下,未找到清单("+vo2.getFormName()+")的分解信息,不能负变更");
|
|
|
|
|
|
+ throw new ServiceException(voMap.get(vo2.getContractMeterId()).getNodeName()+"部位下,未找到清单["+vo2.getFormName()+"]的分解信息,不能负变更");
|
|
}
|
|
}
|
|
|
|
+ }else if (vo2.getCurrentChangeTotal() == 0){
|
|
|
|
+ throw new ServiceException(voMap.get(vo2.getContractMeterId()).getNodeName()+"部位下,清单["+vo2.getFormName()+"]的变更数量为0,请确认后再提交");
|
|
}
|
|
}
|
|
//设置节点id
|
|
//设置节点id
|
|
inventory.setContractMeterId(vo2.getContractMeterId());
|
|
inventory.setContractMeterId(vo2.getContractMeterId());
|
|
@@ -351,9 +382,9 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
inventory.setChangeAfterMoney(vo2.getCurrentPrice().multiply(new BigDecimal(inventory.getChangeAfterTotal())));
|
|
inventory.setChangeAfterMoney(vo2.getCurrentPrice().multiply(new BigDecimal(inventory.getChangeAfterTotal())));
|
|
inventoryList.add(inventory);
|
|
inventoryList.add(inventory);
|
|
}
|
|
}
|
|
- form.setChangeMoney(big);
|
|
|
|
changeTokenInventoryService.saveBatch(inventoryList);
|
|
changeTokenInventoryService.saveBatch(inventoryList);
|
|
}
|
|
}
|
|
|
|
+ form.setChangeMoney(big);
|
|
this.updateById(form);
|
|
this.updateById(form);
|
|
//删除附件信息
|
|
//删除附件信息
|
|
attachmentFormService.deleteByMasterId(form.getId());
|
|
attachmentFormService.deleteByMasterId(form.getId());
|
|
@@ -387,7 +418,7 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
|
|
for (ChangeNodeVO nodeVO : nodeList) {
|
|
for (ChangeNodeVO nodeVO : nodeList) {
|
|
List<ChangeFormVO2> vo2s = map.get(nodeVO.getId());
|
|
List<ChangeFormVO2> vo2s = map.get(nodeVO.getId());
|
|
nodeVO.setFormList(vo2s);
|
|
nodeVO.setFormList(vo2s);
|
|
- nodeVO.setNodeUrl(middleMeterApplyService.getNodeDivide(nodeVO.getId()));
|
|
|
|
|
|
+// nodeVO.setNodeUrl(middleMeterApplyService.getNodeDivide(nodeVO.getId()));
|
|
}
|
|
}
|
|
}else {
|
|
}else {
|
|
for (ChangeNodeVO nodeVO : nodeList) {
|
|
for (ChangeNodeVO nodeVO : nodeList) {
|