Browse Source

基础资料模块-客户/供应商删除限制

huangx 7 years ago
parent
commit
6ba37697e6

+ 3 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java

@@ -6,6 +6,7 @@ import com.usoftchina.saas.document.entities.Bankinformation;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface BankinformationMapper extends CommonBaseMapper<Bankinformation> {
     int deleteByPrimaryKey(Integer bkId);
@@ -25,4 +26,6 @@ public interface BankinformationMapper extends CommonBaseMapper<Bankinformation>
     List<ComboDTO> getCombo(@Param("companyId") Long companyId);
     String selectBankcode(String bk_bankcode);
 
+    void check(Map<String, Object> map);
+
 }

+ 28 - 2
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/BankinformationServiceImpl.java

@@ -3,7 +3,9 @@ package com.usoftchina.saas.document.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
+import com.usoftchina.saas.commons.api.MessageLogService;
 import com.usoftchina.saas.commons.dto.ComboDTO;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.context.BaseContextHolder;
@@ -22,7 +24,9 @@ import org.springframework.util.StringUtils;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author heqw
@@ -34,6 +38,8 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
     private BankinformationMapper bankinformationMapper;
     @Autowired
     private BanksubledgerMapper banksubledgerMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     @Transactional
     @Override
@@ -87,11 +93,31 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
     @Transactional
     @Override
     public boolean removeByPrimaryKey(int id){
-        bankinformationMapper.deleteByPrimaryKey(id);
-        banksubledgerMapper.deleteByBankid(id);
+        DocBaseDTO docBaseDTO = getBaseDTOById(id);
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("v_id",id);
+        map.put("v_code", docBaseDTO.getCode());
+        map.put("v_type","bank");
+        map.put("v_companyid",BaseContextHolder.getCompanyId());
+        map.put("v_res","");
+        bankinformationMapper.check(map);
+        Object result =  map.get("v_res");
+        if(!StringUtils.isEmpty(result)){
+            throw new BizException(BizExceptionCode.USING_EXISTS.getCode(),result.toString());
+        }else {
+            bankinformationMapper.deleteByPrimaryKey(id);
+            banksubledgerMapper.deleteByBankid(id);
+            //日志
+            messageLogService.delete(docBaseDTO);
+        }
         return true;
     }
 
+    private DocBaseDTO getBaseDTOById(int id) {
+        String code = bankinformationMapper.selectByPrimaryKey(id).getBk_bankcode();
+        DocBaseDTO baseDTO = new DocBaseDTO(Long.valueOf(String.valueOf(id)), code, "BankInformation");
+        return baseDTO;
+    }
     @Override
     public PageInfo<Bankinformation> selectList(PageRequest page, ListReqDTO condition) {
         //设置默认分页

+ 3 - 2
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -298,6 +298,7 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
             map.put("v_id",id);
             map.put("v_code", docBaseDTO.getCode());
             map.put("v_type","cust");
+            map.put("v_companyid",BaseContextHolder.getCompanyId());
             map.put("v_res","");
             customerMapper.check(map);
             Object result =  map.get("v_res");
@@ -362,7 +363,7 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
             getMapper().updateByPrimaryKeySelective(customer);
             docBaseDTO = getBaseDTOById(id);
             //日志
-        messageLogService.close(docBaseDTO);
+            messageLogService.close(docBaseDTO);
         }
         return docBaseDTO;
     }
@@ -397,7 +398,7 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
             getMapper().updateByPrimaryKeySelective(customer);
             docBaseDTO = getBaseDTOById(id);
             //日志
-        messageLogService.close(docBaseDTO);
+            messageLogService.close(docBaseDTO);
         }
         return docBaseDTO;
     }

+ 1 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -264,6 +264,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
             map.put("v_id",id);
             map.put("v_code", code);
             map.put("v_type","vend");
+            map.put("v_companyid",BaseContextHolder.getCompanyId());
             map.put("v_res","");
             vendorMapper.check(map);
             Object result =  map.get("v_res");

+ 12 - 1
applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml

@@ -39,7 +39,7 @@
     bk_remark
   </sql>
   <select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
-    select 
+    select
     <include refid="Base_Column_List" />
     ,
     <include refid="Blob_Column_List" />
@@ -339,4 +339,15 @@
   <select id="selectBankcode" parameterType="java.lang.String" resultType="java.lang.String">
         select bk_bankcode from bankinformation where bk_bankcode = #{bk_bankcode,jdbcType=VARCHAR}
     </select>
+
+  <select id="check" parameterMap="checkParamMap" statementType="CALLABLE">
+        CALL SP_LIMITBASE(?, ?, ?, ?,?)
+    </select>
+  <parameterMap id="checkParamMap" type="java.util.Map">
+    <parameter property="v_type" jdbcType="VARCHAR" mode="IN" />
+    <parameter property="v_id" jdbcType="INTEGER" mode="IN" />
+    <parameter property="v_code" jdbcType="VARCHAR" mode="IN" />
+    <parameter property="v_companyid" jdbcType="INTEGER" mode="IN" />
+    <parameter property="v_res" jdbcType="VARCHAR" mode="OUT" />
+  </parameterMap>
 </mapper>

+ 3 - 2
applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml

@@ -41,7 +41,7 @@
     cu_recamount,cu_preamount
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
-    select 
+    select
     <include refid="Base_Column_List" />
     from customer
     where cu_id = #{cu_id,jdbcType=INTEGER}
@@ -392,12 +392,13 @@
   and companyId =#{companyId};
   </select>
   <select id="check" parameterMap="checkParamMap" statementType="CALLABLE">
-        CALL SP_LIMITBASE(?, ?, ?, ?)
+        CALL SP_LIMITBASE(?, ?, ?, ?,?)
     </select>
   <parameterMap id="checkParamMap" type="java.util.Map">
     <parameter property="v_type" jdbcType="VARCHAR" mode="IN" />
     <parameter property="v_id" jdbcType="INTEGER" mode="IN" />
     <parameter property="v_code" jdbcType="VARCHAR" mode="IN" />
+    <parameter property="v_companyid" jdbcType="INTEGER" mode="IN" />
     <parameter property="v_res" jdbcType="VARCHAR" mode="OUT" />
   </parameterMap>
 

+ 2 - 1
applications/document/document-server/src/main/resources/mapper/VendorMapper.xml

@@ -478,12 +478,13 @@
     </select>
 
     <select id="check" parameterMap="checkParamMap" statementType="CALLABLE">
-        CALL SP_LIMITBASE(?, ?, ?, ?)
+        CALL SP_LIMITBASE(?, ?, ?, ?,?)
     </select>
     <parameterMap id="checkParamMap" type="java.util.Map">
         <parameter property="v_type" jdbcType="VARCHAR" mode="IN" />
         <parameter property="v_id" jdbcType="INTEGER" mode="IN" />
         <parameter property="v_code" jdbcType="VARCHAR" mode="IN" />
+        <parameter property="v_companyid" jdbcType="INTEGER" mode="IN" />
         <parameter property="v_res" jdbcType="VARCHAR" mode="OUT" />
     </parameterMap>
 </mapper>