Browse Source

Merge branch 'master' of https://git.coding.net/aft/AFT.git

albertshaw 8 years ago
parent
commit
493e7d36f5
36 changed files with 320 additions and 181 deletions
  1. 4 0
      schema/data/permission.sql
  2. 15 20
      src/main/java/com/goafanti/achievement/bo/AchievementListBo.java
  3. 25 0
      src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java
  4. 14 6
      src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java
  5. 24 1
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  6. 1 1
      src/main/java/com/goafanti/admin/controller/AdminContractApiController.java
  7. 10 0
      src/main/java/com/goafanti/admin/controller/AdminDemandApiController.java
  8. 3 0
      src/main/java/com/goafanti/admin/controller/AdminSuperviseApiController.java
  9. 8 5
      src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java
  10. 10 3
      src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java
  11. 2 0
      src/main/java/com/goafanti/cognizance/service/OrgTechProductService.java
  12. 5 0
      src/main/java/com/goafanti/cognizance/service/impl/OrgTechProductServiceImpl.java
  13. 10 6
      src/main/java/com/goafanti/common/dao/OrgTechProductMapper.java
  14. 2 0
      src/main/java/com/goafanti/common/dao/TechProjectMapper.java
  15. 5 7
      src/main/java/com/goafanti/common/mapper/AchievementMapper.xml
  16. 14 1
      src/main/java/com/goafanti/common/mapper/ContractMapper.xml
  17. 2 4
      src/main/java/com/goafanti/common/mapper/DemandMapper.xml
  18. 4 1
      src/main/java/com/goafanti/common/mapper/OrgHumanResourceMapper.xml
  19. 9 0
      src/main/java/com/goafanti/common/mapper/OrgTechProductMapper.xml
  20. 21 11
      src/main/java/com/goafanti/common/mapper/TechProjectMapper.xml
  21. 6 10
      src/main/java/com/goafanti/contract/bo/InputContactLog.java
  22. 4 2
      src/main/java/com/goafanti/contract/controller/ContractApiController.java
  23. 6 4
      src/main/java/com/goafanti/contract/service/ContractService.java
  24. 4 4
      src/main/java/com/goafanti/contract/service/impl/ContractLogServiceImpl.java
  25. 45 23
      src/main/java/com/goafanti/contract/service/impl/ContractServiceImpl.java
  26. 3 3
      src/main/java/com/goafanti/copyright/bo/CopyrightInfoSummary.java
  27. 0 3
      src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java
  28. 6 6
      src/main/java/com/goafanti/copyright/service/impl/CopyrightInfoServiceImpl.java
  29. 27 2
      src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java
  30. 1 1
      src/main/java/com/goafanti/patent/bo/InputPatentInfo.java
  31. 6 19
      src/main/java/com/goafanti/portal/bo/AchievementSearchListBo.java
  32. 10 22
      src/main/java/com/goafanti/portal/bo/DemandSearchListBo.java
  33. 11 14
      src/main/java/com/goafanti/techproject/bo/TechProjectDetailBo.java
  34. 1 1
      src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java
  35. 1 1
      src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java
  36. 1 0
      src/main/java/com/goafanti/user/controller/UserApiController.java

+ 4 - 0
schema/data/permission.sql

@@ -501,3 +501,7 @@ values
 (UUID(), 'api/admin/portal/order/demandOrderLog', '科技需求管理--科技需求线索单/意向单log'),
 (UUID(), 'api/admin/portal/order/updateDemandOrder', '科技需求管理--科技需求线索单/意向单修改'),
 (UUID(), 'api/admin/portal/order/downloadDemandOrder', '科技需求管理--下载科技需求线索单/意向单文件');
+
+insert into `permission`(`id`, `url`, `name`) 
+values
+(UUID(), 'api/admin/deleteHumanResource', '企业人员情况--删除团体人力资源');

+ 15 - 20
src/main/java/com/goafanti/achievement/bo/AchievementListBo.java

