Commit 815e34f9 authored by hezhuozhi's avatar hezhuozhi

【小程序端-施工管理】一个派工单关联多个电站,所有电站全部完成才能叫已完工

parent 25bd3316
......@@ -269,7 +269,11 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
//删除待办
toDoTasksService.deleteTodoByBusinessIds(businessIds);
}
workOrderPowerStationMapper.delete(up);
LambdaQueryWrapper<WorkOrderPowerStation> deleteWrapper = new LambdaQueryWrapper();
deleteWrapper.eq(WorkOrderPowerStation::getWorkOrderId, model.getSequenceNbr());
deleteWrapper.eq(WorkOrderPowerStation::getPowerStationConstructionStatus, "待施工");
workOrderPowerStationMapper.delete(deleteWrapper);
// 保存派工单 电站信息
List<PeasantHousehold> peasantHouseholdId = model.getPeasantHouseholdId();
List<WorkOrderPowerStation> li = new ArrayList<>();
......@@ -320,7 +324,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
private void dealWorkOrderPowerStation(List<WorkOrderPowerStation> newWorkOrderPowerStations,List<WorkOrderPowerStation> oldWorkOrderPowerStations) {
//判断是否有非待施工的农户没有选中
if (CollectionUtil.isNotEmpty(oldWorkOrderPowerStations) && CollectionUtil.isNotEmpty(newWorkOrderPowerStations)){
List<Long> notWorkOrderPeasantHouseholdIds = new ArrayList<>();
Set<Long> notWorkOrderPeasantHouseholdIds = new HashSet<>();
Map<Long,Long> map = new HashMap<>();
for (WorkOrderPowerStation oldWorkOrderPowerStation : oldWorkOrderPowerStations) {
if(!"待施工".equals(oldWorkOrderPowerStation.getPowerStationConstructionStatus())){
......@@ -328,16 +332,27 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
}
map.put(oldWorkOrderPowerStation.getPeasantHouseholdId(),oldWorkOrderPowerStation.getSequenceNbr());
}
Set<Long> newPeasantHouseholdIds =new HashSet<>();
Map<Long,WorkOrderPowerStation> newMap = new HashMap<>();
for (WorkOrderPowerStation newWorkOrderPowerStation : newWorkOrderPowerStations) {
Long peasantHouseholdId = newWorkOrderPowerStation.getPeasantHouseholdId();
if(notWorkOrderPeasantHouseholdIds.contains(peasantHouseholdId)){
PeasantHousehold peasantHousehold = peasantHouseholdMapper.selectById(peasantHouseholdId);
throw new BadRequest(peasantHousehold.getOwnersName() + "电站已经进行施工,不能删除");
}
newPeasantHouseholdIds.add(peasantHouseholdId);
newWorkOrderPowerStation.setSequenceNbr(map.get(peasantHouseholdId));
newMap.put(peasantHouseholdId,newWorkOrderPowerStation);
}
if(CollectionUtil.isNotEmpty(notWorkOrderPeasantHouseholdIds)){
for (Long notWorkOrderPeasantHouseholdId : notWorkOrderPeasantHouseholdIds) {
if(!newPeasantHouseholdIds.contains(notWorkOrderPeasantHouseholdId)){
PeasantHousehold peasantHousehold = peasantHouseholdMapper.selectById(notWorkOrderPeasantHouseholdId);
throw new BadRequest(peasantHousehold.getOwnersName() + "电站已经进行施工,不能删除");
}
newWorkOrderPowerStations.remove(newMap.get(notWorkOrderPeasantHouseholdId));
}
}
}
workOrderPowerStationServiceImpl.saveBatch(newWorkOrderPowerStations);
if(CollectionUtil.isNotEmpty(newWorkOrderPowerStations)){
workOrderPowerStationServiceImpl.saveOrUpdateBatch(newWorkOrderPowerStations);
}
}
public WorkOrder selectOne(Long sequenceNbr) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment