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