|
@@ -909,24 +909,41 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
// 提取工单数据
|
|
|
OrderBase orderBase = orderBaseService.lambdaQuery()
|
|
|
.eq(OrderBase::getId, sourceData.getOrderNo()).one();
|
|
|
- // 删除工单更新被忽略
|
|
|
- // 接收派工网点为空上传被忽略
|
|
|
- if (StringUtils.isEmpty(orderBase.getReceWebsitId()) || orderBase.getReceWebsitId().equals("0")){
|
|
|
- publicService.updateUploadTaskListStatus(row.getOrderNo(),row.getSynReqId(),1,66);
|
|
|
- return ;
|
|
|
- }
|
|
|
- // 生成待同步的工单主表数据
|
|
|
- getItfTblAssignUpload(brand, sysDictRefXLMapXq, taskId, sourceData, newDykh, orderBase);
|
|
|
- // 生成短信评价发送数据
|
|
|
- generateMessage(brand, sourceData, newDykh, orderBase);
|
|
|
- // 检查附件完整性
|
|
|
- if (checkFile(sourceData.getOrderNo(),row.getSynReqId())){
|
|
|
- return ;
|
|
|
- }
|
|
|
- // 处理采集明细数据(生成维修结算+生成维修现象数据) TL_PrePareSynDataby_fa_order_repair_detail
|
|
|
- generateRepairDetailOrReason(brand, orderBase);
|
|
|
+ if (orderBase !=null && orderBase.getUploadFlag()){
|
|
|
+ // 增加初始化处理,不需要事务
|
|
|
+ // 同步工单的pgid,pguuid
|
|
|
+ upOrderBasePgid(sourceData, orderBase, newDykh);
|
|
|
+ // 同步维修工单产品信息 pgid
|
|
|
+ upOrderProduct(sourceData, newDykh);
|
|
|
+ // 同步维修工单操作日志pgid
|
|
|
+ uporderRepairOperatingLogpgid(sourceData, newDykh);
|
|
|
+ // 同步预约改约-总部短信发送请求fjid 这里字段必须有值,这里无需处理
|
|
|
+ // upFaGreeSmsFjid(sourceData, newDykh);
|
|
|
+ // 同步派服务人员-短信发送请求fjid 这里字段必须有值,这里无需处理
|
|
|
+ // upFaGreeSmsWorker(sourceData, newDykh);
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 删除工单更新被忽略
|
|
|
+ // 接收派工网点为空上传被忽略
|
|
|
+ if (StringUtils.isEmpty(orderBase.getReceWebsitId()) || orderBase.getReceWebsitId().equals("0")){
|
|
|
+ publicService.updateUploadTaskListStatus(row.getOrderNo(),row.getSynReqId(),1,66);
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ // 生成待同步的工单主表数据
|
|
|
+ getItfTblAssignUpload(brand, sysDictRefXLMapXq, taskId, sourceData, newDykh, orderBase);
|
|
|
+ // 生成短信评价发送数据
|
|
|
+ generateMessage(brand, sourceData, newDykh, orderBase);
|
|
|
+ // 检查附件完整性
|
|
|
+ if (checkFile(sourceData.getOrderNo(),row.getSynReqId())){
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ // 处理采集明细数据(生成维修结算+生成维修现象数据) TL_PrePareSynDataby_fa_order_repair_detail
|
|
|
+ generateRepairDetailOrReason(brand, orderBase);
|
|
|
+ }
|
|
|
// 修改数据上传任务表中的状态 这里固定值 66
|
|
|
publicService.updateUploadTaskListStatus(row.getOrderNo(),row.getSynReqId(),1,66);
|
|
|
return ;
|
|
@@ -1181,7 +1198,7 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
WebsitSH websitSH = new WebsitSH();
|
|
|
|
|
|
// 修改序采集单内的序
|
|
|
- upOrderRepairDetail(orderBase);
|
|
|
+ upOrderRepairDetail(orderBase.getId());
|
|
|
|
|
|
// 格力总部数据采集主键为空时代表为公司采集的数据,未赋值时账值 wxjsguid = brandWxjsguid
|
|
|
// 格力总部数据采集主键为空时代表为公司采集的数据,填写UUID
|
|
@@ -1224,10 +1241,20 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
return jykt;
|
|
|
}
|
|
|
|
|
|
- private void upOrderRepairDetail(OrderBase orderBase) {
|
|
|
+ private void upOrderRepairDetail(String id) {
|
|
|
List<OrderRepairDetail> upList = new ArrayList<>();
|
|
|
+ // 看有无需要修改的数据
|
|
|
+ List<OrderRepairDetail> detaillistz = orderRepairDetailService.lambdaQuery()
|
|
|
+ .eq(OrderRepairDetail::getOrderBaseId, id)
|
|
|
+ .eq(OrderRepairDetail::getOutId, 0)
|
|
|
+ .orderByAsc(OrderRepairDetail::getCreateTime).list();
|
|
|
+ if (CollectionUtils.isEmpty(detaillistz)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
List<OrderRepairDetail> detaillist = orderRepairDetailService.lambdaQuery()
|
|
|
- .eq(OrderRepairDetail::getOrderBaseId, orderBase.getId())
|
|
|
+ .eq(OrderRepairDetail::getOrderBaseId, id)
|
|
|
+ .ne(OrderRepairDetail::getOutId, 0)
|
|
|
.orderByAsc(OrderRepairDetail::getCreateTime).list();
|
|
|
// 找出最大的序 默认值为0
|
|
|
int outId=0;
|
|
@@ -1237,7 +1264,7 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
outId = item.getOutId();
|
|
|
}
|
|
|
}
|
|
|
- for (OrderRepairDetail ite:detaillist){
|
|
|
+ for (OrderRepairDetail ite:detaillistz){
|
|
|
if (ite.getOutId() == 0){
|
|
|
outId++;
|
|
|
OrderRepairDetail n = new OrderRepairDetail();
|
|
@@ -1284,7 +1311,7 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
}
|
|
|
|
|
|
private void getItfTblAssignUpload(Brand brand, Map<String, List<SysDictRef>> sysDictRefXLMapXq, Long taskId, OutJiasmToGreeUploadTaskList sourceData, String newDykh, OrderBase orderBase) {
|
|
|
- // 同步工单的pgid
|
|
|
+ /*// 同步工单的pgid
|
|
|
upOrderBasePgid(sourceData, orderBase, newDykh);
|
|
|
// 同步工单的pguuid
|
|
|
upOrderBasePgguid(sourceData, orderBase);
|
|
@@ -1295,7 +1322,7 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
// 同步预约改约-总部短信发送请求fjid
|
|
|
upFaGreeSmsFjid(sourceData, newDykh);
|
|
|
// 同步派服务人员-短信发送请求fjid
|
|
|
- upFaGreeSmsWorker(sourceData, newDykh);
|
|
|
+ upFaGreeSmsWorker(sourceData, newDykh);*/
|
|
|
|
|
|
// 数据写入待同步-维修工单上传记录表
|
|
|
OrderPar orderPar = new OrderPar();
|
|
@@ -1312,10 +1339,22 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
}
|
|
|
|
|
|
private void upOrderProduct(OutJiasmToGreeUploadTaskList sourceData, String newDykh) {
|
|
|
- OrderPar orderPar = new OrderPar();
|
|
|
- orderPar.setOrderNo(sourceData.getOrderNo());
|
|
|
- orderPar.setPgid(newDykh);
|
|
|
- getOrderProductMapper.upPgid(orderPar);
|
|
|
+ List<OrderProduct> uops = new ArrayList<>();
|
|
|
+ List<OrderProduct> ops = orderProductService.lambdaQuery()
|
|
|
+ .eq(OrderProduct::getOrderBaseId,sourceData.getOrderNo())
|
|
|
+ .eq(OrderProduct::getPgid,"").list();
|
|
|
+ if (CollectionUtils.isEmpty(ops)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (OrderProduct item:ops){
|
|
|
+ OrderProduct u = new OrderProduct();
|
|
|
+ MyBeanUtils.copyProperties(item,u);
|
|
|
+ u.setPgid(newDykh);
|
|
|
+ uops.add(u);
|
|
|
+ }
|
|
|
+
|
|
|
+ orderProductService.updateBatchById(uops);
|
|
|
+ uops.clear();
|
|
|
}
|
|
|
|
|
|
private void upFaGreeSmsWorker(OutJiasmToGreeUploadTaskList sourceData, String newDykh) {
|
|
@@ -1746,14 +1785,22 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
}
|
|
|
|
|
|
private void uporderRepairOperatingLogpgid(OutJiasmToGreeUploadTaskList sourceData, String newDykh) {
|
|
|
- OrderRepairOperatingLog up = new OrderRepairOperatingLog();
|
|
|
- up.setPgid(Long.valueOf(newDykh));
|
|
|
- up.setUpdateTime(new Date());
|
|
|
- QueryWrapper upWrapper = new QueryWrapper<OrderRepairOperatingLog>()
|
|
|
- .eq("order_base_id", sourceData.getOrderNo())
|
|
|
- .and(wrapper->wrapper.isNull("pgid")
|
|
|
- .or().eq("pgid",0));
|
|
|
- orderRepairOperatingLogService.update(up,upWrapper);
|
|
|
+ List<OrderRepairOperatingLog> uops = new ArrayList<>();
|
|
|
+ List<OrderRepairOperatingLog> ops = orderRepairOperatingLogService.lambdaQuery()
|
|
|
+ .eq(OrderRepairOperatingLog::getOrderBaseId,sourceData.getOrderNo())
|
|
|
+ .eq(OrderRepairOperatingLog::getPgid,0L).list();
|
|
|
+ if (CollectionUtils.isEmpty(ops)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (OrderRepairOperatingLog item:ops){
|
|
|
+ OrderRepairOperatingLog u = new OrderRepairOperatingLog();
|
|
|
+ MyBeanUtils.copyProperties(item,u);
|
|
|
+ u.setPgid(Long.valueOf(newDykh));
|
|
|
+ uops.add(u);
|
|
|
+ }
|
|
|
+
|
|
|
+ orderRepairOperatingLogService.updateBatchById(uops);
|
|
|
+ uops.clear();
|
|
|
}
|
|
|
|
|
|
private void upOrderBasePgguid(OutJiasmToGreeUploadTaskList sourceData, OrderBase orderBase) {
|
|
@@ -1771,15 +1818,13 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
|
|
|
|
|
|
private void upOrderBasePgid(OutJiasmToGreeUploadTaskList sourceData, @NotNull OrderBase orderBase, String newDykh) {
|
|
|
if (StringUtils.isEmpty(orderBase.getPgid()) || orderBase.getPgid().equals("0")){
|
|
|
- OrderBase up = new OrderBase();
|
|
|
- up.setPgid(newDykh);
|
|
|
- QueryWrapper upWrapper = new QueryWrapper<OrderBase>()
|
|
|
- .eq("id", sourceData.getOrderNo())
|
|
|
- .and(wrapper->wrapper.isNull("pgid")
|
|
|
- .or().eq("pgid",0));
|
|
|
- orderBaseService.update(up,upWrapper);
|
|
|
orderBase.setPgid(newDykh);
|
|
|
}
|
|
|
+ if (StringUtils.isEmpty(orderBase.getPgguid()) || orderBase.getPgguid().equals("0")){
|
|
|
+ orderBase.setPgguid(UUID.randomUUID().toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ orderBase.updateById();
|
|
|
}
|
|
|
|
|
|
private void stopUpload(@NotNull OutJiasmToGreeUploadTaskList ojtutl, String msg) {
|