浏览代码

更改生成主键方法

txf 3 年之前
父节点
当前提交
db00a61a51

+ 3 - 1
src/main/java/com/steerinfo/dil/mapper/QmsQueueGridMapper.java

@@ -7,8 +7,10 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 @Mapper
 public interface QmsQueueGridMapper extends IBaseMapper<QmsQueueGrid, BigDecimal> {
-
+    @Select("select seq_qms_queue_grid.nextval from dual")
+    BigDecimal selectMaxId();
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/QmsQueueListMapper.java

@@ -7,10 +7,12 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 @Mapper
 public interface QmsQueueListMapper extends IBaseMapper<QmsQueueList, BigDecimal> {
     //查询主键MaxId
+    @Select("select seq_qms_queue_list.nextval from dual")
     BigDecimal selectMaxId();
 
     //查询当前链表最大序号

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/QmsQueueResultMapper.java

@@ -8,10 +8,12 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 @Mapper
 public interface QmsQueueResultMapper extends IBaseMapper<QmsQueueResult, BigDecimal> {
     //查询最大主键
+    @Select("select seq_qms_queue_result.nextval from dual")
     BigDecimal selectMaxId();
 
     //车辆进入电子围栏后触发排队申请 发送数据:运输订单号 返回 运力Id、实绩总表Id、订单ID

+ 6 - 10
src/main/java/com/steerinfo/dil/service/impl/QmsQueueListServiceImpl.java

@@ -58,10 +58,8 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
         Map<String, Object> listResultMap = qmsQueueListMapper.getQueueResultByOrderNumber(map);
         map.putAll(listResultMap);
         //添加主键ID
-        long id;
-        BigDecimal selectMaxId = qmsQueueListMapper.selectMaxId();
-        id = selectMaxId == null ? 1 : selectMaxId.longValue() + 1;
-        qmsQueueList.setListId(new BigDecimal(id));
+        BigDecimal maxId = qmsQueueListMapper.selectMaxId();
+        qmsQueueList.setListId(maxId);
         //添加网格Id
         BigDecimal gridId = DataChange.dataToBigDecimal(map.get("gridId"));
         qmsQueueList.setGridId(gridId);
@@ -79,7 +77,7 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
         int i = qmsQueueListMapper.insertSelective(qmsQueueList);
         //更新排队实绩表
         QmsQueueResult qmsQueueResult = new QmsQueueResult();
-        qmsQueueResult.setListId(new BigDecimal(id));
+        qmsQueueResult.setListId(maxId);
         qmsQueueResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
         qmsQueueResult.setResultAcceptTime(new Date()); //添加接收时间
         qmsQueueResult.setResultStartTime(new Date()); //添加排队时间
@@ -124,10 +122,8 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
         //新增一条链表
         QmsQueueList qmsQueueList = new QmsQueueList();
         //添加主键ID 新增的链表Id
-        long id;
-        BigDecimal selectMaxId = qmsQueueListMapper.selectMaxId();
-        id = selectMaxId == null ? 1 : selectMaxId.longValue() + 1;
-        qmsQueueList.setListId(new BigDecimal(id));
+        BigDecimal maxId = qmsQueueListMapper.selectMaxId();
+        qmsQueueList.setListId(maxId);
         //添加排队序号与逻辑删除 0: 正在排队
         qmsQueueList.setListNodeOrder(new BigDecimal(nodeOrder));
         qmsQueueList.setDeleted(new BigDecimal(0));
@@ -142,7 +138,7 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
         //更新排队实绩表
         QmsQueueResult qmsQueueResult = new QmsQueueResult();
         qmsQueueResult.setId(resultId);
-        qmsQueueResult.setListId(new BigDecimal(id)); //添加链表ID
+        qmsQueueResult.setListId(maxId); //添加链表ID
         qmsQueueResult.setResultTransferTime(new Date());   //添加转移时间
         qmsQueueResult.setResultTransferReason((String) map.get("resultTransferReason")); //添加转移原因
         int i1 = qmsQueueResultMapper.updateByPrimaryKeySelective(qmsQueueResult);

+ 1 - 4
src/main/java/com/steerinfo/dil/service/impl/QmsQueueResultServiceImpl.java

@@ -43,10 +43,7 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
     public int addQueueResult(Map<String, Object> map) {
         QmsQueueResult qmsQueueResult = new QmsQueueResult();
         //生成主键
-        long id;
-        BigDecimal selectMaxId = qmsQueueResultMapper.selectMaxId();
-        id = selectMaxId == null ? 1 : selectMaxId.longValue() + 1;
-        qmsQueueResult.setId(new BigDecimal(id));
+        qmsQueueResult.setId(qmsQueueResultMapper.selectMaxId());
         //获取传入运输订单号
         String orderNumber = (String) map.get("orderNumber");
         //查询实绩总表ID与运力Id

+ 1 - 5
src/main/resources/com/steerinfo/dil/mapper/QmsQueueListMapper.xml

@@ -347,11 +347,7 @@
       </if>
     </if>
   </sql>
-  <!--  获取最大ID值  -->
-  <select id="selectMaxId" resultType="java.math.BigDecimal">
-    select max(QQL.LIST_ID)
-    from QMS_QUEUE_LIST QQL
-  </select>
+
 
 <!-- 查询当前网格最大序号 -->
   <select id="getMaxListNodeOrder" parameterType="java.util.Map" resultType="int">

+ 0 - 5
src/main/resources/com/steerinfo/dil/mapper/QmsQueueResultMapper.xml

@@ -665,11 +665,6 @@
         </if>
     </sql>
 
-    <!--  获取最大ID值  -->
-    <select id="selectMaxId" resultType="java.math.BigDecimal">
-        select max(QQR.RESULT_ID)
-        from QMS_QUEUE_RESULT QQR
-    </select>
 
     <!-- 车辆进入电子围栏后触发排队申请 -->
     <select id="queryCIdAndTIdByOrderNumber" parameterType="string" resultType="java.util.Map">