shiqian 3 rokov pred
rodič
commit
5cf787663a

+ 1 - 1
boman-web-core/src/main/java/com/boman/web/core/controller/RyrlController.java

@@ -53,7 +53,7 @@ public class RyrlController extends BaseController {
      */
     @PostMapping("/editRlry")
     public AjaxResult editRlry(@RequestBody Czrk czrk) {
-        return toAjax(czrkService.editRlry(czrk));
+        return czrkService.editRlry(czrk);
     }
 
     /**

+ 1 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/CzrkJzdzMapper.java

@@ -52,6 +52,7 @@ import java.util.List;
      * @return 结果
      */
      int deleteCzrkJzdzById(Long id);
+     int deleteByCzrkId(Long czrkId);
 
     /**
      * 批量删除常住人口对应的居住地址

+ 5 - 0
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkJzdzServiceImpl.java

@@ -88,6 +88,11 @@ public class CzrkJzdzServiceImpl implements ICzrkJzdzService {
         return czrkJzdzMapper.deleteCzrkJzdzById(id);
     }
 
+    @Override
+    public int deleteByCzrkId(Long czrkId) {
+        return czrkJzdzMapper.deleteByCzrkId(czrkId);
+    }
+
     @Override
     public List<CzrkJzdz> listByIdCard(List<String> idCardList) {
         if (isEmpty(idCardList)) {

+ 49 - 3
boman-web-core/src/main/java/com/boman/web/core/service/czrk/CzrkServiceImpl.java

@@ -20,6 +20,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.BooleanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.sql.Date;
@@ -323,7 +325,9 @@ public class CzrkServiceImpl implements ICzrkService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public AjaxResult addRlry(Czrk czrk) {
+        String username = SecurityUtils.getUsername();
         if (isNotEmpty(czrk.getVillageTowns())) {
             czrk.setRlr(SecurityUtils.getUsername());
             czrk.setIsRl("是");
@@ -338,12 +342,33 @@ public class CzrkServiceImpl implements ICzrkService {
             return AjaxResult.error(String.format("该人员[身份证号为: %s]已存在,请勿重复添加", czrk.getIdCard()));
         }
 
+        czrk.setCreateBy(username);
+        czrk.setUpdateBy(username);
         count = czrkMapper.insertCzrk(czrk);
-        return count > 0 ? AjaxResult.success() : AjaxResult.error();
+        if (count <= 0) {
+            return AjaxResult.error();
+        }
+
+        List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
+        if (isEmpty(czrkJzdzList)) {
+            return AjaxResult.error("该人员常住地址未添加");
+        }
+
+        int sort = 0, childCount = 0;
+        for (CzrkJzdz czrkJzdz : czrkJzdzList) {
+            czrkJzdz.setCzrkId(czrk.getId());
+            czrkJzdz.setSort(++sort);
+            czrkJzdz.setCreateBy(SecurityUtils.getUsername());
+            czrkJzdz.setUpdateBy(SecurityUtils.getUsername());
+            childCount += czrkJzdzService.insertCzrkJzdz(czrkJzdz);
+        }
+
+        return childCount == czrkJzdzList.size() ? AjaxResult.success() : AjaxResult.error();
     }
 
     @Override
-    public int editRlry(Czrk czrk) {
+    public AjaxResult editRlry(Czrk czrk) {
+        String username = SecurityUtils.getUsername();
         if (isNotEmpty(czrk.getVillageTowns())) {
             czrk.setRlr(SecurityUtils.getUsername());
             czrk.setIsRl("是");
@@ -353,7 +378,28 @@ public class CzrkServiceImpl implements ICzrkService {
             czrk.setRlTime(null);
         }
 
-        return czrkMapper.updateCzrk(czrk);
+        czrk.setUpdateBy(username);
+        int count = czrkMapper.updateCzrk(czrk);
+        if (count <= 0) {
+            return AjaxResult.error();
+        }
+
+        List<CzrkJzdz> czrkJzdzList = czrk.getCzrkJzdzList();
+        if (isEmpty(czrkJzdzList)) {
+            return AjaxResult.error("该人员常住地址未添加");
+        }
+
+        czrkJzdzService.deleteByCzrkId(czrk.getId());
+        int sort = 0, childCount = 0;
+        for (CzrkJzdz czrkJzdz : czrkJzdzList) {
+            czrkJzdz.setCzrkId(czrk.getId());
+            czrkJzdz.setSort(++sort);
+            czrkJzdz.setCreateBy(username);
+            czrkJzdz.setUpdateBy(username);
+            childCount += czrkJzdzService.insertCzrkJzdz(czrkJzdz);
+        }
+
+        return childCount == czrkJzdzList.size() ? AjaxResult.success() : AjaxResult.error();
     }
 
     @Override

+ 1 - 0
boman-web-core/src/main/java/com/boman/web/core/service/czrk/ICzrkJzdzService.java

@@ -59,6 +59,7 @@ public interface ICzrkJzdzService {
      * @return 结果
      */
     int deleteCzrkJzdzById(Long id);
+    int deleteByCzrkId(Long czrkId);
 
     List<CzrkJzdz> listByIdCard(List<String> idCardList);
 }

+ 1 - 1
boman-web-core/src/main/java/com/boman/web/core/service/czrk/ICzrkService.java

@@ -76,7 +76,7 @@ public interface ICzrkService {
     Czrk getById(Long id);
 
     AjaxResult addRlry(Czrk czrk);
-    int editRlry(Czrk czrk);
+    AjaxResult editRlry(Czrk czrk);
 
     JSONObject stsByApplet(Long townId, Long villageId, String userName);
     JSONObject stsByCzrk();

+ 4 - 0
boman-web-core/src/main/resources/mapper/CzrkJzdzMapper.xml

@@ -151,6 +151,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from czrk_jzdz where id = #{id}
     </delete>
 
+    <delete id="deleteByCzrkId" parameterType="Long">
+        delete from czrk_jzdz where czrk_id = #{czrkId}
+    </delete>
+
     <delete id="deleteCzrkJzdzByIds" parameterType="String">
         delete from czrk_jzdz where id in 
         <foreach item="id" collection="array" open="(" separator="," close=")">