yaozhixue 1 rok temu
rodzic
commit
81271ed236

+ 2 - 0
src/main/java/com/zfire/jiasm/syncdata/service/PublicService.java

@@ -177,4 +177,6 @@ public interface PublicService {
     void setJyktFjType(ItfTblAzWgmxJyktFjUpload fj,OrderInstallDetail detailone);
     void setSyktFjType(ItfTblAzWgmxSyktFjUpload fj,OrderInstallDetail detailone);
     void setQitaFjType(ItfTblAzWgmxQitaFjUpload fj,OrderInstallDetail detailone);
+
+    void updateOrderExtend(String orderBaseId);
 }

+ 20 - 8
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddInstallBusinessImpl.java

@@ -665,8 +665,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
             orderAppealService.saveBatch(orderAppeal);
             orderAppeal.clear();
         }
-
-        orderBase.updateById();
+        // orderBase.updateById();
 
         return false;
     }
@@ -2463,6 +2462,7 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
     }
 
     private void setOrderAppraisemessage(OrderBase orderBase, ItfTblAzAssignSatisfactionDownload s) {
+        log.info("【联通短信评价回复】:{}",JSONObject.toJSONString(s));
         if (orderBase.getAppraiseTime()==null &&
                 (orderBase.getOrderStatus().equals(GDOrderStatusEnum.INSTALL_STATUS_G7.getCode()) ||
                         orderBase.getOrderStatus().equals(GDOrderStatusEnum.INSTALL_STATUS_G10.getCode()))){
@@ -2486,25 +2486,37 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
     }
 
     private void setOrderAppraisemessageSelf(OrderBase orderBase, ItfReceiveSms s) {
+        log.info("【联通短信评价回复】:{}",JSONObject.toJSONString(s));
         if (orderBase.getAppraiseTime()==null &&
                 (orderBase.getOrderStatus().equals(GDOrderStatusEnum.INSTALL_STATUS_G7.getCode()) ||
                         orderBase.getOrderStatus().equals(GDOrderStatusEnum.INSTALL_STATUS_G10.getCode()))){
             // 首评
             // 首次评价
-            orderBase.setAppraiseStatus(publicService.getAppraiseStatusT(s.getContent().trim()));
+            //orderBase.setAppraiseStatus(publicService.getAppraiseStatusT(s.getContent().trim()));
             // 首次评价内容
-            orderBase.setAppraiseContent(s.getContent().trim());
+            //orderBase.setAppraiseContent(s.getContent().trim());
             // 首次评价时间
-            orderBase.setAppraiseTime(s.getRecvTime());
+            //orderBase.setAppraiseTime(s.getRecvTime());
             // 评价来源 无法区分
             // orderBase.setAppraiseSource();
+
+            orderBaseService.lambdaUpdate()
+                    .set(OrderBase::getAppraiseStatus,publicService.getAppraiseStatusT(s.getContent().trim()))
+                    .set(OrderBase::getAppraiseContent,s.getContent().trim())
+                    .set(OrderBase::getAppraiseTime,s.getRecvTime())
+                    .eq(OrderBase::getId,orderBase.getId()).update();
         } else {
             // 追评评价状态
-            orderBase.setSecondAppraiseStatus(publicService.getAppraiseStatusT(s.getContent().trim()));
+            //orderBase.setSecondAppraiseStatus(publicService.getAppraiseStatusT(s.getContent().trim()));
             // 追评评价内容
-            orderBase.setSecondContent(s.getContent().trim());
+            //orderBase.setSecondContent(s.getContent().trim());
             // 追评评价时间
-            orderBase.setSecondAppraiseTime(s.getRecvTime());
+            //orderBase.setSecondAppraiseTime(s.getRecvTime());
+            orderBaseService.lambdaUpdate()
+                    .set(OrderBase::getSecondAppraiseStatus,publicService.getAppraiseStatusT(s.getContent().trim()))
+                    .set(OrderBase::getSecondContent,s.getContent().trim())
+                    .set(OrderBase::getSecondAppraiseTime,s.getRecvTime())
+                    .eq(OrderBase::getId,orderBase.getId()).update();
         }
     }
 

+ 11 - 5
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddRepairBusinessServiceImpl.java

@@ -101,7 +101,6 @@ public class AddRepairBusinessServiceImpl implements AddRepairBusinessService {
 
 
 
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addRapairOrder(Brand brand, ItfTblAssignDownload item,
@@ -386,7 +385,11 @@ public class AddRepairBusinessServiceImpl implements AddRepairBusinessService {
         }
 
         if (oilist.size()>0){
-            orderInformationService.saveBatch(oilist);
+            if (orderInformationService.saveBatch(oilist)){
+                // 修改工单子信息统计数据
+                publicService.updateOrderExtend(oilist.get(0).getOrderBaseId());
+            }
+
             oilist.clear();
         }
         if (oilistUp.size()>0){
@@ -406,7 +409,7 @@ public class AddRepairBusinessServiceImpl implements AddRepairBusinessService {
     }
 
     @NotNull
-    private Boolean createRepairOrder(ItfTblAssignDownload item, OrderWorker orderWorker, OrderRepair or, List<OrderProduct> addmx,
+    public Boolean createRepairOrder(ItfTblAssignDownload item, OrderWorker orderWorker, OrderRepair or, List<OrderProduct> addmx,
                                       List<ItfTblAssignMxDownload> ups, List<ItfTblAssignSatisfactionDownload> pjups,
                                       List<OrderAppeal> orderAppeal, List<OrderAppraise> oanew, List<FaGreeSms> faGreeSms,
                                       List<OrderInformation> oilist, List<ItfTblAssignXzydDownload> ydups, List<ItfTblAssignFkmxDownload> fkmxups,
@@ -456,7 +459,7 @@ public class AddRepairBusinessServiceImpl implements AddRepairBusinessService {
 
 
 
-    private void synStatus(ItfTblAssignDownload item, List<ItfTblAssignMxDownload> ups,
+    public void synStatus(ItfTblAssignDownload item, List<ItfTblAssignMxDownload> ups,
                            List<ItfTblAssignSatisfactionDownload> pjups, List<OrderAppeal> orderAppeal,
                            List<OrderAppraise> oanew, List<FaGreeSms> faGreeSms, List<OrderInformation> oilist,
                            List<ItfTblAssignXzydDownload> ydups, List<ItfTblAssignFkmxDownload> fkmxups,List<OrderRepairOperatingLog> orols,
@@ -509,7 +512,10 @@ public class AddRepairBusinessServiceImpl implements AddRepairBusinessService {
 
         // 工单子信息阅读要求
         if (oilist.size()>0){
-            orderInformationService.saveBatch(oilist);
+            if (orderInformationService.saveBatch(oilist)){
+                // 修改工单子信息统计数据
+                publicService.updateOrderExtend(oilist.get(0).getOrderBaseId());
+            }
             oilist.clear();
         }
         if (ydups.size()>0){

+ 12 - 6
src/main/java/com/zfire/jiasm/syncdata/service/impl/DetailDownloadServiceImpl.java

@@ -1972,6 +1972,11 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 				.eq(ItfTblAzAssignXzydDownload::getDownloadTaskNo, downloadTaskNo)
 				.eq(ItfTblAzAssignXzydDownload::getSynStatus,0).list();
 
+		// 工单ID
+		OrderBase orderBase = orderBaseService.lambdaQuery()
+				.eq(OrderBase::getPgguid, pgguid)
+				.last("limit 1").one();
+
 		if (!CollectionUtils.isEmpty(zdmx)){
 			// 取最大的syn_req_id 用于判断是否为最后一条记录
 			OrderPar req = new OrderPar();
@@ -1984,11 +1989,6 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 						.eq(OrderInformation::getSyncId,item.getId())
 						.last("limit 1").one();
 
-				// 工单ID
-				OrderBase orderBase = orderBaseService.lambdaQuery()
-						.eq(OrderBase::getPgguid, pgguid)
-						.last("limit 1").one();
-
 				if (info !=null){
 					// 次数,与是否已读不相同时修改,其他不修改 这里只能做是否已读的处理
 					if (!info.getReadStatus().equals(item.getYdbz())){
@@ -2001,9 +2001,15 @@ public class DetailDownloadServiceImpl implements DetailDownloadService {
 				// 最后一条记录时更新主表的子信息字段
 				if (maxzd.getSynReqId().equals(item.getSynReqId()) && !orderBase.getIsChildInfo().equals("YES")){
 					orderBase.setIsChildInfo("YES");
-					orderBase.updateById();
+					orderBaseService.lambdaUpdate()
+							.set(OrderBase::getIsChildInfo,"YES")
+							.eq(OrderBase::getId,orderBase.getId()).update();
+					// orderBase.updateById();
 				}
 			}
+
+			// 修改工单子信息统计数据
+			publicService.updateOrderExtend(orderBase.getId());
 		}
 		// 修改同步状态
 		upSynStatus(downloadTaskNo);

+ 48 - 2
src/main/java/com/zfire/jiasm/syncdata/service/impl/PublicServiceImpl.java

@@ -122,6 +122,10 @@ public class PublicServiceImpl implements PublicService {
     ProductService productService;
     @Resource
     OrderAppraiseService orderAppraiseService;
+    @Resource
+    OrderExtendService orderExtendService;
+    @Resource
+    OrderInformationService orderInformationService;
 
 
 
@@ -1174,13 +1178,13 @@ public class PublicServiceImpl implements PublicService {
     // 评价状态 A=满意  B=一般  C=不满意
     @Override
     public String checkAppraiseType(String pjly){
-        String result ="C";
+        String result ="O";
         SatisfactionList sfl = satisfactionListService.lambdaQuery()
                 .eq(SatisfactionList::getPjly,pjly.trim())
                 .last("limit 1")
                 .one();
         if (sfl==null){
-            result = "C";
+            result = "O";
         } else {
             if (sfl.getAppraiseType().equals("SATISFACTION")){
                 result = "A";
@@ -2077,6 +2081,48 @@ public class PublicServiceImpl implements PublicService {
         }
     }
 
+    @Override
+    public void updateOrderExtend(String orderBaseId){
+        Integer childNum;
+        Integer notReadChildNum = 0;
+        // 工单子信息统计
+        OrderExtend oe = orderExtendService.lambdaQuery()
+                .eq(OrderExtend::getOrderBaseId, orderBaseId).one();
+        if (oe !=null){
+            //统计已读与未读数量
+            List<OrderInformation> oifs = orderInformationService.lambdaQuery()
+                    .eq(OrderInformation::getOrderBaseId, orderBaseId).list();
+            if (CollectionUtils.isNotEmpty(oifs)){
+                childNum = oifs.size();
+                List<OrderInformation> oifsn = orderInformationService.lambdaQuery()
+                        .eq(OrderInformation::getOrderBaseId, orderBaseId)
+                        .eq(OrderInformation::getReadStatus,0).list();
+                if (CollectionUtils.isNotEmpty(oifsn)){
+                    notReadChildNum = oifsn.size();
+                }
+                // 修改工单子信息统计数据
+                oe.setChildNum(childNum);
+                oe.setNotReadChildNum(notReadChildNum);
+
+                Integer count = 3;
+                while (count >=0){
+                    Boolean f = orderExtendService.lambdaUpdate()
+                            .set(OrderExtend::getChildNum,childNum)
+                            .set(OrderExtend::getNotReadChildNum,notReadChildNum)
+                            .set(OrderExtend::getVersion,oe.getVersion() + 1)
+                            .eq(OrderExtend::getOrderBaseId,oe.getOrderBaseId())
+                            .eq(OrderExtend::getVersion,oe.getVersion())
+                            .update();
+                    if (f){
+                        break;
+                    } else {
+                        count = count -1;
+                    }
+                }
+            }
+        }
+    }
+
     // 同家用
     @Override
     public void setQitaFjType(ItfTblAzWgmxQitaFjUpload fj,OrderInstallDetail detailone){

+ 10 - 3
src/main/java/com/zfire/jiasm/syncdata/service/impl/RepairProduceDataUploadServiceImpl.java

@@ -2396,13 +2396,20 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
 
     public void upOrderBasePgid(OrderBase orderBase, String newDykh) {
         if (StringUtils.isEmpty(orderBase.getPgid()) || orderBase.getPgid().equals("0")){
-            orderBase.setPgid(newDykh);
+            //orderBase.setPgid(newDykh);
+            orderBaseService.lambdaUpdate()
+                    .set(OrderBase::getPgid,newDykh)
+                    .eq(OrderBase::getId,orderBase.getId()).update();
+
         }
         if (StringUtils.isEmpty(orderBase.getPgguid()) || orderBase.getPgguid().equals("0")){
-            orderBase.setPgguid(publicService.getUUID());
+            //orderBase.setPgguid(publicService.getUUID());
+            orderBaseService.lambdaUpdate()
+                    .set(OrderBase::getPgguid,publicService.getUUID())
+                    .eq(OrderBase::getId,orderBase.getId()).update();
         }
 
-        orderBase.updateById();
+        //orderBase.updateById();
     }
 
     public void stopUpload(@NotNull OutJiasmToGreeUploadTaskList ojtutl, String msg) {