From ce34d9d0ac101f816a0fc7f798607adfe44d7885 Mon Sep 17 00:00:00 2001
From: 唐耀东 <18861537@qq.com>
Date: 星期五, 18 二月 2022 20:59:17 +0800
Subject: [PATCH] 问题修改

---
 ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java     |   47 ++++++++++++++++++-----
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |    2 +
 ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml                      |    4 +
 ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java              |    1 
 ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java            |    1 
 ruoyi-common/src/main/java/com/ruoyi/common/utils/DataFormatUtils.java            |   35 +++++++++++++++++
 ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java                  |    4 ++
 ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java                |    3 +
 8 files changed, 84 insertions(+), 13 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 9e51823..26398ba 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -55,7 +55,9 @@
         // 鐢熸垚浠ょ墝
         String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
                 loginBody.getUuid());
+        SysUser user = userService.selectUserByUserName(loginBody.getUsername());
         ajax.put(Constants.TOKEN, token);
+        ajax.put("userName", user.getNickName());
         return AjaxResult.success(ajax);
     }
 
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DataFormatUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DataFormatUtils.java
new file mode 100644
index 0000000..c573b73
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DataFormatUtils.java
@@ -0,0 +1,35 @@
+package com.ruoyi.common.utils;
+
+public class DataFormatUtils {
+    /**
+     * 瀛楃涓茶浆鍖栨垚涓�16杩涘埗瀛楃涓�
+     * @param s
+     * @return
+     */
+    public static String strTo16(String s) {
+        String str = "";
+        for (int i = 0; i < s.length(); i++) {
+            int ch = (int) s.charAt(i);
+            String s4 = Integer.toHexString(ch);
+            str = str + s4;
+        }
+        return str;
+    }
+    public static String padLeft(String str,int len){
+        String pad="0000000000000000";
+
+        return len>str.length()&&len<=16&&len>=0?pad.substring(0,len-str.length())+str:str;
+    }
+
+    public static String intToHex(int n) {
+        StringBuffer s = new StringBuffer();
+        String a;
+        char []b = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
+        while(n != 0){
+            s = s.append(b[n%16]);
+            n = n/16;
+        }
+        a = s.reverse().toString();
+        return a;
+    }
+}
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java
index 5824587..8ac44a2 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java
@@ -29,6 +29,10 @@
     @TableId(value = "id")
     private Long id;
 
+    private Long code;
+
+    private int version;
+
     private Date createTime;
 
 }
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java
index 15b14a4..921b868 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java
@@ -49,7 +49,6 @@
      * 鑱旂郴鏂瑰紡
      */
     @ApiModelProperty(value = "鑱旂郴鏂瑰紡", required = true)
