diff --git a/greenH5modul/src/com/jysoft/card/service/CardService.java b/greenH5modul/src/com/jysoft/card/service/CardService.java index 5188aa9..4c58ae2 100644 --- a/greenH5modul/src/com/jysoft/card/service/CardService.java +++ b/greenH5modul/src/com/jysoft/card/service/CardService.java @@ -521,7 +521,7 @@ public class CardService { */ public RestResult getCardType(GreenCard entity) { String sql = "SELECT ID,DATA_TYPE ,DATA_CODE,DATA_VALUE,DESCRIPTION,DATA_SORT,CREATOR,MODIFIER,IS_DELETED " - + "FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE ='cardType' AND DATA_CODE = ?"; + + "FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE ='cardType' AND DATA_CODE = ? AND IS_DELETED = 'N' ORDER BY DATA_VALUE"; try { List> list = iHibernateDao.queryForListWithSql(sql, new Object[] { entity.getType() }); return new RestResult(Constant.SUCCESS, "查询成功", list); diff --git a/greenH5modul/src/com/nationalelectric/greenH5/GreenHouseController.java b/greenH5modul/src/com/nationalelectric/greenH5/GreenHouseController.java index 101acb4..cf70dc9 100644 --- a/greenH5modul/src/com/nationalelectric/greenH5/GreenHouseController.java +++ b/greenH5modul/src/com/nationalelectric/greenH5/GreenHouseController.java @@ -14,7 +14,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.apache.commons.collections.CollectionUtils; +import org.hibernate.annotations.common.util.StringHelper; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; @@ -26,6 +28,7 @@ import com.nationalelectirc.Constant.Constant; import com.nationalelectirc.utils.RestResult; import com.nationalelectric.greenH5.DTO.GreenHouseDto; import com.nationalelectric.greenH5.bizc.BaseServiceImpl; +import com.nationalelectric.greenH5.po.GreenHouseCheckInfo; import com.nationalelectric.greenH5.po.GreenRentHouseApply; import com.nationalelectric.greenH5.po.GreenUserInfo; import com.nationalelectric.greenH5.utils.DateTime; @@ -34,6 +37,7 @@ import com.nationalelectric.greenH5.utils.DateUtil; import com.sgcc.uap.persistence.IHibernateDao; import com.sgcc.uap.utils.StringUtils; import com.sun.org.apache.xpath.internal.FoundIndex; +import com.sun.xml.internal.ws.message.StringHeader; import com.aostarit.mobile.client.message.api.client.MsgQueryClient; import com.aostarit.mobile.client.message.api.client.MsgRequestClient; import com.aostarit.mobile.client.message.api.client.MsgSendClient; @@ -142,70 +146,163 @@ public class GreenHouseController extends GreenBaseController { int limit = ((rentHouseApply.getPageNum() > 0 ? rentHouseApply.getPageNum() : 1) - 1) * rentHouseApply.getPageSize(); int pageSize = rentHouseApply.getPageSize() * rentHouseApply.getPageNum(); + + +// String examineState = rentHouseApply.getExamineState(); +// String examineBatch = rentHouseApply.getExamineBatch(); +// +// if (StringUtils.isBlank(examineState)) { +// return new RestResult(Constant.FAILED, "审核状态不能为空"); +// } +// if (StringUtils.isBlank(examineBatch)) { +// return new RestResult(Constant.FAILED, "审核批次不能为空"); +// } +// if ("0".equals(examineState)) { +// String sql = "select count(*) from GREEN_DICTIONARY_INFO where data_type = 'houseExamineSwitch' and data_code = ? and data_value = 1 "; +// int count = hibernateDao.queryForIntWithSql(sql, new Object[] { examineBatch }); +// if (count == 0) { +// return new RestResult(Constant.SUCCESS, "操作成功", new ArrayList>()); +// } +// } +// String sql = "select * from (select rn.*,rownum from ( " +// + " SELECT A.ID as \"id\", A.USER_ID as \"userId\", A.USER_NAME as \"userName\", A.GENDER as \"gender\", " +// + " A.MARRIAGE_STATE as \"marriageState\", A.PHONE as \"phone\", A.ORG_ID as \"orgId\", A.ORG_NAME as \"orgName\", " +// + " A.POSITION as \"position\", A.USER_TYPE as \"userType\", A.HOUSE_TYPE as \"houseType\", A.APPLY_CAUSE as \"applyCause\"," +// + " to_char(A.APPLY_TIME,'YYYY-MM-DD HH24:MI:SS') as \"applyTime\", A.EXAMINE_STATE as \"examineState\", A.EXAMINE_BATCH as \"examineBatch\",A.IS_UPLOAD AS \"isUpload\" " +// + " FROM GREEN_HOUSE_APPLY A "; +// if (!"4".equals(examineBatch)) { +// sql += " LEFT JOIN (select ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,to_char(EXAMINE_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"EXAMINE_TIME\",to_char(UPD_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"UPD_TIME\",DEL_FLAG,EXAMINE_OPINION,EXAMINE_BATCH,BATCH_DESCRIPTION from GREEN_HOUSE_APPLY_EXAMINE where EXAMINE_BATCH= ? and DEL_FLAG=0) E ON A.ID = E.APPLY_ID "; +// +// paramList.add(examineBatch); +// } +// ; +// sql += " WHERE A.DEL_FLAG = 0 "; +// +// // 当查询审核批次为1时,只查询当前用户部门以及子部门的数据 +// if ("1".equals(examineBatch)) { +// sql += "AND A.ORG_ID IN (SELECT id FROM GREEN_DEPARTMENT START WITH ID = ? CONNECT BY PRIOR ID = PARENT_ID) "; +// paramList.add(rentHouseApply.getOrgId()); +// } +// if ("3".equals(examineBatch)) { +// if ("1".equals(examineState)) {// 已审批 +// sql += " AND A.EXAMINE_STATE !=0 AND A.EXAMINE_BATCH = ? "; +// paramList.add(examineBatch); +// } else if ("0".equals(examineState)) {// 待审批 +// sql += " AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? "; +// paramList.add(examineBatch); +// } +// } else { +// if ("1".equals(examineState)) {// 已审批 +// sql += "and e.ID is not NULL "; +// } else if ("0".equals(examineState)) {// 未审批 +// sql += "AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? "; +// paramList.add(examineBatch); +// } +// } +// +// sql += " ORDER BY A.APPLY_TIME DESC " + " ) rn )where rownum>? and rownum<=? "; + + //查询当前人员角色id + String sql2 = "SELECT ROLE_ID as \" checkRole\" FROM GREEN_USER_ROLE_REL where USER_ID = ? "; + ArrayList paramList2 = new ArrayList(); + paramList2.add(userId); + String roleId = ""; + List list2 = hibernateDao.queryForListWithSql(sql2, paramList2.toArray(),new BeanPropertyRowMapper(GreenRentHouseApply.class)); + if(list2 !=null && list2.size()>0){ + GreenRentHouseApply bb = list2.get(0); + roleId = bb.getCheckRole(); + + }else{ + return new RestResult(Constant.FAILED, "未找到当前用户角色,不允许审核"); + } String examineState = rentHouseApply.getExamineState(); - String examineBatch = rentHouseApply.getExamineBatch(); - - if (StringUtils.isBlank(examineState)) { - return new RestResult(Constant.FAILED, "审核状态不能为空"); + //0 未审批 1已审核 + String sql = ""; + if("0".equals(examineState)){ + sql = "SELECT DISTINCT\n" + + "A.ID AS \"id\",\n" + + "A.USER_ID AS \"userId\",\n" + + "A.USER_NAME AS \"userName\",\n" + + "A.GENDER AS \"gender\",\n" + + "A.MARRIAGE_STATE AS \"marriageState\",\n" + + "A.PHONE AS \"phone\",\n" + + "A.ORG_ID AS \"orgId\",\n" + + "A.ORG_NAME AS \"orgName\",\n" + + "A.POSITION AS \"position\",\n" + + "A.USER_TYPE AS \"userType\",\n" + + "A.HOUSE_TYPE AS \"houseType\",\n" + + "A.APPLY_CAUSE AS \"applyCause\",\n" + + "to_char( A.APPLY_TIME, 'YYYY-MM-DD HH24:MI:SS' ) AS \"applyTime\",\n" + + "A.EXAMINE_STATE AS \"examineState\",\n" + + "A.EXAMINE_BATCH AS \"examineBatch\",\n" + + "A.IS_UPLOAD AS \"isUpload\",\n" + + "A.CHECK_ID AS \"checkId\",\n" + + "A.CHECK_NODE AS \"checkNode\",\n" + + "B.CHECK_NUM AS \"checkNum\",\n" + + "A.CHECK_USER AS \"checkUser\",\n" + + "C.CHECK_OPERATE AS \"checkOperate\",\n" + + "C.CHECK_NAME AS \"checkName\"\n" + + "FROM\n" + + "GREEN_HOUSE_APPLY A\n" + + "LEFT JOIN GREEN_HOUSE_CHECK B ON A.CHECK_ID = B.CHECK_ID\n" + + "LEFT JOIN GREEN_HOUSE_CHECK_DETAILS C on C.CHECK_SORT = A.CHECK_NODE and A.CHECK_ID = C.CHECK_ID\n" + + "where A.CHECK_USER = ? "; + paramList.add(roleId); + }else{ + sql = "SELECT\n" + + "A.ID AS \"id\",\n" + + "A.USER_ID AS \"userId\",\n" + + "A.USER_NAME AS \"userName\",\n" + + "A.GENDER AS \"gender\",\n" + + "A.MARRIAGE_STATE AS \"marriageState\",\n" + + "A.PHONE AS \"phone\",\n" + + "A.ORG_ID AS \"orgId\",\n" + + "A.ORG_NAME AS \"orgName\",\n" + + "A.POSITION AS \"position\",\n" + + "A.USER_TYPE AS \"userType\",\n" + + "A.HOUSE_TYPE AS \"houseType\",\n" + + "A.APPLY_CAUSE AS \"applyCause\",\n" + + "to_char( A.APPLY_TIME, 'YYYY-MM-DD HH24:MI:SS' ) AS \"applyTime\",\n" + + "A.EXAMINE_STATE AS \"examineState\",\n" + + "A.EXAMINE_BATCH AS \"examineBatch\",\n" + + "A.IS_UPLOAD AS \"isUpload\",\n" + + "A.CHECK_ID,\n" + + "A.CHECK_NODE,\n" + + "B.CHECK_NUM,\n" + + "A.CHECK_USER\n" + + "FROM\n" + + "GREEN_HOUSE_APPLY A\n" + + "LEFT JOIN GREEN_HOUSE_CHECK B ON A.CHECK_ID = B.CHECK_ID\n" + + "LEFT JOIN GREEN_HOUSE_APPLY_EXAMINE B on B.APPLY_ID = A.ID\n" + + "where B.USER_ID = ? "; + paramList.add(userId); } - if (StringUtils.isBlank(examineBatch)) { - return new RestResult(Constant.FAILED, "审核批次不能为空"); - } - - if ("0".equals(examineState)) { - String sql = "select count(*) from GREEN_DICTIONARY_INFO where data_type = 'houseExamineSwitch' and data_code = ? and data_value = 1 "; - int count = hibernateDao.queryForIntWithSql(sql, new Object[] { examineBatch }); - if (count == 0) { - return new RestResult(Constant.SUCCESS, "操作成功", new ArrayList>()); - } - } - String sql = "select * from (select rn.*,rownum from ( " - + " SELECT A.ID as \"id\", A.USER_ID as \"userId\", A.USER_NAME as \"userName\", A.GENDER as \"gender\", " - + " A.MARRIAGE_STATE as \"marriageState\", A.PHONE as \"phone\", A.ORG_ID as \"orgId\", A.ORG_NAME as \"orgName\", " - + " A.POSITION as \"position\", A.USER_TYPE as \"userType\", A.HOUSE_TYPE as \"houseType\", A.APPLY_CAUSE as \"applyCause\"," - + " to_char(A.APPLY_TIME,'YYYY-MM-DD HH24:MI:SS') as \"applyTime\", A.EXAMINE_STATE as \"examineState\", A.EXAMINE_BATCH as \"examineBatch\",A.IS_UPLOAD AS \"isUpload\" " - + " FROM GREEN_HOUSE_APPLY A "; - if (!"4".equals(examineBatch)) { - sql += " LEFT JOIN (select ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,to_char(EXAMINE_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"EXAMINE_TIME\",to_char(UPD_TIME,'yyyy-mm-dd hh24:mi:ss') AS \"UPD_TIME\",DEL_FLAG,EXAMINE_OPINION,EXAMINE_BATCH,BATCH_DESCRIPTION from GREEN_HOUSE_APPLY_EXAMINE where EXAMINE_BATCH= ? and DEL_FLAG=0) E ON A.ID = E.APPLY_ID "; - - paramList.add(examineBatch); - } - ; - sql += " WHERE A.DEL_FLAG = 0 "; - - // 当查询审核批次为1时,只查询当前用户部门以及子部门的数据 - if ("1".equals(examineBatch)) { - sql += "AND A.ORG_ID IN (SELECT id FROM GREEN_DEPARTMENT START WITH ID = ? CONNECT BY PRIOR ID = PARENT_ID) "; - paramList.add(rentHouseApply.getOrgId()); - } - if ("3".equals(examineBatch)) { - if ("1".equals(examineState)) {// 已审批 - sql += " AND A.EXAMINE_STATE !=0 AND A.EXAMINE_BATCH = ? "; - paramList.add(examineBatch); - } else if ("0".equals(examineState)) {// 待审批 - sql += " AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? "; - paramList.add(examineBatch); - } - } else { - if ("1".equals(examineState)) {// 已审批 - sql += "and e.ID is not NULL "; - } else if ("0".equals(examineState)) {// 未审批 - sql += "AND A.EXAMINE_STATE = 0 AND A.EXAMINE_BATCH = ? "; - paramList.add(examineBatch); - } - } - - sql += " ORDER BY A.APPLY_TIME DESC " + " ) rn )where rownum>? and rownum<=? "; - paramList.add(limit); - paramList.add(pageSize); +// paramList.add(limit); +// paramList.add(pageSize); + + + + System.err.println("roleId==="+roleId); System.err.println(sql); List list = hibernateDao.queryForListWithSql(sql, paramList.toArray()); + System.err.println("list==="+list.size()); return new RestResult(Constant.SUCCESS, "操作成功", list); } catch (Exception e) { e.printStackTrace(); return new RestResult(Constant.FAILED, "操作失败"); } } + + + + public String getUserRoleIdByUserId(String roleId){ + + String sql = ""; + + + + return null; + } /** * 房屋申请列表详情 @@ -225,23 +322,69 @@ public class GreenHouseController extends GreenBaseController { if (info == null) { return new RestResult(Constant.FAILED, "非法用户"); } - - String sql = "SELECT ghs.HOUSE_ID AS \"houseId\",gha.ID as \"id\", gha.USER_ID as \"userId\", gha.USER_NAME as \"userName\", gha.GENDER as \"gender\", " - + " gha.MARRIAGE_STATE as \"marriageState\", gha.PHONE as \"phone\", gha.ORG_ID as \"orgId\", gha.ORG_NAME as \"orgName\", " - + " gha.POSITION as \"position\", gha.USER_TYPE as \"userType\", gha.HOUSE_TYPE as \"houseType\", gha.APPLY_CAUSE as \"applyCause\"," - + " to_char(gha.APPLY_TIME,'YYYY-MM-DD HH24:MI:SS') as \"applyTime\", gha.EXAMINE_STATE as \"examineState\", gha.EXAMINE_BATCH as \"examineBatch\" ,gha.CONTRACT_START_TIME as \"contractStartTime\" , gha.CONTRACT_END_TIME as \"contractEndTime\" ,gha.PHOTO AS \"photo\",gha.CONTRACT_STATE AS \"contractState\",gha.CONTRACT_PHOTO AS \"contractPhoto\"," - + " ghs.HOUSE_NAME AS \"houseName\",ghs.RESPONSIBLE AS \"pesponsible\",ghs.RESPONSIBLE_PHONE AS \"pesponsiblePhone\",gha.ROOM_INSPECTION AS \"roomInspection\",gha.IS_UPLOAD \"isUpload\", " - + " gha.CHECK_IN_PHOTO AS \"checkInPhoto\",gha.WATER_VALUE AS \"waterValue\",gha.POWER_VALUE AS \"powerValue\"," - + " gha.GAS_VALUE AS \"gasValue\",gha.DEVICE_LIST AS \"deviceList\",ghs.RENT AS \"rent\", " - + " gha.CHECK_OUT_DATE AS \"checkOutDate\",gha.CHECK_OUT_PHOTO AS \"checkOutPhoto\", " - + " gha.PROPERTY_PHOTO AS \"propertyPhoto\",gha.WATER_VALUE_NOW AS \"waterValueNow\", " - + " gha.POWER_VALUE_NOW AS \"powerValueNow\",gha.GAS_VALUE_NOW AS \"gasValueNow\", " - + " gha.WATER_SETTLE_PHOTO AS \"waterSettlePhoto\",gha.POWER_SETTLE_PHOTO AS \"powerSettlePhoto\"," - + " gha.GAS_SETTLE_PHOTO AS \"gasSettlePhoto\",gha.CHECK_DEVICE_LIST AS \"checkDeviceList\", " - + " gha.DEPOSIT_BACK AS \"depositBack\",gha.IS_DEDUCTION AS \"isDeduction\", " - + " gha.DEDUCTION_REASON AS \"deductionReason\" " + " FROM GREEN_HOUSE_APPLY gha" - + " LEFT JOIN GREEN_HOUSE_SELECTED ghs ON ghs.APPLY_ID = gha.ID" - + " WHERE gha.DEL_FLAG = 0 AND gha.ID = ? "; + String sql = "SELECT\n" + + "ghs.HOUSE_ID AS \"houseId\",\n" + + "gha.ID AS \"id\",\n" + + "gha.USER_ID AS \"userId\",\n" + + "gha.USER_NAME AS \"userName\",\n" + + "gha.GENDER AS \"gender\",\n" + + "gha.MARRIAGE_STATE AS \"marriageState\",\n" + + "gha.PHONE AS \"phone\",\n" + + "gha.ORG_ID AS \"orgId\",\n" + + "gha.ORG_NAME AS \"orgName\",\n" + + "gha.POSITION AS \"position\",\n" + + "gha.USER_TYPE AS \"userType\",\n" + + "gha.HOUSE_TYPE AS \"houseType\",\n" + + "gha.APPLY_CAUSE AS \"applyCause\",\n" + + "to_char( gha.APPLY_TIME, 'YYYY-MM-DD HH24:MI:SS' ) AS \"applyTime\",\n" + + "gha.EXAMINE_STATE AS \"examineState\",\n" + + "gha.EXAMINE_BATCH AS \"examineBatch\",\n" + + "gha.CONTRACT_START_TIME AS \"contractStartTime\",\n" + + "gha.CONTRACT_END_TIME AS \"contractEndTime\",\n" + + "gha.PHOTO AS \"photo\",\n" + + "gha.CONTRACT_STATE AS \"contractState\",\n" + + "gha.CONTRACT_PHOTO AS \"contractPhoto\",\n" + + "ghs.HOUSE_NAME AS \"houseName\",\n" + + "ghs.RESPONSIBLE AS \"pesponsible\",\n" + + "ghs.RESPONSIBLE_PHONE AS \"pesponsiblePhone\",\n" + + "gha.ROOM_INSPECTION AS \"roomInspection\",\n" + + "gha.IS_UPLOAD \"isUpload\",\n" + + "gha.CHECK_IN_PHOTO AS \"checkInPhoto\",\n" + + "gha.WATER_VALUE AS \"waterValue\",\n" + + "gha.POWER_VALUE AS \"powerValue\",\n" + + "gha.GAS_VALUE AS \"gasValue\",\n" + + "gha.DEVICE_LIST AS \"deviceList\",\n" + + "ghs.RENT AS \"rent\",\n" + + "gha.CHECK_OUT_DATE AS \"checkOutDate\",\n" + + "gha.CHECK_OUT_PHOTO AS \"checkOutPhoto\",\n" + + "gha.PROPERTY_PHOTO AS \"propertyPhoto\",\n" + + "gha.WATER_VALUE_NOW AS \"waterValueNow\",\n" + + "gha.POWER_VALUE_NOW AS \"powerValueNow\",\n" + + "gha.GAS_VALUE_NOW AS \"gasValueNow\",\n" + + "gha.WATER_SETTLE_PHOTO AS \"waterSettlePhoto\",\n" + + "gha.POWER_SETTLE_PHOTO AS \"powerSettlePhoto\",\n" + + "gha.GAS_SETTLE_PHOTO AS \"gasSettlePhoto\",\n" + + "gha.CHECK_DEVICE_LIST AS \"checkDeviceList\",\n" + + "gha.DEPOSIT_BACK AS \"depositBack\",\n" + + "gha.IS_DEDUCTION AS \"isDeduction\",\n" + + "gha.DEDUCTION_REASON AS \"deductionReason\",\n" + + "gha.CHECK_ID as \"checkId\"\t,\n" + + "gha.CHECK_NODE as \"checkNode\",\n" + + "gha.CHECK_USER as \"checkUser\",\n" + + "gha.IDCARD_IMG as \"idCardImg\",\n" + + "gha.ATTACHMENT as \"attachment\",\n" + + "C.CHECK_TYPE as \"checkType\",\n" + + "C.CHECK_NAME as \"checkName\",\n" + + "C.CHECK_OPERATE as \"checkOperat\" ,\n" + + "gh.HOUSECODE as \"houseCode\" " + + "FROM\n" + + "GREEN_HOUSE_APPLY gha\n" + + "LEFT JOIN GREEN_HOUSE_SELECTED ghs ON ghs.APPLY_ID = gha.ID \n" + + "LEFT JOIN GREEN_HOUSE_CHECK_DETAILS C on C.CHECK_SORT = gha.CHECK_NODE and gha.CHECK_ID = C.CHECK_ID\n" + + "LEFT JOIN GREEN_HOUSE gh on gh.UUID = ghs.HOUSE_ID " + + "WHERE\n" + + "gha.DEL_FLAG = 0 \n" + + "AND gha.ID = ? "; System.err.println(sql); List> list = hibernateDao.queryForListWithSql(sql, new Object[] { rentHouseApply.getId() }); @@ -249,6 +392,8 @@ public class GreenHouseController extends GreenBaseController { map.put("photo", handlePhoto(map.get("photo"))); map.put("contractPhoto", handlePhoto(map.get("contractPhoto"))); map.put("roomInspection", handlePhoto(map.get("roomInspection"))); + map.put("idCardImg", handlePhoto(map.get("idCardImg"))); + map.put("attachment", handlePhoto(map.get("attachment"))); map.put("checkOutPhoto", handlePhoto(map.get("checkOutPhoto"))); map.put("checkInPhoto", handlePhoto(map.get("checkInPhoto"))); map.put("propertyPhoto", handlePhoto(map.get("propertyPhoto"))); @@ -266,7 +411,7 @@ public class GreenHouseController extends GreenBaseController { String ancillaryFacilitieSql = "SELECT gaf.ID AS \"id\"," + "gaf.ASSETSID AS \"assetsid\"," + "gaf.NAME AS \"name\",gaf.BRAND AS \"brand\"," - + "gaf.MODEL AS \"model\",gaf.NUM AS \"num\" " + + "gaf.MODEL AS \"model\",gaf.NUM AS \"num\" ,gaf.PRICE as \"price\" " + " FROM GREEN_HOUSE_SELECTED ghs" + " INNER JOIN GREEN_HOUSE gh ON ghs.HOUSE_ID = gh.UUID" + " INNER JOIN GREEN_ANCILLARY_FACILIITIES gaf ON gh.ASSETS_ID = gaf.ASSETSID" @@ -333,117 +478,244 @@ public class GreenHouseController extends GreenBaseController { if (info == null) { return new RestResult(Constant.FAILED, "非法用户"); } - + System.err.println("info===="+info); + // 查询当前用户是否已存在申请记录 - 内部申请 +// if (Objects.equals("1", rentHouseApply.getUserType())) { +// String existsSql = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_BATCH = '1' or EXAMINE_BATCH='0') AND EXAMINE_STATE = '0' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1')"; +// int count = hibernateDao.queryForIntWithSql(existsSql, new Object[] { userId }); +// if (count > 0) { +// return new RestResult(Constant.FAILED, "您有申请待审核,请勿重复提交"); +// } +// String existsSql2 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_BATCH IN ('2','3') AND EXAMINE_STATE = '0') OR (EXAMINE_BATCH = '3' AND EXAMINE_STATE = '1')) AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; +// int count2 = hibernateDao.queryForIntWithSql(existsSql2, new Object[] { userId }); +// if (count2 > 0) { +// return new RestResult(Constant.FAILED, "您有申请审核中,请勿重复提交"); +// } +// String existsSql3 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '7' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; +// int count3 = hibernateDao.queryForIntWithSql(existsSql3, new Object[] { userId }); +// if (count3 > 0) { +// return new RestResult(Constant.FAILED, "您申请的房源已入住,无法申请"); +// } +// String existsSql4 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '4' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; +// int count4 = hibernateDao.queryForIntWithSql(existsSql4, new Object[] { userId }); +// if (count4 > 0) { +// return new RestResult(Constant.FAILED, "您申请的房源待退租,无法申请"); +// } +// } else if (Objects.equals("2", rentHouseApply.getUserType()) || Objects.equals("3", rentHouseApply.getUserType())) { // 查询当前申请人是否已存在申请记录 +// // - +// // 外部申请 +// String userName = rentHouseApply.getUserName(); +// String phone = rentHouseApply.getPhone(); +// +// String existsSql = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_BATCH IN ('2','3') AND EXAMINE_STATE = '0') OR (EXAMINE_BATCH = '3' AND EXAMINE_STATE = '1')) AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; +// int count = hibernateDao.queryForIntWithSql(existsSql, new Object[] { userName, phone }); +// if (count > 0) { +// return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源审核中,请勿重复提交"); +// } +// +// String existsSql2 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '7' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ? "; +// int count2 = hibernateDao.queryForIntWithSql(existsSql2, new Object[] { userName, phone }); +// if (count2 > 0) { +// return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源已入住,无法申请"); +// } +// String existsSql3 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '4' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ? "; +// int count3 = hibernateDao.queryForIntWithSql(existsSql3, new Object[] { userName, phone }); +// if (count3 > 0) { +// return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源待退租,无法申请"); +// } +// +// String existsSql4 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '1' AND EXAMINE_STATE = '0' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; +// int count4 = hibernateDao.queryForIntWithSql(existsSql, new Object[] { userName, phone }); +// if (count4 > 0) { +// return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源审核中,请勿重复提交"); +// } +// } + //审核状态 :0 待审核 1通过 2不通过 3已选房 4退租待审核 5退租通过(已退房) 6退租不通过 7以租赁 + if (Objects.equals("1", rentHouseApply.getUserType())) { - String existsSql = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '1' AND EXAMINE_STATE = '0' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; + String existsSql = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE = '0' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; int count = hibernateDao.queryForIntWithSql(existsSql, new Object[] { userId }); if (count > 0) { return new RestResult(Constant.FAILED, "您有申请待审核,请勿重复提交"); } - String existsSql2 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_BATCH IN ('2','3') AND EXAMINE_STATE = '0') OR (EXAMINE_BATCH = '3' AND EXAMINE_STATE = '1')) AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; + + String existsSql1 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE = '1' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; + int count1 = hibernateDao.queryForIntWithSql(existsSql1, new Object[] { userId }); + if (count1 > 0) { + return new RestResult(Constant.FAILED, "您已经申请通过,请勿再次提交"); + } + + String existsSql2 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE = '3' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; int count2 = hibernateDao.queryForIntWithSql(existsSql2, new Object[] { userId }); if (count2 > 0) { - return new RestResult(Constant.FAILED, "您有申请审核中,请勿重复提交"); + return new RestResult(Constant.FAILED, "您申请的租房已在选房过程中,请勿再次提交"); } - String existsSql3 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '7' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; + String existsSql3 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_STATE = '4' or EXAMINE_STATE = '6') AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1') "; int count3 = hibernateDao.queryForIntWithSql(existsSql3, new Object[] { userId }); if (count3 > 0) { - return new RestResult(Constant.FAILED, "您申请的房源已入住,无法申请"); + return new RestResult(Constant.FAILED, "您有在退房过程中的任务,请勿再次提交"); } - String existsSql4 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '4' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1'"; + + String existsSql4 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE = '7' AND DEL_FLAG = '0' AND USER_ID = ? AND USER_TYPE = '1' "; int count4 = hibernateDao.queryForIntWithSql(existsSql4, new Object[] { userId }); if (count4 > 0) { - return new RestResult(Constant.FAILED, "您申请的房源待退租,无法申请"); + return new RestResult(Constant.FAILED, "申请的房源已入住,无法申请"); } - } else if (Objects.equals("2", rentHouseApply.getUserType())) { // 查询当前申请人是否已存在申请记录 - // - - // 外部申请 + + }else { + + //审核状态 :0 待审核 1通过 2不通过 3已选房 4退租待审核 5退租通过(已退房) 6退租不通过 7以租赁 String userName = rentHouseApply.getUserName(); String phone = rentHouseApply.getPhone(); - String existsSql = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_BATCH IN ('2','3') AND EXAMINE_STATE = '0') OR (EXAMINE_BATCH = '3' AND EXAMINE_STATE = '1')) AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; + + String existsSql = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE ='0' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; int count = hibernateDao.queryForIntWithSql(existsSql, new Object[] { userName, phone }); if (count > 0) { - return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源审核中,请勿重复提交"); + return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源待审核,请勿重复提交"); } - String existsSql2 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '7' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ? "; + + String existsSql1 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE ='1' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; + int count1 = hibernateDao.queryForIntWithSql(existsSql1, new Object[] { userName, phone }); + if (count1 > 0) { + return new RestResult(Constant.FAILED, userName + "/" + phone + "您已经申请通过,请勿再次提交"); + } + String existsSql2 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE ='3' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; int count2 = hibernateDao.queryForIntWithSql(existsSql2, new Object[] { userName, phone }); if (count2 > 0) { - return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源已入住,无法申请"); + return new RestResult(Constant.FAILED, userName + "/" + phone + "您申请的租房已在选房过程中,请勿再次提交"); } - String existsSql3 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_BATCH = '3' AND EXAMINE_STATE = '4' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ? "; + + String existsSql3 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE ((EXAMINE_STATE ='4' or EXAMINE_STATE ='6')AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?) "; int count3 = hibernateDao.queryForIntWithSql(existsSql3, new Object[] { userName, phone }); if (count3 > 0) { + return new RestResult(Constant.FAILED, userName + "/" + phone + "您有在退房过程中的任务,请勿再次提交"); + } + + String existsSql4 = "SELECT COUNT(*) FROM GREEN_HOUSE_APPLY WHERE EXAMINE_STATE ='7' AND DEL_FLAG = '0' AND USER_NAME = ? AND PHONE = ?"; + int count4 = hibernateDao.queryForIntWithSql(existsSql4, new Object[] { userName, phone }); + if (count4 > 0) { return new RestResult(Constant.FAILED, userName + "/" + phone + "申请的房源待退租,无法申请"); } + } + String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + String checkId = rentHouseApply.getCheckId(); + //下节点审核角色 + String checkRole = rentHouseApply.getCheckRole(); + if(StringHelper.isEmpty(checkId)){ + return new RestResult(Constant.FAILED, "审核放行checkId数据异常,请联系管理员处理 "); + //checkId = "445a768107654c95a02cb17bfad4ef99"; + } +// if(StringHelper.isEmpty(checkRole)){ +// return new RestResult(Constant.FAILED, "checkRole数据为空,请联系管理员处理 "); +// } + + if(StringHelper.isEmpty(rentHouseApply.getIdCardImg())){ + return new RestResult(Constant.FAILED, "身份证正反面数据为空,请联系管理员处理 "); + } + + //第一次上传 默认待审核节点是1 + String checkNode = "1"; + //第一次上传 默认状态为待审核 + String examineBatch = "1"; + //未分配房源 1. 未选房 2.已选房 3.已上传合同 + String isUpload = "1"; + //待生产合同 + String contractState = "0"; + + +// //1代表方管经办人审核,选择房源照片操作等;2代表方管经办人抄送,上传合同等数据等;默认为0 +// String checkoperate = rentHouseApply.getCheckoperate(); +// //流程类型 1房管经办人审核 2选择人员审核 +// String checkType = rentHouseApply.getCheckType(); +// //流程类型1租房申请;2退租申请;3办卡;4办证 +// String proecssType = rentHouseApply.getProecssType(); +// if("1".equals(checkType)){ +// checkUser = "0"; +// } +// else{ +// GreenHouseCheckInfo uBean = new GreenHouseCheckInfo(); +// uBean.setUserId(userId); +// RestResult result = getPersonIdByUserId(uBean); +// if(Constant.SUCCESS.equals(result.getReturnCode())){ +// GreenHouseCheckInfo greenHouse = (GreenHouseCheckInfo)result.getReturnData(); +// checkUser = greenHouse.getUserId(); +// } +// } + + //根据checId 查询当前审核流程配置信息 +// RestResult result = getCheckDetailsByCheckIdAndDetailsSort(checkId,checkNode); + // 查询第一审核批次 - String batchSql = "SELECT ID,DATA_TYPE,DATA_CODE,DATA_VALUE FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'houseExamineSwitch' AND IS_DELETED = 'N' AND DATA_VALUE = 1 ORDER BY DATA_CODE ASC "; - List> list = hibernateDao.queryForListWithSql(batchSql); - String examineBatch = "0"; - if (list.size() > 0) { - examineBatch = list.get(0).get("DATA_CODE"); - } - String isUpload = null, contractState = null; - if (StringUtils.isNotBlank(rentHouseApply.getHouseId())) { - // 外部人员申请默认已分配房源、待上传合同、房管领导审批 - isUpload = "2"; - contractState = "0"; - examineBatch = "2"; - } +// String batchSql = "SELECT ID,DATA_TYPE,DATA_CODE,DATA_VALUE FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'houseExamineSwitch' AND IS_DELETED = 'N' AND DATA_VALUE = 1 ORDER BY DATA_CODE ASC "; +// List> list = hibernateDao.queryForListWithSql(batchSql); +// String examineBatch = "0"; +// if (list.size() > 0) { +// examineBatch = list.get(0).get("DATA_CODE"); +// } +// String isUpload = null, contractState = null; +// if (StringUtils.isNotBlank(rentHouseApply.getHouseId())) { +// // 外部人员申请默认已分配房源、待上传合同、房管领导审批 +// isUpload = "2"; +// contractState = "0"; +// examineBatch = "2"; +// } String sql = "INSERT INTO GREEN_HOUSE_APPLY (ID,USER_ID,USER_NAME,GENDER,MARRIAGE_STATE,PHONE, " - + "ORG_ID,ORG_NAME,POSITION,USER_TYPE,HOUSE_TYPE,APPLY_CAUSE,APPLY_TIME,DEL_FLAG,EXAMINE_STATE,EXAMINE_BATCH,ROOM_INSPECTION,IS_UPLOAD,CONTRACT_STATE) " - + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,0,0,?,?,?,?) "; + + "ORG_ID,ORG_NAME,POSITION,USER_TYPE,HOUSE_TYPE,APPLY_CAUSE,APPLY_TIME,DEL_FLAG,EXAMINE_STATE,EXAMINE_BATCH," + + "ROOM_INSPECTION,IS_UPLOAD,CONTRACT_STATE,CHECK_ID,CHECK_NODE,CHECK_USER,IDCARD_IMG,ATTACHMENT) " + + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,0,0,?,?,?,?,?,?,?,?,?) "; hibernateDao.executeSqlUpdate(sql, new Object[] { uuid, rentHouseApply.getUserId(), rentHouseApply.getUserName(), rentHouseApply.getGender(), rentHouseApply.getMarriageState(), rentHouseApply.getPhone(), rentHouseApply.getOrgId(), rentHouseApply.getOrgName(), rentHouseApply.getPosition(), rentHouseApply.getUserType(), rentHouseApply.getHouseType(), rentHouseApply.getApplyCause(), - examineBatch, rentHouseApply.getRoomInspection(), isUpload, contractState }); - // 外部人员申请房源 - if (Objects.equals("2", rentHouseApply.getUserType())) { - // 查询房屋详情数据 - String HOUSE_NAME = null, HOUSE_TYPE = null, HOUSE_ADDR = null, ACREAGE = null, MODEL = null, - BUILDING_YEAR = null, DEVICE = null, RESPONSIBLE = null, RESPONSIBLE_PHONE = null, PRICE = null, - RENT_TYPE = null, RENT = null; - String houseDetailSql = "SELECT UUID,HOUSE_NAME,ASSETS_ID,HOUSE_TYPE," - + "HOUSE_ADDR,ACREAGE,DEED,MODEL,MAP,BUILDING_YEAR,BUILDING_YEAR,STATUS,RESPONSIBLE," - + "RESPONSIBLE_PHONE,PRICE,RENT_TYPE,WATER,WATER_NUM,ELEC,ELEC_NUM,GAS,GAS_NUM,PROPERTY,RENT," - + "AMOUNT,AIR" - + " FROM GREEN_HOUSE WHERE UUID = '" + rentHouseApply.getHouseId() - + "' AND IS_DELETED = 'N'"; - List> houseList = hibernateDao.queryForListWithSql(houseDetailSql); - if (CollectionUtils.isNotEmpty(houseList)) { - Map houseDetail = houseList.get(0); - HOUSE_NAME = houseDetail.get("HOUSE_NAME"); - HOUSE_TYPE = houseDetail.get("HOUSE_TYPE"); - HOUSE_ADDR = houseDetail.get("HOUSE_ADDR"); - ACREAGE = houseDetail.get("ACREAGE"); - MODEL = houseDetail.get("MODEL"); - BUILDING_YEAR = houseDetail.get("BUILDING_YEAR"); - DEVICE = houseDetail.get("DEVICE"); - RESPONSIBLE = houseDetail.get("RESPONSIBLE"); - RESPONSIBLE_PHONE = houseDetail.get("RESPONSIBLE_PHONE"); - PRICE = houseDetail.get("PRICE"); - RENT_TYPE = houseDetail.get("RENT_TYPE"); - RENT = houseDetail.get("RENT"); - } - String checkHouseId = UUID.randomUUID().toString().replaceAll("-", ""); - // 添加选房数据 - String addHouseSql = "INSERT INTO GREEN_HOUSE_SELECTED(UUID,HOUSE_ID,HOUSE_NAME,HOUSE_TYPE,HOUSE_ADDR,ACREAGE,MODEL, " - + "BUILDING_YEAR,DEVICE,RESPONSIBLE,RESPONSIBLE_PHONE,CREATOR,GMT_CREATED,IS_DELETED,PRICE,RENT_TYPE,APPLY_ID,RENT) " - + "values(?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'N',?,?,?,?) "; - hibernateDao.executeSqlUpdate(addHouseSql, - new Object[] { checkHouseId, rentHouseApply.getHouseId(), HOUSE_NAME, HOUSE_TYPE, HOUSE_ADDR, - ACREAGE, MODEL, BUILDING_YEAR, DEVICE, RESPONSIBLE, RESPONSIBLE_PHONE, userId, PRICE, - RENT_TYPE, uuid, RENT }); - // 更新房屋状态为在租 - String updateSql = "UPDATE GREEN_HOUSE SET STATUS = '2' WHERE UUID = '" + rentHouseApply.getHouseId() - + "' "; - hibernateDao.executeSqlUpdate(updateSql); - } + examineBatch, rentHouseApply.getRoomInspection(), isUpload, contractState,checkId,checkNode,checkRole,rentHouseApply.getIdCardImg(),rentHouseApply.getAttachment() }); + //外部人员申请房源 先阶段不分内外部人员 暂时注释 +// if (Objects.equals("2", rentHouseApply.getUserType())) { +// // 查询房屋详情数据 +// String HOUSE_NAME = null, HOUSE_TYPE = null, HOUSE_ADDR = null, ACREAGE = null, MODEL = null, +// BUILDING_YEAR = null, DEVICE = null, RESPONSIBLE = null, RESPONSIBLE_PHONE = null, PRICE = null, +// RENT_TYPE = null, RENT = null; +// String houseDetailSql = "SELECT UUID,HOUSE_NAME,ASSETS_ID,HOUSE_TYPE," +// + "HOUSE_ADDR,ACREAGE,DEED,MODEL,MAP,BUILDING_YEAR,BUILDING_YEAR,STATUS,RESPONSIBLE," +// + "RESPONSIBLE_PHONE,PRICE,RENT_TYPE,WATER,WATER_NUM,ELEC,ELEC_NUM,GAS,GAS_NUM,PROPERTY,RENT," +// + "AMOUNT,AIR" +// + " FROM GREEN_HOUSE WHERE UUID = '" + rentHouseApply.getHouseId() +// + "' AND IS_DELETED = 'N'"; +// List> houseList = hibernateDao.queryForListWithSql(houseDetailSql); +// if (CollectionUtils.isNotEmpty(houseList)) { +// Map houseDetail = houseList.get(0); +// HOUSE_NAME = houseDetail.get("HOUSE_NAME"); +// HOUSE_TYPE = houseDetail.get("HOUSE_TYPE"); +// HOUSE_ADDR = houseDetail.get("HOUSE_ADDR"); +// ACREAGE = houseDetail.get("ACREAGE"); +// MODEL = houseDetail.get("MODEL"); +// BUILDING_YEAR = houseDetail.get("BUILDING_YEAR"); +// DEVICE = houseDetail.get("DEVICE"); +// RESPONSIBLE = houseDetail.get("RESPONSIBLE"); +// RESPONSIBLE_PHONE = houseDetail.get("RESPONSIBLE_PHONE"); +// PRICE = houseDetail.get("PRICE"); +// RENT_TYPE = houseDetail.get("RENT_TYPE"); +// RENT = houseDetail.get("RENT"); +// } +// String checkHouseId = UUID.randomUUID().toString().replaceAll("-", ""); +// // 添加选房数据 +// String addHouseSql = "INSERT INTO GREEN_HOUSE_SELECTED(UUID,HOUSE_ID,HOUSE_NAME,HOUSE_TYPE,HOUSE_ADDR,ACREAGE,MODEL, " +// + "BUILDING_YEAR,DEVICE,RESPONSIBLE,RESPONSIBLE_PHONE,CREATOR,GMT_CREATED,IS_DELETED,PRICE,RENT_TYPE,APPLY_ID,RENT) " +// + "values(?,?,?,?,?,?,?,?,?,?,?,?,SYSDATE,'N',?,?,?,?) "; +// hibernateDao.executeSqlUpdate(addHouseSql, +// new Object[] { checkHouseId, rentHouseApply.getHouseId(), HOUSE_NAME, HOUSE_TYPE, HOUSE_ADDR, +// ACREAGE, MODEL, BUILDING_YEAR, DEVICE, RESPONSIBLE, RESPONSIBLE_PHONE, userId, PRICE, +// RENT_TYPE, uuid, RENT }); +// // 更新房屋状态为在租 +// String updateSql = "UPDATE GREEN_HOUSE SET STATUS = '2' WHERE UUID = '" + rentHouseApply.getHouseId() +// + "' "; +// hibernateDao.executeSqlUpdate(updateSql); +// } + return new RestResult(Constant.SUCCESS, "操作成功", uuid); } catch (Exception e) { e.printStackTrace(); @@ -451,6 +723,98 @@ public class GreenHouseController extends GreenBaseController { return new RestResult(Constant.FAILED, "操作失败"); } } + + @SuppressWarnings("deprecation") + @RequestMapping(value = "/getCheckDetailsByCheckIdAndDetailsSort", method = RequestMethod.POST) + @Transactional(rollbackFor = Exception.class) + @ResponseBody + public RestResult getCheckDetailsByCheckIdAndDetailsSort(GreenHouseCheckInfo greenHouseInfo){ + String checkId = greenHouseInfo.getCheckId(); + String sort = greenHouseInfo.getCheckSort(); + if(StringHelper.isEmpty(sort)){ + return new RestResult(Constant.FAILED, "节点ID不能为空!"); + } + if(StringHelper.isEmpty(checkId)){ + return new RestResult(Constant.FAILED, "审核流程ID不能为空!"); + } + String sql = "SELECT DISTINCT a.CHECK_ID as \"checkId\" ,a.CHECK_NAME as \"checkName\",a.CHECK_NUM as \"checkNum\", " + + "a.PROECSS_TYPE as \"proecssType\",b.CHECK_DETAILS_ID as \"checkDetailsId\",b.CHECK_NAME as \"checkDetailsName\", b.CHECK_ROLE as \"checkRole\", " + + "b.CHECK_TYPE as \"checkType\",b.CHECK_SORT as \"checkSort\",b.CHECK_OPERATE as \"checkoperate\" " + + " FROM (" + + "select * from GREEN_HOUSE_CHECK WHERE CHECK_ID = ? " + + ") a LEFT JOIN GREEN_HOUSE_CHECK_DETAILS b " + + "on a.CHECK_ID = b.CHECK_ID " + + "where b.CHECK_SORT = ? " + + "ORDER BY b.CHECK_SORT "; + try{ + List> list = hibernateDao.queryForListWithSql(sql, new Object[] { checkId,sort }); + GreenHouseCheckInfo bean = new GreenHouseCheckInfo(); + if(list !=null && list.size() >0){ + String checkIds = list.get(0).get("checkId"); + String checkName = list.get(0).get("checkName"); + String checkNum = list.get(0).get("checkNum"); + String proecssType = list.get(0).get("proecssType"); + String checkDetailsId = list.get(0).get("checkDetailsId"); + String checkDetailsName = list.get(0).get("checkDetailsName"); + String checkRole = list.get(0).get("checkRole"); + String checkType = list.get(0).get("checkType"); + String checkSort = list.get(0).get("checkSort"); + String checkoperate = list.get(0).get("checkoperate"); + bean.setCheckId(checkIds); + bean.setCheckName(checkName); + bean.setCheckNum(checkNum); + bean.setProecssType(proecssType); + bean.setCheckDetailsId(checkDetailsId); + bean.setCheckDetailsName(checkDetailsName); + bean.setCheckRole(checkRole); + bean.setCheckType(checkType); + bean.setCheckSort(checkSort); + bean.setCheckoperate(checkoperate); + + } + System.err.println("getCheckDetailsByCheckIdAndDetailsSort list ="+list.toString()); + System.err.println("getCheckDetailsByCheckIdAndDetailsSort bean ="+bean.toString()); + System.err.println("checkId ="+checkId +" ,sort="+sort); + return new RestResult(Constant.SUCCESS, "操作成功",list); + }catch(Exception e){ + return new RestResult(Constant.FAILED, "查询异常"); + } + + } + + + @SuppressWarnings("deprecation") + @RequestMapping(value = "/getPersonIdByRoleId", method = RequestMethod.POST) + @Transactional(rollbackFor = Exception.class) + @ResponseBody + public RestResult getPersonIdByRoleId(GreenHouseCheckInfo greenHouseInfo){ + //待统一权限流程梳理完毕 再编写接口00 + String sql = "select gi.ID,gi.REAL_NAME from ( " + + "SELECT * FROM GREEN_ROLE where ID = ? " + + ") " + + "gr " + + "LEFT JOIN GREEN_USER_ROLE_REL gu ON gr.ID = gu.ROLE_ID " + + "LEFT JOIN GREEN_USER_INFO gi ON gi.ID = gu.USER_ID " + + "where gi.ID is not null and gi.REAL_NAME is not null "; + + String roleId = greenHouseInfo.getCheckRole(); + if(StringHelper.isEmpty(roleId)){ + return new RestResult(Constant.FAILED, "roleId为空"); + } + List> list = hibernateDao.queryForListWithSql(sql, new Object[] { roleId }); + String id = ""; + String realName = ""; + GreenHouseCheckInfo bean = new GreenHouseCheckInfo(); +// if(list !=null && list.size() >0){ +// id = list.get(0).get("ID"); +// realName = list.get(0).get("REAL_NAME"); +// bean.setUserId(id); +// bean.setUserName(realName); +// } + + return new RestResult(Constant.SUCCESS, "操作成功",list); + } + /** * 房屋申请审批 @@ -471,92 +835,271 @@ public class GreenHouseController extends GreenBaseController { return new RestResult(Constant.FAILED, "非法用户"); } + //审核记录唯一标识 String uuid = UUID.randomUUID().toString().replaceAll("-", ""); + //房屋申请唯一标识 String applyId = map.get("applyId"); + //审核人员姓名 String userName = map.get("userName"); + //审核状态 1通过 2不通过 String examineState = map.get("examineState"); + //审核意见 String examineOpinion = map.get("examineOpinion"); + //审核节点 现已弃用 String examineBatch = map.get("examineBatch"); + //房屋id 若未选择房源 可以不传 String houseId = map.get("houseId"); + //是否上传合同 1. 未选房 2.已选房 3.已上传合同 String isUpload = map.get("isUpload"); + //以下新增字段 + //审核ID + String checkId = map.get("checkId"); + + //审核节点 + String checkSort = map.get("checkSort"); + + //1代表方管经办人审核,选择房源照片操作等;2代表方管经办人抄送,上传合同等数据等;默认为0 + String checkOperate = map.get("checkOperate"); + + //流程类型 1房管经办人审核 2选择人员审核 + String checkType = map.get("checkType"); + + //流程名称 + String checkName = map.get("checkName"); + + if(("2".equals(checkType) && "2".equals(checkOperate)) || ("2".equals(checkType) && "1".equals(checkOperate))){ + return new RestResult(Constant.FAILED, "审核类型与所需操作互斥,请求驳回"); + } + if (StringUtils.isBlank(examineState)) { return new RestResult(Constant.FAILED, "审核状态不能为空"); } - if (StringUtils.isBlank(examineBatch)) { - return new RestResult(Constant.FAILED, "审核批次不能为空"); +// if (StringUtils.isBlank(examineBatch)) { +// return new RestResult(Constant.FAILED, "审核批次不能为空"); +// } + if (StringUtils.isBlank(checkId)) { + return new RestResult(Constant.FAILED, "审核流程不能为空"); } - - // 查询下一审核批次 - String batchSql = "SELECT ID,DATA_TYPE,DATA_CODE,DATA_VALUE FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'houseExamineSwitch' " - + "AND IS_DELETED = 'N' AND DATA_VALUE = 1 AND DATA_CODE > ? ORDER BY DATA_CODE ASC "; - List> list = hibernateDao.queryForListWithSql(batchSql, new Object[] { examineBatch }); - // 不为空则更改审核批次,否则更改申请单的审核状态 - if (list.size() > 0) { - if ("1".equals(examineState)) { - String lastExamineBatch = list.get(0).get("DATA_CODE"); - String updateBatchSql = null; - if (org.apache.commons.lang3.StringUtils.isEmpty(isUpload)) { - updateBatchSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_BATCH = ? WHERE ID = ? "; - hibernateDao.executeSqlUpdate(updateBatchSql, new Object[] { lastExamineBatch, applyId }); - } else { + if (StringUtils.isBlank(checkSort)) { + return new RestResult(Constant.FAILED, "审核节点不能为空"); + } + if("1".equals(examineState) || "2".equals(examineState)){ + + }else{ + return new RestResult(Constant.FAILED, "审核结果为 通过/不通过 无第三种情况"); + } + + + String batchSql = "SELECT * FROM (\n" + + "SELECT CHECK_SORT as \"checkSort\" , CHECK_ROLE as \"checkRole\" ,CHECK_NAME as \"checkName\" FROM GREEN_HOUSE_CHECK_DETAILS WHERE CHECK_ID =? AND CHECK_SORT > ? " + + ") WHERE ROWNUM <2"; + System.err.println("batchSql====="+batchSql); + List> list = hibernateDao.queryForListWithSql(batchSql, new Object[] { checkId,checkSort}); + String nextCheckSort =""; + String nextCheckRole =""; + String nextCheckName ="" ; + // list为空 说明后需已经没有审核人员了,流程结束 不为空则代表还有后续审核 + StringBuffer updateBatchSql = new StringBuffer(); + System.err.println("list====="+list); + + //房管经办人选房 + //1 添加选房数据 + //2 UPDATE GREEN_HOUSE_APPLY SET IS_UPLOAD = '2',CONTRACT_STATE = '0' WHERE ID = + //3 UPDATE GREEN_HOUSE SET STATUS = '2' WHERE UUID = '" + houseId + "' + // + + //房管经办人上传合同 + //1 INSERT INTO GREEN_HOUSE_CONTRACT + //String updateStateSql = "UPDATE GREEN_HOUSE_APPLY SET IS_UPLOAD = ?,CONTRACT_START_TIME=?,CONTRACT_END_TIME=?,PHOTO=?,CONTRACT_STATE=1 ,CONTRACT_PHOTO =?,CHECK_IN_PHOTO = ?,WATER_VALUE = ?,POWER_VALUE = ?,GAS_VALUE = ?,DEVICE_LIST = ? WHERE ID = ? "; + //hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { "3", contractStartTime, contractEndTime, + // photo, contractPhoto, checkInPhoto, waterValue, powerValue, gasValue, deviceList, applyId }); + + if (list !=null && list.size() > 0) { + nextCheckSort = list.get(0).get("checkSort"); + //nextCheckRole = list.get(0).get("checkRole"); + nextCheckRole = "100061"; + nextCheckName = list.get(0).get("checkName"); + //通过 + if("1".equals(examineState)){ + //更新审批节点属性 + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_BATCH = ? ,CHECK_NODE =? ,CHECK_USER = ? WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { nextCheckSort,nextCheckSort,nextCheckRole, applyId }); + //房管经办人审核 + if("1".equals(checkType)){ + //选房 1代表方管经办人审核,选择房源照片操作等;2代表方管经办人抄送,上传合同等数据等;默认为0 + if("1".equals(checkOperate)){ + updateBatchSql.setLength(0); + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = '3' WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { applyId }); + + //上传合同 + }else if("2".equals(checkOperate)){ + updateBatchSql.setLength(0); + // 上传合同-结束流程/更新租房申请状态为已租赁 + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = '7' WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { applyId }); + updateBatchSql.setLength(0); + updateBatchSql.append( "INSERT INTO GREEN_HOUSE_APPLY_EXAMINE(ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION," + + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " + + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { uuid, applyId, userId, userName, "1", + examineOpinion, nextCheckSort,checkName }); + // 更新房屋状态为在用 + updateBatchSql.setLength(0); + updateBatchSql.append( "UPDATE GREEN_HOUSE SET STATUS = ? WHERE UUID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { 3, houseId }); + } + }else{//普通审核节点审核 + //暂无需实现逻辑 + + } + + }else{ + //不通过 + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = ? WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { examineState, applyId }); + + } + + }else{ + if("1".equals(checkType)){ + System.err.println("111111111111111 checkOperate="+checkOperate); + //选房 1代表方管经办人审核,选择房源照片操作等;2代表方管经办人抄送,上传合同等数据等;默认为0 + if("1".equals(checkOperate)){ + System.err.println("222222222222"); + updateBatchSql.setLength(0); + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = '3' WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { applyId }); + //上传合同 + }else if("2".equals(checkOperate)){ + System.err.println("3333333333333"); + updateBatchSql.setLength(0); // 上传合同-结束流程/更新租房申请状态为已租赁 - updateBatchSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = '7' WHERE ID = ? "; - hibernateDao.executeSqlUpdate(updateBatchSql, new Object[] { applyId }); - String sql = "INSERT INTO GREEN_HOUSE_APPLY_EXAMINE(ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION," - + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " - + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "; - hibernateDao.executeSqlUpdate(sql, new Object[] { uuid, applyId, userId, userName, "1", - examineOpinion, "4", "房屋经办人上传合同" }); + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = '7',CHECK_USER = 0, CHECK_NODE = 0 WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { applyId }); +// updateBatchSql.setLength(0); +// updateBatchSql.append( "INSERT INTO GREEN_HOUSE_APPLY_EXAMINE(ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION," +// + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " +// + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "); +// hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { uuid, applyId, userId, userName, "1", +// examineOpinion, nextCheckSort,checkName }); // 更新房屋状态为在用 - String updateHosueStateSql = "UPDATE GREEN_HOUSE SET STATUS = ? WHERE UUID = ? "; - hibernateDao.executeSqlUpdate(updateHosueStateSql, new Object[] { 3, houseId }); - return new RestResult(Constant.SUCCESS, "操作成功"); + updateBatchSql.setLength(0); + updateBatchSql.append( "UPDATE GREEN_HOUSE SET STATUS = ? WHERE UUID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { 3, houseId }); } - } else if ("2".equals(examineState)) { - String updateStateSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = ? WHERE ID = ? "; - hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { examineState, applyId }); + + }else{ + //更新审批节点属性 + updateBatchSql.append("UPDATE GREEN_HOUSE_APPLY SET EXAMINE_BATCH = ? ,CHECK_NODE =? ,CHECK_USER = ? WHERE ID = ? "); + hibernateDao.executeSqlUpdate(updateBatchSql.toString(), new Object[] { nextCheckSort,nextCheckSort,nextCheckRole, applyId }); + System.err.println("4444444444"); } - } else { - String updateStateSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE =? WHERE ID = ? "; - if ("3".equals(examineBatch)) { - if ("1".equals(examineState)) { - hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { examineState, applyId }); - } else if ("2".equals(examineState)) { - // 房管领导 审核不通过 - String updateHosueStateSql = "DELETE GREEN_HOUSE_SELECTED WHERE APPLY_ID = ? "; - hibernateDao.executeSqlUpdate(updateHosueStateSql, new Object[] { applyId }); - // 更新房屋状态为闲置 - String updateSql = "UPDATE GREEN_HOUSE SET STATUS = '1' WHERE UUID = '" + houseId + "' "; - hibernateDao.executeSqlUpdate(updateSql); - - } - } - hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { examineState, applyId }); + } - - // 查询当前批次描述 - String description = ""; - String sqls = "SELECT DATA_CODE as \"id\",DATA_VALUE as \"name\",DESCRIPTION as \"description\" FROM GREEN_DICTIONARY_INFO " - + "WHERE DATA_TYPE = 'houseExamineSwitch' AND IS_DELETED = 'N' and DATA_CODE = ? "; - List> lists = hibernateDao.queryForListWithSql(sqls, new Object[] { examineBatch }); - if (lists.size() > 0) { - description = lists.get(0).get("description"); - } - - // 插入数据 + String sql = "INSERT INTO GREEN_HOUSE_APPLY_EXAMINE(ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION," - + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "; + + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "; hibernateDao.executeSqlUpdate(sql, new Object[] { uuid, applyId, userId, userName, examineState, - examineOpinion, examineBatch, description }); - + examineOpinion, checkSort, checkName }); + + return new RestResult(Constant.SUCCESS, "操作成功"); + + +// // 查询下一审核批次 +// String batchSql = "SELECT ID,DATA_TYPE,DATA_CODE,DATA_VALUE FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'houseExamineSwitch' " +// + "AND IS_DELETED = 'N' AND DATA_VALUE = 1 AND DATA_CODE > ? ORDER BY DATA_CODE ASC "; +// List> list = hibernateDao.queryForListWithSql(batchSql, new Object[] { examineBatch }); +// // 不为空则更改审核批次,否则更改申请单的审核状态 +// if (list.size() > 0) { +// if ("1".equals(examineState)) { +// String lastExamineBatch = list.get(0).get("DATA_CODE"); +// String updateBatchSql = null; +// if (org.apache.commons.lang3.StringUtils.isEmpty(isUpload)) { +// updateBatchSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_BATCH = ? WHERE ID = ? "; +// hibernateDao.executeSqlUpdate(updateBatchSql, new Object[] { lastExamineBatch, applyId }); +// } else { +// // 上传合同-结束流程/更新租房申请状态为已租赁 +// updateBatchSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = '7' WHERE ID = ? "; +// hibernateDao.executeSqlUpdate(updateBatchSql, new Object[] { applyId }); +// String sql = "INSERT INTO GREEN_HOUSE_APPLY_EXAMINE(ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION," +// + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " +// + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "; +// hibernateDao.executeSqlUpdate(sql, new Object[] { uuid, applyId, userId, userName, "1", +// examineOpinion, "4", "房屋经办人上传合同" }); +// // 更新房屋状态为在用 +// String updateHosueStateSql = "UPDATE GREEN_HOUSE SET STATUS = ? WHERE UUID = ? "; +// hibernateDao.executeSqlUpdate(updateHosueStateSql, new Object[] { 3, houseId }); +// return new RestResult(Constant.SUCCESS, "操作成功"); +// } +// } else if ("2".equals(examineState)) { +// String updateStateSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = ? WHERE ID = ? "; +// hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { examineState, applyId }); +// } +// } else { +// String updateStateSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE =? WHERE ID = ? "; +// if ("3".equals(examineBatch)) { +// if ("1".equals(examineState)) { +// hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { examineState, applyId }); +// } else if ("2".equals(examineState)) { +// // 房管领导 审核不通过 +// String updateHosueStateSql = "DELETE GREEN_HOUSE_SELECTED WHERE APPLY_ID = ? "; +// hibernateDao.executeSqlUpdate(updateHosueStateSql, new Object[] { applyId }); +// // 更新房屋状态为闲置 +// String updateSql = "UPDATE GREEN_HOUSE SET STATUS = '1' WHERE UUID = '" + houseId + "' "; +// hibernateDao.executeSqlUpdate(updateSql); +// +// } +// } +// hibernateDao.executeSqlUpdate(updateStateSql, new Object[] { examineState, applyId }); +// } +// +// // 查询当前批次描述 +// String description = ""; +// String sqls = "SELECT DATA_CODE as \"id\",DATA_VALUE as \"name\",DESCRIPTION as \"description\" FROM GREEN_DICTIONARY_INFO " +// + "WHERE DATA_TYPE = 'houseExamineSwitch' AND IS_DELETED = 'N' and DATA_CODE = ? "; +// List> lists = hibernateDao.queryForListWithSql(sqls, new Object[] { examineBatch }); +// if (lists.size() > 0) { +// description = lists.get(0).get("description"); +// } +// +// // 插入数据 +// String sql = "INSERT INTO GREEN_HOUSE_APPLY_EXAMINE(ID,APPLY_ID,USER_ID,USER_NAME,EXAMINE_STATE,EXAMINE_OPINION," +// + "EXAMINE_TIME,DEL_FLAG,EXAMINE_BATCH,BATCH_DESCRIPTION) " + "VALUES(?,?,?,?,?,?,SYSDATE,0,?,?) "; +// hibernateDao.executeSqlUpdate(sql, new Object[] { uuid, applyId, userId, userName, examineState, +// examineOpinion, examineBatch, description }); + + +// return new RestResult(Constant.SUCCESS, "操作成功"); } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return new RestResult(Constant.FAILED, "操作失败"); } } + + + @SuppressWarnings("deprecation") + @RequestMapping(value = "/getCheckNodeByThisNodeAndCheckId", method = RequestMethod.POST) + @Transactional(rollbackFor = Exception.class) + @ResponseBody + public RestResult getCheckNodeByThisNodeAndCheckId(GreenHouseCheckInfo bean){ + String checkId = bean.getCheckId(); + String checkNode = bean.getCheckSort(); + if(StringHelper.isEmpty(checkId) || StringHelper.isEmpty(checkNode)){ + return new RestResult(Constant.FAILED,"checkId和checkSort不能为空,请检查参数"); + } + + String sql = "SELECT * FROM (\n" + + "SELECT CHECK_SORT as \"checkSort\" , CHECK_ROLE as \"checkRole\" ,CHECK_NAME as \"checkName\" FROM GREEN_HOUSE_CHECK_DETAILS WHERE CHECK_ID =? AND CHECK_SORT > ? " + + ") WHERE ROWNUM <2"; + + List list = hibernateDao.queryForListWithSql(sql, new Object[] { checkId,checkNode},new BeanPropertyRowMapper(GreenHouseCheckInfo.class)); + return new RestResult(Constant.SUCCESS,"操作成功",list); + } + @SuppressWarnings("deprecation") @RequestMapping(value = "/addSelectedHouse", method = RequestMethod.POST) @@ -675,6 +1218,7 @@ public class GreenHouseController extends GreenBaseController { + "RESPONSIBLE_PHONE,PRICE,RENT_TYPE,WATER,WATER_NUM,ELEC,ELEC_NUM,GAS,GAS_NUM,PROPERTY,RENT," + "AMOUNT,AIR" +" FROM GREEN_HOUSE WHERE UUID = '" + houseId + "' AND IS_DELETED = 'N'"; + System.err.println(" 查询房屋详情数据Sql="+houseDetailSql); List> houseList = hibernateDao.queryForListWithSql(houseDetailSql); if (CollectionUtils.isNotEmpty(houseList)) { Map houseDetail = houseList.get(0); @@ -893,8 +1437,23 @@ public class GreenHouseController extends GreenBaseController { gasValueNow, waterSettlePhoto, powerSettlePhoto, gasSettlePhoto, checkDeviceList, depositBack, isDeduction, deductionReason, applyId }); } else { // 提交退租申请 - String updateBatchSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = ? WHERE ID = ? "; - hibernateDao.executeSqlUpdate(updateBatchSql, new Object[] { status, applyId }); + + String sql = "SELECT * FROM ( " + + " SELECT A.CHECK_SORT as \"checkSort\" , A.CHECK_ROLE as \"checkRole\" ,A.CHECK_NAME as \"checkName\",A.CHECK_ID as \"checkId\" " + + " FROM GREEN_HOUSE_CHECK_DETAILS A LEFT JOIN GREEN_HOUSE_CHECK B on A.CHECK_ID = B.CHECK_ID " + + " WHERE B.PROECSS_TYPE ='2' AND A.CHECK_SORT =1 " + + " ) WHERE ROWNUM <2 "; + List list = hibernateDao.queryForListWithSql(sql.toString(),new BeanPropertyRowMapper(GreenHouseCheckInfo.class)); + System.err.println("list==="+list.toString()); + if(list !=null && list.size()>0){ + String checkId = list.get(0).getCheckId(); + String checkSort = list.get(0).getCheckSort(); + String updateBatchSql = "UPDATE GREEN_HOUSE_APPLY SET EXAMINE_STATE = ?,UN_CHECK_ID = ?,CHECK_SORT = ?,CHECK_NODE = ? WHERE ID = ? "; + hibernateDao.executeSqlUpdate(updateBatchSql, new Object[] { status, checkId,checkSort,"1",applyId }); + }else{ + return new RestResult(Constant.FAILED, "未配置退租相关审核流程,请添加后再提交退租", map); + } + } return new RestResult(Constant.SUCCESS, "操作成功", map); } catch (Exception e) { @@ -942,9 +1501,9 @@ public class GreenHouseController extends GreenBaseController { GreenUserInfo info = getUserInfo(userId); String dataType = map.get("dataType"); String sql = "SELECT DATA_CODE as \"id\",DATA_VALUE as \"name\",DESCRIPTION as \"description\" FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = ?"; - if (info.getLeader() != null && !"1".equals(info.getLeader())) { - sql += " AND DATA_CODE NOT IN (1,2)"; - } +// if (info.getLeader() != null && !"1".equals(info.getLeader())) { +// sql += " AND DATA_CODE NOT IN (1,2)"; +// } sql += " AND IS_DELETED = 'N' "; List> list = hibernateDao.queryForListWithSql(sql, new Object[] { dataType }); return new RestResult(Constant.SUCCESS, "操作成功", list); @@ -1127,14 +1686,32 @@ public class GreenHouseController extends GreenBaseController { StringBuilder houseTypeSql = new StringBuilder(); if (Objects.equals("1", userType)) { // 内部人员 - houseTypeSql.append("SELECT DATA_CODE AS \"id\",DATA_VALUE AS \"name\",DESCRIPTION AS \"description\" " - + " FROM GREEN_ROLE_REAL_HOUSE grrh" - + " INNER JOIN GREEN_DICTIONARY_INFO gdi ON grrh.HOUSE_CODE = gdi.DATA_CODE AND DATA_TYPE = 'houseType' AND IS_DELETED = 'N'" - + " WHERE grrh.ROLE_ID = " + roleId + " " + " ORDER BY gdi.DATA_CODE ASC "); +// houseTypeSql.append("SELECT DATA_CODE AS \"id\",DATA_VALUE AS \"name\",DESCRIPTION AS \"description\" " +// + " FROM GREEN_ROLE_REAL_HOUSE grrh" +// + " INNER JOIN GREEN_DICTIONARY_INFO gdi ON grrh.HOUSE_CODE = gdi.DATA_CODE AND DATA_TYPE = 'houseType' AND IS_DELETED = 'N'" +// + " WHERE grrh.ROLE_ID = " + roleId + " " + " ORDER BY gdi.DATA_CODE ASC "); + houseTypeSql.append( + "SELECT A.DATA_CODE AS \"id\", A.DATA_VALUE AS \"name\", A.DESCRIPTION AS \"description\", A.CREATOR as \"creator\",B.CHECK_ROLE as \"checkRole\" " + + "FROM GREEN_DICTIONARY_INFO A " + + "LEFT JOIN GREEN_HOUSE_CHECK_DETAILS B ON A.CREATOR = B.CHECK_ID and B.CHECK_SORT ='1' " + + "WHERE DATA_TYPE = 'houseType' AND IS_DELETED = 'N' AND DATA_CODE IN (1,2) ORDER BY DATA_CODE ASC"); } else if (Objects.equals("2", userType)) { // 外聘人员 +// houseTypeSql.append( +// "SELECT DATA_CODE AS \"id\",DATA_VALUE AS \"name\",DESCRIPTION AS \"description\" FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'houseType' AND IS_DELETED = 'N' ORDER BY DATA_CODE ASC"); houseTypeSql.append( - "SELECT DATA_CODE AS \"id\",DATA_VALUE AS \"name\",DESCRIPTION AS \"description\" FROM GREEN_DICTIONARY_INFO WHERE DATA_TYPE = 'houseType' AND IS_DELETED = 'N' ORDER BY DATA_CODE ASC"); + "SELECT A.DATA_CODE AS \"id\", A.DATA_VALUE AS \"name\", A.DESCRIPTION AS \"description\", A.CREATOR as \"creator\",B.CHECK_ROLE as \"checkRole\" " + + "FROM GREEN_DICTIONARY_INFO A " + + "LEFT JOIN GREEN_HOUSE_CHECK_DETAILS B ON A.CREATOR = B.CHECK_ID and B.CHECK_SORT ='1' " + + "WHERE DATA_TYPE = 'houseType' AND IS_DELETED = 'N' AND DATA_CODE = 3 ORDER BY DATA_CODE ASC"); + }else if(Objects.equals("3", userType)){ + //其他人员 + houseTypeSql.append( + "SELECT A.DATA_CODE AS \"id\", A.DATA_VALUE AS \"name\", A.DESCRIPTION AS \"description\", A.CREATOR as \"creator\",B.CHECK_ROLE as \"checkRole\" " + + "FROM GREEN_DICTIONARY_INFO A " + + "LEFT JOIN GREEN_HOUSE_CHECK_DETAILS B ON A.CREATOR = B.CHECK_ID and B.CHECK_SORT ='1' " + + "WHERE DATA_TYPE = 'houseType' AND IS_DELETED = 'N' AND DATA_CODE IN (4,5) ORDER BY DATA_CODE ASC"); + } List> houseTypeList = hibernateDao.queryForListWithSql(houseTypeSql.toString()); return new RestResult(Constant.SUCCESS, "操作成功", houseTypeList); diff --git a/greenH5modul/src/com/nationalelectric/greenH5/GreenMainInterfaceController.java b/greenH5modul/src/com/nationalelectric/greenH5/GreenMainInterfaceController.java index f85b0eb..3e0d7f7 100644 --- a/greenH5modul/src/com/nationalelectric/greenH5/GreenMainInterfaceController.java +++ b/greenH5modul/src/com/nationalelectric/greenH5/GreenMainInterfaceController.java @@ -72,6 +72,7 @@ import com.nationalelectric.greenH5.po.GreenGeneralInspecton; import com.nationalelectric.greenH5.po.GreenGrantAuth; import com.nationalelectric.greenH5.po.GreenHaircutComment; import com.nationalelectric.greenH5.po.GreenHaircutInfo; +import com.nationalelectric.greenH5.po.GreenHouseCheckInfo; import com.nationalelectric.greenH5.po.GreenInfoGrather; import com.nationalelectric.greenH5.po.GreenLicenseplateApproval; import com.nationalelectric.greenH5.po.GreenMinorItem; @@ -2727,7 +2728,16 @@ public class GreenMainInterfaceController { GreenRentHouseApply greenRentHouseApply = (GreenRentHouseApply) JSONObject.toBean(data, GreenRentHouseApply.class); return greenHouseController.apply(greenRentHouseApply); - } else if ("greenHouse/examine".equals(method)) { + }else if("greenHouse/getCheckDetailsByCheckIdAndDetailsSort".equals(method)){ + if (Utils.list.contains("greenHouse/getCheckDetailsByCheckIdAndDetailsSort" + checkTime)) { + return new RestResult(Constant.FAILED, "您的请求存在异常!请重新请求..."); + } else { + Utils.list.add("greenHouse/getCheckDetailsByCheckIdAndDetailsSort" + checkTime); + } + GreenHouseCheckInfo greenHouseCheckInfo = (GreenHouseCheckInfo) JSONObject.toBean(data, + GreenHouseCheckInfo.class); + return greenHouseController.getCheckDetailsByCheckIdAndDetailsSort(greenHouseCheckInfo); + }else if ("greenHouse/examine".equals(method)) { if (Utils.list.contains("greenHouse/examine" + checkTime)) { return new RestResult(Constant.FAILED, "您的请求存在异常!请重新请求..."); } else { @@ -2735,6 +2745,26 @@ public class GreenMainInterfaceController { } Map map = (Map) JSONObject.toBean(data, Map.class); return greenHouseController.examine(map); + }else if ("greenHouse/getPersonIdByUserId".equals(method)) { + if (Utils.list.contains("greenHouse/getPersonIdByUserId" + checkTime)) { + return new RestResult(Constant.FAILED, "您的请求存在异常!请重新请求..."); + } else { + Utils.list.add("greenHouse/getPersonIdByUserId" + checkTime); + } + Map map = (Map) JSONObject.toBean(data, Map.class); + GreenHouseCheckInfo greenHouseCheckInfo = (GreenHouseCheckInfo) JSONObject.toBean(data, + GreenHouseCheckInfo.class); + return greenHouseController.getPersonIdByRoleId(greenHouseCheckInfo); + }else if ("greenHouse/getCheckNodeByThisNodeAndCheckId".equals(method)) { + if (Utils.list.contains("greenHouse/getCheckNodeByThisNodeAndCheckId" + checkTime)) { + return new RestResult(Constant.FAILED, "您的请求存在异常!请重新请求..."); + } else { + Utils.list.add("greenHouse/getCheckNodeByThisNodeAndCheckId" + checkTime); + } + Map map = (Map) JSONObject.toBean(data, Map.class); + GreenHouseCheckInfo greenHouseCheckInfo = (GreenHouseCheckInfo) JSONObject.toBean(data, + GreenHouseCheckInfo.class); + return greenHouseController.getCheckNodeByThisNodeAndCheckId(greenHouseCheckInfo); } else if ("greenHouse/addSelectedHouse".equals(method)) { if (Utils.list.contains("greenHouse/addSelectedHouse" + checkTime)) { return new RestResult(Constant.FAILED, "您的请求存在异常!请重新请求..."); diff --git a/greenH5modul/src/com/nationalelectric/greenH5/GreenWeekMenuController.java b/greenH5modul/src/com/nationalelectric/greenH5/GreenWeekMenuController.java index 6bd3177..455c4ec 100644 --- a/greenH5modul/src/com/nationalelectric/greenH5/GreenWeekMenuController.java +++ b/greenH5modul/src/com/nationalelectric/greenH5/GreenWeekMenuController.java @@ -138,6 +138,8 @@ public class GreenWeekMenuController extends GreenBaseController { } System.err.println("2"); ArrayList paramList = new ArrayList(); + System.out.println("DateTimeHelper.getWeek()="+DateTimeHelper.getWeek()); + System.out.println("DateTimeHelper.getNowYear()="+DateTimeHelper.getNowYear()); paramList.add(DateTimeHelper.getWeek()); paramList.add(DateTimeHelper.getNowYear()); paramList.add(String.valueOf(map.get("foodType"))); @@ -147,6 +149,13 @@ public class GreenWeekMenuController extends GreenBaseController { sql.append( "SELECT gwc.ID,gwc.WEEKS,gwc.YEAR,gwc.DAY,gwc.TIME,gwc.FOOD_ID,gwc.FOOD_TYPE,gwk.FOOD_NAME,gwk.PICTURE,gwk.NUTRITIVE_VALUE FROM GREEN_WEEK_COOKBOOK gwc LEFT JOIN GREEN_WEEK_KINDS gwk ON gwk.ID = gwc.FOOD_ID WHERE gwc.WEEKS =? AND gwc.YEAR = ? AND gwc.FOOD_TYPE = ? "); List> labelList = hibernateDao.queryForListWithSql(sql.toString(), paramList.toArray()); + System.err.print(labelList.size()); + for(int i=0;i listMap = labelList.get(i); + for (String key : listMap.keySet()) { + System.out.println(key + " = " + listMap.get(key)); + } + } data.put("one", getMap("1", labelList)); data.put("two", getMap("2", labelList)); data.put("three", getMap("3", labelList)); diff --git a/greenH5modul/src/com/nationalelectric/greenH5/po/GreenRentHouseApply.java b/greenH5modul/src/com/nationalelectric/greenH5/po/GreenRentHouseApply.java index 99395d2..9e1f94d 100644 --- a/greenH5modul/src/com/nationalelectric/greenH5/po/GreenRentHouseApply.java +++ b/greenH5modul/src/com/nationalelectric/greenH5/po/GreenRentHouseApply.java @@ -96,9 +96,122 @@ public class GreenRentHouseApply { private String contractState; + //审核流程id + private String checkId; + //审核节点 + private String checkNode; + //下节点审核人 + private String checkUser; + + private String checkNum; + + //1代表方管经办人审核,选择房源照片操作等;2代表方管经办人抄送,上传合同等数据等;默认为0 + private String checkOperate; + //流程类型 1房管经办人审核 2选择人员审核 + private String checkType; + //流程类型1租房申请;2退租申请;3办卡;4办证 + private String proecssType; + + private String checkRole; + + private String checkName; + + private String idCardImg; + private String attachment; + private int pageNum; private int pageSize; + + public String getIdCardImg() { + return idCardImg; + } + + public void setIdCardImg(String idCardImg) { + this.idCardImg = idCardImg; + } + + public String getAttachment() { + return attachment; + } + + public void setAttachment(String attachment) { + this.attachment = attachment; + } + + public String getCheckName() { + return checkName; + } + + public void setCheckName(String checkName) { + this.checkName = checkName; + } + + public String getCheckNum() { + return checkNum; + } + + public void setCheckNum(String checkNum) { + this.checkNum = checkNum; + } + + public String getCheckOperate() { + return checkOperate; + } + + public void setCheckOperate(String checkOperate) { + this.checkOperate = checkOperate; + } + + public String getCheckRole() { + return checkRole; + } + + public void setCheckRole(String checkRole) { + this.checkRole = checkRole; + } + + + public String getCheckType() { + return checkType; + } + + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getProecssType() { + return proecssType; + } + + public void setProecssType(String proecssType) { + this.proecssType = proecssType; + } + + public String getCheckId() { + return checkId; + } + + public void setCheckId(String checkId) { + this.checkId = checkId; + } + + public String getCheckNode() { + return checkNode; + } + + public void setCheckNode(String checkNode) { + this.checkNode = checkNode; + } + + public String getCheckUser() { + return checkUser; + } + + public void setCheckUser(String checkUser) { + this.checkUser = checkUser; + } + /** * 房查照片 */ @@ -322,8 +435,6 @@ public class GreenRentHouseApply { this.houseId = houseId; } - - } diff --git a/greenH5modul/src/com/nationalelectric/greenH5/po/GreenUserInfo.java b/greenH5modul/src/com/nationalelectric/greenH5/po/GreenUserInfo.java index 7a167cd..7b4dbcf 100644 --- a/greenH5modul/src/com/nationalelectric/greenH5/po/GreenUserInfo.java +++ b/greenH5modul/src/com/nationalelectric/greenH5/po/GreenUserInfo.java @@ -538,4 +538,22 @@ public class GreenUserInfo implements java.io.Serializable { public void main (String args[]){ System.out.println(URLEncoder.encode("http://192.168.1.154:9000/greenH5/greenH5modul/rest/mainInterface/login")); } + + @Override + public String toString() { + return "GreenUserInfo [id=" + id + ", loginName=" + loginName + ", userPossword=" + userPossword + ", realName=" + + realName + ", mobile=" + mobile + ", email=" + email + ", unicode=" + unicode + ", departmentId=" + + departmentId + ", departmentName=" + departmentName + ", ownerLocation=" + ownerLocation + ", orgId=" + + orgId + ", orgName=" + orgName + ", title=" + title + ", userStatus=" + userStatus + + ", startUsefulLife=" + startUsefulLife + ", endUsefulLife=" + endUsefulLife + ", birthday=" + birthday + + ", idCard=" + idCard + ", mealStatus=" + mealStatus + ", mealNo=" + mealNo + ", compony=" + compony + + ", remark=" + remark + ", creator=" + creator + ", modifier=" + modifier + ", gmtCreated=" + + gmtCreated + ", gmtModified=" + gmtModified + ", isDeleted=" + isDeleted + ", wxOpenId=" + wxOpenId + + ", wxProfile=" + wxProfile + ", gender=" + gender + ", isInner=" + isInner + ", facePic1=" + facePic1 + + ", facePic1Data=" + facePic1Data + ", identityAuth=" + identityAuth + ", userLevel=" + userLevel + + ", className=" + className + ", vCode=" + vCode + ", codeKey=" + codeKey + ", deptTextUrl=" + + deptTextUrl + ", deptIdUrl=" + deptIdUrl + ", leader=" + leader + "]"; + } + + }