Browse Source

项目修改有无费减修改专利信息

anderx 4 years ago
parent
commit
196258fcf3

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

@@ -69,5 +69,7 @@ public interface PatentNewMapper {
 
 	void updateBatchByid(@Param("list")List<String> list, @Param("status")Integer status, @Param("aid")String aid);
 
+	List<PatentNew> selectByTid(Integer tid);
+
 
 }

+ 6 - 0
src/main/java/com/goafanti/common/mapper/PatentNewMapper.xml

@@ -637,6 +637,12 @@
 			#{item}
 		</foreach>
 	</select>
+	<select id="selectByTid" resultMap="BaseResultMap">
+		select
+		<include refid="Base_Column_List" />
+		from patent_new
+		where tid = #{tid}
+	</select>
 
 	<select id="selectUserNameByTid" resultType="java.lang.String">
 		select b.buyer_name userName from t_order_task a left join t_order_mid b on

+ 11 - 0
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -129,6 +129,7 @@ import com.goafanti.organization.bo.OrganizationListOut;
 import com.goafanti.organization.bo.OutPaymentNode;
 import com.goafanti.organization.bo.OutThirdPartyCompany;
 import com.goafanti.organization.bo.ProjectTypePuls;
+import com.goafanti.patent.service.PatentNewService;
 
 @Service
 @EnableAsync
@@ -188,6 +189,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	@Autowired
 	private OfficialFeePriceMapper	officialFeePriceMapper;
 	@Autowired
+	private PatentNewService	patentNewService;
+	@Autowired
 	private AsyncUtils	asyncUtils;
 	
 	@Value(value = "${mobileRemindCodeTemplate}")
@@ -284,17 +287,25 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 					(t.getOfficialCost()==use.getOfficialCost()&&t.getPatentType()==use.getPatentType()&&t.getCostReduction()==use.getCostReduction())) {
 				str.append("未做任何修改。");
 			}else {
+				boolean flag=false;
 				str.append("修改了:");
 				if (t.getPatentType()!=null&&use.getPatentType()!=t.getPatentType()) {
 					str.append("官费类型");
 				}
 				if (t.getOfficialCost()!=null&&use.getOfficialCost()!=t.getOfficialCost()) {
 					str.append(",").append("有无官费");
+					if (t.getOfficialCost()==0) {
+						flag=true;
+					}
 				}
 				if (t.getCostReduction()!=null&&use.getCostReduction()!=t.getCostReduction()) {
 					str.append(",").append("有无费减");
+						flag=true;
 				}
 					str.append("。");
+				if (flag) {
+					patentNewService.updateCostReduction(t.getId());
+				}
 			}
 			log.setRemarks(str.toString());
 			log.setStatus(1);

+ 6 - 0
src/main/java/com/goafanti/patent/bo/PatentNewBo.java

