Просмотр исходного кода

Merge branch 'master' of http://192.168.1.43:3000/git/sass-lab-distributed-java

zhuchangxue лет назад: 3
Родитель
Сommit
701958edee

+ 1 - 1
zd-common/zd-common-core/src/main/java/com/zd/common/core/config/JacksonObjectMapper.java

@@ -1,4 +1,4 @@
-package com.zd.common.core.config;
+package com.zd.bottle.config;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;

+ 1 - 1
zd-common/zd-common-core/src/main/java/com/zd/common/core/config/WebConfig.java

@@ -1,4 +1,4 @@
-package com.zd.common.core.config;
+package com.zd.bottle.config;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;

+ 0 - 13
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/mapper/RfidTagMapper.java

@@ -13,17 +13,4 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface RfidTagMapper extends BaseMapper<RfidTag> {
 
-    /***
-     * 根据标签码查询
-     * @param authCode
-     * @return
-     */
-    RfidTag getRfidByTagCode(String authCode);
-
-    /***
-     * 修改标签
-     * @param rfidTag
-     * @return
-     */
-    int updateQpRfidTag(RfidTag rfidTag);
 }

+ 3 - 2
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/AlarmRecordServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.zd.bottle.domain.AlarmRecord;
@@ -110,7 +111,7 @@ public class AlarmRecordServiceImpl extends ServiceImpl<AlarmRecordMapper, Alarm
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean remoteAdd(InventoryTag tag) {
+    public synchronized boolean remoteAdd(InventoryTag tag) {
         String electronicTag = tag.getEpc();
         RemoteLabHardware hardware = tag.getRemoteLabHardware();
         LambdaQueryWrapper<RfidTag> queryWrapper = Wrappers.lambdaQuery(RfidTag.class);
@@ -127,7 +128,7 @@ public class AlarmRecordServiceImpl extends ServiceImpl<AlarmRecordMapper, Alarm
             String airName = bottleStorage.getAirName();
             LambdaQueryWrapper<UsegasApply> lambdaQuery = Wrappers.lambdaQuery(UsegasApply.class);
             lambdaQuery.eq(UsegasApply::getUseGasName,airName)
-                    .eq(UsegasApply::getEndTime,Calendar.getInstance().getTime()).eq(UsegasApply::getLeadAuditStaus,1);
+                    .ge(UsegasApply::getEndTime, DateUtil.formatDate(Calendar.getInstance().getTime())).eq(UsegasApply::getLeadAuditStaus,1);
             List<UsegasApply> applies = applyService.list(lambdaQuery);
             if (applies.isEmpty()){
                 Long id = bottleStorage.getId();

+ 4 - 9
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageOutServiceImpl.java

@@ -1,17 +1,16 @@
 package com.zd.bottle.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.domain.BottleStorage;
 import com.zd.bottle.domain.BottleStorageOut;
 import com.zd.bottle.domain.RfidTag;
 import com.zd.bottle.domain.UseRecord;
 import com.zd.bottle.mapper.BottleStorageOutMapper;
 import com.zd.bottle.service.BottleStorageOutService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.service.BottleStorageService;
 import com.zd.bottle.service.RfidTagService;
 import com.zd.bottle.service.UseRecordService;
 import com.zd.bottle.vo.BottleStorageOutVo;
-import com.zd.bottle.vo.UseRecordVo;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.security.service.TokenService;
@@ -20,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
 
@@ -65,7 +63,7 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
 
         //查询是否存在未归还记录
         List<UseRecord> useRecordVoList = useRecordService.getListNotReturn(bottleStorageOut.getStorageId());
-        if(useRecordVoList.size()>0){
+        if(!useRecordVoList.isEmpty()){
             throw new ServiceException("请先归还后再出库。");
         }
 
@@ -76,6 +74,7 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
             RfidTag rfid = new RfidTag();
             rfid.setIsBind((short) 0);
             rfid.setId(rfidTag.getId());
+            rfid.setCommonValue(sysUser.getUserName(),sysUser.getUserId(),sysUser.getDeptId());
             rfidTagService.updateQpRfidTag(rfid);
         }
 
@@ -84,6 +83,7 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
         bottleStorage.setStorageStatus(3);
         //标签码
         bottleStorage.setElectronicTag("--");
+        bottleStorage.setCommonValue(sysUser.getUserName(),sysUser.getUserId(),sysUser.getDeptId());
         //刷新入库状态
         bottleStorageService.updateById(bottleStorage);
 
@@ -96,11 +96,6 @@ public class BottleStorageOutServiceImpl extends ServiceImpl<BottleStorageOutMap
         return save(bottleStorageOut);
     }
 
-    /***
-     * 出库列表
-     * @param vo
-     * @return
-     */
     @Override
     public List<BottleStorageOutVo> getOutListVo(BottleStorageOutVo vo) {
         return outMapper.getOutListVo(vo);

+ 5 - 19
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageServiceImpl.java

@@ -1,31 +1,22 @@
 package com.zd.bottle.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.domain.BottleStorage;
 import com.zd.bottle.domain.RfidTag;
-import com.zd.bottle.domain.UsegasAuditRecord;
 import com.zd.bottle.mapper.BottleStorageMapper;
 import com.zd.bottle.service.BottleStorageService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zd.bottle.service.RfidTagService;
-import com.zd.bottle.vo.BottleStorageVo;
 import com.zd.bottle.vo.BottleStorageUseVo;
 import com.zd.bottle.vo.BottleStorageVo;
-import com.zd.common.core.domain.per.PerPrefix;
 import com.zd.common.core.exception.ServiceException;
-import com.zd.common.datascope.annotation.DataScope;
 import com.zd.common.security.service.TokenService;
 import com.zd.system.api.domain.SysUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-import java.util.List;
 import java.util.Date;
 import java.util.List;
 
@@ -62,7 +53,7 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
         BottleStorageVo bsVo = new BottleStorageVo();
         bsVo.setElectronicTag(bottleStorage.getElectronicTag());
         List<BottleStorageVo> list =  bottleStorageMapper.getListVo(bsVo);
-        if(list.size()>0){
+        if(!list.isEmpty()){
             throw  new ServiceException("该识别码已存在!");
         }
 
@@ -72,13 +63,14 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
             throw  new ServiceException("未查询到相关识别码!");
         }
 
+        SysUser sysUser = tokenService.getLoginUser().getSysUser();
         //刷新识别码状态
         RfidTag rfid = new RfidTag();
         rfid.setIsBind((short) 1);
         rfid.setId(rfidTag.getId());
+        rfid.setCommonValue(sysUser.getUserName(),sysUser.getUserId(),sysUser.getDeptId());
         rfidTagService.updateQpRfidTag(rfid);
 
-        SysUser sysUser = tokenService.getLoginUser().getSysUser();
         bottleStorage.setUserId(sysUser.getUserId());
         bottleStorage.setUserName(sysUser.getNickName());
         bottleStorage.setUserPhone(sysUser.getPhonenumber());
@@ -92,11 +84,6 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
         return save(bottleStorage);
     }
 
-    /***
-     *
-     * @param vo
-     * @return
-     */
     @Override
     // @DataScope(deptAlias = "bs", userAlias = "bs", permi = PerPrefix.BOTTLE_BOTTLESTORAGE)
     public List<BottleStorageVo> getListVo(BottleStorageVo vo) {
@@ -110,8 +97,7 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
         wrapper.eq(BottleStorage::getStorageStatus,1);
         wrapper.orderByDesc(BottleStorage::getCreateTime);
         wrapper.setEntity(bottleStorage);
-        List <BottleStorage> list = list(wrapper);
-        return list;
+        return list(wrapper);
     }
 
     @Override

+ 6 - 27
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/RfidTagServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -7,7 +8,6 @@ import com.zd.bottle.domain.RfidTag;
 import com.zd.bottle.mapper.RfidTagMapper;
 import com.zd.bottle.service.RfidTagService;
 import com.zd.common.core.exception.ServiceException;
-import com.zd.common.core.utils.IdGen;
 import com.zd.common.security.service.TokenService;
 import com.zd.system.api.domain.SysUser;
 import com.zd.system.api.model.LoginUser;
@@ -30,32 +30,10 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
 
     @Resource
     private TokenService tokenService;
-    private static final Integer DATA_LENGTH=8;
 
     @Resource
     private RfidTagMapper rfidTagMapper;
 
-    protected static final String[] CHARS = new String[] { "a", "b", "c", "d", "e", "f",
-            "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
-            "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
-            "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
-            "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
-            "W", "X", "Y", "Z" };
-
-
-    public static String generateShortUuid() {
-        StringBuilder shortBuffer = new StringBuilder();
-        String uuid = IdGen.uuid();
-        for (int i = 0; i < DATA_LENGTH; i++) {
-            String str = uuid.substring(i * 4, i * 4 + 4);
-            int x = Integer.parseInt(str, 16);
-            shortBuffer.append(CHARS[x % 0x3E]);
-        }
-        return shortBuffer.toString();
-
-    }
-
-
     @Override
     public RfidTag add(RfidTag rfidTag) {
         String username=null;
@@ -68,13 +46,12 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
             userId=sysUser.getUserId();
             deptId=sysUser.getDeptId();
         }
-        rfidTag.setAuthCode(generateShortUuid());
         QueryWrapper<RfidTag> wrapper = Wrappers.query();
         wrapper.select("  IFNULL( max(auth_code),0) as authCode");
         Map<String, Object> map = getMap(wrapper);
         int authCode = Integer.parseInt((String) map.get("authCode"));
         authCode+=1;
-        DecimalFormat gf=new DecimalFormat("00000");
+        DecimalFormat gf=new DecimalFormat("0000000");
         rfidTag.setAuthCode(gf.format(authCode));
         rfidTag.setCommonValue(username,userId,deptId);
         boolean save = save(rfidTag);
@@ -91,7 +68,9 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
      */
     @Override
     public RfidTag getRfidByTagCode(String authCode) {
-        return rfidTagMapper.getRfidByTagCode(authCode);
+        LambdaQueryWrapper<RfidTag> wrapper = Wrappers.lambdaQuery(RfidTag.class);
+        wrapper.eq(RfidTag::getAuthCode,authCode);
+        return getOne(wrapper);
     }
 
     /***
@@ -101,7 +80,7 @@ public class RfidTagServiceImpl extends ServiceImpl<RfidTagMapper, RfidTag> impl
      */
     @Override
     public int updateQpRfidTag(RfidTag rfidTag) {
-        return rfidTagMapper.updateQpRfidTag(rfidTag);
+        return updateById(rfidTag) ?1:0;
     }
 
 

+ 1 - 3
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/UseRecordServiceImpl.java

@@ -84,8 +84,7 @@ public class UseRecordServiceImpl extends ServiceImpl<UseRecordMapper, UseRecord
         String startTime = useRecord.getStartTime();
         String endTime = useRecord.getEndTime();
 
-        queryWrapper.apply(StringUtils.hasLength(startTime), "DATE_FORMAT(use_time,'%Y-%m-%d') >=date_format('" + startTime + "','%Y-%m-%d')")
-                .apply(StringUtils.hasLength(endTime), "DATE_FORMAT(use_time,'%Y-%m-%d') <=date_format('" + endTime + "','%Y-%m-%d')");
+        queryWrapper.apply(StringUtils.hasLength(startTime)&&StringUtils.hasLength(endTime) , "DATE_FORMAT(use_time,'%Y-%m-%d') >=date_format({0},'%Y-%m-%d') and DATE_FORMAT(use_time,'%Y-%m-%d') <=date_format({1},'%Y-%m-%d')",startTime,endTime);
         String searchValue = useRecord.getSearchValue();
         if (StringUtils.hasLength(searchValue)) {
             queryWrapper.like(UseRecord::getContacts, searchValue)
@@ -97,7 +96,6 @@ public class UseRecordServiceImpl extends ServiceImpl<UseRecordMapper, UseRecord
         if (ids != null && !ids.isEmpty()) {
             queryWrapper.in(UseRecord::getId, ids);
         }
-        queryWrapper.orderByDesc(true,UseRecord::getUseTime);
         queryWrapper.setEntity(useRecord);
         return list(queryWrapper);
     }

+ 0 - 15
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/RfidTagMapper.xml

@@ -21,19 +21,4 @@
         tag_code, is_bind
     </sql>
 
-    <!-- 根据识别码查询-->
-    <select id="getRfidByTagCode" parameterType="java.lang.String"
-            resultType="com.zd.bottle.domain.RfidTag">
-         select * from ab_rfid_tag where auth_code=#{authCode}
-    </select>
-
-
-    <update id="updateQpRfidTag" parameterType="com.zd.bottle.domain.RfidTag">
-        update ab_rfid_tag
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="isBind != null">is_bind = #{isBind},</if>
-        </trim>
-        where id = #{id}
-    </update>
-
 </mapper>

+ 7 - 2
zd-modules/zd-netty/src/main/java/com/zd/netty/sdk/DeJuRFIDServerImpl.java

@@ -308,6 +308,7 @@ public class DeJuRFIDServerImpl implements IService {
     public void subscribeHandler(GClient client, RemoteLabHardware hardware) {
         String ipAddress = hardware.getIpAddress();
         clientMap.computeIfAbsent(ipAddress, f -> client);
+        String serialNumber = client.getSerialNumber();
         client.onTagEpcLog = (s, logBaseEpcInfo) -> {
             if (logBaseEpcInfo.getResult() == 0) {
                 int antId = logBaseEpcInfo.getAntId();
@@ -321,8 +322,12 @@ public class DeJuRFIDServerImpl implements IService {
                         BeanUtils.copyProperties(logBaseEpcInfo, tag);
                         String readerSerialNumber = logBaseEpcInfo.getReaderSerialNumber();
                         log.info("===========》读取器设备编码:{}", readerSerialNumber);
-                        tag.setSerialNumber(client.getSerialNumber());
-                        tag.setRemoteLabHardware(redisTemplate.opsForValue().get(client.getSerialNumber()));
+                        if (StringUtils.hasLength(serialNumber)){
+                            tag.setSerialNumber(serialNumber);
+                            tag.setRemoteLabHardware(redisTemplate.opsForValue().get(serialNumber));
+                        }else {
+                            tag.setRemoteLabHardware(hardware);
+                        }
                         sendService.send(tag);
                     });
                 }

+ 10 - 9
zd-modules/zd-netty/src/main/java/com/zd/netty/service/impl/SendServiceImpl.java

@@ -39,18 +39,19 @@ public class SendServiceImpl implements ISendService {
     @Override
     public boolean send(InventoryTag tag) {
         String serialNumber = tag.getSerialNumber();
+        RemoteLabHardware hardware = tag.getRemoteLabHardware();
         if (StringUtils.hasLength(serialNumber)){
             log.info("===============》设备编码:{}",serialNumber);
-            RemoteLabHardware hardware = redisTemplate.opsForValue().get(serialNumber);
-            if (hardware!=null){
-                log.info("=========ip:{},设备编码:{}=========",hardware.getIpAddress(),serialNumber);
-                int antId = tag.getAntId();
-                String uniformPower = hardware.getUniformPower();
-                String[] uniformPowers = uniformPower.split(",");
-                return handleTag(tag, antId, uniformPowers);
-            }
-            log.info("=========未获取到设备信息=========");
+            hardware = redisTemplate.opsForValue().get(serialNumber);
+        }
+        if (hardware!=null){
+            log.info("=========ip:{},设备编码:{}=========",hardware.getIpAddress(),serialNumber);
+            int antId = tag.getAntId();
+            String uniformPower = hardware.getUniformPower();
+            String[] uniformPowers = uniformPower.split(",");
+            return handleTag(tag, antId, uniformPowers);
         }
+        log.info("=========未获取到设备信息=========");
         return sendTag(tag,null);
     }