Browse Source

币别删除代码提交

hy 6 years ago
parent
commit
fb47e2ca80

+ 1 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -51,6 +51,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_NOCUST_SAVE(79356, "选择的客户不存在或已禁用"),
     BIZ_SAMEVENDAP_SAVE(79357, "已存在相同供应商和币别的期初数据,不能新增"),
     BIZ_SAMECUSTAR_SAVE(79358, "已存在相同客户和币别的期初数据,不能新增"),
+    BIZ_MAINCURRENCY_DELETE(79359, "该币别为本位币,不能删除"),
 
     NO_OPRATIONDATA(79400,"无可操作单据"),
     NULL_DATA(23232,"无数据"),

+ 25 - 1
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/CurrencyController.java

@@ -4,16 +4,22 @@ import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.DocReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.document.dto.CurrencyDTO;
 import com.usoftchina.saas.document.entities.Currency;
+import com.usoftchina.saas.document.mapper.CurrencyMapper;
 import com.usoftchina.saas.document.service.CurrencyService;
+import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.page.PageDefault;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -26,6 +32,8 @@ public class CurrencyController {
 
     @Autowired
     private CurrencyService currencyService;
+    @Autowired
+    private CurrencyMapper currencyMapper;
 
     @GetMapping("/list")
     public Result getAll(@PageDefault(number = 1, size = 10) PageRequest pageRequest, ListReqDTO listReqDTO){
@@ -52,8 +60,24 @@ public class CurrencyController {
 
     @PostMapping("/delete/{id}")
     public Result delete(@PathVariable("id") Long id){
+        Currency currency = currencyService.findByPrimaryKey(id);
+        if(currency.getCr_standard()==1){
+            //本位币无法删除
+            throw new BizException(BizExceptionCode.BIZ_MAINCURRENCY_DELETE);
+        }
+        //校验是否可以删除币别
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("v_type","currency");
+        map.put("v_id",0);
+        map.put("v_code",currency.getCr_name());
+        map.put("v_companyid",BaseContextHolder.getCompanyId());
+        map.put("v_res","");
+        currencyMapper.check(map);
+        Object result =  map.get("v_res");
+        if(!StringUtils.isEmpty(result)){
+            throw new BizException(-999999,result.toString());
+        }
         currencyService.removeByPrimaryKey(id);
         return Result.success();
     }
-
 }

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

@@ -6,6 +6,7 @@ import com.usoftchina.saas.document.entities.Currency;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface CurrencyMapper extends CommonBaseMapper<Currency> {
 
@@ -17,5 +18,7 @@ public interface CurrencyMapper extends CommonBaseMapper<Currency> {
 
     int selectCountByName(@Param("name") String name, @Param("companyId") Long companyId);
 
+    void check(Map<String, Object> map);
+
     CurrencyDTO getStandard(@Param("companyId") Long companyId);
 }

+ 12 - 0
applications/document/document-server/src/main/resources/mapper/CurrencyMapper.xml

@@ -142,4 +142,16 @@
     <select id="getStandard" resultType="com.usoftchina.saas.document.dto.CurrencyDTO">
       select * from CURRENCYS where cr_standard = '1' and companyId = #{companyId}
     </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>

+ 0 - 18
frontend/saas-web/app/view/document/currencys/DatalistController.js

@@ -4,24 +4,6 @@
 Ext.define('saas.view.document.currencys.DatalistController', {
     extend: 'saas.view.document.kind.KindController',
     alias: 'controller.document-currencys-datalist',
-    
-    insertActionColumn:function(columns){
-        var me=this;
-        if(columns.length>0 && columns[0].xtype!='actioncolumn'){
-            return Ext.Array.insert(columns,0,[{
-                xtype:'actioncolumn',
-                text:'操作',
-                align: 'center',
-                items: [{
-                    tooltip: '编辑',
-                    iconCls: 'x-fa fa-pencil fa-fw',
-                    handler: me.onEdit,
-                    scope:this
-                }]
-            }]);
-        }
-        return columns;
-    },
     onEdit:function(grid,row,col){
         var dk = grid.ownerCt.ownerCt;
         var dataKind=dk.getViewModel().getData()['dataKind'].value,