@@ -70,6 +70,12 @@ public class PatentNewBo extends PatentNew{
 	private Integer isFollow;
 	
 	
+	public Integer getCostReduction() {
+		return costReduction;
+	}
+	public void setCostReduction(Integer costReduction) {
+		this.costReduction = costReduction;
+	}
 	public BigDecimal getPatentAmount() {
 		return patentAmount;
 	}

+ 2 - 0
src/main/java/com/goafanti/patent/service/PatentNewService.java

@@ -51,6 +51,8 @@ public interface PatentNewService {
 	
 	Integer getSatus(Date endDate);
 
+	void updateCostReduction(Integer id);
+
 
 
 }

+ 94 - 8
src/main/java/com/goafanti/patent/service/impl/PatentNewServiceImpl.java

@@ -84,13 +84,9 @@ public class PatentNewServiceImpl  extends BaseMybatisDao<PatentNewMapper> imple
 
 	@Override
 	public int updatePatenNew(PatentNewBo p) {
-		PatentNewLog pl = new PatentNewLog();
-		pl.setPid(p.getId());
 		Admin a = adminMapper.selectByPrimaryKey(TokenManager.getAdminId());
 		PatentNew pn=patentNewMapper.selectByPrimaryKey(p.getId());
-		StringBuffer str=new StringBuffer(a.getName() + "修改了:");
-		getUpdateField(p,pn,str);
-		pl.setContent(str.toString());
+		StringBuffer str=new StringBuffer(a.getName());
 		if (!p.getApplyDate().equals(pn.getApplyDate()) 
 				|| p.getType() != pn.getType()
 				|| ! p.getTid().equals(pn.getTid())) {
@@ -102,17 +98,87 @@ public class PatentNewServiceImpl  extends BaseMybatisDao<PatentNewMapper> imple
 			p.setStatus(getSatus(p.getEndDate()));
 			sumYears(p);
 		}
-		patentNewLogMapper.insertSelective(pl);
+		addPatentNewLog(p,pn,str);
 		return patentNewMapper.updateByPrimaryKeySelective(p);
 	}
 	
-	private void getUpdateField(PatentNewBo p, PatentNew pn,StringBuffer str) {
+	private void addPatentNewLog(PatentNewBo p, PatentNew pn, StringBuffer str) {
+		PatentNewLog pl = new PatentNewLog();
+		pl.setPid(p.getId());
+		boolean flag=false;
 		StringBuffer s=new StringBuffer();
 		if (!p.getPatentNo().equals(pn.getPatentNo())) {
-			s.append("[专利号:").append(pn.getPatentNo()).append(" => ").append(p.getPatentNo());
+			s.append("[专利号:").append(pn.getPatentNo()).append(" => ").append(p.getPatentNo()).append("],");
+			flag=true;
+		}
+		if (!p.getName().equals(pn.getName())) {
+			s.append("[专利名称:").append(pn.getName()).append(" => ").append(p.getName()).append("],");
+			flag=true;
+		}
+		if (!p.getType().equals(pn.getType())) {
+			// 0=发明专利,1=使用新型,2=外观设计
+			String type = getPatentType(p.getType());
+			String type1 = getPatentType(pn.getType());
+			s.append("[专利类型:").append(type1).append(" => ").append(type).append("],");
+			flag=true;
+		}
+		if (!p.getTid().equals(pn.getTid())) {
+			s.append("[项目编号:").append(pn.getTid()).append(" => ").append(p.getTid()).append("],");
+			flag=true;
+		}
+		if (!p.getApplyDate().equals(pn.getApplyDate())) {
+			String date = DateUtils.formatDate(p.getApplyDate(), AFTConstants.YYYYMMDD);
+			String date1 = DateUtils.formatDate(pn.getApplyDate(), AFTConstants.YYYYMMDD);
+			s.append("[申请日期:").append(date1).append(" => ").append(date).append("],");
+			flag=true;
+		}
+		if (!p.getAuthorizationDate().equals(pn.getAuthorizationDate())) {
+			String date = DateUtils.formatDate(p.getAuthorizationDate(), AFTConstants.YYYYMMDD);
+			String date1 = DateUtils.formatDate(pn.getAuthorizationDate(), AFTConstants.YYYYMMDD);
+			s.append("[授权日期:").append(date1).append(" => ").append(date).append("],");
+			flag=true;
+		}
+		if (!p.getEmail().equals(pn.getEmail())) {
+			s.append("[Email:").append(pn.getEmail()).append(" => ").append(p.getEmail()).append("],");
+			flag=true;
+		}
+		if (p.getDelayingAmount().compareTo(pn.getDelayingAmount()) != 0) {
+			s.append("[滞纳金:").append(pn.getDelayingAmount().stripTrailingZeros().toPlainString()).append(" => ")
+					.append(p.getDelayingAmount().stripTrailingZeros().toPlainString()).append("],");
+			flag=true;
+		}
+		if (p.getRecoveryAmount().compareTo(pn.getRecoveryAmount()) != 0) {
+			s.append("[权利恢复费:").append(pn.getRecoveryAmount().stripTrailingZeros().toPlainString()).append(" => ")
+					.append(p.getRecoveryAmount().stripTrailingZeros().toPlainString()).append("],");
+			flag=true;
+		}
+		if (!p.getAnnualFeeStatus().equals(pn.getAnnualFeeStatus())) {
+			s.append("[年费状态:").append(pn.getAnnualFeeStatus() == 1 ? "已缴费" : "未缴费").append(" => ")
+					.append(p.getAnnualFeeStatus() == 1 ? "已缴费" : "未缴费").append("],");
+			flag=true;
+		}
+		if (!p.getHolders().equals(pn.getHolders())) {
+			s.append("[权利人:").append(pn.getHolders()).append(" => ").append(p.getHolders()).append("],");
+			flag=true;
+		}
+		if (!p.getInventor().equals(pn.getInventor())) {
+			s.append("[发明人:").append(pn.getInventor()).append(" => ").append(p.getInventor()).append("],");
+			flag=true;
+		}
+		if (flag) {
+			str.append("修改了:").append(s);
+			pl.setContent(str.toString().substring(0, str.toString().length()-1));
+			patentNewLogMapper.insertSelective(pl);
 		}
 	}
 
+	private String getPatentType(Integer type) {
+		if (type==0) return "发明专利";
+		else if (type==1) return "实用新型";
+		else if (type==2) return "外观设计";
+		return null;
+	}
+
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<PatentNewBo> selectPatentNew(PatentNewBo p,Integer pageSize, Integer pageNo) {
@@ -618,4 +684,24 @@ public class PatentNewServiceImpl  extends BaseMybatisDao<PatentNewMapper> imple
 		int days=(int) ((end.getTimeInMillis() - now.getTimeInMillis()) / (1000 * 3600 * 24));
 		return days;
 	}
+
+	@Override
+	public void updateCostReduction(Integer id) {
+		List<PatentNew> list =patentNewMapper.selectByTid(id);
+		Admin	a=	adminMapper.selectByPrimaryKey(TokenManager.getAdminId());
+		for (PatentNew p : list) {
+			PatentNew pn=new PatentNew();
+			pn.setId(p.getId());
+			pn.setPatentAmount(sumAmout(p.getType(), id, p.getYears()));
+			sumYears(p);
+			PatentNewLog pl = new PatentNewLog();
+			pl.setPid(p.getId());
+			StringBuffer str=new StringBuffer();
+			str.append(a.getName()).append("修改了有无费减");
+			pl.setContent(str.toString());
+			patentNewLogMapper.insertSelective(pl);
+			patentNewMapper.updateByPrimaryKeySelective(pn);
+		}
+		
+	}
 }