@@ -36,11 +36,11 @@ public class AchievementListBo {
 	 * 类型(0--专利, 2--软著, 3--项目, 4--版权, 5--工业设计, 6--配方, 7--非标)
 	 */
 	private Integer	category;
-	
+
 	/**
 	 * 成果所有人ID
 	 */
-	private String ownerId;
+	private String	ownerId;
 
 	/**
 	 * 成果所有人名称
@@ -52,38 +52,36 @@ public class AchievementListBo {
 	 */
 	private Integer	ownerType;
 
-
-
 	/**
 	 * 发布时间
 	 */
 	private Date	releaseDate;
-	
+
 	/**
 	 * 审核状态
 	 */
-	private Integer auditStatus;
-	
+	private Integer	auditStatus;
+
 	/**
 	 * 技术经纪人
 	 */
-	private String techBrokerId;
-	
+	private String	techBrokerId;
+
 	/**
 	 * 认证所有人名称
 	 */
-	private String username;
-	
+	private String	username;
+
 	/**
 	 * 所属组织ID
 	 */
-	private String orgId;
-	
+	private String	orgId;
+
 	/**
 	 * 所属组织联系方式
 	 */
-	private Integer contacts;
-	
+	private Integer	contacts;
+
 	public String getOrgId() {
 		return orgId;
 	}
@@ -91,7 +89,7 @@ public class AchievementListBo {
 	public void setOrgId(String orgId) {
 		this.orgId = orgId;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getContacts() {
 		return contacts;
@@ -176,7 +174,6 @@ public class AchievementListBo {
 		this.ownerType = ownerType;
 	}
 
-
 	public Date getReleaseDate() {
 		return releaseDate;
 	}
@@ -184,7 +181,7 @@ public class AchievementListBo {
 	public void setReleaseDate(Date releaseDate) {
 		this.releaseDate = releaseDate;
 	}
-	
+
 	@JsonFormat(shape = Shape.STRING)
 	public Integer getAuditStatus() {
 		return auditStatus;
@@ -201,8 +198,6 @@ public class AchievementListBo {
 	public void setTechBrokerId(String techBrokerId) {
 		this.techBrokerId = techBrokerId;
 	}
-	
-	
 
 	public String getOwnerId() {
 		return ownerId;

+ 25 - 0
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -28,6 +28,8 @@ import com.goafanti.common.dao.AchievementKeywordMapper;
 import com.goafanti.common.dao.AchievementMapper;
 import com.goafanti.common.dao.DemandKeywordMapper;
 import com.goafanti.common.dao.NoticeMapper;
+import com.goafanti.common.dao.OrganizationIdentityMapper;
+import com.goafanti.common.dao.UserIdentityMapper;
 import com.goafanti.common.dao.UserRoleMapper;
 import com.goafanti.common.enums.AchievementAuditStatus;
 import com.goafanti.common.enums.AchievementReleaseStatus;
@@ -43,6 +45,8 @@ import com.goafanti.common.model.AchievementDemandCount;
 import com.goafanti.common.model.AchievementKeyword;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.Notice;
+import com.goafanti.common.model.OrganizationIdentity;
+import com.goafanti.common.model.UserIdentity;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -70,6 +74,10 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 	private DemandKeywordMapper				demandKeywordMapper;
 	@Autowired
 	private AchievementDemandCountMapper	achievementDemandCountMapper;
+	@Autowired
+	private UserIdentityMapper				userIdentityMapper;
+	@Autowired
+	private OrganizationIdentityMapper		organizationIdentityMapper;
 
 	@SuppressWarnings("unchecked")
 	@Override
@@ -156,6 +164,9 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 				AchievementDemandCount adc = achievementDemandCountMapper.selectByUid(a.getOwnerId());
 				if (null != adc) {
 					adc.setAchievementCount(adc.getAchievementCount() - 1);
+					if (adc.getAchievementCount() < 0) {
+						adc.setAchievementCount(0);
+					}
 					achievementDemandCountMapper.updateByPrimaryKeySelective(adc);
 				}
 			}
@@ -257,6 +268,17 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 			a.setTechBrokerId(techBroderId);
 			String ownerId = a.getOwnerId();
 			if (StringUtils.isNotBlank(ownerId)) {
+				if (UserType.PERSONAL.getCode().equals(a.getOwnerType())){
+					UserIdentity ui = userIdentityMapper.selectUserIdentityByUserId(ownerId);
+					if (null != ui){
+						a.setOwnerName(ui.getUsername());
+					}
+				} else if (UserType.ORGANIZATION.getCode().equals(a.getOwnerType())){
+					OrganizationIdentity oi = organizationIdentityMapper.selectOrgIdentityByUserId(ownerId);
+					if (null != oi){
+						a.setOwnerName(oi.getUnitName());
+					}
+				}
 				AchievementDemandCount adc = achievementDemandCountMapper.selectByUid(ownerId);
 				if (null == adc) {
 					AchievementDemandCount achievementDemandCount = new AchievementDemandCount();
@@ -288,6 +310,9 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 			AchievementDemandCount adc = achievementDemandCountMapper.selectByUid(a.getOwnerId());
 			if (null != adc) {
 				adc.setAchievementCount(adc.getAchievementCount() - 1);
+				if (adc.getAchievementCount() < 0) {
+					adc.setAchievementCount(0);
+				}
 				achievementDemandCountMapper.updateByPrimaryKeySelective(adc);
 			}
 		}

+ 14 - 6
src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java

@@ -168,6 +168,11 @@ public class AdminAchievementApiController extends CertifyApiController {
 			return res;
 		}
 
+		if (StringUtils.isBlank(ia.getOwnerId()) && StringUtils.isBlank(ia.getOwnerName())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果所有人", "成果所有人"));
+			return res;
+		}
+
 		res = disposeInputAchievement(res, ia, keywords);
 		if (!res.getError().isEmpty()) {
 			return res;
@@ -197,6 +202,11 @@ public class AdminAchievementApiController extends CertifyApiController {
 			return res;
 		}
 
+		if (StringUtils.isBlank(ia.getOwnerId()) && StringUtils.isBlank(ia.getOwnerName())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果所有人", "成果所有人"));
+			return res;
+		}
+
 		if (!AchievementAuditStatus.CREATE.getCode().equals(ia.getAuditStatus())
 				&& !AchievementAuditStatus.SUBMIT.getCode().equals(ia.getAuditStatus())
 				&& !AchievementAuditStatus.UNAUDITED.getCode().equals(ia.getAuditStatus())) {
@@ -483,8 +493,6 @@ public class AdminAchievementApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到合作方式", "合作方式"));
 			return res;
 		}
-		
-		
 
 		for (int i = 0; i < keywords.length; i++) {
 			if (AFTConstants.KEYWORDLENTH < keywords[i].length()) {
@@ -587,10 +595,10 @@ public class AdminAchievementApiController extends CertifyApiController {
 						AchievementImportFields.COOPERATIONMODE.getDesc()));
 				return res;
 			}
-			
-			if (bo.getIntroduction().length() > 298){
-				res.getError().add(
-						buildError(ErrorConstants.PARAM_SIZE_ERROR, "", AchievementImportFields.INTRODUCTION.getDesc()));
+
+			if (bo.getIntroduction().length() > 298) {
+				res.getError().add(buildError(ErrorConstants.PARAM_SIZE_ERROR, "",
+						AchievementImportFields.INTRODUCTION.getDesc()));
 				return res;
 			}
 

+ 24 - 1
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -750,7 +750,24 @@ public class AdminApiController extends CertifyApiController {
 		}
 		return res;
 	}
-
+	
+	/**
+	 * 删除团体人力资源
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/deleteHumanResource", method = RequestMethod.POST)
+	public Result deleteHumanResource(@RequestParam(name = "ids[]", required = false) String[] ids) {
+		Result res = new Result();
+		if (ids == null || ids.length < 1) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", ""));
+		} else {
+			orgHumanResourceService.batchDeleteByPrimaryKey(Arrays.asList(ids));
+		}
+		return res;
+	}
+	
+	
 	/**
 	 * 企业参与国家标准或行业标准制定情况明细列表
 	 */
@@ -1154,6 +1171,12 @@ public class AdminApiController extends CertifyApiController {
 		BeanUtils.copyProperties(orgTechProduct, otp);
 
 		if (StringUtils.isBlank(otp.getId())) {
+			OrgTechProduct product = orgTechProductService.findBySerialNumberAndUid(otp.getSerialNumber(),
+					otp.getUid());
+			if (null != product){
+				res.getError().add(buildError("", "产品编号重复,无法保存!"));
+				return res;
+			}
 			otp.setId(UUID.randomUUID().toString());
 			otp.setDeletedSign(DeleteStatus.UNDELETE.getCode());
 			Calendar now = Calendar.getInstance();

+ 1 - 1
src/main/java/com/goafanti/admin/controller/AdminContractApiController.java

@@ -331,7 +331,7 @@ public class AdminContractApiController extends CertifyApiController {
 	public Result submitContract(@Valid InputContract ic, BindingResult bindingResult, String signDateFormattedDate,
 			@RequestParam(name = "principals[]", required = false) String[] principals) {
 		Result res = new Result();
-		if (principals.length < 1 || null == principals) {
+		if (null == principals || principals.length < 1) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到流转分发用户", "流转分发用户"));
 			return res;
 		}

+ 10 - 0
src/main/java/com/goafanti/admin/controller/AdminDemandApiController.java

@@ -245,6 +245,11 @@ public class AdminDemandApiController extends CertifyApiController {
 					DemandFields.getFieldDesc(bindingResult.getFieldError().getField())));
 			return res;
 		}
+		
+		if (StringUtils.isBlank(demand.getEmployerId()) && StringUtils.isBlank(demand.getEmployerName())){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求雇主", "需求雇主"));
+			return res;
+		}
 
 		res = disposeDemand(res, demand, keywords);
 		if (!res.getError().isEmpty()) {
@@ -371,6 +376,11 @@ public class AdminDemandApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求ID", "需求ID"));
 			return res;
 		}
+		
+		if (StringUtils.isBlank(demand.getEmployerId()) && StringUtils.isBlank(demand.getEmployerName())){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求雇主", "需求雇主"));
+			return res;
+		}
 
 		if (!DemandAuditStatus.CREATE.getCode().equals(demand.getAuditStatus())
 				&& !DemandAuditStatus.SUBMIT.getCode().equals(demand.getAuditStatus())

+ 3 - 0
src/main/java/com/goafanti/admin/controller/AdminSuperviseApiController.java

@@ -261,6 +261,9 @@ public class AdminSuperviseApiController extends CertifyApiController {
 
 	private Result disposeAdminLocationList(Result res, JSONObject jo, Admin ad) {
 		JSONArray locations = jo.getJSONArray("locations");
+		if (null == locations || locations.size()<1){
+			return res;
+		}
 		List<AdminLocation> adminLocationList = new ArrayList<>();
 		AdminLocation al = null;
 		Boolean areaAdminFlag = false;

+ 8 - 5
src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java

@@ -80,10 +80,10 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 					.selectProvinceWhereCityIsNullByAdminId(TokenManager.getAdminId());
 			List<Integer> cityList = adminLocationMapper.selectCityByAdminId(TokenManager.getAdminId());
 			provinceList.addAll(cityList);
-			if (null != provinceList && provinceList.size() > 0){
+			if (null != provinceList && provinceList.size() > 0) {
 				params.put("provinceList", provinceList);
 			}
-			if (null != cityList && cityList.size() > 0){
+			if (null != cityList && cityList.size() > 0) {
 				params.put("cityList", cityList);
 			}
 			return (Pagination<AdminListBo>) findPage("findAreaAdminListByPage", "findAreaAdminCount", params, pageNo,
@@ -111,7 +111,9 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 			TokenManager.clearUserAuthByUserId(ad.getId());
 		}
 		adminLocationMapper.deleteByAdminId(ad.getId());
-		adminLocationMapper.insertBatch(adminLocationList);
+		if (null != adminLocationList && adminLocationList.size() > 0) {
+			adminLocationMapper.insertBatch(adminLocationList);
+		}
 		return adminMapper.updateByPrimaryKeySelective(ad);
 	}
 
@@ -210,7 +212,9 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 
 	@Override
 	public int insertNewAdmin(Admin ad, List<AdminLocation> adminLocationList) {
-		adminLocationMapper.insertBatch(adminLocationList);
+		if (null != adminLocationList && adminLocationList.size() > 0) {
+			adminLocationMapper.insertBatch(adminLocationList);
+		}
 		return adminMapper.insert(ad);
 	}
 
@@ -236,5 +240,4 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 		return map;
 	}
 
-
 }

+ 10 - 3
src/main/java/com/goafanti/cognizance/controller/CognizanceApiController.java

@@ -1344,14 +1344,14 @@ public class CognizanceApiController extends CertifyApiController {
 
 		if (!StringUtils.isBlank(startDateFormattedDate)) {
 			try {
-				orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgActivity.setStartDate(DateUtils.parseDate(startDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
 
 		if (StringUtils.isBlank(endDateFormattedDate)) {
 			try {
-				orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDDHHMMSS));
+				orgActivity.setEndDate(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD));
 			} catch (ParseException e) {
 			}
 		}
@@ -1710,7 +1710,8 @@ public class CognizanceApiController extends CertifyApiController {
 			return res;
 		}
 
-		if (!checkUserLogin(res)) {
+		if (StringUtils.isBlank(orgTechProduct.getSerialNumber())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到产品编号", "产品编号"));
 			return res;
 		}
 
@@ -1723,6 +1724,12 @@ public class CognizanceApiController extends CertifyApiController {
 		BeanUtils.copyProperties(orgTechProduct, otp);
 
 		if (StringUtils.isBlank(otp.getId())) {
+			OrgTechProduct product = orgTechProductService.findBySerialNumberAndUid(otp.getSerialNumber(),
+					TokenManager.getUserId());
+			if (null != product){
+				res.getError().add(buildError("", "产品编号重复,无法保存!"));
+				return res;
+			}
 			otp.setId(UUID.randomUUID().toString());
 			otp.setUid(TokenManager.getUserId());
 			otp.setDeletedSign(DeleteStatus.UNDELETE.getCode());

+ 2 - 0
src/main/java/com/goafanti/cognizance/service/OrgTechProductService.java

@@ -17,4 +17,6 @@ public interface OrgTechProductService {
 
 	OrgTechProduct selectByPrimaryKey(String id);
 
+	OrgTechProduct findBySerialNumberAndUid(String serialNumber, String userId);
+
 }

+ 5 - 0
src/main/java/com/goafanti/cognizance/service/impl/OrgTechProductServiceImpl.java

@@ -61,4 +61,9 @@ public class OrgTechProductServiceImpl extends BaseMybatisDao<OrgTechProductMapp
 	public OrgTechProduct selectByPrimaryKey(String id) {
 		return orgTechProductMapper.selectByPrimaryKey(id);
 	}
+
+	@Override
+	public OrgTechProduct findBySerialNumberAndUid(String serialNumber, String uid) {
+		return orgTechProductMapper.findBySerialNumberAndUid(serialNumber, uid);
+	}
 }

+ 10 - 6
src/main/java/com/goafanti/common/dao/OrgTechProductMapper.java

@@ -2,20 +2,24 @@ package com.goafanti.common.dao;
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.goafanti.common.model.OrgTechProduct;
 
 public interface OrgTechProductMapper {
-    int deleteByPrimaryKey(String id);
+	int deleteByPrimaryKey(String id);
 
-    int insert(OrgTechProduct record);
+	int insert(OrgTechProduct record);
 
-    int insertSelective(OrgTechProduct record);
+	int insertSelective(OrgTechProduct record);
 
-    OrgTechProduct selectByPrimaryKey(String id);
+	OrgTechProduct selectByPrimaryKey(String id);
 
-    int updateByPrimaryKeySelective(OrgTechProduct record);
+	int updateByPrimaryKeySelective(OrgTechProduct record);
 
-    int updateByPrimaryKey(OrgTechProduct record);
+	int updateByPrimaryKey(OrgTechProduct record);
 
 	int batchDeleteByPrimaryKey(List<String> id);
+
+	OrgTechProduct findBySerialNumberAndUid(@Param("serialNumber") String serialNumber, @Param("uid") String uid);
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/TechProjectMapper.java

@@ -35,4 +35,6 @@ public interface TechProjectMapper {
 	void batchInsert(List<TechProject> tp);
 
 	Integer findTechProjectNumByUid(String uid);
+
+	int batchDeleteByContractId(List<String> id);
 }

+ 5 - 7
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -965,7 +965,7 @@
     	 name, keyword, category,
     	 owner_name, owner_type, owner_id_number,
     	 owner_mobile, owner_email, owner_postal_address,
-    	 cooperation_mode 
+    	 cooperation_mode, introduction
     	 )
     values 
     <foreach item="item" index="index" collection="list" separator=",">
@@ -975,7 +975,7 @@
       	#{item.name,jdbcType=VARCHAR}, #{item.keyword,jdbcType=VARCHAR}, #{item.category,jdbcType=INTEGER},
       	#{item.ownerName,jdbcType=VARCHAR}, #{item.ownerType,jdbcType=VARCHAR}, #{item.ownerIdNumber,jdbcType=VARCHAR},
       	#{item.ownerMobile,jdbcType=VARCHAR}, #{item.ownerEmail,jdbcType=VARCHAR}, #{item.ownerPostalAddress,jdbcType=VARCHAR},
-      	#{item.cooperationMode,jdbcType=INTEGER}
+      	#{item.cooperationMode,jdbcType=INTEGER}, #{item.introduction,jdbcType=VARCHAR}
       )
     </foreach>
   </insert>
@@ -984,13 +984,12 @@
   	select 
   		a.id, a.name, a.keyword,
   		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.release_date as releaseDate, a.owner_type as ownerType, 
+  		a.owner_name as ownerName,
+  		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, u.lvl as level
   	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
   	left join user u on u.id = a.owner_id
   	where a.deleted_sign = 0 
   	<if test="keyword != null">
@@ -1002,7 +1001,6 @@
   	<if test="bargainingMode != null">
   		and a.bargaining_mode = #{bargainingMode,jdbcType=INTEGER}
   	</if>
-  	
   	<if test="maturity != null">
   		and a.maturity = #{maturity,jdbcType=INTEGER}
   	</if>

+ 14 - 1
src/main/java/com/goafanti/common/mapper/ContractMapper.xml

@@ -465,11 +465,18 @@
 	    and c.status= #{status ,jdbcType=INTEGER}
 	  </if>
 	   <if test="cStart !=null">
-	    and c.sign_date <![CDATA[ > ]]> #{cStart,jdbcType=TIMESTAMP}
+	    and c.sign_date <![CDATA[ >= ]]> #{cStart,jdbcType=TIMESTAMP}
 	  </if>
 	   <if test="cEnd !=null">
 	    and c.sign_date <![CDATA[ < ]]> #{cEnd,jdbcType=TIMESTAMP}
 	  </if>
+	   <if test="lStart !=null">
+	    and c.complete_date <![CDATA[ >= ]]> #{lStart,jdbcType=TIMESTAMP}
+	  </if>
+	   <if test="lEnd !=null">
+	    and c.complete_date <![CDATA[ < ]]> #{lEnd,jdbcType=TIMESTAMP}
+	  </if>
+	  
 		order by c.serial_number DESC
 	  <if test="page_sql!=null">
 		${page_sql}
@@ -502,5 +509,11 @@
 	   <if test="cEnd !=null">
 	    and c.sign_date <![CDATA[ < ]]> #{cEnd,jdbcType=TIMESTAMP}
 	  </if>
+	   <if test="lStart !=null">
+	    and c.complete_date <![CDATA[ >= ]]> #{lStart,jdbcType=TIMESTAMP}
+	  </if>
+	   <if test="lEnd !=null">
+	    and c.complete_date <![CDATA[ < ]]> #{lEnd,jdbcType=TIMESTAMP}
+	  </if>
   </select>
 </mapper>

+ 2 - 4
src/main/java/com/goafanti/common/mapper/DemandMapper.xml

@@ -906,11 +906,9 @@
 	  		d.id, d.name, d.keyword,
 	  		d.serial_number as serialNumber, d.data_category as dataCategory, d.industry_category_a as industryCategoryA,
 	  		d.industry_category_b as industryCategoryB, d.demand_type as demandType, d.budget_cost as budgetCost,
-	  		d.problem_des as problemDes, d.release_date as releaseDate, ui.username,
-	  		oi.unit_name as unitName, u.lvl as level
+	  		d.problem_des as problemDes, d.release_date as releaseDate, a.employer_name as employerName,
+	  	 u.lvl as level
   		from demand d
-  		left join user_identity ui on d.employer_id = ui.uid
-  		left join organization_identity oi on d.employer_id = oi.uid
   		left join user u on u.id = d.employer_id
   		where d.deleted_sign = 0 and d.status = 0
   		<if test="keyword != null">

+ 4 - 1
src/main/java/com/goafanti/common/mapper/OrgHumanResourceMapper.xml

@@ -507,6 +507,9 @@
 		select
 		<include refid="Base_Column_List" />
 		from org_human_resource
-		where year = #{0} and uid = #{1}
+		where 
+			year = #{0} 
+		and uid = #{1} 
+		and deleted_sign = 0
 	</select>
 </mapper>

+ 9 - 0
src/main/java/com/goafanti/common/mapper/OrgTechProductMapper.xml

@@ -280,4 +280,13 @@
 		#{item}
 	</foreach>
   </update>
+  
+   <select id="findBySerialNumberAndUid" resultMap="BaseResultMap" >
+    select 
+    <include refid="Base_Column_List" />
+    from org_tech_product
+    where deleted_sign = 0  
+    and serial_number  = #{serialNumber,jdbcType=VARCHAR}
+    and uid = #{uid,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 21 - 11
src/main/java/com/goafanti/common/mapper/TechProjectMapper.xml

@@ -438,17 +438,19 @@
   </select>
   
   <select id="selectProjectDetail" resultType="com.goafanti.techproject.bo.TechProjectDetailBo" parameterType="java.lang.String">
-  		 select 
-  		 p.id, p.uid, i.licence_province as province, i.licence_city as city, i.licence_area as area, i.postal_address as postalAddress,
-	        i.unit_name as unitName,  i.org_code as orgCode,
-		    p.serial_number as serialNumber,  
-		     a.name as consultant, p.contacts, p.project_des as projectDes, p.subsidy, p.dispatch_info as dispatchInfo,
-        p.project_mode as projectMode, p.project_approval as projectApproval, p.approval_url as approvalUrl , p.department,
-		    p.project_name as projectName, p.project_catagory as projectCatagory, p.tech_field as techField, p.state       
-	  FROM  tech_project p
+  	select 
+  		 p.id, p.uid, i.licence_province as province, 
+  		 i.licence_city as city, i.licence_area as area, i.postal_address as postalAddress,
+	     i.unit_name as unitName,  i.org_code as orgCode, p.serial_number as serialNumber,  
+		 a.name as consultant, p.contacts, p.project_des as projectDes, 
+		 p.subsidy, p.dispatch_info as dispatchInfo, p.project_mode as projectMode, 
+		 p.project_approval as projectApproval, p.approval_url as approvalUrl , p.department,
+		 p.project_name as projectName, p.project_catagory as projectCatagory, p.tech_field as techField, 
+		 p.state       
+	FROM  tech_project p
 		LEFT JOIN organization_identity i on i.uid = p.uid
 		LEFT JOIN admin a on p.consultant = a.id 
-		where p.deleted_sign = 0  and p.id = #{uid,jdbcType=VARCHAR}
+	where p.deleted_sign = 0  and p.id = #{uid,jdbcType=VARCHAR}
   </select>
   
    <update id="batchDeleteByPrimaryKey" parameterType="java.util.List">
@@ -521,7 +523,7 @@
 		#{item.approvedDate,jdbcType=TIMESTAMP}, #{item.recordTime,jdbcType=TIMESTAMP},
 		#{item.deletedSign,jdbcType=INTEGER}, #{item.founder,jdbcType=VARCHAR}, #{item.contractId,jdbcType=VARCHAR},
 		#{item.principal,jdbcType=VARCHAR}
-		)
+	 )
   </foreach>
   </insert>
   
@@ -533,6 +535,14 @@
   		deleted_sign = 0
   	and uid = #{uid,jdbcType=VARCHAR}
   </select>
-	
+
+  <update id="batchDeleteByContractId" parameterType="java.util.List">
+		update tech_project set deleted_sign = 1
+		where contract_id in
+		<foreach item="item" index="index" collection="list" open="("
+			separator="," close=")">
+			#{item}
+		</foreach>
+  </update>
 	
 </mapper>

+ 6 - 10
src/main/java/com/goafanti/contract/bo/InputContactLog.java

@@ -7,16 +7,16 @@ import javax.validation.constraints.Size;
 import com.goafanti.common.constant.ErrorConstants;
 
 public class InputContactLog {
-	
+
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
-    private String cid;	
-	
+	private String	cid;
+
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
-	private String comment;
-	
+	private String	comment;
+
 	@Max(value = 3, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
-	private Integer status;
+	private Integer	status;
 
 	public String getCid() {
 		return cid;
@@ -41,9 +41,5 @@ public class InputContactLog {
 	public void setStatus(Integer status) {
 		this.status = status;
 	}
-	
-	
-	
-	
 
 }

+ 4 - 2
src/main/java/com/goafanti/contract/controller/ContractApiController.java

@@ -218,7 +218,8 @@ public class ContractApiController extends CertifyApiController {
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public Result listContract(String contractId, Integer serialNumber, Integer type, Integer status,
-			String startDateFormattedDate, String endDateFormattedDate, String pageNo, String pageSize) {
+			String startDateFormattedDate, String endDateFormattedDate, String completeStartDate,
+			String completeEndDate, String pageNo, String pageSize) {
 		Result res = new Result();
 		Integer pNo = 1;
 		Integer pSize = 10;
@@ -229,7 +230,8 @@ public class ContractApiController extends CertifyApiController {
 			pNo = Integer.parseInt(pageNo);
 		}
 		res.setData(contractService.getClientList(contractId, serialNumber, type, status, startDateFormattedDate,
-				endDateFormattedDate, pNo, pSize));
+				endDateFormattedDate, completeStartDate,
+				completeEndDate, pNo, pSize));
 		return res;
 	}
 

+ 6 - 4
src/main/java/com/goafanti/contract/service/ContractService.java

@@ -11,8 +11,9 @@ import com.goafanti.core.mybatis.page.Pagination;
 
 public interface ContractService {
 
-	Pagination<ContractManageListBo> getManageList(String contractId, Integer serialNumber, Integer type, Integer status, String startDateFormattedDate,
-			String endDateFormattedDate, Integer province, String unitName, String uid, Integer pNo, Integer pSize);
+	Pagination<ContractManageListBo> getManageList(String contractId, Integer serialNumber, Integer type,
+			Integer status, String startDateFormattedDate, String endDateFormattedDate, Integer province,
+			String unitName, String uid, Integer pNo, Integer pSize);
 
 	Contract saveManageContract(Contract c);
 
@@ -32,8 +33,9 @@ public interface ContractService {
 
 	int deleteByPrimaryKey(List<String> asList);
 
-	Pagination<ContractClientListBo> getClientList(String contractId, Integer serialNumber, Integer type, Integer status,
-			String startDateFormattedDate, String endDateFormattedDate, Integer pNo, Integer pSize);
+	Pagination<ContractClientListBo> getClientList(String contractId, Integer serialNumber, Integer type,
+			Integer status, String startDateFormattedDate, String endDateFormattedDate, String completeStartDate,
+			String completeEndDate, Integer pNo, Integer pSize);
 
 	Contract saveContract(Contract c);
 

+ 4 - 4
src/main/java/com/goafanti/contract/service/impl/ContractLogServiceImpl.java

@@ -39,7 +39,7 @@ public class ContractLogServiceImpl implements ContractLogService {
 	private NoticeMapper		noticeMapper;
 	@Autowired
 	private UserMapper			userMapper;
-	
+
 	@Override
 	public List<ContractLog> selectContractLogByCid(String cid) {
 		return contractLogMapper.selectContractLogByCid(cid);
@@ -54,7 +54,7 @@ public class ContractLogServiceImpl implements ContractLogService {
 			} catch (ParseException e) {
 			}
 		}
-		if (ContractStatus.COMPLETE.getCode() == icl.getStatus()) {
+		if (ContractStatus.COMPLETE.getCode().equals(icl.getStatus())) {
 			Contract c = contractMapper.selectByPrimaryKey(icl.getCid());
 			c.setStatus(icl.getStatus());
 			c.setCompleteDate(recordTime);
@@ -62,8 +62,9 @@ public class ContractLogServiceImpl implements ContractLogService {
 		}
 		List<ContractLog> logs = new ArrayList<>();
 		List<Notice> notice = new ArrayList<>();
+		ContractLog cl = null;
 		for (int i = 0; i < principals.length; i++) {
-			ContractLog cl = new ContractLog();
+			cl = new ContractLog();
 			BeanUtils.copyProperties(icl, cl);
 			cl.setId(UUID.randomUUID().toString());
 			cl.setOperator(TokenManager.getAdminId());
@@ -101,5 +102,4 @@ public class ContractLogServiceImpl implements ContractLogService {
 		return n;
 	}
 
-	
 }

+ 45 - 23
src/main/java/com/goafanti/contract/service/impl/ContractServiceImpl.java

@@ -19,6 +19,7 @@ import com.goafanti.common.dao.CopyrightInfoMapper;
 import com.goafanti.common.dao.NoticeMapper;
 import com.goafanti.common.dao.OrgCognizanceMapper;
 import com.goafanti.common.dao.PatentInfoMapper;
+import com.goafanti.common.dao.TechProjectMapper;
 import com.goafanti.common.dao.UserMapper;
 import com.goafanti.common.enums.ContractBusinessStatus;
 import com.goafanti.common.enums.ContractStatus;
@@ -57,20 +58,21 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 	private CopyrightInfoMapper	copyrightInfoMapper;
 	@Autowired
 	private OrgCognizanceMapper	orgCognizanceMapper;
+	@Autowired
+	private TechProjectMapper	techProjectMapper;
 
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<ContractManageListBo> getManageList(String contractId, Integer serialNumber, Integer type,
 			Integer status, String startDateFormattedDate, String endDateFormattedDate, Integer province,
 			String unitName, String uid, Integer pNo, Integer pSize) {
-		Map<String, Object> params = disposeParams(contractId, serialNumber, type,
-				status, startDateFormattedDate, endDateFormattedDate, province,
-				unitName, uid);
-		
+		Map<String, Object> params = disposeParams(contractId, serialNumber, type, status, startDateFormattedDate,
+				endDateFormattedDate, province, unitName, uid);
+
 		if (!TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
 			params.put("principal", TokenManager.getAdminId());
 		}
-		
+
 		if (pNo == null || pNo < 0) {
 			pNo = 1;
 		}
@@ -86,12 +88,35 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<ContractClientListBo> getClientList(String contractId, Integer serialNumber, Integer type,
-			Integer status, String startDateFormattedDate, String endDateFormattedDate, Integer pNo, Integer pSize) {
+			Integer status, String startDateFormattedDate, String endDateFormattedDate, String completeStartDate,
+			String completeEndDate, Integer pNo, Integer pSize) {
+
+		Map<String, Object> params = disposeParams(contractId, serialNumber, type, status, startDateFormattedDate,
+				endDateFormattedDate, null, null, TokenManager.getUserId());
+
+		Date lStart = null;
+		Date lEnd = null;
+		if (!StringUtils.isBlank(completeStartDate)) {
+			try {
+				lStart = DateUtils.parseDate(startDateFormattedDate, AFTConstants.YYYYMMDD);
+			} catch (ParseException e) {
+			}
+		}
 
-		Map<String, Object> params = disposeParams(contractId, serialNumber, type,
-				status, startDateFormattedDate, endDateFormattedDate, null,
-				null, TokenManager.getUserId());
+		if (null != lStart) {
+			params.put("lStart", lStart);
+		}
+
+		if (!StringUtils.isBlank(completeEndDate)) {
+			try {
+				lEnd = DateUtils.addDays(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD), 1);
+			} catch (ParseException e) {
+			}
+		}
 
+		if (null != lEnd) {
+			params.put("lEnd", lEnd);
+		}
 
 		if (pNo == null || pNo < 0) {
 			pNo = 1;
@@ -176,12 +201,12 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 			} catch (ParseException e) {
 			}
 		}
-		
+
 		if (null != c.getStatus() && c.getStatus().equals(ContractStatus.CIRCULATION.getCode())) {
 			c.setStatus(ContractStatus.SIGN.getCode());
 			flag = true;
 		}
-		
+
 		c.setSignDate(signDate);
 		contractMapper.updateByPrimaryKeySelective(c);
 
@@ -190,7 +215,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 
 		for (int i = 0; i < principals.length; i++) {
 			ContractLog log = disposeContractLog(c);
-			if (flag){
+			if (flag) {
 				log.setStatus(ContractStatus.CIRCULATION.getCode());
 			}
 			log.setPrincipal(principals[i]);
@@ -216,10 +241,10 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		patentInfoMapper.batchDeleteByContractId(id);
 		copyrightInfoMapper.batchDeleteByContractId(id);
 		orgCognizanceMapper.batchDeleteByContractId(id);
+		techProjectMapper.batchDeleteByContractId(id);
 		return contractMapper.batchDeleteByPrimaryKey(id);
 	}
 
-	
 	@Override
 	public Contract saveContract(Contract c) {
 		c.setStatus(ContractStatus.CREATE.getCode());
@@ -229,7 +254,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		contractLogMapper.insert(disposeContractLog(c));
 		return c;
 	}
-	
+
 	private ContractLog disposeContractLog(Contract c) {
 		ContractLog cl = new ContractLog();
 		cl.setId(UUID.randomUUID().toString());
@@ -245,7 +270,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		cl.setCid(c.getId());
 		return cl;
 	}
-	
+
 	private Notice createNotice(Contract c, ContractLog l) {
 		Contract info = contractMapper.selectByPrimaryKey(c.getId());
 
@@ -270,7 +295,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		n.setYear(info.getCognizanceYear());
 		return n;
 	}
-	
+
 	private Contract disposeContract(Contract c) {
 		c.setId(UUID.randomUUID().toString());
 		Calendar now = Calendar.getInstance();
@@ -287,17 +312,14 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 		c.setDeletedSign(DeleteStatus.UNDELETE.getCode());
 		return c;
 	}
-	
-	private Map<String, Object> disposeParams(String contractId, Integer serialNumber, Integer type,
-			Integer status, String startDateFormattedDate, String endDateFormattedDate, Integer province,
-			String unitName, String uid){
+
+	private Map<String, Object> disposeParams(String contractId, Integer serialNumber, Integer type, Integer status,
+			String startDateFormattedDate, String endDateFormattedDate, Integer province, String unitName, String uid) {
 		Date cStart = null;
 		Date cEnd = null;
 
 		Map<String, Object> params = new HashMap<>();
 
-		
-
 		if (null != serialNumber) {
 			params.put("serialNumber", serialNumber);
 		}
@@ -331,7 +353,7 @@ public class ContractServiceImpl extends BaseMybatisDao<ContractMapper> implemen
 
 		if (!StringUtils.isBlank(endDateFormattedDate)) {
 			try {
-				cEnd = DateUtils.addDays(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD),1);
+				cEnd = DateUtils.addDays(DateUtils.parseDate(endDateFormattedDate, AFTConstants.YYYYMMDD), 1);
 			} catch (ParseException e) {
 			}
 		}

+ 3 - 3
src/main/java/com/goafanti/copyright/bo/CopyrightInfoSummary.java

@@ -255,7 +255,7 @@ public class CopyrightInfoSummary {
 		if (this.acceptTime == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.acceptTime, AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.acceptTime, AFTConstants.YYYYMMDD);
 		}
 	}
 
@@ -267,7 +267,7 @@ public class CopyrightInfoSummary {
 		if (this.authorizedDate == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.authorizedDate, AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.authorizedDate, AFTConstants.YYYYMMDD);
 		}
 	}
 
@@ -279,7 +279,7 @@ public class CopyrightInfoSummary {
 		if (this.createTime == null) {
 			return null;
 		} else {
-			return DateFormatUtils.format(this.createTime, AFTConstants.YYYYMMDDHHMMSS);
+			return DateFormatUtils.format(this.createTime, AFTConstants.YYYYMMDD);
 		}
 	}
 

+ 0 - 3
src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java

@@ -154,9 +154,6 @@ public class CopyrightApiController extends CertifyApiController {
 			@RequestParam(name = "acceptTime[]", required = false) String[] acceptTime,
 			@RequestParam(name = "authTime[]", required = false) String[] authTime) {
 		Result res = new Result();
-		if (!checkUserLogin(res)) {
-			return res;
-		}
 		res.setData(copyrightInfoService.listMyCopyrightInfo(contractId, province, unitName, copyrightName,
 				CopyrightStatus.getStatus(status), createTime, acceptTime, authTime, getPageNo(pageNo),
 				getPageSize(pageSize), TokenManager.getUserId()));

+ 6 - 6
src/main/java/com/goafanti/copyright/service/impl/CopyrightInfoServiceImpl.java

@@ -170,11 +170,11 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 		if (createTime != null) {
 			try {
 				if (createTime.length > 0 && StringUtils.isNotBlank(createTime[0])) {
-					params.put("createStartTime", DateUtils.parseDate(createTime[0], AFTConstants.YYYYMMDDHHMMSS));
+					params.put("createStartTime", DateUtils.parseDate(createTime[0], AFTConstants.YYYYMMDD));
 				}
 				if (createTime.length > 1 && StringUtils.isNotBlank(createTime[1])) {
 					params.put("createEndTime",
-							DateUtils.addDays(DateUtils.parseDate(createTime[1], AFTConstants.YYYYMMDDHHMMSS), 1));
+							DateUtils.addDays(DateUtils.parseDate(createTime[1], AFTConstants.YYYYMMDD), 1));
 				}
 			} catch (ParseException e) {
 			}
@@ -182,11 +182,11 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 		if (acceptTime != null) {
 			try {
 				if (acceptTime.length > 0 && StringUtils.isNotBlank(acceptTime[0])) {
-					params.put("acceptStartTime", DateUtils.parseDate(acceptTime[0], AFTConstants.YYYYMMDDHHMMSS));
+					params.put("acceptStartTime", DateUtils.parseDate(acceptTime[0], AFTConstants.YYYYMMDD));
 				}
 				if (acceptTime.length > 1 && StringUtils.isNotBlank(acceptTime[1])) {
 					params.put("acceptEndTime",
-							DateUtils.addDays(DateUtils.parseDate(acceptTime[1], AFTConstants.YYYYMMDDHHMMSS), 1));
+							DateUtils.addDays(DateUtils.parseDate(acceptTime[1], AFTConstants.YYYYMMDD), 1));
 				}
 			} catch (ParseException e) {
 			}
@@ -194,11 +194,11 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 		if (authTime != null) {
 			try {
 				if (authTime.length > 0 && StringUtils.isNotBlank(authTime[0])) {
-					params.put("authStartTime", DateUtils.parseDate(authTime[0], AFTConstants.YYYYMMDDHHMMSS));
+					params.put("authStartTime", DateUtils.parseDate(authTime[0], AFTConstants.YYYYMMDD));
 				}
 				if (authTime.length > 1 && StringUtils.isNotBlank(authTime[1])) {
 					params.put("authEndTime",
-							DateUtils.addDays(DateUtils.parseDate(authTime[1], AFTConstants.YYYYMMDDHHMMSS), 1));
+							DateUtils.addDays(DateUtils.parseDate(authTime[1], AFTConstants.YYYYMMDD), 1));
 				}
 			} catch (ParseException e) {
 			}

+ 27 - 2
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -23,6 +23,8 @@ import com.goafanti.common.dao.AchievementKeywordMapper;
 import com.goafanti.common.dao.DemandKeywordMapper;
 import com.goafanti.common.dao.DemandMapper;
 import com.goafanti.common.dao.NoticeMapper;
+import com.goafanti.common.dao.OrganizationIdentityMapper;
+import com.goafanti.common.dao.UserIdentityMapper;
 import com.goafanti.common.dao.UserMapper;
 import com.goafanti.common.dao.UserRoleMapper;
 import com.goafanti.common.enums.DeleteStatus;
@@ -39,7 +41,9 @@ import com.goafanti.common.model.AchievementDemandCount;
 import com.goafanti.common.model.Demand;
 import com.goafanti.common.model.DemandKeyword;
 import com.goafanti.common.model.Notice;
+import com.goafanti.common.model.OrganizationIdentity;
 import com.goafanti.common.model.User;
+import com.goafanti.common.model.UserIdentity;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -73,6 +77,10 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 	private AchievementKeywordMapper		achievementKeywordMapper;
 	@Autowired
 	private AchievementDemandCountMapper	achievementDemandCountMapper;
+	@Autowired
+	private UserIdentityMapper				userIdentityMapper;
+	@Autowired
+	private OrganizationIdentityMapper		organizationIdentityMapper;
 
 	@SuppressWarnings("unchecked")
 	@Override
@@ -210,6 +218,9 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 				AchievementDemandCount adc = achievementDemandCountMapper.selectByUid(d.getEmployerId());
 				if (null != adc) {
 					adc.setDemandCount(adc.getDemandCount() - 1);
+					if (adc.getDemandCount() < 0) {
+						adc.setDemandCount(0);
+					}
 					achievementDemandCountMapper.updateByPrimaryKeySelective(adc);
 				}
 			}
@@ -260,6 +271,9 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			AchievementDemandCount adc = achievementDemandCountMapper.selectByUid(d.getEmployerId());
 			if (null != adc) {
 				adc.setDemandCount(adc.getDemandCount() - 1);
+				if (adc.getDemandCount() < 0) {
+					adc.setDemandCount(0);
+				}
 				achievementDemandCountMapper.updateByPrimaryKeySelective(adc);
 			}
 		}
@@ -278,6 +292,17 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			d.setTechBrokerId(techBroderId);
 			String employerId = d.getEmployerId();
 			if (StringUtils.isNotBlank(employerId)) {
+				if (UserType.PERSONAL.getCode().equals(d.getDataCategory())) {
+					UserIdentity ui = userIdentityMapper.selectUserIdentityByUserId(employerId);
+					if (null != ui) {
+						d.setEmployerName(ui.getUsername());
+					}
+				} else if (UserType.ORGANIZATION.getCode().equals(d.getDataCategory())) {
+					OrganizationIdentity oi = organizationIdentityMapper.selectOrgIdentityByUserId(employerId);
+					if (null != oi) {
+						d.setEmployerName(oi.getUnitName());
+					}
+				}
 				AchievementDemandCount adc = achievementDemandCountMapper.selectByUid(employerId);
 				if (null == adc) {
 					AchievementDemandCount achievementDemandCount = new AchievementDemandCount();
@@ -384,11 +409,11 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			params.put("keyword", keyword);
 		}
 
-		if (null != industryCategoryA ) {
+		if (null != industryCategoryA) {
 			params.put("industryCategoryA", industryCategoryA);
 		}
 
-		if (null != industryCategoryB ) {
+		if (null != industryCategoryB) {
 			params.put("industryCategoryB", industryCategoryB);
 		}
 

+ 1 - 1
src/main/java/com/goafanti/patent/bo/InputPatentInfo.java

@@ -29,7 +29,7 @@ public class InputPatentInfo {
 	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	patentNumber;
 
-	@Max(value = 9, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 19, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer	patentField;
 

+ 6 - 19
src/main/java/com/goafanti/portal/bo/AchievementSearchListBo.java

@@ -38,14 +38,9 @@ public class AchievementSearchListBo {
 	private Integer		category;
 
 	/**
-	 * 所有人名称(个人)
+	 * 成果所有人名称
 	 */
-	private String		username;
-
-	/**
-	 * 所有人名称(组织)
-	 */
-	private String		unitName;
+	private String		ownerName;
 
 	/**
 	 * 发布时间
@@ -151,20 +146,12 @@ public class AchievementSearchListBo {
 		this.category = category;
 	}
 
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public String getUnitName() {
-		return unitName;
+	public String getOwnerName() {
+		return ownerName;
 	}
 
-	public void setUnitName(String unitName) {
-		this.unitName = unitName;
+	public void setOwnerName(String ownerName) {
+		this.ownerName = ownerName;
 	}
 
 	public Date getReleaseDate() {

+ 10 - 22
src/main/java/com/goafanti/portal/bo/DemandSearchListBo.java

@@ -65,20 +65,23 @@ public class DemandSearchListBo {
 	private Date releaseDate;
 	
 	/**
-	 * 个人雇主名称
+	 * 雇主名称
 	 */
-	private String username;
-	
-	/**
-	 * 组织雇主名称
-	 */
-	private String unitName;
+	private String employerName;
 	
 	/**
 	 * 用户等级
 	 */
 	private Integer level;
 	
+	public String getEmployerName() {
+		return employerName;
+	}
+
+	public void setEmployerName(String employerName) {
+		this.employerName = employerName;
+	}
+
 	public Integer getLevel() {
 		return level;
 	}
@@ -179,21 +182,6 @@ public class DemandSearchListBo {
 		this.releaseDate = releaseDate;
 	}
 	
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public String getUnitName() {
-		return unitName;
-	}
-
-	public void setUnitName(String unitName) {
-		this.unitName = unitName;
-	}
 
 	public String getReleaseDateFormattedDate() {
 		if (this.releaseDate == null) {

+ 11 - 14
src/main/java/com/goafanti/techproject/bo/TechProjectDetailBo.java

@@ -1,22 +1,22 @@
 package com.goafanti.techproject.bo;
 
 import com.goafanti.common.model.TechProject;
+
 /**
  * 科技项目详情
  */
 public class TechProjectDetailBo extends TechProject {
-	private String unitName;
-	
-	private String orgCode;
-	
-	private Integer province;
-	
-	private Integer city;
-	
-	private Integer area;
-	
-	private String postalAddress;
+	private String	unitName;
+
+	private String	orgCode;
+
+	private Integer	province;
 
+	private Integer	city;
+
+	private Integer	area;
+
+	private String	postalAddress;
 
 	public String getUnitName() {
 		return unitName;
@@ -66,7 +66,4 @@ public class TechProjectDetailBo extends TechProject {
 		this.postalAddress = postalAddress;
 	}
 
-	
-	
-
 }

+ 1 - 1
src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java

@@ -48,7 +48,7 @@ public class TechProjectApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/getDepartment", method = RequestMethod.GET)
-	public Result getDepartment(String uid) {
+	public Result getDepartment() {
 		Result res = new Result();
 		res.setData(techWebsiteService.getDepartment(TokenManager.getUserId()));
 		return res;

+ 1 - 1
src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java

@@ -179,7 +179,7 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 			pageNo = 1;
 		}
 
-		if (pageSize == null || pageSize < 0) {
+		if (pageSize == null || pageSize < 0 || pageSize > 10) {
 			pageSize = 10;
 		}
 		return (Pagination<TechProjectManageListBo>) findPage("findTechProjectManageListByPage",

+ 1 - 0
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -693,6 +693,7 @@ public class UserApiController extends BaseApiController {
 	 * 
 	 * @return
 	 */
+	@RequestMapping(value = "/deleteHumanResource", method = RequestMethod.POST)
 	public Result deleteHumanResource(@RequestParam(name = "ids[]", required = false) String[] ids) {
 		Result res = new Result();
 		if (ids == null || ids.length < 1) {