胡半仙 3 年之前
父节点
当前提交
5570980fb3

+ 8 - 0
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
@@ -706,5 +707,12 @@ public class WmsInboundResultController extends BaseRESTfulController {
     public int changeReserved(@RequestBody(required = false) List<Map<String, Object>> mapList) {
         return wmsInboundResultServiceImpl.changeReserved(mapList);
     }
+
+    @ApiOperation(value="获取已经下发的每个炉号的数量")
+    @PostMapping("/getFurnaceNoAmount")
+    public RESTfulResult getFurnaceNoAmount(@RequestBody(required = false) Map<String,Object>map) throws ParseException {
+        List<Map<String,Object>> mapList = wmsInboundResultServiceImpl.getFurnaceNoAmount(map);
+        return success(mapList);
+    }
 }
 

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

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -69,4 +70,6 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
     int updateStatusByMaterialId(BigDecimal materialId);
 
     List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> getFurnaceNoAmount(String startDate, String endDate);
 }

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service;
 import com.steerinfo.dil.model.WmspInboundResult;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.List;
 import java.util.Map;
 
@@ -79,4 +80,6 @@ public interface IWmsInboundResultService {
     int changeReserved(List<Map<String, Object>> mapList);
 //    根据仓库id获取对应的统计信息
     List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue,Integer warehouseId);
+//    获取根据仓库id获取当前下的每个炉号的数量
+    List<Map<String, Object>> getFurnaceNoAmount(Map<String, Object> map) throws ParseException;
 }

+ 53 - 0
src/main/java/com/steerinfo/dil/service/impl/WmsInboundResultServiceImpl.java

@@ -11,6 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -263,4 +266,54 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
         }
         return i;
     }
+
+    @Override
+    public List<Map<String, Object>> getFurnaceNoAmount(Map<String, Object> map) throws ParseException {
+        SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        获取当前时间
+        Date date = new Date();
+//        根据当前时间区分当前班次
+//        获取当前时间的所属日期
+        String nowDay = format1.format(date);
+//        获取前一天的时间所属日期
+        Calendar calendar = Calendar.getInstance();
+        Calendar calendar2 = Calendar.getInstance();
+        calendar.add(Calendar.DAY_OF_MONTH,-1);
+        String forwardDay = format1.format(calendar.getTime());
+        calendar2.add(Calendar.DAY_OF_MONTH,1);
+        String afterDay = format1.format(calendar2.getTime());
+//        创建晚班时间(前一天的晚上23:45到当天的早上7:45)
+        String nightTime = forwardDay+" 23:45:00";
+        String nightTime2 = nowDay+" 23:45:00";
+//        创建早班时间(当天的早上7:45到当前下午的15:45)
+        String morningTime = nowDay+" 07:45:00";
+//        创建后一天的早班时间
+        String morningTime2 = afterDay+" 07:45:00";
+//        创建中班时间(当天下午的15:45到晚上的23:45)
+        String nonTime = nowDay+" 15:45:00";
+//        创建开始时间和结束时间
+        String startDate = null;
+        String endDate = null;
+//        对时间进行比较
+        if (date.compareTo(format2.parse(nightTime))>0&&date.compareTo(format2.parse(morningTime))<0){
+//            当前时间是属于当天的晚班时间
+            startDate = nightTime;
+            endDate = morningTime;
+        }else if (date.compareTo(format2.parse(morningTime))>0&&date.compareTo(format2.parse(nonTime))<0){
+//            当前时间是属于当天的早班时间
+            startDate = morningTime;
+            endDate = nonTime;
+        }else if (date.compareTo(format2.parse(nonTime))>0&&date.compareTo(format2.parse(nightTime2))<0){
+//            当前时间是属于当天的中班时间
+            startDate = nonTime;
+            endDate = nightTime2;
+        }else{
+//            当前时间是属于明天的晚班时间
+            startDate = nightTime2;
+            endDate = morningTime2;
+        }
+
+        return wmspInboundResultMapper.getFurnaceNoAmount(startDate,endDate);
+    }
 }

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -1,7 +1,7 @@
 api.version: api/v1/wms
 spring:
   profiles:
-    include: ${SPRING_PROFILES:dev}
+    include: ${SPRING_PROFILES:prod}
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8

+ 14 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml

@@ -1642,5 +1642,19 @@
 <!--        </where>-->
         <include refid="orderBy"></include>
     </select>
+    <select id="getFurnaceNoAmount" resultType="java.util.Map">
+        SELECT
+            count(RMS.MATERIAL_FURNACE_NUMBER) "count",
+            RMS.MATERIAL_FURNACE_NUMBER "furnaceNumber"
+        FROM WMSP_INBOUND_RESULT WIR
+                 LEFT JOIN RMS_MATERIAL_STEEL RMS
+                           On RMS.MATERIAL_STEEL_ID = WIR.MATERIAL_ID
+        WHERE WIR.PERSONNEL_WORKSHOPID =2
+        <if test="startDate != null">
+            AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR.INBOUND_TIME
+            AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR.INBOUND_TIME
+        </if>
+        GROUP BY RMS.MATERIAL_FURNACE_NUMBER
+    </select>
 
 </mapper>