Browse Source

门户--科技成果详情

Antiloveg 9 years ago
parent
commit
afd0b1df6c

+ 13 - 11
src/main/java/com/goafanti/achievement/service/AchievementService.java

@@ -10,12 +10,13 @@ import com.goafanti.achievement.bo.AchievementUserOwnerDetailBo;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.demand.bo.DemandAchievementListBo;
 import com.goafanti.demand.bo.DemandAchievementListBo;
+import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 
 
 public interface AchievementService {
 public interface AchievementService {
 
 
-	Pagination<AchievementListBo> listUserOwnerAchievement(String ownerId, Integer auditStatus, Integer serialNumber, String name, String keyword, Integer category,
-			Integer status, String releaseDateStartDate,
+	Pagination<AchievementListBo> listUserOwnerAchievement(String ownerId, Integer auditStatus, Integer serialNumber,
+			String name, String keyword, Integer category, Integer status, String releaseDateStartDate,
 			String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize);
 			String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize);
 
 
 	void saveAchievement(Achievement a, String[] keywords);
 	void saveAchievement(Achievement a, String[] keywords);
@@ -26,17 +27,17 @@ public interface AchievementService {
 
 
 	int deleteByPrimaryKey(List<String> asList);
 	int deleteByPrimaryKey(List<String> asList);
 
 
-	Pagination<AchievementListBo> listUserAchievement(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
-			Integer status, String releaseDateStartDate, String releaseDateEndDate, Integer releaseStatus, Integer pNo,
-			Integer pSize);
+	Pagination<AchievementListBo> listUserAchievement(Integer auditStatus, Integer serialNumber, String name,
+			String keyword, Integer category, Integer ownerType, Integer status, String releaseDateStartDate,
+			String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize);
 
 
 	int updateAuditAchievement(Achievement a, String techBroderId, Integer auditStatus);
 	int updateAuditAchievement(Achievement a, String techBroderId, Integer auditStatus);
 
 
 	int updateReleaseStatus(Achievement a);
 	int updateReleaseStatus(Achievement a);
 
 
-	Pagination<AchievementListBo> listOrgOwnerAchievement(String ownerId, Integer auditStatus, Integer serialNumber, String name, String keyword,
-			Integer category, Integer status, String releaseDateStartDate, String releaseDateEndDate,
-			Integer releaseStatus, Integer pNo, Integer pSize);
+	Pagination<AchievementListBo> listOrgOwnerAchievement(String ownerId, Integer auditStatus, Integer serialNumber,
+			String name, String keyword, Integer category, Integer status, String releaseDateStartDate,
+			String releaseDateEndDate, Integer releaseStatus, Integer pNo, Integer pSize);
 
 
 	AchievementUserOwnerDetailBo selectUserOwnerDetail(String id);
 	AchievementUserOwnerDetailBo selectUserOwnerDetail(String id);
 
 
@@ -46,9 +47,10 @@ public interface AchievementService {
 
 
 	void insertImport(List<AchievementImportBo> data);
 	void insertImport(List<AchievementImportBo> data);
 
 
-	Pagination<AchievementSearchListBo> listAchievementSearchList(Integer category, Integer maturity, BigDecimal transferPriceLower,
-			BigDecimal transferPriceUpper, Integer transferMode, String keyword, Integer fieldA, Integer fieldB,
-			Integer pageNo, Integer pageSize);
+	Pagination<AchievementSearchListBo> listAchievementSearchList(Integer bargainingMode, Integer category,
+			Integer maturity, BigDecimal transferPriceLower, BigDecimal transferPriceUpper, Integer transferMode,
+			String keyword, Integer fieldA, Integer fieldB, Integer pageNo, Integer pageSize);
 
 
+	AchievementDetailBo selectAchievementSearchDetail(String id);
 
 
 }
 }

+ 16 - 3
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -45,6 +45,7 @@ import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.bo.DemandAchievementListBo;
 import com.goafanti.demand.bo.DemandAchievementListBo;
+import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 
 
 @Service
 @Service
@@ -317,13 +318,18 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 
 
 	@SuppressWarnings("unchecked")
 	@SuppressWarnings("unchecked")
 	@Override
 	@Override
-	public Pagination<AchievementSearchListBo> listAchievementSearchList(Integer category, Integer maturity,
-			BigDecimal transferPriceLower, BigDecimal transferPriceUpper, Integer transferMode, String keyword,
-			Integer fieldA, Integer fieldB, Integer pNo, Integer pSize) {
+	public Pagination<AchievementSearchListBo> listAchievementSearchList(Integer bargainingMode, Integer category,
+			Integer maturity, BigDecimal transferPriceLower, BigDecimal transferPriceUpper, Integer transferMode,
+			String keyword, Integer fieldA, Integer fieldB, Integer pNo, Integer pSize) {
 		Map<String, Object> params = new HashMap<>();
 		Map<String, Object> params = new HashMap<>();
 		if (!StringUtils.isBlank(keyword)) {
 		if (!StringUtils.isBlank(keyword)) {
 			params.put("keyword", keyword);
 			params.put("keyword", keyword);
 		}
 		}
+		
+		if (null != bargainingMode){
+			params.put("bargainingMode", bargainingMode);
+		}
+		
 		if (null != category) {
 		if (null != category) {
 			params.put("category", category);
 			params.put("category", category);
 		}
 		}
@@ -362,6 +368,11 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		return (Pagination<AchievementSearchListBo>) findPage("findSearchAchievementListByPage",
 		return (Pagination<AchievementSearchListBo>) findPage("findSearchAchievementListByPage",
 				"findSearchAchievementCount", params, pNo, pSize);
 				"findSearchAchievementCount", params, pNo, pSize);
 	}
 	}
+	
+	@Override
+	public AchievementDetailBo selectAchievementSearchDetail(String id) {
+		return achievementMapper.selectAchievementSearchDetail(id);
+	}
 
 
 	private void createTechBorkerNotice(Achievement a) {
 	private void createTechBorkerNotice(Achievement a) {
 		noticeMapper.insert(disposeNotice(a, null));
 		noticeMapper.insert(disposeNotice(a, null));
@@ -435,4 +446,6 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		}
 		}
 	}
 	}
 
 