-    @NotBlank(message = "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
     private String phone;
 
     /**
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java
index 6502cb4..05eee51 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java
@@ -13,4 +13,5 @@
 @Mapper
 public interface DevEquipmentCodeMapper extends BaseMapperPlus<DevEquipmentCode> {
 
+
 }
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java
index 3f65fca..57c5479 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java
@@ -2,6 +2,7 @@
 
 import com.ruoyi.oa.domain.DevEquipment;
 import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 鏅烘帶璁惧Mapper鎺ュ彛
@@ -10,5 +11,5 @@
  * @date 2021-12-05
  */
 public interface DevEquipmentMapper extends BaseMapperPlus<DevEquipment> {
-
+    int updateCode(@Param("id") Long id, @Param("version") int version);
 }
diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java
index 63ef9bd..f0ffce9 100644
--- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java
+++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java
@@ -4,13 +4,17 @@
 import cn.hutool.http.HttpStatus;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DataFormatUtils;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.oa.domain.BsSchool;
 import com.ruoyi.oa.domain.DevEquipmentCode;
 import com.ruoyi.oa.mapper.DevEquipmentCodeMapper;
+import com.ruoyi.oa.service.IBsSchoolService;
+import com.ruoyi.oa.service.IDevEquipmentCodeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -37,7 +41,10 @@
 public class DevEquipmentServiceImpl extends ServicePlusImpl<DevEquipmentMapper, DevEquipment, DevEquipmentVo> implements IDevEquipmentService {
 
     @Autowired
-    private DevEquipmentCodeMapper devEquipmentCodeMapper;
+    private IDevEquipmentCodeService devEquipmentCodeService;
+
+    @Autowired
+    private IBsSchoolService iBsSchoolService;
 
     @Override
     public DevEquipmentVo queryById(Long id) {
@@ -130,13 +137,33 @@
         // 璁惧涓嶅瓨鍦ㄥ垯鏂板缓
         else {
             if(bo.isRegister()) {
+                BsSchool bsSchool = iBsSchoolService.getById(5);
+                if(bsSchool == null){
+                    throw new ServiceException("瀛︽牎缂栧彿涓嶅瓨鍦紝璇峰厛鍒扮嚎涓婄淮鎶�", HttpStatus.HTTP_PARTIAL);
+                }
                 // 鍏堟牴鎹簭鍒楃爜鐢熸垚搴忓垪鍙�
+                List<DevEquipmentCode> devEquipmentCodeList = devEquipmentCodeService.list();
                 DevEquipmentCode c = new DevEquipmentCode();
-                c.setCreateTime(DateUtils.getNowDate());
-                devEquipmentCodeMapper.insert(c);
+                if(devEquipmentCodeList != null && devEquipmentCodeList.size() > 0){
+                    c = devEquipmentCodeList.get(0);
+                }else{
+                    c.setCreateTime(DateUtils.getNowDate());
+                    c.setCode(Long.parseLong("1"));
+                    c.setVersion(1);
+                    devEquipmentCodeService.save(c);
+                }
+                int i = baseMapper.updateCode(c.getId(), c.getVersion());
+                if(i <= 0){
+                    throw new ServiceException("璁惧缂栧彿琛ㄨ鍗犵敤锛岃绋嶅悗鍦ㄦ牎楠�", HttpStatus.HTTP_PARTIAL);
+                }
                 // 娣诲姞璁惧
                 DevEquipment add = BeanUtil.toBean(bo, DevEquipment.class);
-                add.setSerialNumber(c.getId());
+                String schoolCodeHex16 = "0".equals(Integer.toHexString(Integer.parseInt(bsSchool.getCode()))) ? "0000" : Integer.toHexString(Integer.parseInt(bsSchool.getCode()));//DataFormatUtils.strTo16(bsSchool.getCode());
+                String codeHex16 =DataFormatUtils.padLeft(Integer.toHexString(Integer.parseInt(c.getCode().toString())), 4);
+                String hostId = (schoolCodeHex16 + codeHex16).toUpperCase();
+                add.setHostId(hostId);
+                add.setSerialNumber(c.getCode());
+                add.setUseStatus("1");
                 baseMapper.insert(add);
                 return add;
             }else{
@@ -167,12 +194,12 @@
 //        if (StringUtils.isEmpty(bo.getFrequencyBand())) {
 //            po.setFrequencyBand(bo.getFrequencyBand());
 //        }
-//        if (null != bo.getBatchId()) {
-//            po.setBatchId(bo.getBatchId());
-//        }
-//        if (StringUtils.isEmpty(bo.getRemarks())) {
-//            po.setRemarks(bo.getRemarks());
-//        }
+        if (null != bo.getBatchId()) {
+            po.setBatchId(bo.getBatchId());
+        }
+        if (StringUtils.isNotBlank(bo.getRemarks())) {
+            po.setRemarks(bo.getRemarks());
+        }
         baseMapper.updateById(po);
         return po;
     }
diff --git a/ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml
index 91c857f..2a4c7b0 100644
--- a/ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml
+++ b/ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml
@@ -24,6 +24,8 @@
         <result property="delFlag" column="del_flag"/>
         <result property="version" column="version"/>
     </resultMap>
-
+    <update id="updateCode">
+        update dev_equipment_code set code = code + 1, version = version + 1 where id = #{id} and version = #{version}
+    </update>
 
 </mapper>

--
Gitblit v1.9.1