anderx 1 день тому
батько
коміт
baf3cd37bb

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

@@ -2,7 +2,6 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.PublicAssistDetails;
 import org.apache.ibatis.annotations.Param;
-import org.springframework.data.domain.Pageable;
 
 import java.util.List;
 
@@ -81,5 +80,6 @@ public interface PublicAssistDetailsMapper {
      */
     int deleteById(Integer id);
 
+    PublicAssistDetails selectByPrid(Integer id);
 }
 

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

@@ -2,7 +2,6 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.PublicReleaseType;
 import org.apache.ibatis.annotations.Param;
-import org.springframework.data.domain.Pageable;
 
 import java.util.List;
 
@@ -81,5 +80,6 @@ public interface PublicReleaseTypeMapper {
      */
     int deleteById(Integer id);
 
+    void deleteByPrid(Integer id);
 }
 

+ 7 - 0
src/main/java/com/goafanti/common/mapper/PublicAssistDetailsMapper.xml

@@ -142,6 +142,7 @@
         </where>
     </select>
 
+
     <!--通过主键删除-->
     <delete id="deleteById">
         delete
@@ -149,5 +150,11 @@
         where id = #{id}
     </delete>
 
+    <select id="selectByPrid" resultMap="PublicAssistDetailsMap">
+    select
+    <include refid="PublicAssistDetailsAllSql"/>
+    from public_assist_details
+    where prid = #{id}
+    </select>
 </mapper>
 

+ 5 - 0
src/main/java/com/goafanti/common/mapper/PublicReleaseTypeMapper.xml

@@ -104,6 +104,11 @@
         from public_release_type
         where id = #{id}
     </delete>
+    <delete id="deleteByPrid">
+        delete
+        from public_release_type
+        where prid = #{id}
+    </delete>
 
 </mapper>
 

+ 20 - 9
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -150,15 +150,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			pad.setContent(in.getAssistContent());
 			publicAssistDetailsMapper.insert(pad);
 			if (in.getAssistType().contains(",")){
-				String[] split = in.getAssistType().split(",");
-				List<PublicReleaseType> list =new ArrayList<>();
-				for (String s : split) {
-					PublicReleaseType pt=new PublicReleaseType();
-					pt.setPrid(in.getId());
-					pt.setType(s);
-					list.add(pt);
-				}
-				publicReleaseTypeMapper.insertBatch(list);
+				addPublicReleaseType(in.getId(),in.getAssistType());
 			}
 		}
 		if (in.getType()==1&&in.getOrderNo()!=null){
@@ -188,6 +180,18 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		return (Map<String, Object>) addPublicReleaseLog(my, in,userNames,date,users,checkOrderNo);
 	}
 
+	private void addPublicReleaseType(Integer id,String type) {
+		String[] split = type.split(",");
+		List<PublicReleaseType> list =new ArrayList<>();
+		for (String s : split) {
+			PublicReleaseType pt=new PublicReleaseType();
+			pt.setPrid(id);
+			pt.setType(s);
+			list.add(pt);
+		}
+		publicReleaseTypeMapper.insertBatch(list);
+	}
+
 	private void pushPublicAssistCarbonCopy(InputPublicRelease in, AdminListBo my, String userNames) {
 		String[] split = in.getAssistAid().split(",");
 		for (String aid2 : split) {
@@ -648,6 +652,13 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 						throw new BusinessException("该公出已签到,无法取消");
 					}
 				}
+				PublicAssistDetails usePd = publicAssistDetailsMapper.selectByPrid(in.getId());
+				if (!in.getAssistType().equals(usePd.getType())){
+					publicReleaseTypeMapper.deleteByPrid(in.getId());
+					if (in.getAssistType().contains(",")){
+						addPublicReleaseType(in.getId(),in.getAssistType());
+					}
+				}
 			}else if (in.getAssist()==0){
 				publicReleaseMapper.updateAssist(in);
 				in.setAssistProcess(0);