+	
+
 }
 }

+ 3 - 0
src/main/java/com/goafanti/common/dao/AchievementMapper.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.goafanti.achievement.bo.AchievementOrgOwnerDetailBo;
 import com.goafanti.achievement.bo.AchievementOrgOwnerDetailBo;
 import com.goafanti.achievement.bo.AchievementUserOwnerDetailBo;
 import com.goafanti.achievement.bo.AchievementUserOwnerDetailBo;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.common.model.Achievement;
+import com.goafanti.portal.bo.AchievementDetailBo;
 
 
 public interface AchievementMapper {
 public interface AchievementMapper {
     int deleteByPrimaryKey(String id);
     int deleteByPrimaryKey(String id);
@@ -28,4 +29,6 @@ public interface AchievementMapper {
 	AchievementOrgOwnerDetailBo selectOrgOwnerDetail(String id);
 	AchievementOrgOwnerDetailBo selectOrgOwnerDetail(String id);
 
 
 	void insertBatch(List<Achievement> achievementList);
 	void insertBatch(List<Achievement> achievementList);
+
+	AchievementDetailBo selectAchievementSearchDetail(String id);
 }
 }

+ 27 - 1
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -986,7 +986,8 @@
   		a.serial_number as serialNumber, a.data_category as dataCategory, a.category,
   		a.serial_number as serialNumber, a.data_category as dataCategory, a.category,
   		a.release_date as releaseDate, a.owner_type as ownerType, ui.username,
   		a.release_date as releaseDate, a.owner_type as ownerType, ui.username,
   		oi.unit_name as unitName, a.field_a as fieldA, a.field_b as fieldB,
   		oi.unit_name as unitName, a.field_a as fieldA, a.field_b as fieldB,
-  		a.transfer_price as transferPrice, a.maturity, a.transfer_mode as transferMode
+  		a.transfer_price as transferPrice, a.maturity, a.transfer_mode as transferMode,
+  		a.bargaining_mode as bargainingMode
   	from achievement a 
   	from achievement a 
   	left join user_identity ui on ui.uid = a.owner_id
   	left join user_identity ui on ui.uid = a.owner_id
   	left join organization_identity oi on oi.uid = a.owner_id
   	left join organization_identity oi on oi.uid = a.owner_id
@@ -997,6 +998,9 @@
   	<if test="category != null">
   	<if test="category != null">
   		and a.category = #{category,jdbcType=INTEGER}
   		and a.category = #{category,jdbcType=INTEGER}
   	</if>
   	</if>
+  	<if test="bargainingMode != null">
+  		and a.bargaining_mode = #{bargainingMode,jdbcType=INTEGER}
+  	</if>
   	
   	
   	<if test="maturity != maturity">
   	<if test="maturity != maturity">
   		and a.maturity = #{maturity,jdbcType=INTEGER}
   		and a.maturity = #{maturity,jdbcType=INTEGER}
@@ -1033,6 +1037,9 @@
   	<if test="keyword != null">
   	<if test="keyword != null">
   		and a.keyword like "%"#{keyword,jdbcType=VARCHAR}"%"
   		and a.keyword like "%"#{keyword,jdbcType=VARCHAR}"%"
   	</if>
   	</if>
+  	<if test="bargainingMode != null">
+  		and a.bargaining_mode = #{bargainingMode,jdbcType=INTEGER}
+  	</if>
   	<if test="category != null">
   	<if test="category != null">
   		and a.category = #{category,jdbcType=INTEGER}
   		and a.category = #{category,jdbcType=INTEGER}
   	</if>
   	</if>
@@ -1059,4 +1066,23 @@
   	and a.audit_status = 4
   	and a.audit_status = 4
   </select>
   </select>
   
   
+  <select id="selectAchievementSearchDetail" parameterType="java.lang.String" resultType="com.goafanti.portal.bo.AchievementDetailBo">
+  	select 
+  		a.id, a.serial_number as serialNumber, a.keyword, 
+  		a.name, a.data_category as dataCategory, a.category,
+  		ui.username, oi.unit_name as unitName, a.release_date as releaseDate,
+  		a.owner_type as ownerType, a.field_a as fieldA, a.field_b as fieldB,
+  		a.transfer_price as transferPrice, a.maturity, a.transfer_mode as transferMode,
+  		a.bargaining_mode as bargainingMode, a.summary, a.introduction,
+  		a.technical_picture_url as technicalPictureUrl, a.maturity_picture_url as maturityPictureUrl, a.maturity_text_file_url as maturityTextFileUrl,
+  		a.maturity_video_url as maturityVideoUrl, a.innovation, a.cooperation_mode as cooperationMode,
+  		a.bargaining_mode as bargainingMode, a.technical_scene as technicalScene, a.breakthrough,
+  		a.patent_case as patentCase, a.awards, a.team_des as teamDes, 
+  		a.parameter, a.tech_plan_url as techPlanUrl, a.business_plan_url as businessPlanUrl
+  	from achievement a
+  	left join user_identity ui on ui.uid = a.owner_id
+  	left join organization_identity oi on oi.uid = a.owner_id
+  	where a.id = #{id,jdbcType=VARCHAR}
+  </select>
+  
 </mapper>
 </mapper>

+ 232 - 0
src/main/java/com/goafanti/portal/bo/AchievementDetailBo.java

@@ -0,0 +1,232 @@
+package com.goafanti.portal.bo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+
+public class AchievementDetailBo extends AchievementSearchListBo {
+	/**
+	 * 摘要
+	 */
+	private String	summary;
+
+	/**
+	 * 成果简介
+	 */
+	private String	introduction;
+
+	/**
+	 * 技术图片
+	 */
+	private String	technicalPictureUrl;
+
+	/**
+	 * 成熟度资料--图片URL
+	 */
+	private String	maturityPictureUrl;
+
+	/**
+	 * 成熟度资料--文本文件URL
+	 */
+	private String	maturityTextFileUrl;
+
+	/**
+	 * 成熟度资料--视屏URL
+	 */
+	private String	maturityVideoUrl;
+
+	/**
+	 * 创新度(0--行业先进,1--行业领先,2--国内先进,3--国内领先,4--国际先进,5--国际领先)
+	 */
+	private Integer	innovation;
+
+	/**
+	 * 合作方式(0--技术转让,1--授权生产)
+	 */
+	private Integer	cooperationMode;
+
+	/**
+	 * 议价方式(0--面议,1--定价)
+	 */
+	private Integer	bargainingMode;
+
+	/**
+	 * 技术场景
+	 */
+	private String	technicalScene;
+
+	/**
+	 * 技术突破
+	 */
+	private String	breakthrough;
+
+	/**
+	 * 专利情况
+	 */
+	private String	patentCase;
+
+	/**
+	 * 获奖情况
+	 */
+	private String	awards;
+	
+	/**
+	 * 技术团队情况
+	 */
+	private String teamDes;
+	
+	/**
+	 * 技术参数
+	 */
+	private String parameter;
+	
+	/**
+	 * 技术方案URL
+	 */
+	private String techPlanUrl;
+	
+	/**
+	 * 商业计划书URL
+	 */
+	private String businessPlanUrl;
+
+	public String getSummary() {
+		return summary;
+	}
+
+	public void setSummary(String summary) {
+		this.summary = summary;
+	}
+
+	public String getIntroduction() {
+		return introduction;
+	}
+
+	public void setIntroduction(String introduction) {
+		this.introduction = introduction;
+	}
+
+	public String getTechnicalPictureUrl() {
+		return technicalPictureUrl;
+	}
+
+	public void setTechnicalPictureUrl(String technicalPictureUrl) {
+		this.technicalPictureUrl = technicalPictureUrl;
+	}
+
+	public String getMaturityPictureUrl() {
+		return maturityPictureUrl;
+	}
+
+	public void setMaturityPictureUrl(String maturityPictureUrl) {
+		this.maturityPictureUrl = maturityPictureUrl;
+	}
+
+	public String getMaturityTextFileUrl() {
+		return maturityTextFileUrl;
+	}
+
+	public void setMaturityTextFileUrl(String maturityTextFileUrl) {
+		this.maturityTextFileUrl = maturityTextFileUrl;
+	}
+
+	public String getMaturityVideoUrl() {
+		return maturityVideoUrl;
+	}
+
+	public void setMaturityVideoUrl(String maturityVideoUrl) {
+		this.maturityVideoUrl = maturityVideoUrl;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getInnovation() {
+		return innovation;
+	}
+
+	public void setInnovation(Integer innovation) {
+		this.innovation = innovation;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getCooperationMode() {
+		return cooperationMode;
+	}
+
+	public void setCooperationMode(Integer cooperationMode) {
+		this.cooperationMode = cooperationMode;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getBargainingMode() {
+		return bargainingMode;
+	}
+
+	public void setBargainingMode(Integer bargainingMode) {
+		this.bargainingMode = bargainingMode;
+	}
+
+	public String getTechnicalScene() {
+		return technicalScene;
+	}
+
+	public void setTechnicalScene(String technicalScene) {
+		this.technicalScene = technicalScene;
+	}
+
+	public String getBreakthrough() {
+		return breakthrough;
+	}
+
+	public void setBreakthrough(String breakthrough) {
+		this.breakthrough = breakthrough;
+	}
+
+	public String getPatentCase() {
+		return patentCase;
+	}
+
+	public void setPatentCase(String patentCase) {
+		this.patentCase = patentCase;
+	}
+
+	public String getAwards() {
+		return awards;
+	}
+
+	public void setAwards(String awards) {
+		this.awards = awards;
+	}
+
+	public String getTeamDes() {
+		return teamDes;
+	}
+
+	public void setTeamDes(String teamDes) {
+		this.teamDes = teamDes;
+	}
+
+	public String getParameter() {
+		return parameter;
+	}
+
+	public void setParameter(String parameter) {
+		this.parameter = parameter;
+	}
+
+	public String getTechPlanUrl() {
+		return techPlanUrl;
+	}
+
+	public void setTechPlanUrl(String techPlanUrl) {
+		this.techPlanUrl = techPlanUrl;
+	}
+
+	public String getBusinessPlanUrl() {
+		return businessPlanUrl;
+	}
+
+	public void setBusinessPlanUrl(String businessPlanUrl) {
+		this.businessPlanUrl = businessPlanUrl;
+	}
+	
+	
+}

+ 17 - 2
src/main/java/com/goafanti/portal/bo/AchievementSearchListBo.java

@@ -73,14 +73,29 @@ public class AchievementSearchListBo {
 	private BigDecimal transferPrice;
 	private BigDecimal transferPrice;
 	
 	
 	/**
 	/**
-	 * 成熟度
+	 * 成熟度(1--正在研发, 2-- 已有样品, 3-- 通过小试, 4-- 通过中试, 5-- 可以量产)
 	 */
 	 */
 	private Integer maturity;
 	private Integer maturity;
 	
 	
 	/**
 	/**
-	 * 交易方式
+	 * 交易方式(转让方式(0--完全转让,1--许可转让,2--技术入股))
 	 */
 	 */
 	private Integer transferMode;
 	private Integer transferMode;
+	
+	/**
+	 * 议价方式(0--面议,1--定价)
+	 */
+	private Integer bargainingMode;
+	
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getBargainingMode() {
+		return bargainingMode;
+	}
+
+	public void setBargainingMode(Integer bargainingMode) {
+		this.bargainingMode = bargainingMode;
+	}
 
 
 	public String getId() {
 	public String getId() {
 		return id;
 		return id;

+ 17 - 2
src/main/java/com/goafanti/portal/controller/PortalSearchApiController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.demand.service.DemandService;
 import com.goafanti.demand.service.DemandService;
 
 
@@ -26,7 +27,7 @@ public class PortalSearchApiController extends BaseApiController {
 	 * 科技成果搜索
 	 * 科技成果搜索
 	 */
 	 */
 	@RequestMapping(value = "/achievementList", method = RequestMethod.GET)
 	@RequestMapping(value = "/achievementList", method = RequestMethod.GET)
-	public Result achievementSearchList(Integer category, Integer maturity, BigDecimal transferPriceLower,
+	public Result achievementSearchList(Integer bargainingMode, Integer category, Integer maturity, BigDecimal transferPriceLower,
 			BigDecimal transferPriceUpper, Integer transferMode, String keyword, Integer fieldA, Integer fieldB,
 			BigDecimal transferPriceUpper, Integer transferMode, String keyword, Integer fieldA, Integer fieldB,
 			String pageNo, String pageSize) {
 			String pageNo, String pageSize) {
 		Result res = new Result();
 		Result res = new Result();
@@ -38,7 +39,7 @@ public class PortalSearchApiController extends BaseApiController {
 		if (StringUtils.isNumeric(pageNo)) {
 		if (StringUtils.isNumeric(pageNo)) {
 			pNo = Integer.parseInt(pageNo);
 			pNo = Integer.parseInt(pageNo);
 		}
 		}
-		res.setData(achievementService.listAchievementSearchList(category, maturity, transferPriceLower,
+		res.setData(achievementService.listAchievementSearchList(bargainingMode, category, maturity, transferPriceLower,
 				transferPriceUpper, transferMode, keyword, fieldA, fieldB, pNo, pSize));
 				transferPriceUpper, transferMode, keyword, fieldA, fieldB, pNo, pSize));
 		return res;
 		return res;
 	}
 	}
@@ -62,5 +63,19 @@ public class PortalSearchApiController extends BaseApiController {
 				budgetCostLower, budgetCostUpper, pNo, pSize));
 				budgetCostLower, budgetCostUpper, pNo, pSize));
 		return res;
 		return res;
 	}
 	}
+	
+	/**
+	 * 科技成果详情
+	 */
+	@RequestMapping(value = "/achievementDetail", method = RequestMethod.GET)
+	public Result achievementDetail(String id){
+		Result res = new Result();
+		if (StringUtils.isBlank(id)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
+			return res;
+		}
+		res.setData(achievementService.selectAchievementSearchDetail(id));
+		return res;
+	}
 
 
 }
 }