|
@@ -175,7 +175,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Boolean addOrderApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
|
|
|
+ public void addOrderApi(Map<String, List<SysDictRef>> sysDictRefDLMap, Map<String, List<SysDictRef>> sysDictRefXLMap,
|
|
|
Map<String, List<SysDictRef>> sysDictRefXiLieMap, Brand brand, ItfTblAzAssignLcLsDownload item, Boolean flag) throws Exception {
|
|
|
List<OrderReAppointment> oa = new ArrayList<>();
|
|
|
List<OrderAppraise> oanew = new ArrayList<>();
|
|
@@ -190,9 +190,6 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
List<OrderAppeal> orderAppeal = new ArrayList<>();
|
|
|
List<ItfGreeToFaDownloadTaskList> its = new ArrayList<>();
|
|
|
|
|
|
- // 向工单子表下载任务表插入数据
|
|
|
- downInformation(item);
|
|
|
-
|
|
|
// 工单机型
|
|
|
List<ItfTblAzAssignMxDownload> orderMx = itfTblAzAssignMxDownloadService.lambdaQuery()
|
|
|
.eq(ItfTblAzAssignMxDownload::getDownloadTaskNo, item.getDownloadTaskNo())
|
|
@@ -207,10 +204,10 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
.orderByAsc(ItfTblAzAssignFkmxDownload::getCreatedDate)
|
|
|
.list();
|
|
|
synReqFkMxIds = fkmxs.stream().map(ItfTblAzAssignFkmxDownload::getSynReqId).collect(Collectors.toList());
|
|
|
- log.info("提取反馈明细数据:{} 条目数{}",item.getDownloadTaskNo(),synReqFkMxIds.size());
|
|
|
+ log.info("提取反馈明细数据:{} 条目数{}", item.getDownloadTaskNo(),synReqFkMxIds.size());
|
|
|
|
|
|
// 获取安装工单主表
|
|
|
- // 同时生成改派申请数据、采集预下载数据 2201
|
|
|
+ // 同时生成改派申请数据、采集预下载数据 2201 称到最下面处理
|
|
|
OrderBase orderBase = getAddOrderBaseApi(item, brand,its);
|
|
|
|
|
|
// 以旧换新数据下载同步表
|
|
@@ -222,8 +219,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
getOrderProduct(orderBase, orderProducts, sysDictRefDLMap, sysDictRefXLMap, sysDictRefXiLieMap, orderMx,oids,odfs);
|
|
|
|
|
|
// 获取工单操作明细- 操作日志表
|
|
|
- List<OrderInstallOperatingLog> oiolList = getOrderInstallOperatingLogs(fkmxs, orderBase,item);
|
|
|
- log.info("反馈明细结果数据:{} 条目数{}",orderBase.getId(),oiolList.size());
|
|
|
+ List<OrderInstallOperatingLog> oiolList = getOrderInstallOperatingLogs(fkmxs, orderBase, item);
|
|
|
|
|
|
// 获取安装费用清单 - 对应扩展表
|
|
|
List<ItfTblAzAssignFeeDownload> fyqd = itfTblAzAssignFeeDownloadService.lambdaQuery()
|
|
@@ -247,24 +243,88 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
getOrderAppraise(orderBase, sysDictRefDLMap, oanew, item.getDownloadTaskNo(), getpjSynReqId,faGreeSms,orderAppeal);
|
|
|
|
|
|
//网点转换还原
|
|
|
- publicService.revertFun(orderBase,item);
|
|
|
- // 生成工单
|
|
|
- return createInstallOrder(item, orderProducts, oiolList, odfs, synReqIds,
|
|
|
- synReqFkMxIds, synReqYfYyIds, faGreeSms, orderAppeal, its,
|
|
|
- orderBase, orderWorker, fyqd, orderInstall, getpjSynReqId, flag,oids,
|
|
|
- oa);
|
|
|
+ publicService.revertFun(orderBase, item);
|
|
|
+ // 接口生成工单
|
|
|
+ if (createInstallOrder(item, orderProducts,orderBase, orderWorker,orderInstall, flag)){
|
|
|
+ orderEndPro(item, oa, oids, odfs, synReqIds, synReqFkMxIds, synReqYfYyIds, faGreeSms, orderAppeal, its, orderBase, oiolList, fyqd, getpjSynReqId);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- @NotNull
|
|
|
+
|
|
|
+ public void orderEndPro(ItfTblAzAssignLcLsDownload item, List<OrderReAppointment> oa,
|
|
|
+ List<OrderInstallDetail> oids, List<OrderDetailFile> odfs,
|
|
|
+ List<Long> synReqIds, List<Long> synReqFkMxIds, List<Long> synReqYfYyIds,
|
|
|
+ List<FaGreeSms> faGreeSms, List<OrderAppeal> orderAppeal,
|
|
|
+ List<ItfGreeToFaDownloadTaskList> its, OrderBase orderBase,
|
|
|
+ List<OrderInstallOperatingLog> oiolList, List<ItfTblAzAssignFeeDownload> fyqd,
|
|
|
+ List<Long> getpjSynReqId) throws Exception {
|
|
|
+ try{
|
|
|
+ // 向工单子表下载任务表插入数据
|
|
|
+ downInformation(item);
|
|
|
+
|
|
|
+ // 采集数据下载
|
|
|
+ orderService.getOrderDetailRec(item, orderBase, its);
|
|
|
+
|
|
|
+ // 安装工单数据落本地表
|
|
|
+ addOrderDataApi(item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds, fyqd, getpjSynReqId,
|
|
|
+ faGreeSms, orderAppeal, its, odfs, oiolList, oids, oa);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ // 抛异常目的数据回滚
|
|
|
+ String msg="工单接口后数据处理失败交给修改处理";
|
|
|
+ throw new Exception(msg);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
private Boolean createInstallOrder(ItfTblAzAssignLcLsDownload item, List<OrderProduct> orderProducts,
|
|
|
- List<OrderInstallOperatingLog> oiolList,
|
|
|
- List<OrderDetailFile> odfs, List<Long> synReqIds, List<Long> synReqFkMxIds,
|
|
|
- List<Long> synReqYfYyIds, List<FaGreeSms> faGreeSms, List<OrderAppeal> orderAppeal,
|
|
|
- List<ItfGreeToFaDownloadTaskList> its, OrderBase orderBase, OrderWorker orderWorker,
|
|
|
- List<ItfTblAzAssignFeeDownload> fyqd,
|
|
|
- OrderInstall orderInstall, List<Long> getpjSynReqId, Boolean flag,
|
|
|
- List<OrderInstallDetail> oids,
|
|
|
- List<OrderReAppointment> oa) throws Exception {
|
|
|
+ OrderBase orderBase, OrderWorker orderWorker,
|
|
|
+ OrderInstall orderInstall,Boolean flag) throws Exception {
|
|
|
+ // 创建工单
|
|
|
+ OrderAddBeanDTO createOrder = new OrderAddBeanDTO();
|
|
|
+ // 工单机型
|
|
|
+ List<OrderProduct> orderProductList = new ArrayList<>();
|
|
|
+ // 工单辅材表
|
|
|
+ List<OrderMaterial> orderMaterialList = new ArrayList<>();
|
|
|
+ // 工单清洗项目
|
|
|
+ List<OrderCleanItem> orderCleanItems = new ArrayList<>();
|
|
|
+
|
|
|
+ // 工单主表、机型、辅材、清洗、预约改约记录、师傅、创建日志、生成采集数据不要
|
|
|
+ getOrderApi(orderProducts, orderBase, orderWorker, orderInstall, createOrder,
|
|
|
+ orderProductList, orderMaterialList, orderCleanItems, flag);
|
|
|
+ log.info("创建安装工单接口 request:{}", JSONObject.toJSONString(createOrder));
|
|
|
+ ResponseHelper respone = jiasmApi.orderAdd(createOrder);
|
|
|
+ log.info("创建安装工单接口 respone:{}", JSONObject.toJSONString(respone));
|
|
|
+ if (respone.getCode()==200){
|
|
|
+ if (flag){
|
|
|
+ SyncCreateOrder sco = new SyncCreateOrder();
|
|
|
+ sco.setId(publicService.getUUID());
|
|
|
+ sco.setOrderBaseId(orderBase.getId());
|
|
|
+ sco.setPgidOrPgguid(item.getPgguid());
|
|
|
+ sco.setOrderJson(JSONObject.toJSONString(createOrder));
|
|
|
+ sco.setCreateTime(new Date());
|
|
|
+ syncCreateOrderService.save(sco);
|
|
|
+ }
|
|
|
+ return Boolean.TRUE;
|
|
|
+ } else {
|
|
|
+ String msg = publicService.getErrormessage(respone);
|
|
|
+ log.info(msg);
|
|
|
+ // 抛异常目的是把前期的数据修改回滚
|
|
|
+ throw new Exception(msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void createInstallOrderBak(ItfTblAzAssignLcLsDownload item, List<OrderProduct> orderProducts,
|
|
|
+ List<OrderInstallOperatingLog> oiolList,
|
|
|
+ List<OrderDetailFile> odfs, List<Long> synReqIds, List<Long> synReqFkMxIds,
|
|
|
+ List<Long> synReqYfYyIds, List<FaGreeSms> faGreeSms, List<OrderAppeal> orderAppeal,
|
|
|
+ List<ItfGreeToFaDownloadTaskList> its, OrderBase orderBase, OrderWorker orderWorker,
|
|
|
+ List<ItfTblAzAssignFeeDownload> fyqd,
|
|
|
+ OrderInstall orderInstall, List<Long> getpjSynReqId, Boolean flag,
|
|
|
+ List<OrderInstallDetail> oids,
|
|
|
+ List<OrderReAppointment> oa) throws Exception {
|
|
|
// 创建工单
|
|
|
OrderAddBeanDTO createOrder = new OrderAddBeanDTO();
|
|
|
// 工单机型
|
|
@@ -294,20 +354,11 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
// 安装工单数据落本地表
|
|
|
addOrderDataApi(item.getSynReqId(), synReqIds, synReqFkMxIds, synReqYfYyIds, fyqd, getpjSynReqId,
|
|
|
faGreeSms, orderAppeal, its, odfs, oiolList, oids, oa);
|
|
|
-
|
|
|
- return Boolean.TRUE;
|
|
|
} else {
|
|
|
String msg = publicService.getErrormessage(respone);
|
|
|
log.info(msg);
|
|
|
// 抛异常目的是把前期的数据修改回滚
|
|
|
throw new Exception(msg);
|
|
|
-
|
|
|
- /*item.setSynErrMsg(msg);
|
|
|
- if (msg.length()>1020){
|
|
|
- item.setSynErrMsg(msg.substring(0,1020));
|
|
|
- }
|
|
|
- itfTblAzAssignLcLsDownloadService.updateById(item);
|
|
|
- return Boolean.FALSE;*/
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -409,8 +460,6 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
List<OrderDetailFile> odfs = new ArrayList<>();
|
|
|
OrderBase oldr = new OrderBase();
|
|
|
|
|
|
- // 向工单子表下载任务表插入数据
|
|
|
- downInformation(item);
|
|
|
|
|
|
// 提取本地订单
|
|
|
OrderBase old = orderBaseService.lambdaQuery()
|
|
@@ -479,27 +528,47 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
|
|
|
// 网点转换还原
|
|
|
revertFun(oldr, item, upInfo);
|
|
|
|
|
|
+ if (upInstallOrder(flag, orderProductsUpdate,upInfo, own,orderInstall, order, orderProductList, orderMaterialList, orderCleanItems)){
|
|
|
+
|
|
|
+ endUpInstallOrder(item, synReqYfYyIds, addoalists, mxsynreqids, synreqids, addoiolList, getpjSynReqId, addoalist, faGreeSms, orderAppeal, its, odfs, upInfo, fyqd);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void endUpInstallOrder(ItfTblAzAssignLcLsDownload item, List<Long> synReqYfYyIds, List<OrderReAppointment> addoalists, List<ItfTblAzAssignMxDownload> mxsynreqids, List<ItfTblAzAssignFkmxDownload> synreqids, List<OrderInstallOperatingLog> addoiolList, List<Long> getpjSynReqId, List<OrderAppraise> addoalist, List<FaGreeSms> faGreeSms, List<OrderAppeal> orderAppeal, List<ItfGreeToFaDownloadTaskList> its, List<OrderDetailFile> odfs, OrderBase upInfo, List<ItfTblAzAssignFeeDownload> fyqd) throws Exception {
|
|
|
+ try{
|
|
|
+ // 向工单子表下载任务表插入数据
|
|
|
+ downInformation(item);
|
|
|
+
|
|
|
+ // 采集数据下载
|
|
|
+ orderService.getOrderDetailRec(item, upInfo, its);
|
|
|
+
|
|
|
+ // 安装工单数据修改落本地表
|
|
|
+ addOrUpdateOrderDataApi(item, mxsynreqids, synreqids, addoiolList,
|
|
|
+ fyqd, synReqYfYyIds, getpjSynReqId,
|
|
|
+ addoalist, faGreeSms, orderAppeal, its, odfs, addoalists);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ // 抛异常目的数据回滚
|
|
|
+ String msg="工单接口后数据处理失败";
|
|
|
+ throw new Exception(msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private Boolean upInstallOrder(Boolean flag, List<OrderProduct> orderProductsUpdate,OrderBase upInfo, OrderWorker own,
|
|
|
+ OrderInstall orderInstall, OrderAddBeanDTO order,
|
|
|
+ List<OrderProduct> orderProductList, List<OrderMaterial> orderMaterialList,
|
|
|
+ List<OrderCleanItem> orderCleanItems) throws Exception {
|
|
|
// 工单主表、机型、辅材、清洗、预约改约记录、师傅、创建日志、生成采集数据不要
|
|
|
- getOrderApi(orderProductsUpdate, upInfo, own, orderInstall, order, orderProductList, orderMaterialList, orderCleanItems,flag);
|
|
|
+ getOrderApi(orderProductsUpdate, upInfo, own, orderInstall, order, orderProductList, orderMaterialList, orderCleanItems, flag);
|
|
|
log.info("修改安装工单接口 request:{}", JSONObject.toJSONString(order));
|
|
|
ResponseHelper respone = jiasmApi.orderAdd(order);
|
|
|
log.info("修改安装工单接口 respone:{}", JSONObject.toJSONString(respone));
|
|
|
if (respone.getCode()==200){
|
|
|
- // 安装工单数据修改落本地表
|
|
|
- addOrUpdateOrderDataApi(item, mxsynreqids, synreqids,addoiolList,
|
|
|
- fyqd, synReqYfYyIds, getpjSynReqId,
|
|
|
- addoalist, faGreeSms,orderAppeal, its,odfs, addoalists);
|
|
|
+ return Boolean.TRUE;
|
|
|
} else {
|
|
|
String msg = publicService.getErrormessage(respone);
|
|
|
log.info(msg);
|
|
|
// 抛异常目的是把前期的数据修改回滚
|
|
|
throw new Exception(msg);
|
|
|
-
|
|
|
- /*item.setSynErrMsg(msg);
|
|
|
- if (msg.length()>1020){
|
|
|
- item.setSynErrMsg(msg.substring(0,1020));
|
|
|
- }
|
|
|
- itfTblAzAssignLcLsDownloadService.updateById(item);*/
|
|
|
}
|
|
|
}
|
|
|
|