Commit 10d69cd9 authored by hezhuozhi's avatar hezhuozhi

fix 新增并网记录重复增加

parent 4f02a306
......@@ -89,7 +89,8 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
ConstructionRecordsMapper constructionRecordsMapper;
@Autowired
BasicGridAcceptanceMapper basicGridAcceptanceMapper;
@Autowired
BasicGridAcceptanceServiceImpl basicGridAcceptanceService;
@Autowired
WorkflowFeignClient workflowFeignClient;
......@@ -112,7 +113,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
@Transactional
public WorkOrder saveWorkOrder(WorkOrder model, UserUnitInformationDto userUnitInformationDto) throws Exception {
// 校验电站已被选
List<PeasantHousehold> peasantHouseholdId = model.getPeasantHouseholdId();
List<PeasantHousehold> workorderPeasant = new ArrayList<>();
......@@ -312,7 +313,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderMapper.update(null, upq);
}
// 增加操作日志
if (powerStationConstructionData.getSequenceNbr() != null) {
ConstructionRecords da = new ConstructionRecords(powerStationConstructionData.getRecUserName(), "编辑施工资料",
......@@ -330,7 +331,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
pcr.eq(ConstructionRecords::getWorkOrderId, powerStationConstructionData.getWorkOrderId());
constructionRecordsServiceImpl.saveOrUpdate(da,pcr);
}
// 新增施工信息
// 防止重复添加
LambdaUpdateWrapper<PowerStationConstructionData> psc = new LambdaUpdateWrapper<>();
......@@ -900,73 +901,73 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
}
@Transactional(isolation = Isolation.REPEATABLE_READ)
public ConstructionRecords addConstructionRecords(ConstructionRecords constructionRecords) {
synchronized (constructionRecords) {
LambdaQueryWrapper<WorkOrderPowerStation> qu = new LambdaQueryWrapper();
qu.eq(WorkOrderPowerStation::getSequenceNbr, constructionRecords.getWorkOrderPowerStationId());
WorkOrderPowerStation workOrderPowerStation = workOrderPowerStationMapper.selectOne(qu);
if (constructionRecords.getOperationResults().equals("通过")) {
// 修改电站状态
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.已完工.getCode());
// 修改完工时间
LambdaUpdateWrapper<PowerStationEngineeringInfo> upq1 = new LambdaUpdateWrapper();
upq1.eq(PowerStationEngineeringInfo::getWorkOrderPowerStationId,
workOrderPowerStation.getSequenceNbr());
upq1.set(PowerStationEngineeringInfo::getCompletionDate, new Date());
powerStationEngineeringInfoMapper.update(null, upq1);
BasicGridAcceptance dat = new BasicGridAcceptance();
dat.setWorkOrderId(workOrderPowerStation.getWorkOrderId());
dat.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr());
dat.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId());
dat.setGridStatus("1");
// 新增并网记录
LambdaQueryWrapper<BasicGridAcceptance> bga = new LambdaQueryWrapper<>();
bga.eq(BasicGridAcceptance::getPeasantHouseholdId, workOrderPowerStation.getPeasantHouseholdId());
BasicGridAcceptance b = basicGridAcceptanceMapper.selectOne(bga);
// 防止重复增加
if (b == null) {
basicGridAcceptanceMapper.insert(dat);
}
workOrderPowerStationMapper.updateById(workOrderPowerStation);
// 修改派工单状态
LambdaQueryWrapper<WorkOrderPowerStation> qu1 = new LambdaQueryWrapper();
qu1.eq(WorkOrderPowerStation::getWorkOrderId, workOrderPowerStation.getWorkOrderId());
List<String> d = new ArrayList<>();
d.add(WorkOrderEnum.施工中.getCode());
d.add(WorkOrderEnum.待施工.getCode());
d.add(WorkOrderEnum.待登记.getCode());
d.add(WorkOrderEnum.待审核.getCode());
qu1.in(WorkOrderPowerStation::getPowerStationConstructionStatus, d);
List<WorkOrderPowerStation> list = workOrderPowerStationMapper.selectList(qu1);
LambdaUpdateWrapper<WorkOrder> upq = new LambdaUpdateWrapper();
upq.eq(WorkOrder::getSequenceNbr, workOrderPowerStation.getWorkOrderId());
if (list == null || list.isEmpty()) {
upq.set(WorkOrder::getWorkOrderStatus, WorkOrderEnum.已完工.getCode());
workOrderMapper.update(null, upq);
}
} else {
// 修改电站状态
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.未通过.getCode());
workOrderPowerStationMapper.updateById(workOrderPowerStation);
LambdaUpdateWrapper<WorkOrder> upq = new LambdaUpdateWrapper();
upq.eq(WorkOrder::getSequenceNbr, workOrderPowerStation.getWorkOrderId());
upq.set(WorkOrder::getWorkOrderStatus, WorkOrderEnum.未通过.getCode());
workOrderMapper.update(null, upq);
}
// 增加操作日志
constructionRecords.setWorkOrderId(workOrderPowerStation.getWorkOrderId());
constructionRecords.setOperationContent("完工自审-" + constructionRecords.getOperationResults());
constructionRecords.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr());
constructionRecords.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId());
constructionRecordsServiceImpl.save(constructionRecords);
}
@Transactional(rollbackFor = Exception.class)
public synchronized ConstructionRecords addConstructionRecords(ConstructionRecords constructionRecords) {
LambdaQueryWrapper<WorkOrderPowerStation> qu = new LambdaQueryWrapper();
qu.eq(WorkOrderPowerStation::getSequenceNbr, constructionRecords.getWorkOrderPowerStationId());
WorkOrderPowerStation workOrderPowerStation = workOrderPowerStationMapper.selectOne(qu);
if (constructionRecords.getOperationResults().equals("通过")) {
// 修改电站状态
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.已完工.getCode());
// 修改完工时间
LambdaUpdateWrapper<PowerStationEngineeringInfo> upq1 = new LambdaUpdateWrapper();
upq1.eq(PowerStationEngineeringInfo::getWorkOrderPowerStationId,
workOrderPowerStation.getSequenceNbr());
upq1.set(PowerStationEngineeringInfo::getCompletionDate, new Date());
powerStationEngineeringInfoMapper.update(null, upq1);
BasicGridAcceptance dat = new BasicGridAcceptance();
dat.setWorkOrderId(workOrderPowerStation.getWorkOrderId());
dat.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr());
dat.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId());
dat.setGridStatus("1");
// // 新增并网记录
// LambdaQueryWrapper<BasicGridAcceptance> bga = new LambdaQueryWrapper<>();
// bga.eq(BasicGridAcceptance::getPeasantHouseholdId, workOrderPowerStation.getPeasantHouseholdId());
// BasicGridAcceptance b = basicGridAcceptanceMapper.selectOne(bga);
// // 防止重复增加
// if (b == null) {
// basicGridAcceptanceMapper.insert(dat);
// }
basicGridAcceptanceService.saveOrUpdate(dat);
workOrderPowerStationMapper.updateById(workOrderPowerStation);
// 修改派工单状态
LambdaQueryWrapper<WorkOrderPowerStation> qu1 = new LambdaQueryWrapper();
qu1.eq(WorkOrderPowerStation::getWorkOrderId, workOrderPowerStation.getWorkOrderId());
List<String> d = new ArrayList<>();
d.add(WorkOrderEnum.施工中.getCode());
d.add(WorkOrderEnum.待施工.getCode());
d.add(WorkOrderEnum.待登记.getCode());
d.add(WorkOrderEnum.待审核.getCode());
qu1.in(WorkOrderPowerStation::getPowerStationConstructionStatus, d);
List<WorkOrderPowerStation> list = workOrderPowerStationMapper.selectList(qu1);
LambdaUpdateWrapper<WorkOrder> upq = new LambdaUpdateWrapper();
upq.eq(WorkOrder::getSequenceNbr, workOrderPowerStation.getWorkOrderId());
if (list == null || list.isEmpty()) {
upq.set(WorkOrder::getWorkOrderStatus, WorkOrderEnum.已完工.getCode());
workOrderMapper.update(null, upq);
}
} else {
// 修改电站状态
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.未通过.getCode());
workOrderPowerStationMapper.updateById(workOrderPowerStation);
LambdaUpdateWrapper<WorkOrder> upq = new LambdaUpdateWrapper();
upq.eq(WorkOrder::getSequenceNbr, workOrderPowerStation.getWorkOrderId());
upq.set(WorkOrder::getWorkOrderStatus, WorkOrderEnum.未通过.getCode());
workOrderMapper.update(null, upq);
}
// 增加操作日志
constructionRecords.setWorkOrderId(workOrderPowerStation.getWorkOrderId());
constructionRecords.setOperationContent("完工自审-" + constructionRecords.getOperationResults());
constructionRecords.setWorkOrderPowerStationId(workOrderPowerStation.getSequenceNbr());
constructionRecords.setPeasantHouseholdId(workOrderPowerStation.getPeasantHouseholdId());
constructionRecordsServiceImpl.save(constructionRecords);
return constructionRecords;
}
......
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