Commit 0de87884 authored by hezhuozhi's avatar hezhuozhi

【web端-派工发料】编辑派工单应该更新操作不应该是全部删除然后再插入

parent 19568a70
...@@ -237,7 +237,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -237,7 +237,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
return model; return model;
} }
@Transactional @Transactional(rollbackFor = Exception.class)
public WorkOrder updateWorkOrder(WorkOrder model, UserUnitInformationDto userUnitInformationDto) { public WorkOrder updateWorkOrder(WorkOrder model, UserUnitInformationDto userUnitInformationDto) {
// 保存派工单 // 保存派工单
RegionalCompanies regionalCompanies = regionalCompaniesMapper.selectRegionName(model.getRegionCompanyId()); RegionalCompanies regionalCompanies = regionalCompaniesMapper.selectRegionName(model.getRegionCompanyId());
...@@ -280,7 +280,9 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -280,7 +280,9 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode()); workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode());
li.add(workOrderPowerStation); li.add(workOrderPowerStation);
} }
workOrderPowerStationServiceImpl.saveBatch(li); // workOrderPowerStationServiceImpl.saveBatch(li);
//动态保存派工单 如果有之前的数据更新,没有就新增,多余就删除
dealWorkOrderPowerStation(li,workOrderPowerStations);
List<WorkOrderPowerStation> workOrderPowerStationsNew = workOrderPowerStationMapper.selectList(up); List<WorkOrderPowerStation> workOrderPowerStationsNew = workOrderPowerStationMapper.selectList(up);
//重新添加待办 //重新添加待办
if(CollectionUtil.isNotEmpty(workOrderPowerStationsNew)){ if(CollectionUtil.isNotEmpty(workOrderPowerStationsNew)){
...@@ -310,6 +312,34 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -310,6 +312,34 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
return model; return model;
} }
/**
* 处理派工单 如果有之前的数据更新,没有就新增,多余就删除
* @param newWorkOrderPowerStations
* @param oldWorkOrderPowerStations
*/
private void dealWorkOrderPowerStation(List<WorkOrderPowerStation> newWorkOrderPowerStations,List<WorkOrderPowerStation> oldWorkOrderPowerStations) {
//判断是否有非待施工的农户没有选中
if (CollectionUtil.isNotEmpty(oldWorkOrderPowerStations) && CollectionUtil.isNotEmpty(newWorkOrderPowerStations)){
List<Long> notWorkOrderPeasantHouseholdIds = new ArrayList<>();
Map<Long,Long> map = new HashMap<>();
for (WorkOrderPowerStation oldWorkOrderPowerStation : oldWorkOrderPowerStations) {
if(!"待施工".equals(oldWorkOrderPowerStation.getPowerStationConstructionStatus())){
notWorkOrderPeasantHouseholdIds.add(oldWorkOrderPowerStation.getPeasantHouseholdId());
}
map.put(oldWorkOrderPowerStation.getPeasantHouseholdId(),oldWorkOrderPowerStation.getSequenceNbr());
}
for (WorkOrderPowerStation newWorkOrderPowerStation : newWorkOrderPowerStations) {
Long peasantHouseholdId = newWorkOrderPowerStation.getPeasantHouseholdId();
if(notWorkOrderPeasantHouseholdIds.contains(peasantHouseholdId)){
PeasantHousehold peasantHousehold = peasantHouseholdMapper.selectById(peasantHouseholdId);
throw new BadRequest(peasantHousehold.getOwnersName() + "电站已经进行施工,不能删除");
}
newWorkOrderPowerStation.setSequenceNbr(map.get(peasantHouseholdId));
}
}
workOrderPowerStationServiceImpl.saveBatch(newWorkOrderPowerStations);
}
public WorkOrder selectOne(Long sequenceNbr) { public WorkOrder selectOne(Long sequenceNbr) {
WorkOrder model = workOrderMapper.selectById(sequenceNbr); WorkOrder model = workOrderMapper.selectById(sequenceNbr);
List<PeasantHousehold> li = workOrderPowerStationMapper.selectPeasantHousehold(sequenceNbr, null); List<PeasantHousehold> li = workOrderPowerStationMapper.selectPeasantHousehold(sequenceNbr, null);
...@@ -492,9 +522,15 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W ...@@ -492,9 +522,15 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
WorkOrderPowerStation workOrderPowerStation = workOrderPowerStationMapper.selectById(powerStationConstructionData.getWorkOrderPowerStationId()); WorkOrderPowerStation workOrderPowerStation = workOrderPowerStationMapper.selectById(powerStationConstructionData.getWorkOrderPowerStationId());
if(Objects.nonNull(workOrderPowerStation) && Objects.isNull(workOrderPowerStation.getSgCreateTime())){ if(Objects.nonNull(workOrderPowerStation) && Objects.isNull(workOrderPowerStation.getSgCreateTime())){
LambdaUpdateWrapper<WorkOrderPowerStation> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<WorkOrderPowerStation> wrapper = new LambdaUpdateWrapper<>();
wrapper.set(WorkOrderPowerStation::getPowerStationConstructionStatus, WorkOrderEnum.施工中.getCode());
wrapper.set(WorkOrderPowerStation::getSgCreateTime, date); wrapper.set(WorkOrderPowerStation::getSgCreateTime, date);
wrapper.eq(WorkOrderPowerStation::getSequenceNbr, powerStationConstructionData.getWorkOrderPowerStationId()); wrapper.eq(WorkOrderPowerStation::getSequenceNbr, powerStationConstructionData.getWorkOrderPowerStationId());
workOrderPowerStationMapper.update(null,wrapper); workOrderPowerStationMapper.update(null,wrapper);
//将派工单的状态改为施工中
LambdaUpdateWrapper<WorkOrder> wrapper1 = new LambdaUpdateWrapper<>();
wrapper1.set(WorkOrder::getWorkOrderStatus, WorkOrderEnum.施工中.getCode());
wrapper1.eq(WorkOrder::getSequenceNbr, powerStationConstructionData.getWorkOrderId());
workOrderMapper.update(null, wrapper1);
} }
} else { } else {
......
...@@ -2,7 +2,7 @@ exception.debug=true ...@@ -2,7 +2,7 @@ exception.debug=true
## DB properties: ## DB properties:
spring.datasource.dynamic.primary= mysql-service spring.datasource.dynamic.primary= mysql-service
spring.datasource.mysql-service.driver-class-name=com.kingbase8.Driver spring.datasource.mysql-service.driver-class-name=com.kingbase8.Driver
spring.datasource.mysql-service.jdbc-url=jdbc:kingbase8://39.98.224.23:54321/amos_project_47?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8 spring.datasource.mysql-service.jdbc-url=jdbc:kingbase8://172.16.10.248:54321/amos_project_47?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.mysql-service.username=root spring.datasource.mysql-service.username=root
spring.datasource.mysql-service.password=Yeejoin@2020 spring.datasource.mysql-service.password=Yeejoin@2020
spring.datasource.mysql-service.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.mysql-service.type=com.alibaba.druid.pool.DruidDataSource
...@@ -24,7 +24,7 @@ spring.datasource.mysql-service.connection-timeout: 30000 ...@@ -24,7 +24,7 @@ spring.datasource.mysql-service.connection-timeout: 30000
spring.datasource.tdengine-service.driver-class-name=com.taosdata.jdbc.rs.RestfulDriver spring.datasource.tdengine-service.driver-class-name=com.taosdata.jdbc.rs.RestfulDriver
spring.datasource.tdengine-service.jdbc-url=jdbc:TAOS-RS://47.92.234.253:6041/house_pv_data?user=root&password=taosdata&timezone=GMT+8 spring.datasource.tdengine-service.jdbc-url=jdbc:TAOS-RS://172.16.10.248:6041/house_pv_data?user=root&password=taosdata&timezone=GMT+8
spring.datasource.tdengine-service.username=root spring.datasource.tdengine-service.username=root
spring.datasource.tdengine-service.password=taosdata spring.datasource.tdengine-service.password=taosdata
spring.datasource.tdengine-service.type=com.zaxxer.hikari.HikariDataSource spring.datasource.tdengine-service.type=com.zaxxer.hikari.HikariDataSource
...@@ -51,11 +51,11 @@ spring.datasource.tdengine-service.connection-test-query: SELECT 1 ...@@ -51,11 +51,11 @@ spring.datasource.tdengine-service.connection-test-query: SELECT 1
## eureka properties: ## eureka properties:
eureka.instance.hostname=47.92.234.253 eureka.instance.hostname=172.16.10.248
eureka.client.serviceUrl.defaultZone=http://admin:a1234560@${eureka.instance.hostname}:10001/eureka/ eureka.client.serviceUrl.defaultZone=http://admin:a1234560@${eureka.instance.hostname}:10001/eureka/
## redis properties: ## redis properties:
spring.redis.database=1 spring.redis.database=1
spring.redis.host=47.92.234.253 spring.redis.host=172.16.10.248
spring.redis.port=6379 spring.redis.port=6379
spring.redis.password=yeejoin@2020 spring.redis.password=yeejoin@2020
...@@ -91,13 +91,13 @@ lettuce.timeout=10000 ...@@ -91,13 +91,13 @@ lettuce.timeout=10000
emqx.clean-session=true emqx.clean-session=true
emqx.client-id=${spring.application.name}-${random.int[1024,65536]} emqx.client-id=${spring.application.name}-${random.int[1024,65536]}
emqx.broker=tcp://47.92.234.253:1883 emqx.broker=tcp://172.16.10.248:1883
emqx.user-name=admin emqx.user-name=admin
emqx.password=Yeejoin@2020 emqx.password=Yeejoin@2020
emqx.max-inflight=1000 emqx.max-inflight=1000
spring.influx.url=http://47.92.234.253:8086 spring.influx.url=http://172.16.10.248:8086
spring.influx.password=Yeejoin@2020 spring.influx.password=Yeejoin@2020
spring.influx.user=root spring.influx.user=root
spring.influx.database=iot_platform spring.influx.database=iot_platform
...@@ -126,7 +126,7 @@ amos.secret.key=qaz ...@@ -126,7 +126,7 @@ amos.secret.key=qaz
# if your service can't be access ,you can use this setting , you need change ip as your. # if your service can't be access ,you can use this setting , you need change ip as your.
#eureka.instance.prefer-ip-address=true #eureka.instance.prefer-ip-address=true
#eureka.instance.ip-address=172.16.3.122 #eureka.instance.ip-address=172.16.3.122
spring.activemq.broker-url=tcp://47.92.234.253:61616 spring.activemq.broker-url=tcp://172.16.10.248:61616
spring.activemq.user=admin spring.activemq.user=admin
spring.activemq.password=admin spring.activemq.password=admin
spring.jms.pub-sub-domain=false spring.jms.pub-sub-domain=false
...@@ -233,7 +233,7 @@ dealer.amosDealerId=1767820997374775298 ...@@ -233,7 +233,7 @@ dealer.amosDealerId=1767820997374775298
#Seata Config #Seata Config
seata.tx-service-group=hygf-seata seata.tx-service-group=hygf-seata
seata.service.grouplist.hygf-seata=47.92.234.253:8091 seata.service.grouplist.hygf-seata=172.16.10.248:8091
# Seata 配置 # Seata 配置
seata.enabled=true seata.enabled=true
seata.enable-auto-data-source-proxy=false seata.enable-auto-data-source-proxy=false
...@@ -243,7 +243,7 @@ seata.datasource.autoproxy.enabled=true ...@@ -243,7 +243,7 @@ seata.datasource.autoproxy.enabled=true
seata.datasource.autoproxy.data-source-names=mysql seata.datasource.autoproxy.data-source-names=mysql
## 47环境 排除es报错引进无用配置 业务未实际使用es ## 47环境 排除es报错引进无用配置 业务未实际使用es
spring.elasticsearch.rest.uris=http://47.92.234.253:9200 spring.elasticsearch.rest.uris=http://172.16.10.248:9200
spring.elasticsearch.rest.connection-timeout=30000 spring.elasticsearch.rest.connection-timeout=30000
spring.elasticsearch.rest.username=elastic spring.elasticsearch.rest.username=elastic
spring.elasticsearch.rest.password=123456 spring.elasticsearch.rest.password=123456
......
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