hz-zhhq-app-service/greenH5modul/.svn/pristine/70/70daf0b2b4801e522665cd25eb7...

221 lines
8.3 KiB
Plaintext
Raw Normal View History

2025-01-21 13:12:35 +08:00
package com.jysoft.property.service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import com.jysoft.property.entity.GreenPropertyEntity;
import com.nationalelectirc.Constant.Constant;
import com.nationalelectirc.utils.RestResult;
import com.nationalelectric.greenH5.bizc.BaseServiceImpl;
import com.sgcc.uap.persistence.IHibernateDao;
@Service
public class PropertyService {
@Autowired
private IHibernateDao iHibernateDao;
@Autowired
private BaseServiceImpl baseService;
/**
* 通过用户id获取服务记录
*
* @param entity
* 数据
* @return 响应数据
*/
public RestResult getPropertyByUserId(GreenPropertyEntity entity) {
StringBuilder sql = new StringBuilder();
ArrayList<Object> paramList = new ArrayList<Object>();
sql.append(
"SELECT * FROM (SELECT ROWNUM num, A.* FROM (SELECT gp.ID, gp.PROPERTY_ID, gdi.DATA_VALUE, gp.APPLICANT_TIME, gp.OFFICE, gp.DEMAND, gp.FEEDBACK, gp.APPROVAL_ID, gp.STATE, gp.USER_ID, gp.USER_NAME, gp.PHONE, gp.ORG_ID, gp.ORG_NAME, gp.APPROVAL_NAME, gp.\"NUMBER\" FROM GREEN_PROPERTY gp LEFT JOIN GREEN_DICTIONARY_INFO gdi ON gdi.DATA_CODE = gp.PROPERTY_ID AND gdi.DATA_TYPE='propertyType' AND gdi.IS_DELETED ='N' WHERE");
if ("1".equals(entity.getType())) {
sql.append(" 1=1");
} else {
sql.append(" gp.USER_ID =? ");
paramList.add(entity.getUserId());
}
if (entity.getState() != null && !"".equals(entity.getState())) {
sql.append("AND STATE = ? ");
paramList.add(entity.getState());
}
sql.append(" ORDER BY gp.APPLICANT_TIME DESC ) A WHERE ROWNUM<=?) WHERE num > ?");
System.err.println(sql.toString());
try {
int pageSize = entity.getPageSize();
int pageNum = entity.getPageNum();
int page = (pageNum - 1) * pageSize;
int limit = pageNum * pageSize;
paramList.add(limit);
paramList.add(page);
List<Map<String, Object>> list = iHibernateDao.queryForListWithSql(sql.toString(), paramList.toArray());
return new RestResult(Constant.SUCCESS, "查询成功", list);
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
return new RestResult(Constant.FAILED, "查询失败");
}
}
/**
* 添加服务记录
*
* @param entity
* 数据
* @return 响应数据
*/
public RestResult addProperty(GreenPropertyEntity entity) {
String sql = "INSERT INTO GREEN_PROPERTY (ID, PROPERTY_ID, APPLICANT_TIME, OFFICE, DEMAND, FEEDBACK, "
+ "APPROVAL_ID, STATE, USER_ID, USER_NAME, PHONE, ORG_ID, ORG_NAME, APPROVAL_NAME,\"NUMBER\") "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
try {
String uuid = UUID.randomUUID().toString().replace("-", "");
iHibernateDao.executeSqlUpdate(sql,
new Object[] { uuid, entity.getPropertyId(), entity.getApplicantTime(), entity.getOffice(),
entity.getDemand(), entity.getFeedback(), entity.getApprovalId(), '0', entity.getUserId(),
entity.getUserName(), entity.getPhone(), entity.getOrgId(), entity.getOrgName(),
entity.getApprovalName(), entity.getNumber() });
return new RestResult(Constant.SUCCESS, "添加成功");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
return new RestResult(Constant.FAILED, "添加失败");
}
}
/**
* 修改服务状态
*
* @param entity
* 数据
* @return 响应数据
*/
public RestResult updateProperty(GreenPropertyEntity entity) {
try {
List<Map<String, Object>> list = (List<Map<String, Object>>) getProperty(entity).getReturnData();
System.err.println(getProperty(entity).getReturnData().toString());
if (list.size() > 0) {
Map<String, Object> map = list.get(0);
String approvalId = (String) map.get("APPROVAL_ID");
if (approvalId != null && !("").equals(approvalId)) {
if (!approvalId.equals(entity.getUserId())) {
return new RestResult(Constant.FAILED, "办理人错误");
}
}
}
String propertySqlString = null;
String sql = "UPDATE GREEN_PROPERTY SET APPROVAL_ID =?,APPROVAL_NAME=?, FEEDBACK = ?,STATE = ?";
String state = entity.getState();
if ("0".equals(entity.getState())) {
state = "1";
// 服务前照片
propertySqlString = sql + ",SERVICE_FRONT = ? WHERE ID = ? ";
}
if ("1".equals(entity.getState())) {
state = "2";
// 服务后照片
propertySqlString = sql + ",SERVICE_AFTER = ? WHERE ID = ? ";
}
entity.setState(state);
iHibernateDao.executeSqlUpdate(propertySqlString, new Object[] { entity.getUserId(), entity.getUserName(),
entity.getFeedback(), entity.getState(),Objects.equals("1", entity.getState()) ? entity.getServiceFront() : entity.getServiceAfter(), entity.getId() });
return new RestResult(Constant.SUCCESS, "成功");
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
return new RestResult(Constant.FAILED, "失败");
}
}
/**
* 获取服务类型
*
* @param entity
* 数据
* @return 响应数据
*/
public RestResult getPropertyType() {
String sql = "SELECT DATA_CODE,DATA_VALUE FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE ='propertyType'";
try {
List<Map<String, Object>> list = iHibernateDao.queryForListWithSql(sql);
return new RestResult(Constant.SUCCESS, "查询成功", list);
} catch (Exception e) {
System.err.println(e.getMessage());
return new RestResult(Constant.FAILED, "查询失败");
}
}
/**
* 获取服务详情
*
* @param entity
* 数据
* @return 响应数据
*/
public RestResult getProperty(GreenPropertyEntity entity) {
String sql = "SELECT gp.PROPERTY_ID,gp.SERVICE_FRONT,gp.SERVICE_AFTER,gp.EVALUATE_NUM,gp.EVALUATE_CONTENT, gdi.DATA_VALUE, gp.APPLICANT_TIME, gp.OFFICE, gp.DEMAND, gp.FEEDBACK, gp.APPROVAL_ID, gp.STATE, gp.USER_ID, gp.USER_NAME, gp.PHONE, gp.ORG_ID, gp.ORG_NAME, gp.APPROVAL_NAME, gp.\"NUMBER\" FROM GREEN_PROPERTY gp LEFT JOIN GREEN_DICTIONARY_INFO gdi ON gdi.DATA_CODE = gp.PROPERTY_ID AND gdi.DATA_TYPE='propertyType' AND gdi.IS_DELETED ='N' WHERE gp.ID=?";
try {
System.err.println("服务ID:" + entity.getId());
ArrayList<Object> paramList = new ArrayList<Object>();
paramList.add(entity.getId());
List<Map<String, Object>> list = iHibernateDao.queryForListWithSql(sql.toString(), paramList.toArray());
if(CollectionUtils.isNotEmpty(list)){
Map<String, Object> mapData = list.get(0);
if(mapData.get("SERVICE_FRONT") != null){
// 服务前照片
String imageBase64 = baseService.getImageBase64(String.valueOf(mapData.get("SERVICE_FRONT")));
list.get(0).put("SERVICE_FRONT", imageBase64);
System.err.println("服务前照片:" + imageBase64);
}
if(mapData.get("SERVICE_AFTER") != null){
// 服务后照片
String imageBase64 = baseService.getImageBase64(String.valueOf(mapData.get("SERVICE_AFTER")));
list.get(0).put("SERVICE_AFTER", imageBase64);
System.err.println("服务后照片:" + imageBase64);
}
}
return new RestResult(Constant.SUCCESS, "查询成功", list);
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
return new RestResult(Constant.FAILED, "查询失败");
}
}
/**
* @MethodName: addServiceEvaluate
* @Description: 服务评价
* @author cwchen
* @param entity
* @return RestResult
* @date 2024-05-16 10:20:02
*/
@Transactional(rollbackFor = Exception.class)
public RestResult addServiceEvaluate(GreenPropertyEntity entity) {
try {
String addServiceEvaluateSql = "UPDATE GREEN_PROPERTY SET EVALUATE_NUM = '"+entity.getEvaluateNum()+"' , EVALUATE_CONTENT = '"+entity.getEvaluateContent()+"' WHERE ID = '"+entity.getId()+"'";
System.err.println("服务评价:" + addServiceEvaluateSql);
iHibernateDao.executeSqlUpdate(addServiceEvaluateSql);
return new RestResult(Constant.SUCCESS, "评价成功");
} catch (Exception e) {
e.printStackTrace();
// 手动回滚异常
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return new RestResult(Constant.FAILED, "评价失败");
}
}
}