Commit 10d69cd9 authored by hezhuozhi's avatar hezhuozhi

fix 新增并网记录重复增加

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