浏览代码

Merge remote-tracking branch 'origin/dev' into dev

lazhaoqian 3 年之前
父节点
当前提交
123bcd63a2

+ 9 - 0
ruoyi-shipping/src/main/java/com/ruoyi/shipping/mapper/TAddressMapper.java

@@ -162,4 +162,13 @@ public interface TAddressMapper
      * @return
      */
     public Long selectTAddressByfName(@Param("fNam") String fNam);
+
+    /**
+     * 根据类型 名称获取地点ID
+     * @param fNam
+     * @param fTypes
+     * @return
+     */
+    public TAddress selectTAddressByfNameType(@Param("fNam") String fNam,
+                                          @Param("fTypes") String fTypes);
 }

+ 7 - 7
ruoyi-shipping/src/main/java/com/ruoyi/shipping/service/impl/TCntrnoServiceImpl.java

@@ -578,6 +578,9 @@ public class TCntrnoServiceImpl implements ITCntrnoService {
                 TCntrno companyMsg = new TCntrno();
                 for (int a = 0; a < rows.getPhysicalNumberOfCells(); a++) {
                     Cell cell = rows.getCell(a);
+                    if (cell == null){
+                        continue;
+                    }
                     String value = filter(sheet.getRow(0), CellReference.convertNumToColString(cell.getColumnIndex()));
                     switch (value) {
                         case "箱动态":
@@ -622,7 +625,7 @@ public class TCntrnoServiceImpl implements ITCntrnoService {
                             Date tDate = new Date();
                             long localOffset = tDate.getTimezoneOffset() * 60000; //系统时区偏移 1900/1/1 到 1970/1/1 的 25569 天
                             tDate.setTime((long) ((Double.valueOf(cell.getStringCellValue()) - 25569) * 24 * 3600 * 1000 + localOffset));
-                            companyMsg.setUpdateTime(tDate);
+                            companyMsg.setfUpdatetime(tDate);
                             break;
                         case "船名":
                             //设置单元格类型
@@ -669,17 +672,14 @@ public class TCntrnoServiceImpl implements ITCntrnoService {
                                 return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少堆放地点");
                             }
                             companyMsg.setAddressName(cell.getStringCellValue());
-                            TAddress address = new TAddress();
-                            address.setfName(cell.getStringCellValue());
                             if (StringUtils.isEmpty(companyMsg.getPort())){
                                 return AjaxResult.error("缺少地点类型"+companyMsg.getPortName());
                             }
-                            address.setfTypes(companyMsg.getPort());
-                            List<TAddress> tAddresses = tAddressMapper.selectTAddressBasicList(address);
-                            if (CollectionUtils.isEmpty(tAddresses)){
+                            TAddress aLong = tAddressMapper.selectTAddressByfNameType(cell.getStringCellValue(), companyMsg.getPort());
+                            if (aLong == null){
                                 return AjaxResult.error("系统缺少类型为"+companyMsg.getPortName()+"的地点"+cell.getStringCellValue()+"请维护");
                             }
-                            companyMsg.setfUpdateaddress(tAddresses.get(0).getfId().toString());
+                            companyMsg.setfUpdateaddress(aLong.getfId().toString());
                             break;
                         case "提单号":
                             //设置单元格类型

+ 10 - 0
ruoyi-shipping/src/main/resources/mapper/shipping/TAddressMapper.xml

@@ -591,6 +591,16 @@
         where t.f_status = 'T' AND pro.dict_label &lt;&gt; '航线'
         ORDER BY  CONVERT(t.f_name USING gbk) asc
     </select>
+    <select id="selectTAddressByfNameType" parameterType="object" resultMap="TAddressResult">
+        SELECT
+        f_id
+        FROM
+        t_address
+        WHERE
+        f_status = 'T'
+        and f_name = #{fNam}
+        and f_types = #{fTypes}
+    </select>
 
 
 </mapper>