liyg преди 2 години
родител
ревизия
40738f9ee8

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmsshipTotalResultMapper.java

@@ -29,4 +29,7 @@ public interface TmsshipTotalResultMapper extends IBaseMapper<TmsshipTotalResult
 
     @Select("select seq_TMSSHIP_TOTAL.nextval from dual")
     BigDecimal selectTotalId();
+
+    //查询和orderId相同船舶的所有未卸船舶,做卸船作业
+    List<BigDecimal> selectAllByCapacity(Map<String, Object> mapVal);
 }

+ 56 - 56
src/main/java/com/steerinfo/dil/service/impl/TmsshipUnloadShipResultServiceImpl.java

@@ -17,10 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * TmsshipUnloadShipResult服务实现:
@@ -82,59 +79,62 @@ public class TmsshipUnloadShipResultServiceImpl implements ITmsshipUnloadShipRes
         if (userId != null) {
             userName = tmsshipLoadShipResultMapper.getUserNameByUserId(userId);
         }
-        TmsshipUnloadShipResult tmsshipUnloadShipResult = new TmsshipUnloadShipResult();
-        BigDecimal resultId = selectMaxId();
-        BigDecimal orderId = new BigDecimal((Integer) unloadMap.get("orderId"));
-        BigDecimal totalResultId = tmsshipTotalResultService.getResultTotalId(orderId);
-        //修改船舶状态
-        TmsshipTotalResult tmsshipTotalResult=new TmsshipTotalResult();
-        tmsshipTotalResult.setResultId(totalResultId);
-        tmsshipTotalResult.setShipStatus(new BigDecimal(1));
-        tmsshipTotalResultMapper.updateByPrimaryKeySelective(tmsshipTotalResult);
-        if(mapVal.get("resultArrivalDate") != null && !"null".equals(mapVal.get("resultArrivalDate"))){
-            Date resultArrivalDate = new Date((Long) mapVal.get("resultArrivalDate"));
-            tmsshipUnloadShipResult.setResultArrivalDate(resultArrivalDate);
+        List<BigDecimal> orderIds=tmsshipTotalResultMapper.selectAllByCapacity(unloadMap);
+        for(BigDecimal orderId:orderIds){
+            TmsshipUnloadShipResult tmsshipUnloadShipResult = new TmsshipUnloadShipResult();
+            BigDecimal resultId = selectMaxId();
+            BigDecimal totalResultId = tmsshipTotalResultService.getResultTotalId(orderId);
+            //修改船舶状态
+            TmsshipTotalResult tmsshipTotalResult=new TmsshipTotalResult();
+            tmsshipTotalResult.setResultId(totalResultId);
+            tmsshipTotalResult.setShipStatus(new BigDecimal(1));
+            tmsshipTotalResultMapper.updateByPrimaryKeySelective(tmsshipTotalResult);
+            if(mapVal.get("resultArrivalDate") != null && !"null".equals(mapVal.get("resultArrivalDate"))){
+                Date resultArrivalDate = new Date((Long) mapVal.get("resultArrivalDate"));
+                tmsshipUnloadShipResult.setResultArrivalDate(resultArrivalDate);
+            }
+            if(mapVal.get("resultStartTime") != null && !"null".equals(mapVal.get("resultStartTime"))){
+                Date resultStartTime = new Date((Long) mapVal.get("resultStartTime"));
+                tmsshipUnloadShipResult.setResultStartTime(resultStartTime);
+            }
+            if(mapVal.get("resultEndTime") != null && !"null".equals(mapVal.get("resultEndTime"))){
+                Date resultEndTime = new Date((Long) mapVal.get("resultEndTime"));
+                tmsshipUnloadShipResult.setResultEndTime(resultEndTime);
+            }
+            String resultStatus = (String) mapVal.get("resultStatus");
+            // 设置属性值
+            tmsshipUnloadShipResult.setResultId(resultId);
+            tmsshipUnloadShipResult.setTotalResultId(totalResultId);
+            tmsshipUnloadShipResult.setResultStatus(resultStatus);
+            // 设置常规字段
+            tmsshipUnloadShipResult.setInsertTime(new Date());
+            tmsshipUnloadShipResult.setUpdateTime(new Date());
+            if (userName != null) {
+                tmsshipUnloadShipResult.setInsertUsername(userName);
+                tmsshipUnloadShipResult.setUpdateUsername(userName);
+            }
+            tmsshipUnloadShipResult.setInsertUpdateRemark("无");
+            tmsshipUnloadShipResult.setDeleted(new BigDecimal(0));
+            //锁定船只
+            OmsshipInstructionsCapacity omsshipInstructionsCapacity=new OmsshipInstructionsCapacity();
+            omsshipInstructionsCapacity.setInstructionsCapacityId(DataChange.dataToBigDecimal(unloadMap.get("instructionsCapacityId")));
+            //锁定
+            omsshipInstructionsCapacity.setDeleted(new BigDecimal(3));
+            omsshipInstructionsCapacityMapper.updateByPrimaryKeySelective(omsshipInstructionsCapacity);
+            // 新增出库实绩
+            Map<String,Object> totalId = new HashMap<>();
+            totalId.put("totalResultId",totalResultId);
+            List<Map<String,Object>> tmsshipLoadShipResults = tmsshipLoadShipResultMapper.getBatchIdForOut(totalId);
+            Map<String,Object> tmsshipLoadShipResult = tmsshipLoadShipResults.get(0);
+            Map<String,Object> mapValue = new HashMap<>();
+            mapValue.put("batchId",tmsshipLoadShipResult.get("batchId"));
+            mapValue.put("portId",portId);
+            mapValue.put("resultMaterialNumber",tmsshipLoadShipResult.get("resultMaterialNumber"));
+            mapValue.put("resultStartTime",mapVal.get("resultStartTime"));
+            wmshboundFeign.addWarehousingResult(mapValue);
+            tmsshipUnloadShipResultMapper.insert(tmsshipUnloadShipResult);
         }
-        if(mapVal.get("resultStartTime") != null && !"null".equals(mapVal.get("resultStartTime"))){
-            Date resultStartTime = new Date((Long) mapVal.get("resultStartTime"));
-            tmsshipUnloadShipResult.setResultStartTime(resultStartTime);
-        }
-        if(mapVal.get("resultEndTime") != null && !"null".equals(mapVal.get("resultEndTime"))){
-            Date resultEndTime = new Date((Long) mapVal.get("resultEndTime"));
-            tmsshipUnloadShipResult.setResultEndTime(resultEndTime);
-        }
-        String resultStatus = (String) mapVal.get("resultStatus");
-        // 设置属性值
-        tmsshipUnloadShipResult.setResultId(resultId);
-        tmsshipUnloadShipResult.setTotalResultId(totalResultId);
-        tmsshipUnloadShipResult.setResultStatus(resultStatus);
-        // 设置常规字段
-        tmsshipUnloadShipResult.setInsertTime(new Date());
-        tmsshipUnloadShipResult.setUpdateTime(new Date());
-        if (userName != null) {
-            tmsshipUnloadShipResult.setInsertUsername(userName);
-            tmsshipUnloadShipResult.setUpdateUsername(userName);
-        }
-        tmsshipUnloadShipResult.setInsertUpdateRemark("无");
-        tmsshipUnloadShipResult.setDeleted(new BigDecimal(0));
-        //锁定船只
-        OmsshipInstructionsCapacity omsshipInstructionsCapacity=new OmsshipInstructionsCapacity();
-        omsshipInstructionsCapacity.setInstructionsCapacityId(DataChange.dataToBigDecimal(unloadMap.get("instructionsCapacityId")));
-        //锁定
-        omsshipInstructionsCapacity.setDeleted(new BigDecimal(3));
-        omsshipInstructionsCapacityMapper.updateByPrimaryKeySelective(omsshipInstructionsCapacity);
-        // 新增出库实绩
-        Map<String,Object> totalId = new HashMap<>();
-        totalId.put("totalResultId",totalResultId);
-        List<Map<String,Object>> tmsshipLoadShipResults = tmsshipLoadShipResultMapper.getBatchIdForOut(totalId);
-        Map<String,Object> tmsshipLoadShipResult = tmsshipLoadShipResults.get(0);
-        Map<String,Object> mapValue = new HashMap<>();
-        mapValue.put("batchId",tmsshipLoadShipResult.get("batchId"));
-        mapValue.put("portId",portId);
-        mapValue.put("resultMaterialNumber",tmsshipLoadShipResult.get("resultMaterialNumber"));
-        mapValue.put("resultStartTime",mapVal.get("resultStartTime"));
-        wmshboundFeign.addWarehousingResult(mapValue);
-        return tmsshipUnloadShipResultMapper.insert(tmsshipUnloadShipResult);
+        return 0;
     }
 
     /**

+ 22 - 0
src/main/resources/com/steerinfo/dil/mapper/TmsshipTotalResultMapper.xml

@@ -591,4 +591,26 @@
             )
         </if>
     </select>
+    <select id="selectAllByCapacity" resultType="java.math.BigDecimal">
+        SELECT DISTINCT
+            oic.INSTRUCTIONS_CAPACITY_ID AS "orderId"
+        FROM
+            OMSSHIP_INSTRUCTIONS_CAPACITY oic
+                LEFT JOIN OMSSHIP_SHIPMENT_INSTRUCTIONS osi ON oic.INSTRUCTIONS_ID = osi.SHIPMENT_INSTRUCTIONS_ID
+                LEFT JOIN DIL_BATCH_INFACOTRY DBI ON DBI.BATCH_INFACOTRY_ID = osi.BATCH_ID
+                LEFT JOIN DIL_BATCH db ON db.BATCH_ID = DBI.BATCH_ID
+                LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ada ON ada.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+                LEFT JOIN AMSSHIP_DELIVERY_NOTICE ADN ON ADN.BATCH_ID = ADA.BATCH_ID
+                LEFT JOIN RMS_PORT RP3 ON RP3.PORT_ID = ADN.PORT_ID
+                LEFT JOIN RMS_PORT rp1 ON ada.DOWN_SWIM_PORT_ID = rp1.PORT_ID
+                LEFT JOIN RMS_PORT rp2 ON ada.PORT_ID = rp2.PORT_ID
+                LEFT JOIN RMS_MATERIAL rm ON rm.MATERIAL_ID = db.MATERIAL_ID
+                LEFT JOIN RMS_CAPACITY rc ON rc.CAPACITY_ID = oic.CAPACITY_ID
+        WHERE OSI.DELETED = 0
+          AND OIC.DELETED = 0
+          AND ADA.DELETED = 0
+          AND OSI.INSTRUCTION_ISSUE_STATUS='已下发'
+          AND ADN.DELETED = 0
+          AND RC.CAPACITY_NUMBER=#{capacityNumber}
+    </select>
 </mapper>