Commit 0de87884 authored by hezhuozhi's avatar hezhuozhi

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

parent 19568a70
......@@ -237,7 +237,7 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
return model;
}
@Transactional
@Transactional(rollbackFor = Exception.class)
public WorkOrder updateWorkOrder(WorkOrder model, UserUnitInformationDto userUnitInformationDto) {
// 保存派工单
RegionalCompanies regionalCompanies = regionalCompaniesMapper.selectRegionName(model.getRegionCompanyId());
......@@ -280,7 +280,9 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
workOrderPowerStation.setPowerStationConstructionStatus(WorkOrderEnum.待施工.getCode());
li.add(workOrderPowerStation);
}
workOrderPowerStationServiceImpl.saveBatch(li);
// workOrderPowerStationServiceImpl.saveBatch(li);
//动态保存派工单 如果有之前的数据更新,没有就新增,多余就删除
dealWorkOrderPowerStation(li,workOrderPowerStations);
List<WorkOrderPowerStation> workOrderPowerStationsNew = workOrderPowerStationMapper.selectList(up);
//重新添加待办
if(CollectionUtil.isNotEmpty(workOrderPowerStationsNew)){
......@@ -310,6 +312,34 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
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) {
WorkOrder model = workOrderMapper.selectById(sequenceNbr);
List<PeasantHousehold> li = workOrderPowerStationMapper.selectPeasantHousehold(sequenceNbr, null);
......@@ -492,9 +522,15 @@ public class WorkOrderServiceImpl extends BaseService<WorkOrderDto, WorkOrder, W
WorkOrderPowerStation workOrderPowerStation = workOrderPowerStationMapper.selectById(powerStationConstructionData.getWorkOrderPowerStationId());
if(Objects.nonNull(workOrderPowerStation) && Objects.isNull(workOrderPowerStation.getSgCreateTime())){
LambdaUpdateWrapper<WorkOrderPowerStation> wrapper = new LambdaUpdateWrapper<>();
wrapper.set(WorkOrderPowerStation::getPowerStationConstructionStatus, WorkOrderEnum.施工中.getCode());
wrapper.set(WorkOrderPowerStation::getSgCreateTime, date);
wrapper.eq(WorkOrderPowerStation::getSequenceNbr, powerStationConstructionData.getWorkOrderPowerStationId());
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 {
......
......@@ -2,7 +2,7 @@ exception.debug=true
## DB properties:
spring.datasource.dynamic.primary= mysql-service
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.password=Yeejoin@2020
spring.datasource.mysql-service.type=com.alibaba.druid.pool.DruidDataSource
......@@ -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.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.password=taosdata
spring.datasource.tdengine-service.type=com.zaxxer.hikari.HikariDataSource
......@@ -51,11 +51,11 @@ spring.datasource.tdengine-service.connection-test-query: SELECT 1
## 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/
## redis properties:
spring.redis.database=1
spring.redis.host=47.92.234.253
spring.redis.host=172.16.10.248
spring.redis.port=6379
spring.redis.password=yeejoin@2020
......@@ -91,13 +91,13 @@ lettuce.timeout=10000
emqx.clean-session=true
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.password=Yeejoin@2020
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.user=root
spring.influx.database=iot_platform
......@@ -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.
#eureka.instance.prefer-ip-address=true
#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.password=admin
spring.jms.pub-sub-domain=false
......@@ -233,7 +233,7 @@ dealer.amosDealerId=1767820997374775298
#Seata Config
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.enabled=true
seata.enable-auto-data-source-proxy=false
......@@ -243,7 +243,7 @@ seata.datasource.autoproxy.enabled=true
seata.datasource.autoproxy.data-source-names=mysql
## 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.username=elastic
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