Browse Source

公出修改判定时间修改

anderx 1 year ago
parent
commit
c56bf40708

+ 1 - 1
src/main/java/com/goafanti/common/dao/PublicReleaseMapper.java

@@ -101,7 +101,7 @@ public interface PublicReleaseMapper {
      * @param end 结束时间
      * @return
      */
-    List<Integer> checkTime(@Param("aid")String aid, @Param("start") Date start, @Param("end")Date end);
+    List<PublicRelease> checkTime(@Param("aid")String aid, @Param("start") Date start, @Param("end")Date end);
 
     void updateSignByAidAndUid(@Param("uid") String buyerId, @Param("aid") String salesmanId);
 

+ 14 - 11
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -989,13 +989,7 @@
         </if>
     </select>
 
-    <select id="checkTime" resultType="java.lang.Integer">
-        select id from public_release where aid=#{aid} and status in (0,1,2)
-        and (alone in (0,1) or (alone=2 and assist=2))
-        and ( (release_start &gt;= #{start} and release_start &lt;= #{end})
-                or  (release_start &lt; #{start} and release_end &gt; #{start})
-                or  (release_start &lt; #{end} and release_end &gt; #{end}))
-    </select>
+
     <select id="getTimeUserFollow" resultType="com.goafanti.common.model.OutPublicReleaseCount">
         select e.id province,d.id depId,a.aid,a.uid,a.new_user newUser ,1 quantity from (select a.aid,b.uid,b.new_user from public_release a
                                                                                                                                 left join public_release_details b on a.id=b.prid
@@ -1186,10 +1180,19 @@
         from public_release_details a
         where a.prid = #{prid}
     </select>
-    <select id="checkTech" resultType="com.goafanti.common.model.PublicRelease">
-        SELECT id
-        from public_release
-        where status =1 and `type` =0 and assist =1
+    <select id="checkTime" resultMap="PublicReleaseMap">
+        select
+        <include refid="PublicReleaseAllSql"/>
+        from public_release where aid=#{aid} and status in (0,1,2)
+        and (alone in (0,1) or (alone=2 and assist=2))
+        and ( (release_start &gt;= #{start} and release_start &lt;= #{end})
+        or  (release_start &lt; #{start} and release_end &gt; #{start})
+        or  (release_start &lt; #{end} and release_end &gt; #{end}))
+    </select>
+    <select id="checkTech" resultMap="PublicReleaseMap">
+        select
+        <include refid="PublicReleaseAllSql"/>
+        from public_release where status =1 and `type` =0 and assist =1
           and FIND_IN_SET(#{aid},assist_aid)
           and ( (release_start &gt;= #{start} and release_start &lt;= #{end})
             or  (release_start &lt; #{start} and release_end &gt; #{start})

+ 1 - 1
src/main/java/com/goafanti/common/model/PublicRelease.java

@@ -175,7 +175,7 @@ public class PublicRelease implements Serializable {
      */
     private Integer assistProcess;
     /**
-     * 协单业务公出 0否 1是
+     * 协单业务公出 0非协单 1协单一起 2技术单独协单
      */
     private Integer alone;
 

+ 24 - 3
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -2045,7 +2045,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		String[] split = in.getAssistAid().split(",");
 		for (String s : split) {
 			//先查审核中和完成的时间有没有冲突的
-			if(checkPublicTime(s, in)){
+			if(checTechTime(s, in)){
 				//第二种,协单人时间重复
 				return 2;
 //					return true;
@@ -2057,6 +2057,27 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		return 0;
 	}
 
+	private boolean checTechTime(String aid, InputPublicRelease in) {
+		List<PublicRelease> is=publicReleaseMapper.checkTime(aid,in.getReleaseStart(),in.getReleaseEnd());
+		if (is.size()>1) {
+			return true;
+		}else  if(is.size()==1){
+			//如果id为新增那么直接不允许时间重复
+			if (in.getId()==null){
+				return true;
+			}else {
+				//如果有id,与获取id一直,则为当前修改可以
+				if (in.getId().equals(is.get(0).getMainId())){
+					return false;
+				}else {
+					return true;
+				}
+			}
+
+		}
+		return false;
+	}
+
 	private Integer checkSalesmanExamine(InputPublicRelease in, String s) {
 		List<PublicRelease> is = publicReleaseMapper.checkTech(s, in.getReleaseStart(), in.getReleaseEnd());
 		if (is.size()>1) {
@@ -2067,7 +2088,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				return 2;
 			}else {
 				//如果有id,与获取id一直,则为当前修改可以
-				if (in.getId().equals(is.get(0))){
+				if (in.getId().equals(is.get(0).getId())){
 					return 0;
 				}else {
 					return 2;
@@ -2084,7 +2105,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	 * @return true 已经发起   false 未发起
 	 */
 	private boolean checkPublicTime(String aid, InputPublicRelease in) {
-		List<Integer> is=publicReleaseMapper.checkTime(aid,in.getReleaseStart(),in.getReleaseEnd());
+		List<PublicRelease> is=publicReleaseMapper.checkTime(aid,in.getReleaseStart(),in.getReleaseEnd());
 		if (is.size()>1) {
 			return true;
 		}else  if(is.size()==1){