Browse Source

门户--科技成果详情

Antiloveg 8 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.core.mybatis.page.Pagination;
 import com.goafanti.demand.bo.DemandAchievementListBo;
+import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 
 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);
 
 	void saveAchievement(Achievement a, String[] keywords);
@@ -26,17 +27,17 @@ public interface AchievementService {
 
 	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 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);
 
@@ -46,9 +47,10 @@ public interface AchievementService {
 
 	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.shiro.token.TokenManager;
 import com.goafanti.demand.bo.DemandAchievementListBo;
+import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 
 @Service
@@ -317,13 +318,18 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 
 	@SuppressWarnings("unchecked")
 	@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<>();
 		if (!StringUtils.isBlank(keyword)) {
 			params.put("keyword", keyword);
 		}
+		
+		if (null != bargainingMode){
+			params.put("bargainingMode", bargainingMode);
+		}
+		
 		if (null != category) {
 			params.put("category", category);
 		}
@@ -362,6 +368,11 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		return (Pagination<AchievementSearchListBo>) findPage("findSearchAchievementListByPage",
 				"findSearchAchievementCount", params, pNo, pSize);
 	}
+	
+	@Override
+	public AchievementDetailBo selectAchievementSearchDetail(String id) {
+		return achievementMapper.selectAchievementSearchDetail(id);
+	}
 
 	private void createTechBorkerNotice(Achievement a) {
 		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.AchievementUserOwnerDetailBo;
 import com.goafanti.common.model.Achievement;
+import com.goafanti.portal.bo.AchievementDetailBo;
 
 public interface AchievementMapper {
     int deleteByPrimaryKey(String id);
@@ -28,4 +29,6 @@ public interface AchievementMapper {
 	AchievementOrgOwnerDetailBo selectOrgOwnerDetail(String id);
 
 	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.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,
-  		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 
   	left join user_identity ui on ui.uid = a.owner_id
   	left join organization_identity oi on oi.uid = a.owner_id
@@ -997,6 +998,9 @@
   	<if test="category != null">
   		and a.category = #{category,jdbcType=INTEGER}
   	</if>
+  	<if test="bargainingMode != null">
+  		and a.bargaining_mode = #{bargainingMode,jdbcType=INTEGER}
+  	</if>
   	
   	<if test="maturity != maturity">
   		and a.maturity = #{maturity,jdbcType=INTEGER}
@@ -1033,6 +1037,9 @@
   	<if test="keyword != null">
   		and a.keyword like "%"#{keyword,jdbcType=VARCHAR}"%"
   	</if>
+  	<if test="bargainingMode != null">
+  		and a.bargaining_mode = #{bargainingMode,jdbcType=INTEGER}
+  	</if>
   	<if test="category != null">
   		and a.category = #{category,jdbcType=INTEGER}
   	</if>
@@ -1059,4 +1066,23 @@
   	and a.audit_status = 4
   </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>

+ 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;
 	
 	/**
-	 * 成熟度
+	 * 成熟度(1--正在研发, 2-- 已有样品, 3-- 通过小试, 4-- 通过中试, 5-- 可以量产)
 	 */
 	private Integer maturity;
 	
 	/**
-	 * 交易方式
+	 * 交易方式(转让方式(0--完全转让,1--许可转让,2--技术入股))
 	 */
 	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() {
 		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.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
 import com.goafanti.demand.service.DemandService;
 
@@ -26,7 +27,7 @@ public class PortalSearchApiController extends BaseApiController {
 	 * 科技成果搜索
 	 */
 	@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,
 			String pageNo, String pageSize) {
 		Result res = new Result();
@@ -38,7 +39,7 @@ public class PortalSearchApiController extends BaseApiController {
 		if (StringUtils.isNumeric(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));
 		return res;
 	}
@@ -62,5 +63,19 @@ public class PortalSearchApiController extends BaseApiController {
 				budgetCostLower, budgetCostUpper, pNo, pSize));
 		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;
+	}
 
 }