liyg 2 jaren geleden
bovenliggende
commit
f1c64adef9

+ 8 - 2
src/main/java/com/steerinfo/dil/controller/AmsshipDeliveryAttorneyController.java

@@ -86,8 +86,14 @@ public class AmsshipDeliveryAttorneyController extends BaseRESTfulController {
     @ApiImplicitParam(name = "amsshipDeliveryAttorney", value = "详细实体amsshipDeliveryAttorney", required = true, dataType = "AmsshipDeliveryAttorney", paramType = "java.util.Map")
     @PostMapping(value = "/insertshipDeliveryAttorney")
     public RESTfulResult insertshipDeliveryAttorney(@RequestBody  Map<String,Object> map){
-        int code=amsshipDeliveryAttorneyService.insert(map);
-        return success(code);
+        try{
+            int code=amsshipDeliveryAttorneyService.insert(map);
+            return success(code);
+        }catch (Exception e){
+            e.printStackTrace();
+            return failed(e.getMessage());
+        }
+
     }
     //渲染修改信息
     @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")

+ 16 - 4
src/main/java/com/steerinfo/dil/controller/ShipDynamicsController.java

@@ -234,15 +234,27 @@ public class ShipDynamicsController extends BaseRESTfulController {
         map2.put("type",1);
         map2.put("eeeeee", 12);
         mapList.add(map2);
+        //有下游吨位无江船的
+        List<Map<String,Object>> unloads=iShipDynamicsService.selectAllUnload(mapVal);
+        for (Map<String,Object> temp:unloads){
+            String pm= temp.get("materialName").toString() +"\n\n\n\n\n"+
+                    "\""+temp.get("shipName").toString()+"\""+"\n\n\n\n\n"+
+                    temp.get("dateOfLoans").toString().substring(0, 10)+"\n\n\n\n\n"+"放"+
+                    temp.get("numberOfLoans").toString()+"吨";
+            temp.put("pm",pm);
+            temp.put("materialType",temp.get("materialTypeName"));
+            tonnageSum+=Double.parseDouble(temp.get("tonnage").toString());
+        }
+        mapList.addAll(unloads);
         //最下方的两行
         //第一行
         Map<String,Object> map3=new HashMap<>();
         map3.put("batchInfacoryId",Integer.parseInt(list.get(list.size() -1).get("batchInfacoryId").toString()) + 1);
         map3.put("batchId",Integer.parseInt(list.get(list.size()-1).get("batchId").toString())+1);
         if (list.get(list.size()-1).get("instructionStatus")!=null) {
-            map3.put("tonnage1",tonnageSum);
+            map3.put("tonnage1",new BigDecimal(tonnageSum).setScale(2,BigDecimal.ROUND_HALF_UP));
         }else {
-            map3.put("tonnage",tonnageSum);
+            map3.put("tonnage",new BigDecimal(tonnageSum).setScale(2,BigDecimal.ROUND_HALF_UP));
         }
         map3.put("pm","合计");
         map3.put("capacityNumber1",capacityNumberAllSum1);
@@ -256,9 +268,9 @@ public class ShipDynamicsController extends BaseRESTfulController {
         map3.put("batchInfacoryId",Integer.parseInt(list.get(list.size() -1).get("batchInfacoryId").toString()) + 1);
         map4.put("batchId",Integer.parseInt(list.get(list.size()-1).get("batchId").toString())+1);
         if (list.get(list.size()-1).get("instructionStatus")!=null) {
-            map4.put("tonnage1",tonnageSum);
+            map4.put("tonnage1",new BigDecimal(tonnageSum).setScale(2,BigDecimal.ROUND_HALF_UP));
         }else {
-            map4.put("tonnage",tonnageSum);
+            map4.put("tonnage",new BigDecimal(tonnageSum).setScale(2,BigDecimal.ROUND_HALF_UP));
         }
         map4.put("pm","合计");
         map4.put("capacity1",new BigDecimal(capacityNumberAllSum1+capacityNumberAllSum2+capacityNumberAllSum3+capacityNumberAllSum4).setScale(2,BigDecimal.ROUND_HALF_UP));

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

@@ -24,4 +24,6 @@ public interface ShipDynamicsMapper {
     Map<String,Object> getPleaseData(Map<String,Object> map);
 
     BigDecimal getRealNumberMonth(Map<String,Object> map);
+
+    List<Map<String, Object>> selectAllUnload(Map<String,Object> map);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/IAmsshipDeliveryAttorneyService.java

@@ -26,7 +26,7 @@ public interface IAmsshipDeliveryAttorneyService{
     List<Map<String,Object>> selectdeliveryAttorney(Map<String,Object> mapVal);
 
     //新增提货委托
-    int insert(Map<String,Object> map);
+    int insert(Map<String,Object> map) throws Exception;
 
     //删除提货委托信息
     int deleteByPrimaryKey(BigDecimal attorneyId);

+ 7 - 6
src/main/java/com/steerinfo/dil/service/impl/AmsshipDeliveryAttorneyServiceImpl.java

@@ -47,7 +47,7 @@ public class AmsshipDeliveryAttorneyServiceImpl implements IAmsshipDeliveryAttor
     }
 
     @Override
-    public int insert(Map<String,Object> map) {
+    public int insert(Map<String,Object> map) throws Exception {
         String userName=null;
         AmsshipDeliveryAttorney amsshipDeliveryAttorney=new AmsshipDeliveryAttorney();
         BigDecimal attorneyId = amsshipDeliveryAttorneyMapper.selectAttorneyId();
@@ -56,6 +56,9 @@ public class AmsshipDeliveryAttorneyServiceImpl implements IAmsshipDeliveryAttor
         if (userId!=null){
              userName = amsshipCargoTransferResultMapper.getUserNameByUserId(userId);
         }
+        if(amsshipDeliveryAttorneyMapper.isAttorny(map) != 0){
+            throw new Exception("该提货委托已经存在!不允许重复操作!");
+        }
         //新增承运商
         if (map.get("carrierId")!=null) {
             amsshipDeliveryAttorney.setCarrierId(DataChange.dataToBigDecimal(map.get("carrierId")));
@@ -79,11 +82,9 @@ public class AmsshipDeliveryAttorneyServiceImpl implements IAmsshipDeliveryAttor
         amsshipDeliveryAttorney.setDeleted((short) 0);
         amsshipDeliveryAttorney.setRealForeignShipName(map.get("realForeignShipName")+"");
         //下游港口入库
-        if(amsshipDeliveryAttorneyMapper.isAttorny(map)<=0){
-            Map<String,Object> inbound=amsshipDeliveryAttorneyMapper.getDetailsForInbound(map);
-            inbound.put("portId",amsshipDeliveryAttorney.getDownSwimPortId());
-            wmshboundFeign.addWarehousingResult(inbound);
-        }
+        Map<String,Object> inbound=amsshipDeliveryAttorneyMapper.getDetailsForInbound(map);
+        inbound.put("portId",amsshipDeliveryAttorney.getDownSwimPortId());
+        wmshboundFeign.addWarehousingResult(inbound);
         return amsshipDeliveryAttorneyMapper.insertSelective(amsshipDeliveryAttorney);
     }
 

+ 14 - 0
src/main/java/com/steerinfo/dil/service/impl/DilBatchServiceImpl.java

@@ -151,6 +151,20 @@ public class DilBatchServiceImpl  implements IDilBatchService {
         return i;
     }
 
+//    @Scheduled(cron = "0 0 0,6,12,18 * * ?")
+//    public void AutoBindBatch(Map<String, Object> map){
+//        System.out.println("定时绑定批次:"+new Date());
+//        List<Map<String, Object>> list=dilBatchMapper.findBatchForBind(map);
+//        int i=0;
+//        if(list!=null&&list.size()>0){
+//           for(Map<String, Object> temp:list){
+//
+//           }
+//        }else{
+//            System.out.println("没有数据需要绑定");
+//        }
+//    }
+
     @Override
     public BigDecimal getPortId(String portName) {
         return dilBatchMapper.getPortId(portName);

+ 3 - 0
src/main/java/com/steerinfo/dil/service/impl/ShipDynamicsServiceImpl.java

@@ -25,6 +25,9 @@ public class ShipDynamicsServiceImpl implements IShipDynamicsService {
         return shipDynamicsMapper.selectAll(map);
     }
 
+    public List<Map<String,Object>> selectAllUnload(Map<String,Object> map){
+        return shipDynamicsMapper.selectAllUnload(map);
+    }
 
 
     @Override

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

@@ -794,6 +794,6 @@
     <select id="isAttorny" resultType="java.lang.Integer">
       SELECT count(ATTORNEY_ID)
       FROM AMSSHIP_DELIVERY_ATTORNEY
-      WHERE BATCH_ID=#{batchId}
+      WHERE DELETED=0 AND BATCH_ID=#{batchId}
     </select>
 </mapper>

+ 65 - 0
src/main/resources/com/steerinfo/dil/mapper/ShipDynamicsMapper.xml

@@ -221,5 +221,70 @@
         where TLT.OUTBOUNT_ID=WOR.RESULT_ID
           AND  #{monthDate} =  TO_CHAR(WOR.INSERT_TIME,'YYYY-MM')
     </select>
+    <select id="selectAllUnload" resultType="java.util.Map">
+        SELECT *
+        FROM (
+                 select DISTINCT
+                     db.BATCH_ID "batchId",
+                     DBI2.BATCH_INFACOTRY_ID  "batchInfacoryId",
+                     db.result_foreign_ship_name "shipName",
+                     rm.material_name "materialName",
+                     RMT.MATERIAL_TYPE_NAME "materialTypeName",
+                     adn.NOTICE_DELIVERY_TIME "dateOfLoans",
+                     adn.RESULT_NUMBER_OF_LOANS "numberOfLoans",
+                     rp.port_name "portName",
+                     wgm.gm_tonnage "tonnage"
+                 from AMSSHIP_DELIVERY_NOTICE adn
+                          LEFT JOIN DIL_BATCH_INFACOTRY DBI2 on adn.batch_id=DBI2.BATCH_INFACOTRY_ID
+                          LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADA.BATCH_ID = adn.batch_id
+                          JOIN DIL_BATCH DB ON DBI2.BATCH_ID=DB.BATCH_ID
+                          join rms_material rm on db.material_id=rm.material_id
+                          left join rms_port rp on rp.port_id=ADA.DOWN_SWIM_PORT_ID
+                          left join WMSH_GRID_MATERIAL wgm on wgm.batch_id = DB.BATCH_ID AND ADA.DOWN_SWIM_PORT_ID=WGM.PORT_ID
+                          left join RMS_MATERIAL_TYPE RMT on adn.MATERIAL_TYPE_ID =  RMT.MATERIAL_TYPE_ID
+                 where adn.DELETED=0 and wgm.DELETED=0 and wgm.gm_tonnage>0
+                   and DBI2.BATCH_INFACOTRY_ID not in(
+                     select DISTINCT
+                         DBI2.BATCH_INFACOTRY_ID  "batchInfacoryId"
+                     from AMSSHIP_DELIVERY_NOTICE adn
+                              LEFT JOIN DIL_BATCH_INFACOTRY DBI2 on adn.batch_id=DBI2.BATCH_INFACOTRY_ID
+                              LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADA.BATCH_ID = adn.batch_id
+                              JOIN DIL_BATCH DB ON DBI2.BATCH_ID=DB.BATCH_ID
+                              join rms_material rm on db.material_id=rm.material_id
+                              left join rms_port rp on rp.port_id=ADA.DOWN_SWIM_PORT_ID
+                              left join WMSH_GRID_MATERIAL wgm on wgm.batch_id = DB.BATCH_ID AND ADA.DOWN_SWIM_PORT_ID=WGM.PORT_ID
+                              left join TMSSHIP_LOAD_SHIP_RESULT tlsr on DBI2.BATCH_INFACOTRY_ID=tlsr.batch_id
+                              left join tmsship_total_result ttr on ttr.result_id=tlsr.TOTAL_RESULT_ID
+                              left join omsship_instructions_capacity oic on ttr.order_id=oic.instructions_capacity_id
+                              left join OMSSHIP_SHIPMENT_INSTRUCTIONS OSI  ON OSI.SHIPMENT_INSTRUCTIONS_ID=oic.INSTRUCTIONS_ID
+                              left join rms_capacity rc on oic.capacity_id=rc.capacity_id
+                              left join RMS_MATERIAL_TYPE RMT on adn.MATERIAL_TYPE_ID =  RMT.MATERIAL_TYPE_ID
+                              left join (select * from tmsship_ship_location t where t.location_id in
+                                                                                     (SELECT
+                                                                                          t.location_id
+                                                                                      FROM
+                                                                                          (
+                                                                                              SELECT
+                                                                                                  t.location_id,
+                                                                                                  t.total_result_id,
+                                                                                                  t.location_route_time,
+                                                                                                  ROW_NUMBER () OVER (
+                                                                                         PARTITION BY t.total_result_id
+                                                                                         ORDER BY t.location_route_time DESC
+                                                                                         ) AS rn
+                                                                                              FROM
+                                                                                                  tmsship_ship_location t
+                                                                                          ) t
+                                                                                      WHERE
+                                                                                          rn = 1)) tsl on tsl.total_result_id=ttr.result_id
+                     where ttr.ship_status = 0 and tsl.LOCATION_STATUS is not null and tlsr.DELETED=0
+                       and  adn.DELETED=0 and oic.DELETED=0
+                 )
+             )
+        <if test="con!=null and con!=''.toString()">
+            WHERE instr( "materialName", #{con} ) > 0 OR instr( "shipName", #{con} ) > 0
+        </if>
+        Order By "batchInfacoryId" DESC
+    </select>
 
 </mapper>