|
@@ -27,7 +27,6 @@ import org.springblade.core.tool.utils.BeanUtil;
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
-import org.springblade.feign.ArchiveFileTaskClient;
|
|
|
|
import org.springblade.manager.entity.ContractInfo;
|
|
import org.springblade.manager.entity.ContractInfo;
|
|
import org.springblade.manager.entity.ContractRelationJlyz;
|
|
import org.springblade.manager.entity.ContractRelationJlyz;
|
|
import org.springblade.meter.dto.*;
|
|
import org.springblade.meter.dto.*;
|
|
@@ -545,6 +544,14 @@ public class TaskController extends BladeController {
|
|
@ApiOperation(value = "任务废除(任务撤销、驳回审批)", notes = "按一期废除,即按整条任务废除(中期计量申请、材料计量单、开工预付款计量单、变更令、任务查看-废除任务)")
|
|
@ApiOperation(value = "任务废除(任务撤销、驳回审批)", notes = "按一期废除,即按整条任务废除(中期计量申请、材料计量单、开工预付款计量单、变更令、任务查看-废除任务)")
|
|
@PushMessage(clientId = ClientIdConstant.METER_CLIENT_ID)
|
|
@PushMessage(clientId = ClientIdConstant.METER_CLIENT_ID)
|
|
public R<Object> repeal(@RequestBody TaskRepealDTO taskRepealDTO) {
|
|
public R<Object> repeal(@RequestBody TaskRepealDTO taskRepealDTO) {
|
|
|
|
+ /*加锁*/
|
|
|
|
+ String redisValue = bladeRedis.get("meter:repeal:user:" + SecureUtil.getUserId());
|
|
|
|
+ if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
|
|
|
|
+ return R.fail(400, "请勿重复提交,30秒后再尝试");
|
|
|
|
+ }
|
|
|
|
+ bladeRedis.set("meter:repeal:user:" + SecureUtil.getUserId(), "1");
|
|
|
|
+ bladeRedis.expire("meter:repeal:user:" + SecureUtil.getUserId(), 30);
|
|
|
|
+
|
|
if (ObjectUtil.isNotEmpty(taskRepealDTO) && ObjectUtil.isNotEmpty(taskRepealDTO.getTaskId())) {
|
|
if (ObjectUtil.isNotEmpty(taskRepealDTO) && ObjectUtil.isNotEmpty(taskRepealDTO.getTaskId())) {
|
|
if (ObjectUtil.isNotEmpty(taskRepealDTO.getMeterTaskRepealDesc()) && taskRepealDTO.getMeterTaskRepealDesc().length() > 1000) {
|
|
if (ObjectUtil.isNotEmpty(taskRepealDTO.getMeterTaskRepealDesc()) && taskRepealDTO.getMeterTaskRepealDesc().length() > 1000) {
|
|
throw new ServiceException("任务废除原因最长1000个字符,请重新输入");
|
|
throw new ServiceException("任务废除原因最长1000个字符,请重新输入");
|
|
@@ -901,14 +908,14 @@ public class TaskController extends BladeController {
|
|
TaskParallel taskParallel = taskParallels.get(i);
|
|
TaskParallel taskParallel = taskParallels.get(i);
|
|
Map<String, String> taskUserOther = new LinkedHashMap<>();
|
|
Map<String, String> taskUserOther = new LinkedHashMap<>();
|
|
taskUserOther.put("name", taskParallel.getTaskUserName());
|
|
taskUserOther.put("name", taskParallel.getTaskUserName());
|
|
- if (taskParallel.getStatus().equals(2)) {
|
|
|
|
- taskUserOther.put("date", sdf.format(task.getUpdateTime()));
|
|
|
|
|
|
+ if (taskParallel.getStatus().equals(2) || taskParallel.getStatus().equals(3)) {
|
|
|
|
+ taskUserOther.put("date", sdf.format(taskParallel.getUpdateTime()));
|
|
}
|
|
}
|
|
taskUserOther.put("status", taskParallel.getStatus().toString());
|
|
taskUserOther.put("status", taskParallel.getStatus().toString());
|
|
if (i == taskParallels.size() - 1) {
|
|
if (i == taskParallels.size() - 1) {
|
|
- taskUserOther.put("flowValue", (taskParallel.getStatus().equals(2) ? "同意" : "待审批") + "</br></br>结束流程");
|
|
|
|
|
|
+ taskUserOther.put("flowValue", (taskParallel.getStatus().equals(2) ? "同意" : taskParallel.getStatus().equals(1) ? "待审批" : "已废除") + "</br></br>结束流程");
|
|
} else {
|
|
} else {
|
|
- taskUserOther.put("flowValue", taskParallel.getStatus().equals(2) ? "同意" : "待审批");
|
|
|
|
|
|
+ taskUserOther.put("flowValue", taskParallel.getStatus().equals(2) ? "同意" : taskParallel.getStatus().equals(1) ? "待审批" : "已废除");
|
|
}
|
|
}
|
|
taskProcessInfo.add(taskUserOther);
|
|
taskProcessInfo.add(taskUserOther);
|
|
}
|
|
}
|
|
@@ -1003,7 +1010,7 @@ public class TaskController extends BladeController {
|
|
@ApiOperation(value = "任务数据信息详情", notes = "传入任务id,数据dataId")
|
|
@ApiOperation(value = "任务数据信息详情", notes = "传入任务id,数据dataId")
|
|
public R<TaskDataDetailVO> dataDetail(@RequestParam String id, @RequestParam String dataId) {
|
|
public R<TaskDataDetailVO> dataDetail(@RequestParam String id, @RequestParam String dataId) {
|
|
if (ObjectUtil.isEmpty(id) || ObjectUtil.isEmpty(dataId)) {
|
|
if (ObjectUtil.isEmpty(id) || ObjectUtil.isEmpty(dataId)) {
|
|
- throw new ServiceException("任务、数据id不能为空");
|
|
|
|
|
|
+ throw new ServiceException("任务id、数据id不能为空");
|
|
}
|
|
}
|
|
TaskDataDetailVO vo = new TaskDataDetailVO();
|
|
TaskDataDetailVO vo = new TaskDataDetailVO();
|
|
Task task = jdbcTemplate.query("SELECT meter_task_type,form_data_id FROM u_task WHERE id = " + id, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
Task task = jdbcTemplate.query("SELECT meter_task_type,form_data_id FROM u_task WHERE id = " + id, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
@@ -1018,24 +1025,37 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
} else if (task.getMeterTaskType().equals(2)) {
|
|
} else if (task.getMeterTaskType().equals(2)) {
|
|
MaterialMeterFormTask materialMeterFormTask = materialMeterFormServiceTask.getById(dataId);
|
|
MaterialMeterFormTask materialMeterFormTask = materialMeterFormServiceTask.getById(dataId);
|
|
- vo.setBasicsInfo(materialMeterFormTask);
|
|
|
|
|
|
+ MaterialMeterFormTaskVO materialMeterFormTaskVO = BeanUtil.copyProperties(materialMeterFormTask, MaterialMeterFormTaskVO.class);
|
|
|
|
+ if (materialMeterFormTaskVO != null) {
|
|
|
|
+ materialMeterFormTaskVO.setMaterialConformName(materialMeterFormTaskVO.getMaterialConform().equals(0) ? "不符合" : "符合");
|
|
|
|
+ materialMeterFormTaskVO.setStorageConformName(materialMeterFormTaskVO.getStorageConform().equals(0) ? "不符合" : "符合");
|
|
|
|
+ vo.setBasicsInfo(materialMeterFormTaskVO);
|
|
|
|
+ }
|
|
|
|
|
|
} else if (task.getMeterTaskType().equals(3)) {
|
|
} else if (task.getMeterTaskType().equals(3)) {
|
|
StartPayMeterFormTask startPayMeterFormTask = startPayMeterFormServiceTask.getById(dataId);
|
|
StartPayMeterFormTask startPayMeterFormTask = startPayMeterFormServiceTask.getById(dataId);
|
|
vo.setBasicsInfo(startPayMeterFormTask);
|
|
vo.setBasicsInfo(startPayMeterFormTask);
|
|
|
|
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
- ChangeTokenFormTask changeTokenFormTask = changeTokenFormServiceTask.getById(dataId);
|
|
|
|
- if (changeTokenFormTask != null) {
|
|
|
|
- vo.setBasicsInfo(changeTokenFormTask);
|
|
|
|
-
|
|
|
|
- List<ChangeTokenMeterTask> changeTokenMeterTasks = changeTokenMeterServiceTask.getBaseMapper().selectList(Wrappers.<ChangeTokenMeterTask>lambdaQuery()
|
|
|
|
- .eq(ChangeTokenMeterTask::getChangeTokenId, changeTokenFormTask.getId()));
|
|
|
|
- vo.setChangeTokenMeterTaskList(changeTokenMeterTasks);
|
|
|
|
-
|
|
|
|
- List<ChangeTokenInventoryTask> changeTokenInventoryTasks = changeTokenInventoryServiceTask.getBaseMapper().selectList(Wrappers.<ChangeTokenInventoryTask>lambdaQuery()
|
|
|
|
- .eq(ChangeTokenInventoryTask::getChangeTokenId, changeTokenFormTask.getId()));
|
|
|
|
- vo.setChangeTokenInventoryTaskList(changeTokenInventoryTasks);
|
|
|
|
|
|
+ ChangeTokenFormVO2 changeTokenFormVO = changeTokenFormService.getBaseMapper().detailCopy(Long.parseLong(dataId));
|
|
|
|
+ if (changeTokenFormVO != null) {
|
|
|
|
+ List<ChangeNodeVO> nodeListCopy = changeTokenFormService.getBaseMapper().getNodeListCopy(changeTokenFormVO.getContractId(), changeTokenFormVO.getId());
|
|
|
|
+ if (nodeListCopy.size() > 0) {
|
|
|
|
+ List<ChangeFormVO2> formListCopy = changeTokenFormService.getBaseMapper().getFormListCopy(changeTokenFormVO.getContractId(), changeTokenFormVO.getId());
|
|
|
|
+ if (formListCopy.size() > 0) {
|
|
|
|
+ Map<Long, List<ChangeFormVO2>> map = formListCopy.stream().collect(Collectors.groupingBy(ChangeFormVO2::getContractMeterId));
|
|
|
|
+ for (ChangeNodeVO nodeVO : nodeListCopy) {
|
|
|
|
+ List<ChangeFormVO2> vo2s = map.get(nodeVO.getId());
|
|
|
|
+ nodeVO.setFormList(vo2s);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ for (ChangeNodeVO nodeVO : nodeListCopy) {
|
|
|
|
+ nodeVO.setNodeUrl(middleMeterApplyService.getNodeDivide(nodeVO.getId()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ changeTokenFormVO.setNodeList(nodeListCopy);
|
|
|
|
+ }
|
|
|
|
+ vo.setChangeTokenFormVO(changeTokenFormVO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1048,19 +1068,21 @@ public class TaskController extends BladeController {
|
|
return R.data(200, vo, "操作成功");
|
|
return R.data(200, vo, "操作成功");
|
|
}
|
|
}
|
|
|
|
|
|
- @GetMapping("/data/remove")
|
|
|
|
|
|
+ @PostMapping("/data/remove")
|
|
@ApiOperationSupport(order = 7)
|
|
@ApiOperationSupport(order = 7)
|
|
- @ApiOperation(value = "任务关联的数据删除(清单、变更令删除)", notes = "传入任务id,数据taskDetailId")
|
|
|
|
- public R<Object> dataRemove(@RequestParam String id, @RequestParam String taskDetailId) {
|
|
|
|
- if (ObjectUtil.isEmpty(id) || ObjectUtil.isEmpty(taskDetailId)) {
|
|
|
|
- throw new ServiceException("任务、数据taskDetailId不能为空");
|
|
|
|
|
|
+ @ApiOperation(value = "任务关联的数据删除(清单、变更令删除)", notes = "传入TaskDataRemoveDTO")
|
|
|
|
+ public R<Object> dataRemove(@RequestBody TaskDataRemoveDTO dto) {
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
}
|
|
}
|
|
-
|
|
|
|
- Task task = jdbcTemplate.query("SELECT meter_task_type,form_data_id FROM u_task WHERE id = " + id, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
|
|
+ String sql = "SELECT meter_task_type,form_data_id,process_instance_id FROM u_task WHERE id = ?";
|
|
|
|
+ Task task = jdbcTemplate.query(sql, new Object[]{dto.getTaskId()}, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
if (task != null) {
|
|
if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
if (task.getMeterTaskType().equals(1)) {
|
|
if (task.getMeterTaskType().equals(1)) {
|
|
- /*清单*/
|
|
|
|
- InventoryFormApplyTask inventoryFormApplyTask = inventoryFormApplyServiceTask.getById(taskDetailId);
|
|
|
|
|
|
+ /*中间计量清单*/
|
|
|
|
+ InventoryFormApplyTask inventoryFormApplyTask = inventoryFormApplyServiceTask.getById(dto.getDataId());
|
|
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())) {
|
|
if (middleMeterApplyTask != null && inventoryFormApplyServiceTask.removeById(inventoryFormApplyTask.getId())) {
|
|
@@ -1082,9 +1104,62 @@ public class TaskController extends BladeController {
|
|
|
|
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
/*变更令*/
|
|
/*变更令*/
|
|
- //TODO
|
|
|
|
- }
|
|
|
|
|
|
+ if (Arrays.asList(1, 2).contains(dto.getType())) {
|
|
|
|
+ /*获取变更令*/
|
|
|
|
+ ChangeTokenFormTask tokenFormTask = changeTokenFormServiceTask.getById(dto.getDataId());
|
|
|
|
+ if (dto.getType().equals(1)) { //申请部位删除
|
|
|
|
+ ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyId());
|
|
|
|
+ if (changeTokenMeterTask != null) {
|
|
|
|
+ /*获取清单信息*/
|
|
|
|
+ List<ChangeFormVO2> formListCopy = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(dto.getContractId(), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
|
|
+ if (formListCopy.size() > 0) {
|
|
|
|
+ BigDecimal currentChangeMoneyAll = formListCopy.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add); //累加
|
|
|
|
+ BigDecimal remainingChangeMoney = tokenFormTask.getChangeMoney().subtract(currentChangeMoneyAll); //相减
|
|
|
|
+
|
|
|
|
+ /*修改变更令变更金额*/
|
|
|
|
+ String updateSql = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
|
|
+ Object[] params = {remainingChangeMoney, dto.getDataId()};
|
|
|
|
+ jdbcTemplate.update(updateSql, params);
|
|
|
|
+
|
|
|
|
+ /*删除部位信息*/
|
|
|
|
+ String delSql_1 = "DELETE FROM s_change_token_meter_task WHERE id = ?";
|
|
|
|
+ Object[] delParams_1 = {dto.getPrimaryKeyId()};
|
|
|
|
+ jdbcTemplate.update(delSql_1, delParams_1);
|
|
|
|
+
|
|
|
|
+ /*删除部位下的清单信息*/
|
|
|
|
+ List<Long> collect = formListCopy.stream().map(ChangeFormVO2::getPrimaryKeyId).collect(Collectors.toList());
|
|
|
|
+ String placeholders = collect.stream().map(id -> "?").collect(Collectors.joining(","));
|
|
|
|
+ String delSql_2 = "DELETE FROM s_change_token_inventory_task WHERE id IN (" + placeholders + ")";
|
|
|
|
+ Object[] delParams_2 = collect.toArray();
|
|
|
|
+ jdbcTemplate.update(delSql_2, delParams_2);
|
|
|
|
+
|
|
|
|
+ return R.data(200, remainingChangeMoney, "操作成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ } 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()); //相减
|
|
|
|
+
|
|
|
|
+ /*修改变更令变更金额*/
|
|
|
|
+ String updateSql = "UPDATE s_change_token_form_task SET change_money = ? WHERE id = ?";
|
|
|
|
+ Object[] params = {subtract, dto.getDataId()};
|
|
|
|
+ jdbcTemplate.update(updateSql, params);
|
|
|
|
+
|
|
|
|
+ /*删除清单信息*/
|
|
|
|
+ String delSql = "DELETE FROM s_change_token_inventory_task WHERE id = ?";
|
|
|
|
+ Object[] delParams = {dto.getPrimaryKeyId()};
|
|
|
|
+ jdbcTemplate.update(delSql, delParams);
|
|
|
|
+
|
|
|
|
+ return R.data(200, subtract, "操作成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
}
|
|
}
|
|
@@ -1093,36 +1168,44 @@ public class TaskController extends BladeController {
|
|
@ApiOperationSupport(order = 8)
|
|
@ApiOperationSupport(order = 8)
|
|
@ApiOperation(value = "清单数据修改", notes = "传入InventoryFormApplyTaskDTO")
|
|
@ApiOperation(value = "清单数据修改", notes = "传入InventoryFormApplyTaskDTO")
|
|
public R<Object> dataInventoryFormApplyTaskUpdate(@RequestBody InventoryFormApplyTaskDTO dto) {
|
|
public R<Object> dataInventoryFormApplyTaskUpdate(@RequestBody InventoryFormApplyTaskDTO dto) {
|
|
- InventoryFormApplyTask obj = BeanUtil.copyProperties(dto, InventoryFormApplyTask.class);
|
|
|
|
- if (ObjectUtil.isEmpty(obj)) {
|
|
|
|
- throw new ServiceException("操作异常");
|
|
|
|
- }
|
|
|
|
- obj.setId(dto.getTaskDetailId());
|
|
|
|
- InventoryFormApplyTask inventoryFormApplyTask = inventoryFormApplyServiceTask.getById(obj.getId());
|
|
|
|
- if (ObjectUtil.isEmpty(inventoryFormApplyTask)) {
|
|
|
|
- throw new ServiceException("未获取到清单数据");
|
|
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
}
|
|
}
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
|
|
- if (inventoryFormApplyServiceTask.updateById(obj)) {
|
|
|
|
- MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(inventoryFormApplyTask.getMiddleMeterId());
|
|
|
|
- if (middleMeterApplyTask != null) {
|
|
|
|
|
|
+ InventoryFormApplyTask obj = BeanUtil.copyProperties(dto, InventoryFormApplyTask.class);
|
|
|
|
+ if (ObjectUtil.isEmpty(obj)) {
|
|
|
|
+ throw new ServiceException("操作异常");
|
|
|
|
+ }
|
|
|
|
+ obj.setId(dto.getTaskDetailId());
|
|
|
|
+ InventoryFormApplyTask inventoryFormApplyTask = inventoryFormApplyServiceTask.getById(obj.getId());
|
|
|
|
+ if (ObjectUtil.isEmpty(inventoryFormApplyTask)) {
|
|
|
|
+ throw new ServiceException("未获取到清单数据");
|
|
|
|
+ }
|
|
|
|
|
|
- /*清单信息*/
|
|
|
|
- List<MeterInventoryVO> formToTask = middleMeterApplyMapper.getFormCopy(middleMeterApplyTask.getId(), middleMeterApplyTask.getContractId(), middleMeterApplyTask.getContractUnitId());
|
|
|
|
-
|
|
|
|
- BigDecimal totalSum = BigDecimal.ZERO;
|
|
|
|
- for (MeterInventoryVO meterInventoryVO : formToTask) {
|
|
|
|
- BigDecimal currentMeterTotal = meterInventoryVO.getCurrentMeterTotal();
|
|
|
|
- BigDecimal currentMeterMoney = meterInventoryVO.getCurrentMeterMoney();
|
|
|
|
- BigDecimal product = currentMeterTotal.multiply(currentMeterMoney);
|
|
|
|
- totalSum = totalSum.add(product);
|
|
|
|
- }
|
|
|
|
|
|
+ if (inventoryFormApplyServiceTask.updateById(obj)) {
|
|
|
|
+ MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(inventoryFormApplyTask.getMiddleMeterId());
|
|
|
|
+ if (middleMeterApplyTask != null) {
|
|
|
|
|
|
- String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ? WHERE id = ?";
|
|
|
|
- Object[] params = {totalSum, inventoryFormApplyTask.getMiddleMeterId()};
|
|
|
|
- jdbcTemplate.update(updateSql, params);
|
|
|
|
|
|
+ /*清单信息*/
|
|
|
|
+ List<MeterInventoryVO> formToTask = middleMeterApplyMapper.getFormCopy(middleMeterApplyTask.getId(), middleMeterApplyTask.getContractId(), middleMeterApplyTask.getContractUnitId());
|
|
|
|
+
|
|
|
|
+ BigDecimal totalSum = BigDecimal.ZERO;
|
|
|
|
+ for (MeterInventoryVO meterInventoryVO : formToTask) {
|
|
|
|
+ BigDecimal currentMeterTotal = meterInventoryVO.getCurrentMeterTotal();
|
|
|
|
+ BigDecimal currentMeterMoney = meterInventoryVO.getCurrentMeterMoney();
|
|
|
|
+ BigDecimal product = currentMeterTotal.multiply(currentMeterMoney);
|
|
|
|
+ totalSum = totalSum.add(product);
|
|
|
|
+ }
|
|
|
|
|
|
- return R.data(200, totalSum, "操作成功");
|
|
|
|
|
|
+ String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ? WHERE id = ?";
|
|
|
|
+ Object[] params = {totalSum, inventoryFormApplyTask.getMiddleMeterId()};
|
|
|
|
+ jdbcTemplate.update(updateSql, params);
|
|
|
|
+
|
|
|
|
+ return R.data(200, totalSum, "操作成功");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return R.fail(400, "操作失败");
|
|
return R.fail(400, "操作失败");
|
|
@@ -1132,55 +1215,63 @@ public class TaskController extends BladeController {
|
|
@ApiOperationSupport(order = 9)
|
|
@ApiOperationSupport(order = 9)
|
|
@ApiOperation(value = "清单数据新增(添加清单)", notes = "查询获取数据接口还是调/middleMeterApply/addFormList;入参传入InventoryFormApplyTaskBatchDTO")
|
|
@ApiOperation(value = "清单数据新增(添加清单)", notes = "查询获取数据接口还是调/middleMeterApply/addFormList;入参传入InventoryFormApplyTaskBatchDTO")
|
|
public R<Object> dataInventoryFormApplyTaskSave(@RequestBody InventoryFormApplyTaskBatchDTO dto) {
|
|
public R<Object> dataInventoryFormApplyTaskSave(@RequestBody InventoryFormApplyTaskBatchDTO dto) {
|
|
- /*获取中间计量单信息*/
|
|
|
|
- MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(dto.getDataId());
|
|
|
|
-
|
|
|
|
- if (ObjectUtil.isEmpty(middleMeterApplyTask)) {
|
|
|
|
- throw new ServiceException("未获取到中间计量单信息");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /*获取数据源分解清单*/
|
|
|
|
- List<MeterInventoryVO> formList = middleMeterApplyService.addResolveForm(dto.getContractId(), dto.getNodeId(), dto.getIds());
|
|
|
|
-
|
|
|
|
- if (formList.size() != 0) {
|
|
|
|
- /*复制表taskVO数据*/
|
|
|
|
- BigDecimal currentMeterMoneyTotal = BigDecimal.ZERO;
|
|
|
|
- List<InventoryFormApplyTask> formAppliesTask = formList.stream().map(l -> {
|
|
|
|
- InventoryFormApplyTask formApplyTask = new InventoryFormApplyTask();
|
|
|
|
- formApplyTask.setTaskId(dto.getTaskId());
|
|
|
|
- formApplyTask.setBusinessDate(middleMeterApplyTask.getBusinessDate());
|
|
|
|
- formApplyTask.setProjectId(dto.getProjectId());
|
|
|
|
- formApplyTask.setContractId(dto.getContractId());
|
|
|
|
- formApplyTask.setContractFormId(l.getId());
|
|
|
|
- formApplyTask.setMiddleMeterId(dto.getDataId());
|
|
|
|
- formApplyTask.setContractPeriodId(dto.getContractPeriodId());
|
|
|
|
- formApplyTask.setMeterNumber(middleMeterApplyTask.getMeterNumber());
|
|
|
|
- formApplyTask.setContractMeterId(dto.getNodeId());
|
|
|
|
- formApplyTask.setFormNumber(l.getFormNumber());
|
|
|
|
- formApplyTask.setFormName(l.getFormName());
|
|
|
|
- formApplyTask.setCurrentPrice(l.getCurrentPrice());
|
|
|
|
- formApplyTask.setBuildPictureTotal(l.getResolveTotal());
|
|
|
|
- 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("计量金额和计量数量不能为空");
|
|
|
|
- }
|
|
|
|
- return formApplyTask;
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
- for (InventoryFormApplyTask formApplyTask : formAppliesTask) {
|
|
|
|
- currentMeterMoneyTotal = currentMeterMoneyTotal.add(formApplyTask.getCurrentMeterMoney());
|
|
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ /*获取中间计量单信息*/
|
|
|
|
+ MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(dto.getDataId());
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isEmpty(middleMeterApplyTask)) {
|
|
|
|
+ throw new ServiceException("未获取到中间计量单信息");
|
|
}
|
|
}
|
|
- inventoryFormApplyServiceTask.saveBatch(formAppliesTask);
|
|
|
|
|
|
|
|
- /*修改计量单当前总金额*/
|
|
|
|
- String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ? WHERE id = ?";
|
|
|
|
- Object[] params = {currentMeterMoneyTotal, middleMeterApplyTask.getId()};
|
|
|
|
- jdbcTemplate.update(updateSql, params);
|
|
|
|
|
|
+ /*获取数据源分解清单*/
|
|
|
|
+ List<MeterInventoryVO> formList = middleMeterApplyService.addResolveForm(dto.getContractId(), dto.getNodeId(), dto.getIds());
|
|
|
|
+
|
|
|
|
+ if (formList.size() != 0) {
|
|
|
|
+ /*复制表taskVO数据*/
|
|
|
|
+ BigDecimal currentMeterMoneyTotal = BigDecimal.ZERO;
|
|
|
|
+ List<InventoryFormApplyTask> formAppliesTask = formList.stream().map(l -> {
|
|
|
|
+ InventoryFormApplyTask formApplyTask = new InventoryFormApplyTask();
|
|
|
|
+ formApplyTask.setTaskId(dto.getTaskId());
|
|
|
|
+ formApplyTask.setBusinessDate(middleMeterApplyTask.getBusinessDate());
|
|
|
|
+ formApplyTask.setProjectId(dto.getProjectId());
|
|
|
|
+ formApplyTask.setContractId(dto.getContractId());
|
|
|
|
+ formApplyTask.setContractFormId(l.getId());
|
|
|
|
+ formApplyTask.setMiddleMeterId(dto.getDataId());
|
|
|
|
+ formApplyTask.setContractPeriodId(dto.getContractPeriodId());
|
|
|
|
+ formApplyTask.setMeterNumber(middleMeterApplyTask.getMeterNumber());
|
|
|
|
+ formApplyTask.setContractMeterId(dto.getNodeId());
|
|
|
|
+ formApplyTask.setFormNumber(l.getFormNumber());
|
|
|
|
+ formApplyTask.setFormName(l.getFormName());
|
|
|
|
+ formApplyTask.setCurrentPrice(l.getCurrentPrice());
|
|
|
|
+ formApplyTask.setBuildPictureTotal(l.getResolveTotal());
|
|
|
|
+ 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("计量金额和计量数量不能为空");
|
|
|
|
+ }
|
|
|
|
+ return formApplyTask;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ for (InventoryFormApplyTask formApplyTask : formAppliesTask) {
|
|
|
|
+ currentMeterMoneyTotal = currentMeterMoneyTotal.add(formApplyTask.getCurrentMeterMoney());
|
|
|
|
+ }
|
|
|
|
+ inventoryFormApplyServiceTask.saveBatch(formAppliesTask);
|
|
|
|
+
|
|
|
|
+ /*修改计量单当前总金额*/
|
|
|
|
+ String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ? WHERE id = ?";
|
|
|
|
+ Object[] params = {currentMeterMoneyTotal, middleMeterApplyTask.getId()};
|
|
|
|
+ jdbcTemplate.update(updateSql, params);
|
|
|
|
|
|
- return R.data(200, formList, "操作成功");
|
|
|
|
|
|
+ return R.data(200, formList, "操作成功");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
@@ -1190,8 +1281,16 @@ public class TaskController extends BladeController {
|
|
@ApiOperationSupport(order = 10)
|
|
@ApiOperationSupport(order = 10)
|
|
@ApiOperation(value = "材料数据修改", notes = "传入MaterialMeterFormTask")
|
|
@ApiOperation(value = "材料数据修改", notes = "传入MaterialMeterFormTask")
|
|
public R<Object> dataMaterialMeterFormServiceTaskUpdate(@RequestBody MaterialMeterFormTask obj) {
|
|
public R<Object> dataMaterialMeterFormServiceTaskUpdate(@RequestBody MaterialMeterFormTask obj) {
|
|
- if (materialMeterFormServiceTask.updateById(obj)) {
|
|
|
|
- return R.success("操作成功");
|
|
|
|
|
|
+ if (ObjectUtil.isEmpty(obj.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + obj.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ if (materialMeterFormServiceTask.updateById(obj)) {
|
|
|
|
+ return R.success("操作成功");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
}
|
|
}
|
|
@@ -1200,52 +1299,238 @@ public class TaskController extends BladeController {
|
|
@ApiOperationSupport(order = 11)
|
|
@ApiOperationSupport(order = 11)
|
|
@ApiOperation(value = "开工预付款数据修改", notes = "传入StartPayMeterFormTask")
|
|
@ApiOperation(value = "开工预付款数据修改", notes = "传入StartPayMeterFormTask")
|
|
public R<Object> dataStartPayMeterFormServiceTaskUpdate(@RequestBody StartPayMeterFormTask obj) {
|
|
public R<Object> dataStartPayMeterFormServiceTaskUpdate(@RequestBody StartPayMeterFormTask obj) {
|
|
- if (startPayMeterFormServiceTask.updateById(obj)) {
|
|
|
|
- return R.success("操作成功");
|
|
|
|
|
|
+ if (ObjectUtil.isEmpty(obj.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + obj.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ if (startPayMeterFormServiceTask.updateById(obj)) {
|
|
|
|
+ return R.success("操作成功");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
}
|
|
}
|
|
|
|
|
|
- @PostMapping("/data/uploadFile")
|
|
|
|
|
|
+ @PostMapping("/data/changeTokenFrom/update")
|
|
@ApiOperationSupport(order = 12)
|
|
@ApiOperationSupport(order = 12)
|
|
|
|
+ @ApiOperation(value = "变更令-基础信息修改", notes = "传入ChangeTokenFormTask")
|
|
|
|
+ public R<Object> dataChangeTokenFromUpdate(@RequestBody ChangeTokenFormTask obj) {
|
|
|
|
+ if (ObjectUtil.isEmpty(obj.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + obj.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ if (changeTokenFormServiceTask.updateById(obj)) {
|
|
|
|
+ return R.success("操作成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.fail("操作失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping("/data/changeTokenMeter/update")
|
|
|
|
+ @ApiOperationSupport(order = 13)
|
|
|
|
+ @ApiOperation(value = "变更令-申请部位合同图号修改", notes = "传入TaskChangeTokenMeterUpdateDTO")
|
|
|
|
+ public R<Object> dataChangeTokenMeterUpdate(@RequestBody TaskChangeTokenMeterUpdateDTO dto) {
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getPrimaryKeyId())) {
|
|
|
|
+ String sql = "UPDATE s_change_token_meter_task SET contract_picture = ? WHERE id = ?";
|
|
|
|
+ Object[] params = {(ObjectUtil.isNotEmpty(dto.getContractPicture()) ? dto.getContractPicture() : null), dto.getPrimaryKeyId()};
|
|
|
|
+ jdbcTemplate.update(sql, params);
|
|
|
|
+ return R.success("操作成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.fail("操作失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping("/data/changeTokenInventory/update")
|
|
|
|
+ @ApiOperationSupport(order = 14)
|
|
|
|
+ @ApiOperation(value = "变更令-申请清单修改", notes = "传入TaskChangeTokenInventoryUpdateDTO")
|
|
|
|
+ public R<Object> dataChangeTokenInventoryUpdate(@RequestBody TaskChangeTokenInventoryUpdateDTO dto) {
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getPrimaryKeyIdInventory())) {
|
|
|
|
+ String sql = "SELECT * FROM s_change_token_inventory_task WHERE id = ?";
|
|
|
|
+ Object[] params = {dto.getPrimaryKeyIdInventory()};
|
|
|
|
+ ChangeTokenInventoryTask changeTokenInventoryTask = jdbcTemplate.query(sql, params, new BeanPropertyRowMapper<>(ChangeTokenInventoryTask.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (changeTokenInventoryTask != null) {
|
|
|
|
+ //变更前数量
|
|
|
|
+ BigDecimal changeAfterTotal = changeTokenInventoryTask.getChangeBeforeTotal();
|
|
|
|
+ //变更数量
|
|
|
|
+ BigDecimal changTotalNow = dto.getChangTotal();
|
|
|
|
+ //变更后数量
|
|
|
|
+ BigDecimal afterTotalNow = changeAfterTotal.add(changTotalNow);
|
|
|
|
+
|
|
|
|
+ //变更金额(变更数量*单价)
|
|
|
|
+ BigDecimal changeMoneyNow = changTotalNow.multiply(changeTokenInventoryTask.getCurrentPrice());
|
|
|
|
+ //变更后金额(变更金额+变更前金额)
|
|
|
|
+ BigDecimal afterChangeMoneyNow = changeMoneyNow.add(changeTokenInventoryTask.getChangeBeforeMoney());
|
|
|
|
+
|
|
|
|
+ /*修改单条清单信息*/
|
|
|
|
+ String updateSqlInventory = "UPDATE s_change_token_inventory_task SET change_total = ? ,change_after_total = ? , change_money = ? , change_after_money = ? WHERE id = ?";
|
|
|
|
+ Object[] updateParamsInventory = {changTotalNow, afterTotalNow, changeMoneyNow, afterChangeMoneyNow, dto.getPrimaryKeyIdInventory()};
|
|
|
|
+ jdbcTemplate.update(updateSqlInventory, updateParamsInventory);
|
|
|
|
+
|
|
|
|
+ /*修改部位变更金额*/
|
|
|
|
+ ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyIdMeter());
|
|
|
|
+ List<ChangeFormVO2> formListCopyByMeterId = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(dto.getContractId(), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
|
|
+ BigDecimal sumOfCurrentChangeMoneyByMeterId = formListCopyByMeterId.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
+ BigDecimal add = changeTokenMeterTask.getChangeMoney().add(sumOfCurrentChangeMoneyByMeterId);
|
|
|
|
+ String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
|
|
+ Object[] updateParamsMeter = {add, dto.getPrimaryKeyIdMeter()};
|
|
|
|
+ jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
|
|
+
|
|
|
|
+ /*修改变更令申请金额*/
|
|
|
|
+ List<ChangeFormVO2> formListCopyAll = changeTokenFormService.getBaseMapper().getFormListCopy(dto.getContractId(), dto.getDataId());
|
|
|
|
+ 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 = ?";
|
|
|
|
+ Object[] updateParamsForm = {sumOfCurrentChangeMoneyAll, dto.getDataId()};
|
|
|
|
+ jdbcTemplate.update(updateSqlForm, updateParamsForm);
|
|
|
|
+
|
|
|
|
+ return R.success("操作成功");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.fail("操作失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping("/data/changeTokenInventory/save")
|
|
|
|
+ @ApiOperationSupport(order = 15)
|
|
|
|
+ @ApiOperation(value = "变更令-申请清单添加", notes = "/changeTokenForm/addForm接口获取清单信息;传入TaskChangeTokenInventoryBatchSaveDTO")
|
|
|
|
+ public R<Object> dataChangeTokenInventorySave(@RequestBody TaskChangeTokenInventoryBatchSaveDTO dto) {
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ if (dto.getFormList().size() > 0) {
|
|
|
|
+ List<ChangeTokenInventoryTask> inventoryList = new ArrayList<>();
|
|
|
|
+ for (ChangeFormVO2 vo2 : dto.getFormList()) {
|
|
|
|
+ ChangeTokenInventoryTask inventory = new ChangeTokenInventoryTask();
|
|
|
|
+ inventory.setProjectId(dto.getProjectId());
|
|
|
|
+ inventory.setContractId(dto.getContractId());
|
|
|
|
+ inventory.setChangeTokenId(dto.getDataId());
|
|
|
|
+ inventory.setContractFormId(vo2.getId());
|
|
|
|
+ inventory.setChangeBeforeTotal(vo2.getContractTotal());
|
|
|
|
+ inventory.setChangeTotal(vo2.getCurrentChangeTotal());
|
|
|
|
+ //设置清单3个基础信息,因为变更后不能改变
|
|
|
|
+ inventory.setFormNumber(vo2.getFormNumber());
|
|
|
|
+ inventory.setFormName(vo2.getFormName());
|
|
|
|
+ inventory.setCurrentPrice(vo2.getCurrentPrice());
|
|
|
|
+ if (vo2.getContractMeterId() == null) {
|
|
|
|
+ throw new ServiceException("未找到清单(" + vo2.getFormName() + ")的部位id");
|
|
|
|
+ }
|
|
|
|
+ //设置节点id
|
|
|
|
+ inventory.setContractMeterId(vo2.getContractMeterId());
|
|
|
|
+ //计算变更后
|
|
|
|
+ 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()));
|
|
|
|
+ inventoryList.add(inventory);
|
|
|
|
+ }
|
|
|
|
+ changeTokenInventoryServiceTask.saveBatch(inventoryList);
|
|
|
|
+
|
|
|
|
+ /*修改部位变更金额*/
|
|
|
|
+ ChangeTokenMeterTask changeTokenMeterTask = changeTokenMeterServiceTask.getBaseMapper().selectById(dto.getPrimaryKeyIdMeter());
|
|
|
|
+ List<ChangeFormVO2> formListCopyByMeterId = changeTokenFormService.getBaseMapper().getFormListCopyByMeterId(dto.getContractId(), dto.getDataId(), changeTokenMeterTask.getContractMeterId());
|
|
|
|
+ BigDecimal sumOfCurrentChangeMoneyByMeterId = formListCopyByMeterId.stream().map(ChangeFormVO2::getCurrentChangeMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
+ BigDecimal add = changeTokenMeterTask.getChangeMoney().add(sumOfCurrentChangeMoneyByMeterId);
|
|
|
|
+ String updateSqlMeter = "UPDATE s_change_token_meter_task SET change_money = ? WHERE id = ?";
|
|
|
|
+ Object[] updateParamsMeter = {add, dto.getPrimaryKeyIdMeter()};
|
|
|
|
+ jdbcTemplate.update(updateSqlMeter, updateParamsMeter);
|
|
|
|
+
|
|
|
|
+ /*修改变更令申请金额*/
|
|
|
|
+ List<ChangeFormVO2> formListCopyAll = changeTokenFormService.getBaseMapper().getFormListCopy(dto.getContractId(), dto.getDataId());
|
|
|
|
+ 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 = ?";
|
|
|
|
+ Object[] updateParamsForm = {sumOfCurrentChangeMoneyAll, dto.getDataId()};
|
|
|
|
+ jdbcTemplate.update(updateSqlForm, updateParamsForm);
|
|
|
|
+
|
|
|
|
+ return R.data(200, "操作成功");
|
|
|
|
+ } else {
|
|
|
|
+ throw new ServiceException("请添加变更清单后再保存");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.fail("操作失败");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping("/data/uploadFile")
|
|
|
|
+ @ApiOperationSupport(order = 16)
|
|
@ApiOperation(value = "附件文件上传", notes = "传入TaskDataUploadFileDTO")
|
|
@ApiOperation(value = "附件文件上传", notes = "传入TaskDataUploadFileDTO")
|
|
public R<Object> dataUploadFile(@RequestBody TaskDataUploadFileDTO dto) {
|
|
public R<Object> dataUploadFile(@RequestBody TaskDataUploadFileDTO dto) {
|
|
- List<AttachmentFormTask> fileList = dto.getFileList();
|
|
|
|
- if (fileList != null && fileList.size() != 0) {
|
|
|
|
- for (AttachmentFormTask file : fileList) {
|
|
|
|
- file.setProjectId(dto.getProjectId());
|
|
|
|
- file.setContractId(dto.getContractId());
|
|
|
|
- file.setMasterId(dto.getDataId());
|
|
|
|
- file.setTaskId(dto.getTaskId());
|
|
|
|
|
|
+ if (ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ List<AttachmentFormTask> fileList = dto.getFileList();
|
|
|
|
+ if (fileList != null && fileList.size() != 0) {
|
|
|
|
+ for (AttachmentFormTask file : fileList) {
|
|
|
|
+ file.setProjectId(dto.getProjectId());
|
|
|
|
+ file.setContractId(dto.getContractId());
|
|
|
|
+ file.setMasterId(dto.getDataId());
|
|
|
|
+ file.setTaskId(dto.getTaskId());
|
|
|
|
+ }
|
|
|
|
+ attachmentFormServiceTask.saveOrUpdateBatch(fileList);
|
|
|
|
+ return R.success("操作成功");
|
|
}
|
|
}
|
|
- attachmentFormServiceTask.saveOrUpdateBatch(fileList);
|
|
|
|
- return R.success("操作成功");
|
|
|
|
}
|
|
}
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
}
|
|
}
|
|
|
|
|
|
@GetMapping("/data/removeFile")
|
|
@GetMapping("/data/removeFile")
|
|
- @ApiOperationSupport(order = 13)
|
|
|
|
- @ApiOperation(value = "附件文件删除", notes = "传入文件id")
|
|
|
|
- public R<Object> dataRemoveFile(@RequestParam String id) {
|
|
|
|
- AttachmentFormTask attachmentFormTask = attachmentFormServiceTask.getById(id);
|
|
|
|
- if (attachmentFormTask != null) {
|
|
|
|
- jdbcTemplate.execute("DELETE FROM s_attachment_form_task WHERE id = " + id);
|
|
|
|
- return R.success("操作成功");
|
|
|
|
|
|
+ @ApiOperationSupport(order = 17)
|
|
|
|
+ @ApiOperation(value = "附件文件删除", notes = "传入文件id、任务taskId")
|
|
|
|
+ public R<Object> dataRemoveFile(@RequestParam String id, @RequestParam String taskId) {
|
|
|
|
+ if (ObjectUtil.isEmpty(taskId)) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + taskId, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ AttachmentFormTask attachmentFormTask = attachmentFormServiceTask.getById(id);
|
|
|
|
+ if (attachmentFormTask != null) {
|
|
|
|
+ jdbcTemplate.execute("DELETE FROM s_attachment_form_task WHERE id = " + id);
|
|
|
|
+ return R.success("操作成功");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/data/audit")
|
|
@PostMapping("/data/audit")
|
|
- @ApiOperationSupport(order = 14)
|
|
|
|
|
|
+ @ApiOperationSupport(order = 18)
|
|
@ApiOperation(value = "单条数据同意或驳回", notes = "传入TaskAuditDTO")
|
|
@ApiOperation(value = "单条数据同意或驳回", notes = "传入TaskAuditDTO")
|
|
public R<Object> updateStatus(@RequestBody TaskAuditDTO dto) {
|
|
public R<Object> updateStatus(@RequestBody TaskAuditDTO dto) {
|
|
if (ObjectUtil.isEmpty(dto.getDataId()) || ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
if (ObjectUtil.isEmpty(dto.getDataId()) || ObjectUtil.isEmpty(dto.getTaskId())) {
|
|
- throw new ServiceException("任务、数据id不能为空");
|
|
|
|
|
|
+ throw new ServiceException("任务id、数据id不能为空");
|
|
}
|
|
}
|
|
if (Arrays.asList("1", "2").contains(dto.getAuditStatus())) {
|
|
if (Arrays.asList("1", "2").contains(dto.getAuditStatus())) {
|
|
- Task task = jdbcTemplate.query("SELECT meter_task_type FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
if (task != null) {
|
|
if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
if (task.getMeterTaskType().equals(1)) {
|
|
if (task.getMeterTaskType().equals(1)) {
|
|
middleMeterApplyServiceTask.update(Wrappers.<MiddleMeterApplyTask>lambdaUpdate()
|
|
middleMeterApplyServiceTask.update(Wrappers.<MiddleMeterApplyTask>lambdaUpdate()
|
|
.set(MiddleMeterApplyTask::getStatus, dto.getAuditStatus())
|
|
.set(MiddleMeterApplyTask::getStatus, dto.getAuditStatus())
|
|
@@ -1265,7 +1550,10 @@ public class TaskController extends BladeController {
|
|
.eq(StartPayMeterFormTask::getId, dto.getDataId()));
|
|
.eq(StartPayMeterFormTask::getId, dto.getDataId()));
|
|
|
|
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
- //TODO 变更令
|
|
|
|
|
|
+ changeTokenFormServiceTask.update(Wrappers.<ChangeTokenFormTask>lambdaUpdate()
|
|
|
|
+ .set(ChangeTokenFormTask::getStatus, dto.getAuditStatus())
|
|
|
|
+ .set(ChangeTokenFormTask::getRepealDesc, ObjectUtil.isNotEmpty(dto.getRepealDesc()) ? dto.getRepealDesc() : null)
|
|
|
|
+ .eq(ChangeTokenFormTask::getId, dto.getDataId()));
|
|
|
|
|
|
}
|
|
}
|
|
return R.success("操作成功");
|
|
return R.success("操作成功");
|
|
@@ -1275,7 +1563,7 @@ public class TaskController extends BladeController {
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/approve")
|
|
@PostMapping("/approve")
|
|
- @ApiOperationSupport(order = 15)
|
|
|
|
|
|
+ @ApiOperationSupport(order = 19)
|
|
@ApiOperation(value = "同意审批(批量审批)", notes = "传入TaskApproveDTO")
|
|
@ApiOperation(value = "同意审批(批量审批)", notes = "传入TaskApproveDTO")
|
|
@PushMessage(clientId = ClientIdConstant.METER_CLIENT_ID)
|
|
@PushMessage(clientId = ClientIdConstant.METER_CLIENT_ID)
|
|
public R<Object> approve(@RequestBody TaskApproveDTO dto) {
|
|
public R<Object> approve(@RequestBody TaskApproveDTO dto) {
|
|
@@ -1284,12 +1572,12 @@ public class TaskController extends BladeController {
|
|
}
|
|
}
|
|
|
|
|
|
/*加锁*/
|
|
/*加锁*/
|
|
- String redisValue = bladeRedis.get("meter:approve:" + dto.getTaskId());
|
|
|
|
|
|
+ String redisValue = bladeRedis.get("meter:approve:user:" + SecureUtil.getUserId());
|
|
if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
|
|
if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {
|
|
- return R.fail(400, "当前任务已提交审批,请勿重复提交,60秒后再尝试");
|
|
|
|
|
|
+ return R.fail(400, "请勿重复提交,30秒后再尝试");
|
|
}
|
|
}
|
|
- bladeRedis.set("meter:approve:" + dto.getTaskId(), "1");
|
|
|
|
- bladeRedis.expire("meter:approve:" + dto.getTaskId(), 60);
|
|
|
|
|
|
+ bladeRedis.set("meter:approve:user:" + SecureUtil.getUserId(), "1");
|
|
|
|
+ bladeRedis.expire("meter:approve:user:" + SecureUtil.getUserId(), 30);
|
|
|
|
|
|
String sql_1 = "SELECT * FROM u_task WHERE id = ?";
|
|
String sql_1 = "SELECT * FROM u_task WHERE id = ?";
|
|
Task task = jdbcTemplate.query(sql_1, new Object[]{dto.getTaskId()}, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
Task task = jdbcTemplate.query(sql_1, new Object[]{dto.getTaskId()}, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
@@ -1333,6 +1621,12 @@ public class TaskController extends BladeController {
|
|
return R.fail("操作失败");
|
|
return R.fail("操作失败");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private void check(Task task) {
|
|
|
|
+ String sql_2 = "SELECT * FROM u_task_parallel WHERE process_instance_id = ? ORDER BY sort";
|
|
|
|
+ List<TaskParallel> taskParallels = jdbcTemplate.query(sql_2, new Object[]{task.getProcessInstanceId()}, new BeanPropertyRowMapper<>(TaskParallel.class));
|
|
|
|
+ checkTheTaskPersonSort(taskParallels);
|
|
|
|
+ }
|
|
|
|
+
|
|
private boolean checkTheTaskPersonSort(List<TaskParallel> taskParallels) {
|
|
private boolean checkTheTaskPersonSort(List<TaskParallel> taskParallels) {
|
|
//未完成审批人信息
|
|
//未完成审批人信息
|
|
List<String> name = new ArrayList<>();
|
|
List<String> name = new ArrayList<>();
|
|
@@ -1365,7 +1659,7 @@ public class TaskController extends BladeController {
|
|
List<MiddleMeterApplyTask> middleMeterApplyTasks = middleMeterApplyServiceTask.getBaseMapper().selectList(Wrappers.<MiddleMeterApplyTask>lambdaQuery()
|
|
List<MiddleMeterApplyTask> middleMeterApplyTasks = middleMeterApplyServiceTask.getBaseMapper().selectList(Wrappers.<MiddleMeterApplyTask>lambdaQuery()
|
|
.eq(MiddleMeterApplyTask::getContractPeriodId, formDataId)
|
|
.eq(MiddleMeterApplyTask::getContractPeriodId, formDataId)
|
|
.eq(MiddleMeterApplyTask::getTaskId, dto.getTaskId())
|
|
.eq(MiddleMeterApplyTask::getTaskId, dto.getTaskId())
|
|
- .isNull(MiddleMeterApplyTask::getStatus) //表示用户未选择,那么默认同意
|
|
|
|
|
|
+ .ne(MiddleMeterApplyTask::getStatus, 2)
|
|
);
|
|
);
|
|
List<Long> ids = middleMeterApplyTasks.stream().map(MiddleMeterApplyTask::getId).collect(Collectors.toList());
|
|
List<Long> ids = middleMeterApplyTasks.stream().map(MiddleMeterApplyTask::getId).collect(Collectors.toList());
|
|
if (ids.size() > 0) {
|
|
if (ids.size() > 0) {
|
|
@@ -1380,7 +1674,7 @@ public class TaskController extends BladeController {
|
|
List<MaterialMeterFormTask> materialMeterFormTasks = materialMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<MaterialMeterFormTask>lambdaQuery()
|
|
List<MaterialMeterFormTask> materialMeterFormTasks = materialMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<MaterialMeterFormTask>lambdaQuery()
|
|
.eq(MaterialMeterFormTask::getMeterPeriodId, formDataId)
|
|
.eq(MaterialMeterFormTask::getMeterPeriodId, formDataId)
|
|
.eq(MaterialMeterFormTask::getTaskId, dto.getTaskId())
|
|
.eq(MaterialMeterFormTask::getTaskId, dto.getTaskId())
|
|
- .isNull(MaterialMeterFormTask::getStatus) //表示用户未选择,那么默认同意
|
|
|
|
|
|
+ .ne(MaterialMeterFormTask::getStatus, 2)
|
|
);
|
|
);
|
|
List<Long> ids = materialMeterFormTasks.stream().map(MaterialMeterFormTask::getId).collect(Collectors.toList());
|
|
List<Long> ids = materialMeterFormTasks.stream().map(MaterialMeterFormTask::getId).collect(Collectors.toList());
|
|
if (ids.size() > 0) {
|
|
if (ids.size() > 0) {
|
|
@@ -1394,7 +1688,7 @@ public class TaskController extends BladeController {
|
|
List<StartPayMeterFormTask> startPayMeterFormTasks = startPayMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<StartPayMeterFormTask>lambdaQuery()
|
|
List<StartPayMeterFormTask> startPayMeterFormTasks = startPayMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<StartPayMeterFormTask>lambdaQuery()
|
|
.eq(StartPayMeterFormTask::getMeterPeriodId, formDataId)
|
|
.eq(StartPayMeterFormTask::getMeterPeriodId, formDataId)
|
|
.eq(StartPayMeterFormTask::getTaskId, dto.getTaskId())
|
|
.eq(StartPayMeterFormTask::getTaskId, dto.getTaskId())
|
|
- .isNull(StartPayMeterFormTask::getStatus) //表示用户未选择,那么默认同意
|
|
|
|
|
|
+ .ne(StartPayMeterFormTask::getStatus, 2)
|
|
);
|
|
);
|
|
List<Long> ids = startPayMeterFormTasks.stream().map(StartPayMeterFormTask::getId).collect(Collectors.toList());
|
|
List<Long> ids = startPayMeterFormTasks.stream().map(StartPayMeterFormTask::getId).collect(Collectors.toList());
|
|
if (ids.size() > 0) {
|
|
if (ids.size() > 0) {
|
|
@@ -1405,7 +1699,11 @@ public class TaskController extends BladeController {
|
|
startPayMeterFormServiceTask.update(updateEntity, updateWrapper);
|
|
startPayMeterFormServiceTask.update(updateEntity, updateWrapper);
|
|
}
|
|
}
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
- //TODO 变更令
|
|
|
|
|
|
+ List<ChangeTokenFormTask> query = jdbcTemplate.query("SELECT id FROM s_change_token_form_task WHERE status != 2 id IN(" + formDataId + ")", new BeanPropertyRowMapper<>(ChangeTokenFormTask.class));
|
|
|
|
+ List<Long> collect = query.stream().map(ChangeTokenFormTask::getId).collect(Collectors.toList());
|
|
|
|
+ if (collect.size() > 0) {
|
|
|
|
+ jdbcTemplate.execute("UPDATE s_change_token_form_task SET status = 1 WHERE id IN(" + StringUtils.join(collect, ",") + ")");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1465,7 +1763,7 @@ public class TaskController extends BladeController {
|
|
startPayMeterFormServiceTask.update(updateEntity, updateWrapper);
|
|
startPayMeterFormServiceTask.update(updateEntity, updateWrapper);
|
|
}
|
|
}
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
- //TODO 变更令
|
|
|
|
|
|
+ jdbcTemplate.execute("UPDATE s_change_token_form_task SET approve_status = 2 WHERE id IN(" + formDataId + ")");
|
|
}
|
|
}
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
@@ -1481,7 +1779,7 @@ public class TaskController extends BladeController {
|
|
String sql = "UPDATE u_task_parallel SET status = ? ,update_time = ? WHERE id = ?";
|
|
String sql = "UPDATE u_task_parallel SET status = ? ,update_time = ? WHERE id = ?";
|
|
Object[] param = {
|
|
Object[] param = {
|
|
2,
|
|
2,
|
|
- new java.sql.Timestamp(System.currentTimeMillis()),
|
|
|
|
|
|
+ new Date(),
|
|
taskParallelOne.getId()};
|
|
taskParallelOne.getId()};
|
|
jdbcTemplate.update(sql, param);
|
|
jdbcTemplate.update(sql, param);
|
|
}
|
|
}
|
|
@@ -1522,70 +1820,106 @@ public class TaskController extends BladeController {
|
|
startPayMeterFormService.saveBatch(startPayMeterForms, 1000);
|
|
startPayMeterFormService.saveBatch(startPayMeterForms, 1000);
|
|
|
|
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
} else if (task.getMeterTaskType().equals(4)) {
|
|
- //TODO 变更令
|
|
|
|
|
|
+ for (String dataId : task.getFormDataId().split(",")) {
|
|
|
|
+ ChangeTokenFormTask changeTokenFormTask = changeTokenFormServiceTask.getById(dataId);
|
|
|
|
+ if (changeTokenFormTask != null) {
|
|
|
|
+ List<ChangeTokenMeterTask> changeTokenMeterTasks = changeTokenMeterServiceTask.getBaseMapper().selectList(Wrappers.<ChangeTokenMeterTask>lambdaQuery()
|
|
|
|
+ .eq(ChangeTokenMeterTask::getChangeTokenId, changeTokenFormTask.getId()));
|
|
|
|
+ Set<Long> contractMeterIds = changeTokenMeterTasks.stream().map(ChangeTokenMeterTask::getContractMeterId).collect(Collectors.toSet());
|
|
|
|
+ if (contractMeterIds.size() > 0) {
|
|
|
|
+ List<ChangeTokenInventoryTask> changeTokenInventoryTasks = changeTokenInventoryServiceTask.getBaseMapper().selectList(Wrappers.<ChangeTokenInventoryTask>lambdaQuery()
|
|
|
|
+ .eq(ChangeTokenInventoryTask::getChangeTokenId, changeTokenFormTask.getId())
|
|
|
|
+ .in(ChangeTokenInventoryTask::getContractMeterId, contractMeterIds));
|
|
|
|
+ if (changeTokenInventoryTasks.size() > 0) {
|
|
|
|
+ jdbcTemplate.execute("DELETE FROM s_change_token_inventory WHERE change_token_id = " + dataId);
|
|
|
|
+ jdbcTemplate.execute("DELETE FROM s_change_token_meter WHERE change_token_id = " + dataId);
|
|
|
|
+ jdbcTemplate.execute("DELETE FROM s_change_token_form WHERE id = " + dataId);
|
|
|
|
+
|
|
|
|
+ ChangeTokenForm changeTokenForm = BeanUtil.copyProperties(changeTokenFormTask, ChangeTokenForm.class);
|
|
|
|
+ changeTokenFormService.save(changeTokenForm);
|
|
|
|
+
|
|
|
|
+ List<ChangeTokenMeter> changeTokenMeter = BeanUtil.copyProperties(changeTokenMeterTasks, ChangeTokenMeter.class);
|
|
|
|
+ changeTokenMeterService.saveBatch(changeTokenMeter, 1000);
|
|
|
|
+
|
|
|
|
+ List<ChangeTokenInventory> changeTokenInventoryList = BeanUtil.copyProperties(changeTokenInventoryTasks, ChangeTokenInventory.class);
|
|
|
|
+ changeTokenInventoryService.saveBatch(changeTokenInventoryList, 1000);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|
|
@GetMapping("/comment/list")
|
|
@GetMapping("/comment/list")
|
|
- @ApiOperationSupport(order = 16)
|
|
|
|
|
|
+ @ApiOperationSupport(order = 20)
|
|
@ApiOperation(value = "批注信息列表", notes = "传入任务taskId,数据dataId")
|
|
@ApiOperation(value = "批注信息列表", notes = "传入任务taskId,数据dataId")
|
|
public R<List<TaskComment>> commentList(@RequestParam String taskId, @RequestParam String dataId) {
|
|
public R<List<TaskComment>> commentList(@RequestParam String taskId, @RequestParam String dataId) {
|
|
if (StringUtils.isNotEmpty(taskId) && StringUtils.isNotEmpty(dataId)) {
|
|
if (StringUtils.isNotEmpty(taskId) && StringUtils.isNotEmpty(dataId)) {
|
|
String sql = "SELECT * FROM s_task_comment WHERE task_id = ? AND data_id = ? ORDER BY create_time";
|
|
String sql = "SELECT * FROM s_task_comment WHERE task_id = ? AND data_id = ? ORDER BY create_time";
|
|
- List<TaskComment> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(TaskComment.class), taskId, dataId);
|
|
|
|
|
|
+ List<TaskComment> query = jdbcTemplate.query(sql, new Object[]{taskId, dataId}, new BeanPropertyRowMapper<>(TaskComment.class));
|
|
return R.data(200, query, "操作成功");
|
|
return R.data(200, query, "操作成功");
|
|
}
|
|
}
|
|
return R.data(200, null, "未查询到信息");
|
|
return R.data(200, null, "未查询到信息");
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/comment/submit")
|
|
@PostMapping("/comment/submit")
|
|
- @ApiOperationSupport(order = 17)
|
|
|
|
|
|
+ @ApiOperationSupport(order = 21)
|
|
@ApiOperation(value = "批注信息新增或修改", notes = "传入TaskComment")
|
|
@ApiOperation(value = "批注信息新增或修改", notes = "传入TaskComment")
|
|
@Transactional
|
|
@Transactional
|
|
public R<Object> commentSubmit(@RequestBody TaskComment taskComment) {
|
|
public R<Object> commentSubmit(@RequestBody TaskComment taskComment) {
|
|
|
|
+ if (ObjectUtil.isEmpty(taskComment.getTaskId())) {
|
|
|
|
+ throw new ServiceException("未获取到taskId");
|
|
|
|
+ }
|
|
if (ObjectUtil.isEmpty(SecureUtil.getUserId())) {
|
|
if (ObjectUtil.isEmpty(SecureUtil.getUserId())) {
|
|
throw new ServiceException("未获取到当前用户信息");
|
|
throw new ServiceException("未获取到当前用户信息");
|
|
}
|
|
}
|
|
if (ObjectUtil.isNotEmpty(taskComment.getComment()) && taskComment.getComment().length() > 1000) {
|
|
if (ObjectUtil.isNotEmpty(taskComment.getComment()) && taskComment.getComment().length() > 1000) {
|
|
throw new ServiceException("批注信息最长1000个字符,请重新输入");
|
|
throw new ServiceException("批注信息最长1000个字符,请重新输入");
|
|
}
|
|
}
|
|
- try {
|
|
|
|
- String querySql = "SELECT COUNT(*) FROM s_task_comment WHERE task_id = ? AND data_id = ? AND user_id = ?";
|
|
|
|
- Object[] queryParams = {
|
|
|
|
- taskComment.getTaskId(),
|
|
|
|
- taskComment.getDataId(),
|
|
|
|
- SecureUtil.getUserId()
|
|
|
|
- };
|
|
|
|
- Integer count = jdbcTemplate.queryForObject(querySql, Integer.class, queryParams);
|
|
|
|
- int rowCount = (count != null) ? count : 0;
|
|
|
|
- if (rowCount == 0) {
|
|
|
|
- String insertSql = "INSERT INTO s_task_comment(id, task_id, data_id, user_id, user_name, comment, create_time) VALUES (?, ?, ?, ?, ?, ?, ?)";
|
|
|
|
- Object[] insertParams = {
|
|
|
|
- SnowFlakeUtil.getId(),
|
|
|
|
- taskComment.getTaskId(),
|
|
|
|
- taskComment.getDataId(),
|
|
|
|
- SecureUtil.getUserId(),
|
|
|
|
- SecureUtil.getNickName(),
|
|
|
|
- ObjectUtil.isNotEmpty(taskComment.getComment()) ? taskComment.getComment() : null,
|
|
|
|
- new java.sql.Timestamp(System.currentTimeMillis())
|
|
|
|
- };
|
|
|
|
- jdbcTemplate.update(insertSql, insertParams);
|
|
|
|
- } else {
|
|
|
|
- String updateSql = "UPDATE s_task_comment SET comment = ?, create_time = ? WHERE task_id = ? AND data_id = ? AND user_id = ?";
|
|
|
|
- Object[] updateParams = {
|
|
|
|
- ObjectUtil.isNotEmpty(taskComment.getComment()) ? taskComment.getComment() : null,
|
|
|
|
- new java.sql.Timestamp(System.currentTimeMillis()),
|
|
|
|
|
|
+ Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + taskComment.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
|
+ if (task != null) {
|
|
|
|
+ check(task);
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ String querySql = "SELECT COUNT(*) FROM s_task_comment WHERE task_id = ? AND data_id = ? AND user_id = ?";
|
|
|
|
+ Object[] queryParams = {
|
|
taskComment.getTaskId(),
|
|
taskComment.getTaskId(),
|
|
taskComment.getDataId(),
|
|
taskComment.getDataId(),
|
|
SecureUtil.getUserId()
|
|
SecureUtil.getUserId()
|
|
};
|
|
};
|
|
- jdbcTemplate.update(updateSql, updateParams);
|
|
|
|
|
|
+ Integer count = jdbcTemplate.queryForObject(querySql, Integer.class, queryParams);
|
|
|
|
+ int rowCount = (count != null) ? count : 0;
|
|
|
|
+ if (rowCount == 0) {
|
|
|
|
+ String insertSql = "INSERT INTO s_task_comment(id, task_id, data_id, user_id, user_name, comment, create_time) VALUES (?, ?, ?, ?, ?, ?, ?)";
|
|
|
|
+ Object[] insertParams = {
|
|
|
|
+ SnowFlakeUtil.getId(),
|
|
|
|
+ taskComment.getTaskId(),
|
|
|
|
+ taskComment.getDataId(),
|
|
|
|
+ SecureUtil.getUserId(),
|
|
|
|
+ SecureUtil.getNickName(),
|
|
|
|
+ ObjectUtil.isNotEmpty(taskComment.getComment()) ? taskComment.getComment() : null,
|
|
|
|
+ new Date()
|
|
|
|
+ };
|
|
|
|
+ jdbcTemplate.update(insertSql, insertParams);
|
|
|
|
+ } else {
|
|
|
|
+ String updateSql = "UPDATE s_task_comment SET comment = ?, create_time = ? WHERE task_id = ? AND data_id = ? AND user_id = ?";
|
|
|
|
+ Object[] updateParams = {
|
|
|
|
+ ObjectUtil.isNotEmpty(taskComment.getComment()) ? taskComment.getComment() : null,
|
|
|
|
+ new Date(),
|
|
|
|
+ taskComment.getTaskId(),
|
|
|
|
+ taskComment.getDataId(),
|
|
|
|
+ SecureUtil.getUserId()
|
|
|
|
+ };
|
|
|
|
+ jdbcTemplate.update(updateSql, updateParams);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return R.data(200, null, "操作成功");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ return R.fail("操作失败" + e.getMessage());
|
|
}
|
|
}
|
|
- return R.data(200, null, "操作成功");
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- return R.fail("操作失败" + e.getMessage());
|
|
|
|
}
|
|
}
|
|
|
|
+ return R.fail("操作失败");
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|