|
@@ -48,6 +48,7 @@ import java.lang.reflect.InvocationTargetException;
|
|
import java.lang.reflect.Method;
|
|
import java.lang.reflect.Method;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -1142,23 +1143,23 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
if (task.getMeterTaskType().equals(1)) {
|
|
if (task.getMeterTaskType().equals(1)) {
|
|
/*中间计量清单*/
|
|
/*中间计量清单*/
|
|
- InventoryFormApplyTask inventoryFormApplyTask = inventoryFormApplyServiceTask.getById(dto.getDataId());
|
|
|
|
|
|
+ InventoryFormApplyTask inventoryFormApplyTask = inventoryFormApplyServiceTask.getById(dto.getMiddleMeterInventoryFormId());
|
|
if (inventoryFormApplyTask != null) {
|
|
if (inventoryFormApplyTask != null) {
|
|
MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(inventoryFormApplyTask.getMiddleMeterId());
|
|
MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(inventoryFormApplyTask.getMiddleMeterId());
|
|
- if (middleMeterApplyTask != null && inventoryFormApplyServiceTask.removeById(inventoryFormApplyTask.getId())) {
|
|
|
|
- BigDecimal currentMeterMoney = inventoryFormApplyTask.getCurrentMeterMoney();
|
|
|
|
- BigDecimal currentMeterTotal = inventoryFormApplyTask.getCurrentMeterTotal();
|
|
|
|
- BigDecimal result = currentMeterMoney.multiply(currentMeterTotal);
|
|
|
|
-
|
|
|
|
- BigDecimal meterMoney = middleMeterApplyTask.getMeterMoney();
|
|
|
|
-
|
|
|
|
- BigDecimal updatedMeterMoney = meterMoney.subtract(result); //相减
|
|
|
|
-
|
|
|
|
|
|
+ if (middleMeterApplyTask != null && ObjectUtil.isNotEmpty(middleMeterApplyTask.getBusinessDate())) {
|
|
/*获取当前节点变更令*/
|
|
/*获取当前节点变更令*/
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
+ String formattedDate = middleMeterApplyTask.getBusinessDate().format(formatter);
|
|
MiddleMeterTokenVO nodeToken = middleMeterApplyService.getNodeToken(Long.parseLong(task.getContractId()), middleMeterApplyTask.getContractUnitId(),
|
|
MiddleMeterTokenVO nodeToken = middleMeterApplyService.getNodeToken(Long.parseLong(task.getContractId()), middleMeterApplyTask.getContractUnitId(),
|
|
- inventoryFormApplyTask.getContractFormId().toString(), new SimpleDateFormat("yyyy-MM-dd").format(middleMeterApplyTask.getBusinessDate()));
|
|
|
|
|
|
+ inventoryFormApplyTask.getContractFormId().toString(), formattedDate);
|
|
|
|
+
|
|
|
|
+ if (nodeToken != null) {//TODO 存在业务逻辑问题,后续需要讨论
|
|
|
|
+ BigDecimal currentMeterMoney = inventoryFormApplyTask.getCurrentMeterMoney();
|
|
|
|
+ BigDecimal currentMeterTotal = inventoryFormApplyTask.getCurrentMeterTotal();
|
|
|
|
+ BigDecimal result = currentMeterMoney.multiply(currentMeterTotal);
|
|
|
|
+ BigDecimal meterMoney = middleMeterApplyTask.getMeterMoney();
|
|
|
|
+ BigDecimal updatedMeterMoney = meterMoney.subtract(result); //相减
|
|
|
|
|
|
- if (nodeToken != null) {//TODO
|
|
|
|
/*修改中间计量申请金额,变更令id、编号、以及文件信息*/
|
|
/*修改中间计量申请金额,变更令id、编号、以及文件信息*/
|
|
String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ?,change_token_number = ?,change_token_ids = ? WHERE id = ?";
|
|
String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ?,change_token_number = ?,change_token_ids = ? WHERE id = ?";
|
|
Object[] params = {updatedMeterMoney, nodeToken.getChangeTokenNumber(), nodeToken.getChangeTokenIds(), inventoryFormApplyTask.getMiddleMeterId()};
|
|
Object[] params = {updatedMeterMoney, nodeToken.getChangeTokenNumber(), nodeToken.getChangeTokenIds(), inventoryFormApplyTask.getMiddleMeterId()};
|
|
@@ -1177,7 +1178,14 @@ public class TaskController extends BladeController {
|
|
}
|
|
}
|
|
attachmentFormServiceTask.saveBatch(attachmentFormTasks);
|
|
attachmentFormServiceTask.saveBatch(attachmentFormTasks);
|
|
|
|
|
|
|
|
+ /*删除taskVO清单*/
|
|
|
|
+ jdbcTemplate.execute("DELETE FROM s_inventory_form_apply_task WHERE id = " + inventoryFormApplyTask.getId());
|
|
|
|
+ /*删除原始清单(因为重新添加清单时,查看的是原始清单,所以删除)*/
|
|
|
|
+ jdbcTemplate.execute("DELETE FROM s_inventory_form_apply WHERE id = " + inventoryFormApplyTask.getId());
|
|
|
|
+
|
|
return R.data(200, updatedMeterMoney, "操作成功");
|
|
return R.data(200, updatedMeterMoney, "操作成功");
|
|
|
|
+ } else {
|
|
|
|
+ throw new ServiceException("未获取到当前清单变更令信息");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1188,7 +1196,7 @@ public class TaskController extends BladeController {
|
|
/*获取变更令*/
|
|
/*获取变更令*/
|
|
ChangeTokenFormTask tokenFormTask = changeTokenFormServiceTask.getById(dto.getDataId());
|
|
ChangeTokenFormTask tokenFormTask = changeTokenFormServiceTask.getById(dto.getDataId());
|
|
if (dto.getType().equals(1)) { //申请部位删除
|
|
if (dto.getType().equals(1)) { //申请部位删除
|
|
- ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyId());
|
|
|
|
|
|
+ ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getChangeNodeId());
|
|
if (changeTokenMeterTask != null) {
|
|
if (changeTokenMeterTask != null) {
|
|
/*获取清单信息*/
|
|
/*获取清单信息*/
|
|
List<ChangeFormVO2> formListCopy = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(Long.parseLong(task.getContractId()), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
List<ChangeFormVO2> formListCopy = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(Long.parseLong(task.getContractId()), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
@@ -1203,7 +1211,7 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
/*删除部位信息*/
|
|
/*删除部位信息*/
|
|
String delSql_1 = "DELETE FROM s_change_token_meter_task WHERE id = ?";
|
|
String delSql_1 = "DELETE FROM s_change_token_meter_task WHERE id = ?";
|
|
- Object[] delParams_1 = {dto.getPrimaryKeyId()};
|
|
|
|
|
|
+ Object[] delParams_1 = {dto.getChangeNodeId()};
|
|
jdbcTemplate.update(delSql_1, delParams_1);
|
|
jdbcTemplate.update(delSql_1, delParams_1);
|
|
|
|
|
|
/*删除部位下的清单信息*/
|
|
/*删除部位下的清单信息*/
|
|
@@ -1219,23 +1227,32 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
} else if (dto.getType().equals(2)) { //申请清单删除
|
|
} else if (dto.getType().equals(2)) { //申请清单删除
|
|
/*获取清单信息*/
|
|
/*获取清单信息*/
|
|
- String sql_1 = "SELECT * FROM s_change_token_inventory_task WHERE id = ?";
|
|
|
|
- Object[] params_1 = {dto.getPrimaryKeyId()};
|
|
|
|
- ChangeTokenInventoryTask changeTokenInventoryTask = jdbcTemplate.query(sql_1, params_1, new BeanPropertyRowMapper<>(ChangeTokenInventoryTask.class)).stream().findAny().orElse(null);
|
|
|
|
- if (changeTokenInventoryTask != null) {
|
|
|
|
- BigDecimal subtract = tokenFormTask.getChangeMoney().subtract(changeTokenInventoryTask.getChangeMoney()); //相减
|
|
|
|
|
|
+ ChangeTokenInventoryTask changeTokenInventoryTask = changeTokenInventoryServiceTask.getBaseMapper().selectById(dto.getChangeFormId());
|
|
|
|
+ /*获取部位信息*/
|
|
|
|
+ ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getChangeNodeId());
|
|
|
|
+
|
|
|
|
+ if (changeTokenInventoryTask != null && changeTokenMeterTask != null) {
|
|
|
|
+ /*变更令的变更申请金额=申请金额-清单变更增减金额*/
|
|
|
|
+ BigDecimal changeTokenFormMoney = tokenFormTask.getChangeMoney().subtract(changeTokenInventoryTask.getChangeMoney()); //相减
|
|
|
|
+ /*申请部位变更金额=申请金额-清单变更后金额*/
|
|
|
|
+ BigDecimal changeTokenMeterMoney = changeTokenMeterTask.getChangeMoney().subtract(changeTokenInventoryTask.getChangeAfterMoney());
|
|
|
|
|
|
/*修改变更令变更金额*/
|
|
/*修改变更令变更金额*/
|
|
String updateSql = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
String updateSql = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
- Object[] params = {subtract, dto.getDataId()};
|
|
|
|
|
|
+ Object[] params = {changeTokenFormMoney, dto.getDataId()};
|
|
jdbcTemplate.update(updateSql, params);
|
|
jdbcTemplate.update(updateSql, params);
|
|
|
|
|
|
|
|
+ /*修改申请部位变更金额*/
|
|
|
|
+ String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
|
|
+ Object[] updateParamsMeter = {changeTokenMeterMoney, dto.getChangeNodeId()};
|
|
|
|
+ jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
|
|
+
|
|
/*删除清单信息*/
|
|
/*删除清单信息*/
|
|
String delSql = "DELETE FROM s_change_token_inventory_task WHERE id = ?";
|
|
String delSql = "DELETE FROM s_change_token_inventory_task WHERE id = ?";
|
|
- Object[] delParams = {dto.getPrimaryKeyId()};
|
|
|
|
|
|
+ Object[] delParams = {dto.getChangeFormId()};
|
|
jdbcTemplate.update(delSql, delParams);
|
|
jdbcTemplate.update(delSql, delParams);
|
|
|
|
|
|
- return R.data(200, subtract, "操作成功");
|
|
|
|
|
|
+ return R.success("操作成功");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1316,9 +1333,9 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
if (formList.size() != 0) {
|
|
if (formList.size() != 0) {
|
|
/*复制表taskVO数据*/
|
|
/*复制表taskVO数据*/
|
|
- BigDecimal currentMeterMoneyTotal = BigDecimal.ZERO;
|
|
|
|
List<InventoryFormApplyTask> formAppliesTask = formList.stream().map(l -> {
|
|
List<InventoryFormApplyTask> formAppliesTask = formList.stream().map(l -> {
|
|
InventoryFormApplyTask formApplyTask = new InventoryFormApplyTask();
|
|
InventoryFormApplyTask formApplyTask = new InventoryFormApplyTask();
|
|
|
|
+ /*基础数据*/
|
|
formApplyTask.setTaskId(dto.getTaskId());
|
|
formApplyTask.setTaskId(dto.getTaskId());
|
|
formApplyTask.setBusinessDate(middleMeterApplyTask.getBusinessDate());
|
|
formApplyTask.setBusinessDate(middleMeterApplyTask.getBusinessDate());
|
|
formApplyTask.setProjectId(Long.parseLong(task.getProjectId()));
|
|
formApplyTask.setProjectId(Long.parseLong(task.getProjectId()));
|
|
@@ -1330,37 +1347,50 @@ public class TaskController extends BladeController {
|
|
formApplyTask.setContractMeterId(dto.getNodeId());
|
|
formApplyTask.setContractMeterId(dto.getNodeId());
|
|
formApplyTask.setFormNumber(l.getFormNumber());
|
|
formApplyTask.setFormNumber(l.getFormNumber());
|
|
formApplyTask.setFormName(l.getFormName());
|
|
formApplyTask.setFormName(l.getFormName());
|
|
- formApplyTask.setCurrentPrice(l.getCurrentPrice());
|
|
|
|
formApplyTask.setBuildPictureTotal(l.getResolveTotal());
|
|
formApplyTask.setBuildPictureTotal(l.getResolveTotal());
|
|
formApplyTask.setChangeBuildPictureTotal(l.getChangeTotal());
|
|
formApplyTask.setChangeBuildPictureTotal(l.getChangeTotal());
|
|
- formApplyTask.setApproveStatus(1); //待审批
|
|
|
|
- if (l.getCurrentMeterTotal() != null && l.getCurrentPrice() != null) {
|
|
|
|
- formApplyTask.setCurrentMeterTotal(l.getCurrentMeterTotal());
|
|
|
|
- formApplyTask.setCurrentMeterMoney(l.getCurrentPrice().multiply(l.getCurrentMeterTotal()));
|
|
|
|
- } else {
|
|
|
|
- throw new ServiceException("计量金额和计量数量不能为空");
|
|
|
|
- }
|
|
|
|
|
|
+ formApplyTask.setApproveStatus(1);//待审批
|
|
|
|
+
|
|
|
|
+ /*默认本期计量数=1,外层自定义修改*/
|
|
|
|
+ l.setCurrentMeterTotal(BigDecimal.valueOf(1));
|
|
|
|
+ formApplyTask.setCurrentMeterTotal(l.getCurrentMeterTotal());
|
|
|
|
+
|
|
|
|
+ /*单价*/
|
|
|
|
+ formApplyTask.setCurrentPrice(l.getCurrentPrice());
|
|
|
|
+
|
|
|
|
+ /*变更金额*/
|
|
|
|
+ formApplyTask.setCurrentMeterMoney(formApplyTask.getCurrentPrice().multiply(formApplyTask.getCurrentMeterTotal()));
|
|
|
|
+
|
|
return formApplyTask;
|
|
return formApplyTask;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
- for (InventoryFormApplyTask formApplyTask : formAppliesTask) {
|
|
|
|
- currentMeterMoneyTotal = currentMeterMoneyTotal.add(formApplyTask.getCurrentMeterMoney());
|
|
|
|
- }
|
|
|
|
|
|
|
|
/*获取所有清单ids*/
|
|
/*获取所有清单ids*/
|
|
List<Long> collect = formAppliesTask.stream().map(InventoryFormApplyTask::getContractFormId).collect(Collectors.toList());
|
|
List<Long> collect = formAppliesTask.stream().map(InventoryFormApplyTask::getContractFormId).collect(Collectors.toList());
|
|
|
|
|
|
/*获取当前节点变更令*/
|
|
/*获取当前节点变更令*/
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
+ String formattedDate = middleMeterApplyTask.getBusinessDate().format(formatter);
|
|
MiddleMeterTokenVO nodeToken = middleMeterApplyService.getNodeToken(Long.parseLong(task.getContractId()), middleMeterApplyTask.getContractUnitId(),
|
|
MiddleMeterTokenVO nodeToken = middleMeterApplyService.getNodeToken(Long.parseLong(task.getContractId()), middleMeterApplyTask.getContractUnitId(),
|
|
- StringUtils.join(collect, ","), new SimpleDateFormat("yyyy-MM-dd").format(middleMeterApplyTask.getBusinessDate()));
|
|
|
|
-
|
|
|
|
- if (nodeToken != null) {//TODO
|
|
|
|
|
|
+ StringUtils.join(collect, ","), formattedDate);
|
|
|
|
|
|
|
|
+ if (nodeToken != null) {//TODO 存在业务逻辑问题,后续需要讨论
|
|
/*入库*/
|
|
/*入库*/
|
|
inventoryFormApplyServiceTask.saveBatch(formAppliesTask);
|
|
inventoryFormApplyServiceTask.saveBatch(formAppliesTask);
|
|
|
|
|
|
|
|
+ /*获取当前所有清单信息*/
|
|
|
|
+ List<MeterInventoryVO> formToTask = middleMeterApplyMapper.getFormCopy(middleMeterApplyTask.getId(), middleMeterApplyTask.getContractId(), middleMeterApplyTask.getContractUnitId());
|
|
|
|
+
|
|
|
|
+ BigDecimal totalSum = BigDecimal.ZERO;
|
|
|
|
+ for (MeterInventoryVO meterInventoryVO : formToTask) {
|
|
|
|
+ BigDecimal currentMeterTotal = meterInventoryVO.getCurrentMeterTotal();
|
|
|
|
+ BigDecimal currentPrice = meterInventoryVO.getCurrentPrice();
|
|
|
|
+ BigDecimal product = currentMeterTotal.multiply(currentPrice);
|
|
|
|
+ totalSum = totalSum.add(product);
|
|
|
|
+ }
|
|
|
|
+
|
|
/*修改中间计量申请金额,变更令id、编号、以及文件信息*/
|
|
/*修改中间计量申请金额,变更令id、编号、以及文件信息*/
|
|
String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ?,change_token_number = ?,change_token_ids = ? WHERE id = ?";
|
|
String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ?,change_token_number = ?,change_token_ids = ? WHERE id = ?";
|
|
- Object[] params = {currentMeterMoneyTotal, nodeToken.getChangeTokenNumber(), nodeToken.getChangeTokenIds(), middleMeterApplyTask.getId()};
|
|
|
|
|
|
+ Object[] params = {totalSum, nodeToken.getChangeTokenNumber(), nodeToken.getChangeTokenIds(), middleMeterApplyTask.getId()};
|
|
jdbcTemplate.update(updateSql, params);
|
|
jdbcTemplate.update(updateSql, params);
|
|
|
|
|
|
/*删除该中间计量的变更令附件*/
|
|
/*删除该中间计量的变更令附件*/
|
|
@@ -1376,7 +1406,7 @@ public class TaskController extends BladeController {
|
|
}
|
|
}
|
|
attachmentFormServiceTask.saveBatch(attachmentFormTasks);
|
|
attachmentFormServiceTask.saveBatch(attachmentFormTasks);
|
|
|
|
|
|
- return R.data(200, currentMeterMoneyTotal, "操作成功");
|
|
|
|
|
|
+ return R.data(200, totalSum, "操作成功");
|
|
}
|
|
}
|
|
|
|
|
|
return R.data(200, formList, "操作成功");
|
|
return R.data(200, formList, "操作成功");
|
|
@@ -1513,16 +1543,15 @@ public class TaskController extends BladeController {
|
|
Object[] updateParamsInventory = {changTotalNow, afterTotalNow, changeMoneyNow, afterChangeMoneyNow, dto.getPrimaryKeyIdInventory()};
|
|
Object[] updateParamsInventory = {changTotalNow, afterTotalNow, changeMoneyNow, afterChangeMoneyNow, dto.getPrimaryKeyIdInventory()};
|
|
jdbcTemplate.update(updateSqlInventory, updateParamsInventory);
|
|
jdbcTemplate.update(updateSqlInventory, updateParamsInventory);
|
|
|
|
|
|
- /*修改部位变更金额*/
|
|
|
|
|
|
+ /*修改部位变更金额(当前部位下所有清单的变更后金额相加)*/
|
|
ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyIdMeter());
|
|
ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyIdMeter());
|
|
List<ChangeFormVO2> formListCopyByMeterId = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(Long.parseLong(task.getContractId()), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
List<ChangeFormVO2> formListCopyByMeterId = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(Long.parseLong(task.getContractId()), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
- BigDecimal sumOfCurrentChangeMoneyByMeterId = formListCopyByMeterId.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
- BigDecimal add = changeTokenMeterTask.getChangeMoney().add(sumOfCurrentChangeMoneyByMeterId);
|
|
|
|
|
|
+ BigDecimal sumOfChangeMoneyByMeterId = formListCopyByMeterId.stream().map(ChangeFormVO2::getChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
- Object[] updateParamsMeter = {add, dto.getPrimaryKeyIdMeter()};
|
|
|
|
|
|
+ Object[] updateParamsMeter = {sumOfChangeMoneyByMeterId, dto.getPrimaryKeyIdMeter()};
|
|
jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
|
|
|
|
- /*修改变更令申请金额*/
|
|
|
|
|
|
+ /*修改变更令申请金额(为清单的变更增减金额相加)*/
|
|
List<ChangeFormVO2> formListCopyAll = changeTokenFormService.getBaseMapper().getFormListCopy(Long.parseLong(task.getContractId()), dto.getDataId());
|
|
List<ChangeFormVO2> formListCopyAll = changeTokenFormService.getBaseMapper().getFormListCopy(Long.parseLong(task.getContractId()), dto.getDataId());
|
|
BigDecimal sumOfCurrentChangeMoneyAll = formListCopyAll.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
BigDecimal sumOfCurrentChangeMoneyAll = formListCopyAll.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
String updateSqlForm = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
String updateSqlForm = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
@@ -1551,42 +1580,48 @@ public class TaskController extends BladeController {
|
|
List<ChangeTokenInventoryTask> inventoryList = new ArrayList<>();
|
|
List<ChangeTokenInventoryTask> inventoryList = new ArrayList<>();
|
|
for (ChangeFormVO2 vo2 : dto.getFormList()) {
|
|
for (ChangeFormVO2 vo2 : dto.getFormList()) {
|
|
ChangeTokenInventoryTask inventory = new ChangeTokenInventoryTask();
|
|
ChangeTokenInventoryTask inventory = new ChangeTokenInventoryTask();
|
|
|
|
+ //清单基础信息
|
|
inventory.setProjectId(Long.parseLong(task.getProjectId()));
|
|
inventory.setProjectId(Long.parseLong(task.getProjectId()));
|
|
inventory.setContractId(Long.parseLong(task.getContractId()));
|
|
inventory.setContractId(Long.parseLong(task.getContractId()));
|
|
- inventory.setChangeTokenId(dto.getDataId());
|
|
|
|
- inventory.setContractFormId(vo2.getId());
|
|
|
|
- inventory.setChangeBeforeTotal(vo2.getContractTotal());
|
|
|
|
- inventory.setChangeTotal(vo2.getCurrentChangeTotal());
|
|
|
|
- //设置清单3个基础信息,因为变更后不能改变
|
|
|
|
inventory.setFormNumber(vo2.getFormNumber());
|
|
inventory.setFormNumber(vo2.getFormNumber());
|
|
inventory.setFormName(vo2.getFormName());
|
|
inventory.setFormName(vo2.getFormName());
|
|
inventory.setCurrentPrice(vo2.getCurrentPrice());
|
|
inventory.setCurrentPrice(vo2.getCurrentPrice());
|
|
- if (vo2.getContractMeterId() == null) {
|
|
|
|
- throw new ServiceException("未找到清单(" + vo2.getFormName() + ")的部位id");
|
|
|
|
- }
|
|
|
|
- //设置节点id
|
|
|
|
- inventory.setContractMeterId(vo2.getContractMeterId());
|
|
|
|
- //计算变更后
|
|
|
|
|
|
+ inventory.setChangeTokenId(dto.getDataId());
|
|
|
|
+ inventory.setContractFormId(vo2.getId());
|
|
|
|
+ inventory.setContractMeterId(dto.getNodeId());
|
|
|
|
+
|
|
|
|
+ /*变更前数量*/
|
|
|
|
+ inventory.setChangeBeforeTotal(vo2.getContractTotal());
|
|
|
|
+
|
|
|
|
+ /*默认变更增减数量=1(外层再自定义修改)*/
|
|
|
|
+ inventory.setChangeTotal(BigDecimal.valueOf(1));
|
|
|
|
+
|
|
|
|
+ /*变更后数量*/
|
|
inventory.setChangeAfterTotal(inventory.getChangeBeforeTotal().add(inventory.getChangeTotal()));
|
|
inventory.setChangeAfterTotal(inventory.getChangeBeforeTotal().add(inventory.getChangeTotal()));
|
|
- inventory.setChangeBeforeMoney(vo2.getContractMoney());
|
|
|
|
- //计算变更增减金额
|
|
|
|
- inventory.setChangeMoney(vo2.getCurrentPrice().multiply(inventory.getChangeTotal()));
|
|
|
|
- //计算变更后金额
|
|
|
|
- inventory.setChangeAfterMoney(vo2.getCurrentPrice().multiply(inventory.getChangeAfterTotal()));
|
|
|
|
|
|
+
|
|
|
|
+ /*变更前金额=变更前数量*单价*/
|
|
|
|
+ inventory.setChangeBeforeMoney(inventory.getChangeBeforeTotal().multiply(inventory.getCurrentPrice()));
|
|
|
|
+
|
|
|
|
+ /*变更金额=变更数量*单价*/
|
|
|
|
+ vo2.setChangeMoney(inventory.getChangeTotal().multiply(inventory.getCurrentPrice()));
|
|
|
|
+ inventory.setChangeMoney(vo2.getChangeMoney());
|
|
|
|
+
|
|
|
|
+ /*变更后金额=变更后数量*单价*/
|
|
|
|
+ inventory.setChangeAfterMoney(inventory.getChangeAfterTotal().multiply(inventory.getCurrentPrice()));
|
|
|
|
+
|
|
inventoryList.add(inventory);
|
|
inventoryList.add(inventory);
|
|
}
|
|
}
|
|
changeTokenInventoryServiceTask.saveBatch(inventoryList);
|
|
changeTokenInventoryServiceTask.saveBatch(inventoryList);
|
|
|
|
|
|
- /*修改部位变更金额*/
|
|
|
|
|
|
+ /*修改部位变更后金额(当前部位下所有清单的变更后金额相加)*/
|
|
ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyIdMeter());
|
|
ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyIdMeter());
|
|
List<ChangeFormVO2> formListCopyByMeterId = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(Long.parseLong(task.getContractId()), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
List<ChangeFormVO2> formListCopyByMeterId = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(Long.parseLong(task.getContractId()), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
- BigDecimal sumOfCurrentChangeMoneyByMeterId = formListCopyByMeterId.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
- BigDecimal add = changeTokenMeterTask.getChangeMoney().add(sumOfCurrentChangeMoneyByMeterId);
|
|
|
|
|
|
+ BigDecimal sumOfChangeMoneyByMeterId = formListCopyByMeterId.stream().map(ChangeFormVO2::getChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
- Object[] updateParamsMeter = {add, dto.getPrimaryKeyIdMeter()};
|
|
|
|
|
|
+ Object[] updateParamsMeter = {sumOfChangeMoneyByMeterId, dto.getPrimaryKeyIdMeter()};
|
|
jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
|
|
|
|
- /*修改变更令申请金额*/
|
|
|
|
|
|
+ /*修改变更令申请金额(为清单的变更增减金额相加)*/
|
|
List<ChangeFormVO2> formListCopyAll = changeTokenFormService.getBaseMapper().getFormListCopy(Long.parseLong(task.getContractId()), dto.getDataId());
|
|
List<ChangeFormVO2> formListCopyAll = changeTokenFormService.getBaseMapper().getFormListCopy(Long.parseLong(task.getContractId()), dto.getDataId());
|
|
BigDecimal sumOfCurrentChangeMoneyAll = formListCopyAll.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
BigDecimal sumOfCurrentChangeMoneyAll = formListCopyAll.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
String updateSqlForm = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
String updateSqlForm = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|