浏览代码

提交工作总结增加防止重复提交。

zq 2 周之前
父节点
当前提交
791f750121

+ 1 - 0
common/src/main/java/com/jpsoft/assessment/modules/base/dao/SummarizeDAO.java

@@ -17,4 +17,5 @@ public interface SummarizeDAO {
 	List<Summarize> search(Map<String,Object> searchParams,List<Sort> sortList);
 	Summarize getModel(String userId, String date);
 	List<Summarize> searchReport(Map<String,Object> searchParams,List<Sort> sortList);
+    int deleteByUserIdAndMonth(String userId, String date);
 }

+ 1 - 0
common/src/main/java/com/jpsoft/assessment/modules/base/service/SummarizeService.java

@@ -16,4 +16,5 @@ public interface SummarizeService {
 	Page<Summarize> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 	Summarize getModel(String userId, String date);
 	Page<Summarize> searchReport(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
+    int deleteByUserIdAndMonth(String userId, String date);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/assessment/modules/base/service/impl/SummarizeServiceImpl.java

@@ -81,4 +81,9 @@ public class SummarizeServiceImpl implements SummarizeService {
 
 		return page;
 	}
+
+	@Override
+	public int deleteByUserIdAndMonth(String userId, String date) {
+		return summarizeDAO.deleteByUserIdAndMonth(userId,date);
+	}
 }

+ 6 - 2
common/src/main/resources/mapper/base/Summarize.xml

@@ -43,7 +43,7 @@
 	<delete id="delete" parameterType="string">
 		delete from base_summarize where id_=#{id,jdbcType=VARCHAR}
 	</delete>
-	<update id="update" parameterType="com.jpsoft.assessment.modules.base.entity.Summarize">
+    <update id="update" parameterType="com.jpsoft.assessment.modules.base.entity.Summarize">
 		update base_summarize
 		<set>
 				<if test="userId!=null">
@@ -73,6 +73,10 @@
 		</set>
 	where id_=#{id}
 	</update>
+	<update id="deleteByUserIdAndMonth">
+		update base_summarize set del_flag=1,update_time=now()
+		where user_id=#{userId} and date_=#{date}
+	</update>
 	<select id="get" parameterType="string" resultMap="SummarizeMap">
 		select 
 id_,user_id,date_,content_,del_flag,create_by,create_time,update_by,update_time		from base_summarize where id_=#{0}
@@ -114,7 +118,7 @@ id_,user_id,date_,content_,del_flag,create_by,create_time,update_by,update_time
 		SELECT a.*,b.real_name AS user_name,c.remark_ AS kpi_target FROM sys_user b
 		LEFT JOIN base_post c ON b.post_id = c.id_
 		LEFT JOIN base_organization d ON c.org_id = d.id_
-		LEFT JOIN base_summarize a ON (b.id_ = a.user_id AND a.date_ LIKE #{searchParams.date})
+		LEFT JOIN base_summarize a ON (b.id_ = a.user_id and a.del_flag=0 and a.date_ LIKE #{searchParams.date})
 		<where>
 			b.del_flag = 0
 			AND b.id_ != '70b7dbdd-7fb6-4755-a9c2-ed58ded25905'

+ 3 - 0
web/src/main/java/com/jpsoft/assessment/modules/base/controller/SummarizeController.java

@@ -69,6 +69,9 @@ public class SummarizeController {
 		MessageResult<Summarize> msgResult = new MessageResult<>();
 
         try {
+            //如果当月已存在则删除
+            summarizeService.deleteByUserIdAndMonth(summarize.getUserId(),summarize.getDate());
+
             summarize.setId(UUID.randomUUID().toString());
             summarize.setDelFlag(false);
             summarize.setCreateBy(subject);

+ 3 - 0
web/src/main/java/com/jpsoft/assessment/modules/mobile/api/WorkLogController.java

@@ -1849,6 +1849,9 @@ public class WorkLogController {
                 summarize.setUpdateTime(new Date());
                 summarizeService.update(summarize);
             }else{
+                //如果当月已存在则删除
+                summarizeService.deleteByUserIdAndMonth(summarize.getUserId(),summarize.getDate());
+
                 summarize.setId(UUID.randomUUID().toString());
                 summarize.setCreateBy(summarize.getUserId());
                 summarize.setCreateTime(new Date());