From 4c9e286973bed3bea00280a999500d2bb1cb8817 Mon Sep 17 00:00:00 2001
From: xinyb <574600396@qq.com>
Date: 星期二, 18 六月 2024 10:30:04 +0800
Subject: [PATCH] 微信小程序订单调整和售后换新和预约安装

---
 src/com/yc/sdk/weixincp3rd/service/AfterSalesImpl.java |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 119 insertions(+), 0 deletions(-)

diff --git a/src/com/yc/sdk/weixincp3rd/service/AfterSalesImpl.java b/src/com/yc/sdk/weixincp3rd/service/AfterSalesImpl.java
index c7ea2e8..fc393a8 100644
--- a/src/com/yc/sdk/weixincp3rd/service/AfterSalesImpl.java
+++ b/src/com/yc/sdk/weixincp3rd/service/AfterSalesImpl.java
@@ -221,6 +221,125 @@
     }
 
     @Override
+    public void savePreInstallation(AfterSalesParameters param) throws Exception {
+        String sql = "set nocount on\n";
+        try {
+            sql += "declare @docCode varchar(50) ,@cltCode varchar(50) = '',@cltName varchar(100) = ''," +
+                    "@companyId varchar(10),@companyName varchar(100),@seq int =" + param.getSeq() + "," +
+                    "@ccCode varchar(50),@ccName varchar(50),"+
+                    "@Longitude varchar(50),@Latitude varchar(50),@FullAddressName varchar(200)," +
+                    "@FullAddress varchar(300),@Street varchar(200)\n";
+            if (StringUtils.isNotBlank(param.getOpenId())) {
+                sql += "select @cltCode=cltCode,@cltName=cltName,@ccCode=ccCode,@ccName=ccName," +
+                        "@companyId=companyId,@companyName=companyName from t110203 where MiniAppOpenId=" + GridUtils.prossSqlParm(param.getOpenId()) + "\n";
+                sql += " if isnull(@cltCode,'') = ''  \n " +
+                        " begin \n" +
+                        "  raiserror('绯荤粺鏈粦瀹氬井淇$敤鎴稩D,璇风粦瀹氬悗鍐嶆墽琛�',16,1) \n" +
+                        " return \n" +
+                        " end \n";
+            }
+            sql += "select @cltCode=cltCode,@cltName=cltName,@Longitude = Longitude,@Latitude=Latitude,@FullAddressName=FullAddressName," +
+                    "@FullAddress=isnull(FullAddress,'')+''+isnull(FullAddressName,'')+''+isnull(Street,'')," +
+                    "@Street=Street from t110209 " +
+                    "where seq=@seq";
+            sql += " exec sp_newdoccode 640210,'SYSTEM',@docCode output\n";
+            sql += "insert into t640210H(docCode,formId,docDate,periodID,ccCode,ccName,DocStatus,LastDocStatus,PostCode,PostName,companyId,companyName,AcceptSource,cltCode,cltName,tel," +
+                    "PropertyAddress,PreSendDate,Memo,enterDate,UploadFiles,seq,Longitude,Latitude,FullAddressName,Street)" +
+                    " values (@docCode," + param.getFormId() + ",convert(varchar(10),getdate(),120),convert(varchar(7),getdate(),120),@ccCode,@ccName,0,0,'system','灏忕▼搴忕',@companyId,@companyName,'棰勭害',@cltCode," +
+                    "@cltName," + GridUtils.prossSqlParm(param.getTel()) + ",@FullAddress," +
+                    GridUtils.prossSqlParm(param.getPreSendDate()) + "," +
+                    GridUtils.prossSqlParm(param.getMemo()) + ",getdate()," + GridUtils.prossSqlParm(param.getUploadFiles()) + "," +
+                    "@seq,@Longitude,@Latitude,@FullAddressName,@Street) \n";
+            sql+=" exec dbo.p640210post 'SYSTEM','绯荤粺绠$悊鍛�',@docCode,640210,0,'鎻愪氦','','','' \n";
+            if(StringUtils.isNotBlank(param.getUploadFiles())){
+                String unId=param.getUploadFiles().split(";")[0];//0鍏冪礌蹇呭畾鏄痷nId鍊�
+                sql+="update _sys_Attachment set docCode=@docCode where UNID='"+unId+"'";
+            }
+            jdbcTemplate.update(sql);
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    @Override
+    public List<Map<String, Object>> getPreInstallation(Integer docStatus, String openId) {
+        String sql = "set nocount on\n";
+        try {
+            sql += "select a.acceptSource,a.docCode,a.enterDate,a.preSendDate,a.cltCode,a.cltName," +
+                    "(case when isnull(a.DocStatus,0) <100 then 1\n" +
+                    " when isnull(a.DocStatus,0)=100 then 3 \n" +
+                    " else 1 end) docStatus,isnull(a.lastDocStatus,0) lastDocStatus,a.memo \n" +
+                    "from t640210H a join t110203 b on a.CltCode=b.CltCode and b.MiniAppOpenId=" + GridUtils.prossSqlParm(openId) + "\n" +
+                    "where a.AcceptSource='棰勭害' ";
+            if (docStatus == 1) {
+                sql += "  and isnull(a.DocStatus,0) < 100";
+            } else if (docStatus == 3) {
+                sql += "  and isnull(a.DocStatus,0) = 100";
+            }
+            sql += " order by a.enterDate desc";
+            return jdbcTemplate.queryForList(sql);
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    @Override
+    public AfterSalesEntity getPreInstallationInfo(String docCode) {
+        String sql = "set nocount on\n";
+        try {
+            sql += "select a.topic,a.id,a.inserttime,a.curStatus,a.ActionCode,a.ActionName,a.ActionTel,\n" +
+                    "b.acceptSource,b.docCode,b.formId,b.PaiGongDocCode,b.PaiGongFormId,b.enterDate,b.preSendDate,b.uploadFiles,b.cltCode,b.cltName,b.tel," +
+                    "isnull(b.propertyAddress,'') as propertyAddress," +
+                    "isnull(b.docStatus,0) docStatus,isnull(b.LastDocStatus,0) lastDocStatus,b.memo,b.longitude,b.latitude,b.fullAddressName \n" +
+                    "from t640210D2 a right join t640210h b on a.SODocCode=b.docCode where b.docCode= " + GridUtils.prossSqlParm(docCode) + " order by id desc";
+            return AfterSalesEntity.setAfterSalesEntity(jdbcTemplate.queryForList(sql));
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    @Override
+    public void saveRenewal(AfterSalesParameters param) throws Exception {
+        String sql = "set nocount on\n";
+        try {
+            sql += "declare @docCode varchar(50) ,@cltCode varchar(50) = '',@cltName varchar(100) = ''," +
+                    "@companyId varchar(10),@companyName varchar(100),@seq int =" + param.getSeq() + "," +
+                    "@ccCode varchar(50),@ccName varchar(50),"+
+                    "@Longitude varchar(50),@Latitude varchar(50),@FullAddressName varchar(200)," +
+                    "@FullAddress varchar(300),@Street varchar(200)\n";
+            if (StringUtils.isNotBlank(param.getOpenId())) {
+                sql += "select @cltCode=cltCode,@cltName=cltName,@ccCode=ccCode,@ccName=ccName," +
+                        "@companyId=companyId,@companyName=companyName from t110203 where MiniAppOpenId=" + GridUtils.prossSqlParm(param.getOpenId()) + "\n";
+                sql += " if isnull(@cltCode,'') = ''  \n " +
+                        " begin \n" +
+                        "  raiserror('绯荤粺鏈粦瀹氬井淇$敤鎴稩D,璇风粦瀹氬悗鍐嶆墽琛�',16,1) \n" +
+                        " return \n" +
+                        " end \n";
+            }
+            sql += "select @Longitude = Longitude,@Latitude=Latitude,@FullAddressName=FullAddressName," +
+                    "@FullAddress=isnull(FullAddress,'')+''+isnull(FullAddressName,'')+''+isnull(Street,'')," +
+                    "@Street=Street from t110209 " +
+                    "where seq=@seq";
+            sql += " exec sp_newdoccode 640210,'SYSTEM',@docCode output\n";
+            sql += "insert into t640210H(docCode,formId,docDate,periodID,ccCode,ccName,DocStatus,LastDocStatus,PostCode,PostName,companyId,companyName,AcceptSource,cltCode,cltName,tel," +
+                    "PropertyAddress,PreSendDate,Memo,enterDate,UploadFiles,seq,Longitude,Latitude,FullAddressName,Street)" +
+                    " values (@docCode," + param.getFormId() + ",convert(varchar(10),getdate(),120),convert(varchar(7),getdate(),120),@ccCode,@ccName,0,0,'system','灏忕▼搴忕',@companyId,@companyName,'鎹㈡柊',@cltCode," +
+                    GridUtils.prossSqlParm(param.getCltName()) + "," + GridUtils.prossSqlParm(param.getTel()) + ",@FullAddress," +
+                    GridUtils.prossSqlParm(param.getPreSendDate()) + "," +
+                    GridUtils.prossSqlParm(param.getMemo()) + ",getdate()," + GridUtils.prossSqlParm(param.getUploadFiles()) + "," +
+                    "@seq,@Longitude,@Latitude,@FullAddressName,@Street) \n";
+            sql+=" exec dbo.p640210post 'SYSTEM','绯荤粺绠$悊鍛�',@docCode,640210,0,'鎻愪氦','','','' \n";
+            if(StringUtils.isNotBlank(param.getUploadFiles())){
+                String unId=param.getUploadFiles().split(";")[0];//0鍏冪礌蹇呭畾鏄痷nId鍊�
+                sql+="update _sys_Attachment set docCode=@docCode where UNID='"+unId+"'";
+            }
+            jdbcTemplate.update(sql);
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    @Override
     public Integer deleteFile(String unId, Integer seq) {
         String sql = "set nocount on\n";
         try {

--
Gitblit v1.8.0