Переглянути джерело

feature: 自助服务
1.教职工自助卡处理

luoyb 1 рік тому
батько
коміт
15cc2183aa

+ 17 - 11
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/card/CardBusiness.java

@@ -161,22 +161,28 @@ public class CardBusiness {
         return result;
     }
 
-    public R<PtCardVo> writeCardSuccess(PtCardBo cardBo){
+    public R<PtCardVo> writeCardSuccess(PtCardBo cardBo) throws InterruptedException {
         PtCardBo queryBo = new PtCardBo();
-        queryBo.setCardNo(cardBo.getCardNo());
-        queryBo.setFactoryId(cardBo.getFactoryId());
-        PtCardVo cardVo = ptCardService.selectOneByBo(queryBo);
+        if(cardBo.getCardNo()>0) {queryBo.setCardNo(cardBo.getCardNo());}
+        if(cardBo.getFactoryId()>0) {queryBo.setFactoryId(cardBo.getFactoryId());}
+        if(cardBo.getCardId()>0) {queryBo.setCardId(cardBo.getCardId());}
+
         // 补卡和换卡时需要注销旧卡
-        if (ObjectUtil.equals(cardBo.getOperateType(), CardOperateEnum.REISSUE.code()) || ObjectUtil.equals(cardBo.getOperateType(),
-                                                                                                            CardOperateEnum.CHANGE.code())) {
+        if (ObjectUtil.equals(cardBo.getOperateType(), CardOperateEnum.REISSUE)
+            || ObjectUtil.equals(cardBo.getOperateType(),CardOperateEnum.CHANGE)) {
             // 注销旧卡
-            queryBo.setCardNo(cardBo.getOldCardNo());
-            queryBo.setFactoryId(cardBo.getOldFactoryId());
-            queryBo.setStatus(CardStatusEnum.CLOSE.code().toString());
-            queryBo.setChangeTime(DateUtil.date());
+            PtCardBo queryOldBo = new PtCardBo();
+            if(cardBo.getOldCardNo()>0) {queryOldBo.setCardNo(cardBo.getOldCardNo());}
+            if(cardBo.getOldFactoryId()>0) {queryOldBo.setFactoryId(cardBo.getOldFactoryId());}
+            if(cardBo.getOldCardId()>0) {queryOldBo.setCardId(cardBo.getOldCardId());}
+            queryOldBo.setStatus(CardStatusEnum.CLOSE.code().toString());
+            queryOldBo.setChangeTime(DateUtil.date());
 
-            ptCardService.updateByBo(queryBo);
+            ptCardService.updateByBo(queryOldBo);
         }
+        Thread.sleep(2000);
+        ptCardService.updateByBo(queryBo);
+        PtCardVo cardVo = ptCardService.selectOneByBo(queryBo);
         return R.ok(cardVo);
     }
 

+ 1 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/cardCenter/controller/CardApiController.java

@@ -110,6 +110,7 @@ public class CardApiController extends BaseController {
 
     private PtCardBo getInitInfo(Map<String, Object> initParam) {
         PtCardBo bo = new PtCardBo();
+        bo.setCardId(ObjUtil.isNotEmpty(initParam.get("cardId")) ? Long.parseLong(initParam.get("cardId").toString()) : 0);
         bo.setUserId(ObjUtil.isNotEmpty(initParam.get("userId")) ? Long.parseLong(initParam.get("userId").toString()) : 0);
         bo.setCardType(ObjUtil.isNotEmpty(initParam.get("cardTypeId")) ? Long.parseLong(initParam.get("cardTypeId").toString()) : 0);
         bo.setLifespan(ObjUtil.isNotEmpty(initParam.get("expiryDate")) ? DateUtil.parse(initParam.get("expiryDate").toString(),