dengpan 1 год назад
Родитель
Сommit
995a0ef7fb

+ 11 - 4
src/main/java/com/steerinfo/dil/controller/UniversalController.java

@@ -278,11 +278,18 @@ public class UniversalController extends BaseRESTfulController {
     @ApiOperation("获取通知单号")
     @PostMapping("/getRequirementNo")
     public RESTfulResult getRequirementNo(@RequestBody Map<String,Object> map) {
-        BigDecimal requirementId = universalMapper.transRequirementId();
-        String requirementNo = DataChange.generateEightDigitsNumber(map.get("businessFlag").toString(),requirementId.intValue());
         Map<String, Object> requireMap = new HashMap<>();
-        requireMap.put("requirementId",requirementId);
-        requireMap.put("requirementNo",requirementNo);
+        BigDecimal requirementId = universalMapper.transRequirementId();
+        if (map.get("businessFlag").toString().equals("XS")) {
+            //获取当天最大的作业记录号
+            String serialNumber = universalMapper.getMaxSerialNumber();
+            requireMap.put("requirementId", requirementId);
+            requireMap.put("requirementNo", serialNumber);
+        } else {
+            String requirementNo = DataChange.generateEightDigitsNumber(map.get("businessFlag").toString(), requirementId.intValue());
+            requireMap.put("requirementId", requirementId);
+            requireMap.put("requirementNo", requirementNo);
+        }
         return success(requireMap);
     }
 

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

@@ -106,4 +106,6 @@ public interface UniversalMapper {
     Map<String,Object> getDriverInfo(Map<String, Object> map);
 
     List<Map<String, Object>> getRequireByLike(Map<String, Object> map);
+
+    String getMaxSerialNumber();
 }

+ 7 - 0
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -1829,4 +1829,11 @@
             </foreach>
         </if>
     </select>
+
+    <select id="getMaxSerialNumber" resultType="java.lang.String">
+        select 'XX' || nvl(to_number(substr(max(t.serial_number), 3)) + 1,
+                           to_char(sysdate, 'yyyyMMdd') || '001')
+        from ams_trans_requirement t
+        where substr(t.serial_number, 1, 10) = 'XX' || to_char(sysdate, 'yyyyMMdd')
+    </select>
 </mapper>