| src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/WrkMastService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -37,6 +37,7 @@ private static final boolean auth = true; private static final String sign_arm_order = "|s|LABEL_"; private static final String sign_arm_sku = "|sku|LABEL_"; private static final long MILLIS_PER_MINUTE = 60L * 1000L; public static final ArrayList<String> APP_KEY_LIST = new ArrayList<String>() {{ add("ea1f0459efc02a79f046f982767939ae"); }}; @@ -981,10 +982,7 @@ //该订单累计入出库件数 Integer ioType = wrkMast.getIoType(); if (ioType != null && ioType < 100) { Date endTime = new Date(); Date startTime = resolveBusinessDayStart(endTime); Long inboundCount = wrkMastLogService.countInboundHistoryBySourceStaNo(startTime, endTime, resolveInboundStationNo(wrkMast)); supp = String.valueOf(inboundCount); supp = String.valueOf(resolveInboundSupp(wrkMast)); }else { List<WrkMast> orderNo = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", wrkMast.getUserNo())); List<WrkMastLog> userNo = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", wrkMast.getUserNo()).eq("wrk_sts",15L)); @@ -1005,35 +1003,46 @@ return R.ok().add(map); } private Long resolveCostTime(WrkMast wrkMast) { Long resolveCostTime(WrkMast wrkMast) { return resolveCostTime(wrkMast, new Date()); } Long resolveCostTime(WrkMast wrkMast, Date now) { if (wrkMast == null || wrkMast.getIoType() == null) { return 0L; } Date endTime = new Date(); Date startTime = resolveBusinessDayStart(endTime); Integer wrkSts = wrkMast.getIoType() < 100 ? 5 : 15; return wrkMastLogService.sumCostTimeByWrkSts(startTime, endTime, wrkSts); if (wrkMast.getIoType() < 100) { if (Cools.isEmpty(wrkMast.getTrainNo())) { return 0L; } return minutesBetween(wrkMastService.firstInboundCreateTimeByTrainNo(wrkMast.getTrainNo()), resolveTaskCreateTime(wrkMast)); } return minutesBetween(resolveTaskCreateTime(wrkMast), now); } private Integer resolveInboundStationNo(WrkMast wrkMast) { int resolveInboundSupp(WrkMast wrkMast) { if (wrkMast == null || wrkMast.getIoType() == null || wrkMast.getIoType() >= 100 || Cools.isEmpty(wrkMast.getTrainNo())) { return 0; } return wrkMastService.finishedInboundPalletCountByTrainNo(wrkMast.getTrainNo()); } private Date resolveTaskCreateTime(WrkMast wrkMast) { if (wrkMast == null) { return null; } return wrkMast.getSourceStaNo() == null ? wrkMast.getStaNo() : wrkMast.getSourceStaNo(); return wrkMast.getAppeTime() == null ? wrkMast.getIoTime() : wrkMast.getAppeTime(); } private Date resolveBusinessDayStart(Date now) { Calendar calendar = Calendar.getInstance(); calendar.setTime(now); calendar.set(Calendar.HOUR_OF_DAY, 8); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); if (now.before(calendar.getTime())) { calendar.add(Calendar.DATE, -1); private Long minutesBetween(Date startTime, Date endTime) { if (startTime == null || endTime == null) { return 0L; } return calendar.getTime(); long diff = endTime.getTime() - startTime.getTime(); if (diff <= 0) { return 0L; } return diff / MILLIS_PER_MINUTE; } } src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
@@ -36,6 +36,12 @@ @Select("SELECT plt_type FROM asr_wrk_mast_log WHERE io_type = 101 AND plt_type IS NOT NULL AND plt_type > 0 AND user_no = #{userNo} AND ((#{batchSeq} IS NULL AND batch_seq IS NULL) OR batch_seq = #{batchSeq})") List<Integer> listOutboundPltTypesByUserNo(@Param("userNo") String userNo, @Param("batchSeq") String batchSeq); @Select("SELECT MIN(ISNULL(appe_time, io_time)) FROM asr_wrk_mast_log WHERE train_no = #{trainNo} AND io_type < 100") Date selectFirstInboundCreateTimeByTrainNo(@Param("trainNo") String trainNo); @Select("SELECT wrk_no FROM asr_wrk_mast_log WHERE train_no = #{trainNo} AND io_type < 100 AND wrk_sts = 5") List<Integer> listFinishedInboundWrkNosByTrainNo(@Param("trainNo") String trainNo); @Select("SELECT ISNULL(SUM(CAST(ISNULL(cost_time, 0) AS BIGINT)), 0) " + "FROM asr_wrk_mast_log " + "WHERE wrk_sts = #{wrkSts} " + src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Update; import org.springframework.stereotype.Repository; import java.util.Date; import java.util.List; @Mapper @@ -39,4 +40,10 @@ @Select("SELECT plt_type FROM asr_wrk_mast WHERE io_type = 101 AND plt_type IS NOT NULL AND plt_type > 0 AND user_no = #{userNo} AND ((#{batchSeq} IS NULL AND batch_seq IS NULL) OR batch_seq = #{batchSeq})") List<Integer> listOutboundPltTypesByUserNo(@Param("userNo") String userNo, @Param("batchSeq") String batchSeq); @Select("SELECT MIN(ISNULL(appe_time, io_time)) FROM asr_wrk_mast WHERE train_no = #{trainNo} AND io_type < 100") Date selectFirstInboundCreateTimeByTrainNo(@Param("trainNo") String trainNo); @Select("SELECT wrk_no FROM asr_wrk_mast WHERE train_no = #{trainNo} AND io_type < 100 AND wrk_sts = 5") List<Integer> listFinishedInboundWrkNosByTrainNo(@Param("trainNo") String trainNo); } src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -4,6 +4,7 @@ import com.zy.asrs.entity.WrkMast; import com.zy.asrs.entity.result.FindLocNoAttributeVo; import java.util.Date; import java.util.List; public interface WrkMastService extends IService<WrkMast> { @@ -38,4 +39,8 @@ */ int outboundSeqMaxContiguousPlt(String userNo, String batchSeq); Date firstInboundCreateTimeByTrainNo(String trainNo); int finishedInboundPalletCountByTrainNo(String trainNo); } src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1628,8 +1628,8 @@ @Override @Transactional(rollbackFor = Exception.class) public R outOrderBatch(Map<String, List<OutTaskParam>> linesByBatchSeq) { int i = 0; for (Map.Entry<String, List<OutTaskParam>> entry : linesByBatchSeq.entrySet()) { int i = 0; for (OutTaskParam outTaskParam : entry.getValue()) { if(outTaskParam.getSeq()!=0){ i= outTaskParam.getSeq(); src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -98,6 +99,33 @@ return h; } @Override public Date firstInboundCreateTimeByTrainNo(String trainNo) { if (Cools.isEmpty(trainNo)) { return null; } Date fromMast = baseMapper.selectFirstInboundCreateTimeByTrainNo(trainNo); Date fromLog = wrkMastLogMapper.selectFirstInboundCreateTimeByTrainNo(trainNo); if (fromMast == null) { return fromLog; } if (fromLog == null) { return fromMast; } return fromMast.before(fromLog) ? fromMast : fromLog; } @Override public int finishedInboundPalletCountByTrainNo(String trainNo) { if (Cools.isEmpty(trainNo)) { return 0; } Set<Integer> wrkNos = new HashSet<>(); addPositiveWrkNos(baseMapper.listFinishedInboundWrkNosByTrainNo(trainNo), wrkNos); addPositiveWrkNos(wrkMastLogMapper.listFinishedInboundWrkNosByTrainNo(trainNo), wrkNos); return wrkNos.size(); } private static void addPositivePlt(List<Integer> list, Set<Integer> target) { if (list == null) { return; @@ -108,4 +136,15 @@ } } } private static void addPositiveWrkNos(List<Integer> list, Set<Integer> target) { if (list == null) { return; } for (Integer wrkNo : list) { if (wrkNo != null && wrkNo > 0) { target.add(wrkNo); } } } }