Browse Source

科技成果CRUD接口

Antiloveg 8 years ago
parent
commit
ae818a0062

+ 46 - 0
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -22,6 +22,7 @@ import com.goafanti.common.model.OrgHumanResource;
 import com.goafanti.common.model.OrgIntellectualProperty;
 import com.goafanti.common.model.OrgRatepay;
 import com.goafanti.common.model.OrgStandard;
+import com.goafanti.common.model.OrgTechAchievement;
 import com.goafanti.common.model.OrgTechProduct;
 import com.goafanti.common.model.OrganizationIdentity;
 import com.goafanti.common.model.UserIdentity;
@@ -36,6 +37,7 @@ import com.goafanti.techservice.cognizance.service.OrgFinanceService;
 import com.goafanti.techservice.cognizance.service.OrgIntellectualPropertyService;
 import com.goafanti.techservice.cognizance.service.OrgRatepayService;
 import com.goafanti.techservice.cognizance.service.OrgStandardService;
+import com.goafanti.techservice.cognizance.service.OrgTechAchievementService;
 import com.goafanti.techservice.cognizance.service.OrgTechProductService;
 import com.goafanti.user.bo.OrgListBo;
 import com.goafanti.user.bo.UserListBo;
@@ -69,6 +71,8 @@ public class AdminApiController extends BaseApiController {
 	private OrgActivityService				orgActivityService;
 	@Resource
 	private OrgActivityCostService          orgActivityCostService;
+	@Resource
+	private OrgTechAchievementService       orgTechAchievementService;
 
 	/**
 	 * 个人用户列表
@@ -609,6 +613,48 @@ public class AdminApiController extends BaseApiController {
 		res.setData(activityNumberBo);
 		return res;
 	}
+	
+	/**
+	 * 科技成果转化情况列表入口
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value = "/achievementList", method = RequestMethod.POST)
+	public Result achievementList(String pageNo, String pageSize, String uid){
+		Result res = new Result();
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			Integer pNo = 1;
+			Integer pSize = 10;
+			if (StringUtils.isNumeric(pageSize)) {
+				pSize = Integer.parseInt(pageSize);
+			}
+			if (StringUtils.isNumeric(pageNo)) {
+				pNo = Integer.parseInt(pageNo);
+			}
+			res.setData(orgTechAchievementService.listOrgTechAchievement(pNo, pSize, uid));
+		}
+		return res;
+	}
+	
+	/**
+	 * 科技成果转化情况新增+修改
+	 * @param achievement
+	 * @return
+	 */
+	@RequestMapping(value= "/disposeAchievement", method = RequestMethod.POST)
+	public Result disposeAchievement(OrgTechAchievement achievement){
+		Result res = new Result();
+		if (null == achievement.getId()){
+			achievement.setId(UUID.randomUUID().toString());
+			achievement.setDeletedSign(0);
+			orgTechAchievementService.inset(achievement);
+		} else {
+			orgTechAchievementService.updateByPrimaryKeySelective(achievement);
+		}
+		return res;
+	}
 
 	// 判断用户是否通过认证
 	private Result checkCertify(Result res, String uid) {

+ 21 - 0
src/main/java/com/goafanti/common/dao/OrgTechAchievementMapper.java

@@ -0,0 +1,21 @@
+package com.goafanti.common.dao;
+
+import java.util.List;
+
+import com.goafanti.common.model.OrgTechAchievement;
+
+public interface OrgTechAchievementMapper {
+    int deleteByPrimaryKey(String id);
+
+    int insert(OrgTechAchievement record);
+
+    int insertSelective(OrgTechAchievement record);
+
+    OrgTechAchievement selectByPrimaryKey(String id);
+
+    int updateByPrimaryKeySelective(OrgTechAchievement record);
+
+    int updateByPrimaryKey(OrgTechAchievement record);
+
+	int batchDeleteByPrimaryKey(List<String> id);
+}

+ 150 - 0
src/main/java/com/goafanti/common/mapper/OrgTechAchievementMapper.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.goafanti.common.dao.OrgTechAchievementMapper" >
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.OrgTechAchievement" >
+    <id column="id" property="id" jdbcType="VARCHAR" />
+    <result column="uid" property="uid" jdbcType="VARCHAR" />
+    <result column="achievement_name" property="achievementName" jdbcType="VARCHAR" />
+    <result column="source" property="source" jdbcType="INTEGER" />
+    <result column="acquisition_time" property="acquisitionTime" jdbcType="TIMESTAMP" />
+    <result column="enclosure_url" property="enclosureUrl" jdbcType="VARCHAR" />
+    <result column="deleted_sign" property="deletedSign" jdbcType="INTEGER" />
+  </resultMap>
+  <sql id="Base_Column_List" >
+    id, uid, achievement_name, source, acquisition_time, enclosure_url, deleted_sign
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
+    select 
+    <include refid="Base_Column_List" />
+    from org_tech_achievement
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+    delete from org_tech_achievement
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <insert id="insert" parameterType="com.goafanti.common.model.OrgTechAchievement" >
+    insert into org_tech_achievement (id, uid, achievement_name, 
+      source, acquisition_time, enclosure_url, 
+      deleted_sign)
+    values (#{id,jdbcType=VARCHAR}, #{uid,jdbcType=VARCHAR}, #{achievementName,jdbcType=VARCHAR}, 
+      #{source,jdbcType=INTEGER}, #{acquisitionTime,jdbcType=TIMESTAMP}, #{enclosureUrl,jdbcType=VARCHAR}, 
+      #{deletedSign,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.goafanti.common.model.OrgTechAchievement" >
+    insert into org_tech_achievement
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        id,
+      </if>
+      <if test="uid != null" >
+        uid,
+      </if>
+      <if test="achievementName != null" >
+        achievement_name,
+      </if>
+      <if test="source != null" >
+        source,
+      </if>
+      <if test="acquisitionTime != null" >
+        acquisition_time,
+      </if>
+      <if test="enclosureUrl != null" >
+        enclosure_url,
+      </if>
+      <if test="deletedSign != null" >
+        deleted_sign,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="id != null" >
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="uid != null" >
+        #{uid,jdbcType=VARCHAR},
+      </if>
+      <if test="achievementName != null" >
+        #{achievementName,jdbcType=VARCHAR},
+      </if>
+      <if test="source != null" >
+        #{source,jdbcType=INTEGER},
+      </if>
+      <if test="acquisitionTime != null" >
+        #{acquisitionTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="enclosureUrl != null" >
+        #{enclosureUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="deletedSign != null" >
+        #{deletedSign,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.OrgTechAchievement" >
+    update org_tech_achievement
+    <set >
+      <if test="uid != null" >
+        uid = #{uid,jdbcType=VARCHAR},
+      </if>
+      <if test="achievementName != null" >
+        achievement_name = #{achievementName,jdbcType=VARCHAR},
+      </if>
+      <if test="source != null" >
+        source = #{source,jdbcType=INTEGER},
+      </if>
+      <if test="acquisitionTime != null" >
+        acquisition_time = #{acquisitionTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="enclosureUrl != null" >
+        enclosure_url = #{enclosureUrl,jdbcType=VARCHAR},
+      </if>
+      <if test="deletedSign != null" >
+        deleted_sign = #{deletedSign,jdbcType=INTEGER},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.OrgTechAchievement" >
+    update org_tech_achievement
+    set uid = #{uid,jdbcType=VARCHAR},
+      achievement_name = #{achievementName,jdbcType=VARCHAR},
+      source = #{source,jdbcType=INTEGER},
+      acquisition_time = #{acquisitionTime,jdbcType=TIMESTAMP},
+      enclosure_url = #{enclosureUrl,jdbcType=VARCHAR},
+      deleted_sign = #{deletedSign,jdbcType=INTEGER}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  
+   <select id="findOrgTechAchievementListByPage" parameterType="java.lang.String" resultMap="BaseResultMap">
+  	 select 
+    <include refid="Base_Column_List" />
+    from org_tech_achievement
+    where deleted_sign = 0
+    <if test="uid != null">
+	    and  uid = #{uid,jdbcType=VARCHAR}
+	</if>
+	order by acquisition_time desc
+    <if test="page_sql != null">
+    	${page_sql}
+    </if>
+    
+  </select>
+  
+  <select id="findOrgTechAchievementCount" resultType="java.lang.Integer" parameterType="String">
+   	select count(1) 
+	    from org_tech_achievement
+    where deleted_sign = 0
+	    <if test="uid != null">
+		    and  uid = #{uid,jdbcType=VARCHAR}
+		</if>
+    </select>
+  
+   <update id="batchDeleteByPrimaryKey" parameterType="java.util.List">
+  	update org_tech_achievement set deleted_sign = 1
+  	where  id in 
+	<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
+		#{item}
+	</foreach>
+  </update>
+  
+</mapper>

+ 110 - 0
src/main/java/com/goafanti/common/model/OrgTechAchievement.java

@@ -0,0 +1,110 @@
+package com.goafanti.common.model;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public class OrgTechAchievement {
+    private String id;
+
+    private String uid;
+
+    /**
+    * 成果名称
+    */
+    private String achievementName;
+
+    /**
+    * 来源
+    */
+    private Integer source;
+
+    /**
+    * 获得时间
+    */
+    private Date acquisitionTime;
+
+    /**
+    * 附件材料URL
+    */
+    private String enclosureUrl;
+
+    /**
+    * 删除标记
+    */
+    private Integer deletedSign;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+
+    public String getAchievementName() {
+        return achievementName;
+    }
+
+    public void setAchievementName(String achievementName) {
+        this.achievementName = achievementName;
+    }
+    
+    @JsonFormat(shape = Shape.STRING)
+    public Integer getSource() {
+        return source;
+    }
+
+    public void setSource(Integer source) {
+        this.source = source;
+    }
+
+    public Date getAcquisitionTime() {
+        return acquisitionTime;
+    }
+
+    public void setAcquisitionTime(Date acquisitionTime) {
+        this.acquisitionTime = acquisitionTime;
+    }
+
+    public String getEnclosureUrl() {
+        return enclosureUrl;
+    }
+
+    public void setEnclosureUrl(String enclosureUrl) {
+        this.enclosureUrl = enclosureUrl;
+    }
+    
+    @JsonIgnore
+    public Integer getDeletedSign() {
+        return deletedSign;
+    }
+
+    public void setDeletedSign(Integer deletedSign) {
+        this.deletedSign = deletedSign;
+    }
+    
+    public String getAcquisitionTimeFormattedDate(){
+		if (this.acquisitionTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getAcquisitionTime(), "yyyy-MM-dd");
+		}
+	}
+	
+	public void setAcquisitionTimeFormattedDate(String acquisitionTimeFormattedDate){
+		
+	}
+}

+ 69 - 1
src/main/java/com/goafanti/techservice/cognizance/controller/CognizanceApiController.java

@@ -25,6 +25,7 @@ import com.goafanti.common.model.OrgFinance;
 import com.goafanti.common.model.OrgIntellectualProperty;
 import com.goafanti.common.model.OrgRatepay;
 import com.goafanti.common.model.OrgStandard;
+import com.goafanti.common.model.OrgTechAchievement;
 import com.goafanti.common.model.OrgTechProduct;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.common.utils.LoggerUtils;
@@ -37,6 +38,7 @@ import com.goafanti.techservice.cognizance.service.OrgFinanceService;
 import com.goafanti.techservice.cognizance.service.OrgIntellectualPropertyService;
 import com.goafanti.techservice.cognizance.service.OrgRatepayService;
 import com.goafanti.techservice.cognizance.service.OrgStandardService;
+import com.goafanti.techservice.cognizance.service.OrgTechAchievementService;
 import com.goafanti.techservice.cognizance.service.OrgTechProductService;
 import com.goafanti.user.service.OrganizationIdentityService;
 import com.goafanti.user.service.UserService;
@@ -62,6 +64,8 @@ public class CognizanceApiController extends BaseApiController {
 	private OrgRatepayService				orgRatepayService;
 	@Resource
 	private OrgFinanceService				orgFinanceService;
+	@Resource
+	private OrgTechAchievementService       orgTechAchievementService;
 
 	/**
 	 * 企业研究开发活动情况表入口
@@ -540,13 +544,76 @@ public class CognizanceApiController extends BaseApiController {
 	 * @param sign
 	 * @return
 	 */
-	@RequestMapping(value = "/cognizance/upload", method = RequestMethod.POST)
+	@RequestMapping(value = "/upload", method = RequestMethod.POST)
 	public Result cognizanceFile(HttpServletRequest req, String sign, String uid) {
 		Result res = new Result();
 		res.setData(handleFile(res, "/cognizance/", true, req, sign, uid));
 		return res;
 	}
 	
+	/**
+	 * 科技成果转化情况列表入口
+	 * @param pageNo
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping(value = "/achievementList", method = RequestMethod.GET)
+	public Result achievementList(String pageNo, String pageSize){
+		Result res = new Result();
+		res = checkCertify(res);
+		if (res.getError().isEmpty()) {
+			Integer pNo = 1;
+			Integer pSize = 10;
+			if (StringUtils.isNumeric(pageSize)) {
+				pSize = Integer.parseInt(pageSize);
+			}
+			if (StringUtils.isNumeric(pageNo)) {
+				pNo = Integer.parseInt(pageNo);
+			}
+			res.setData(orgTechAchievementService.listOrgTechAchievement(pNo, pSize, TokenManager.getUserId()));
+		}
+		return res;
+	}
+	
+	/**
+	 * 科技成果转化情况新增+修改
+	 * @param achievement
+	 * @return
+	 */
+	@RequestMapping(value= "/disposeAchievement", method = RequestMethod.POST)
+	public Result disposeAchievement(OrgTechAchievement achievement){
+		Result res = new Result();
+		if (null == achievement.getId()){
+			achievement.setId(UUID.randomUUID().toString());
+			achievement.setUid(TokenManager.getUserId());
+			achievement.setDeletedSign(0);
+			orgTechAchievementService.inset(achievement);
+		} else {
+			orgTechAchievementService.updateByPrimaryKeySelective(achievement);
+		}
+		return res;
+	}
+	
+	/**
+	 * 删除科技成果转化情况
+	 * @param ids
+	 * @return
+	 */
+	@RequestMapping(value = "/deleteAchievement", method = RequestMethod.POST)
+	public Result deleteAchievement(@RequestParam(name = "ids[]", required = true) String[] ids) {
+		Result res = new Result();
+		List<String> id = new ArrayList<String>();
+		for (String s : ids) {
+			id.add(s);
+		}
+		res.setData(orgTechAchievementService.batchDeleteByPrimaryKey(id));
+		return res;
+	}
+	
+	
+	
+	
+	
 	private String handleFile(Result res, String path, boolean isPrivate, HttpServletRequest req, String sign, String uid) {
 		List<MultipartFile> files = getFiles(req);
 		String fileName = "";
@@ -579,5 +646,6 @@ public class CognizanceApiController extends BaseApiController {
 		}
 		return res;
 	}
+	
 
 }

+ 18 - 0
src/main/java/com/goafanti/techservice/cognizance/service/OrgTechAchievementService.java

@@ -0,0 +1,18 @@
+package com.goafanti.techservice.cognizance.service;
+
+import java.util.List;
+
+import com.goafanti.common.model.OrgTechAchievement;
+import com.goafanti.core.mybatis.page.Pagination;
+
+public interface OrgTechAchievementService {
+
+	Pagination<OrgTechAchievement> listOrgTechAchievement(Integer pNo, Integer pSize, String userId);
+
+	OrgTechAchievement inset(OrgTechAchievement achievement);
+
+	int updateByPrimaryKeySelective(OrgTechAchievement achievement);
+
+	int batchDeleteByPrimaryKey(List<String> id);
+
+}

+ 56 - 0
src/main/java/com/goafanti/techservice/cognizance/service/impl/OrgTechAchievementServiceImpl.java

@@ -0,0 +1,56 @@
+package com.goafanti.techservice.cognizance.service.impl;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.OrgTechAchievementMapper;
+import com.goafanti.common.model.OrgTechAchievement;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.techservice.cognizance.service.OrgTechAchievementService;
+@Service
+public class OrgTechAchievementServiceImpl extends BaseMybatisDao<OrgTechAchievementMapper> implements OrgTechAchievementService {
+	@Autowired
+	private OrgTechAchievementMapper orgTechAchievementMapper;
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<OrgTechAchievement> listOrgTechAchievement(Integer pageNo, Integer pageSize, String uid) {
+		Map<String, Object> params = new HashMap<>();
+		
+		if (!StringUtils.isBlank(uid)){
+			params.put("uid", uid);
+		}
+
+		if (pageNo == null || pageNo < 0) {
+			pageNo = 1;
+		}
+
+		if (pageSize == null || pageSize < 0) {
+			pageSize = 10;
+		}
+		return  (Pagination<OrgTechAchievement>)findPage("findOrgTechAchievementListByPage",
+				"findOrgTechAchievementCount", params, pageNo, pageSize);
+	}
+
+	@Override
+	public OrgTechAchievement inset(OrgTechAchievement achievement) {
+		orgTechAchievementMapper.insert(achievement);
+		return achievement;
+	}
+
+	@Override
+	public int updateByPrimaryKeySelective(OrgTechAchievement achievement) {
+		return orgTechAchievementMapper.updateByPrimaryKeySelective(achievement);
+	}
+
+	@Override
+	public int batchDeleteByPrimaryKey(List<String> id) {
+		return orgTechAchievementMapper.batchDeleteByPrimaryKey(id);
+	}
+}