|
@@ -42,103 +42,132 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
|
|
|
|
|
|
|
|
|
|
* 通用生成实例数据
|
|
* 通用生成实例数据
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public TmstruckTimeTaskResult generateTimeTaskResult(Map<String, Object> map, Integer timeType){
|
|
+ public TmstruckTimeTaskResult generateTimeTaskResult(Map<String, Object> map) {
|
|
TmstruckTimeTaskResult tmstruckTimeTaskResult = new TmstruckTimeTaskResult();
|
|
TmstruckTimeTaskResult tmstruckTimeTaskResult = new TmstruckTimeTaskResult();
|
|
|
|
|
|
tmstruckTimeTaskResult.setId(tmstruckTimeTaskResultMapper.selectMaxId());
|
|
tmstruckTimeTaskResult.setId(tmstruckTimeTaskResultMapper.selectMaxId());
|
|
String orderNumber = (String) map.get("orderNumber");
|
|
String orderNumber = (String) map.get("orderNumber");
|
|
|
|
+ BigDecimal inwardType = DataChange.dataToBigDecimal(map.get("inwardType"));
|
|
|
|
|
|
map.putAll(tmstruckTimeTaskResultMapper.getResultTotalIdByOrderNum(orderNumber));
|
|
map.putAll(tmstruckTimeTaskResultMapper.getResultTotalIdByOrderNum(orderNumber));
|
|
tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
|
|
tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
|
|
|
|
|
|
tmstruckTimeTaskResult.setResultTime(new Date());
|
|
tmstruckTimeTaskResult.setResultTime(new Date());
|
|
|
|
+
|
|
|
|
+ tmstruckTimeTaskResult.setResultUomId(new BigDecimal(900));
|
|
|
|
|
|
- tmstruckTimeTaskResult.setResultTimeType(new BigDecimal(timeType));
|
|
+ tmstruckTimeTaskResult.setResultTimeType(inwardType);
|
|
|
|
+ String personnelSsoId =(String) map.get("personnelSsoId");
|
|
|
|
+ tmstruckTimeTaskResult.setInsertUsername(personnelSsoId);
|
|
|
|
+ tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResult;
|
|
return tmstruckTimeTaskResult;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
* 司机申请开始
|
|
* 司机申请开始
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int applyStartTime(Map<String, Object> map) {
|
|
public int applyStartTime(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 0);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
* 用车单位确认开始
|
|
* 用车单位确认开始
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int unitSureStartTime(Map<String, Object> map) {
|
|
public int unitSureStartTime(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 1);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
* 司机申请暂停
|
|
* 司机申请暂停
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int applyStartTimeout(Map<String, Object> map) {
|
|
public int applyStartTimeout(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 4);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
* 用车单位确认
|
|
* 用车单位确认
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int unitSureStartTimeout(Map<String, Object> map) {
|
|
public int unitSureStartTimeout(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 5);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
* 司机申请暂停结束
|
|
* 司机申请暂停结束
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int applyEndTimeout(Map<String, Object> map) {
|
|
public int applyEndTimeout(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 6);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
* 用车单位确认暂停结束
|
|
* 用车单位确认暂停结束
|
|
|
|
+ *
|
|
* @param map
|
|
* @param map
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public int unitSureEndTimeout(Map<String, Object> map) {
|
|
public int unitSureEndTimeout(Map<String, Object> map) {
|
|
-
|
|
+ int i=0;
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 7);
|
|
+
|
|
-
|
|
+
|
|
- Map<String, Object> timeMap = tmstruckTimeTaskResultMapper.getLastTimeout(tmstruckTimeTaskResult.getResultTotalId());
|
|
+
|
|
- Object resultTime = timeMap.get("resultTime");
|
|
+ String personnelSsoId =(String) map.get("personnelSsoId");
|
|
- if(resultTime != null){
|
|
+ String orderNumber =(String) map.get("orderNumber");
|
|
- Date lastTimeout = (Date) resultTime;
|
|
+ BigDecimal inwardType =DataChange.dataToBigDecimal(map.get("inwardType"));
|
|
-
|
|
+ if (inwardType.intValue()==5){
|
|
- long differenceTime = new Date().getTime() - lastTimeout.getTime();
|
|
+ generateTimeTaskResult(map);
|
|
- tmstruckTimeTaskResult.setResultValue(new BigDecimal(differenceTime));
|
|
+ }else if (inwardType.intValue()==7){
|
|
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ BigDecimal totalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
|
|
|
|
+
|
|
|
|
+ Map<String, Object> lastTimeout = tmstruckTimeTaskResultMapper.getLastTimeout(totalId);
|
|
|
|
+ Date startTime =(Date) lastTimeout.get("resultTime");
|
|
|
|
+
|
|
|
|
+ Map<String, Object> lastTimeEnd = tmstruckTimeTaskResultMapper.getLastTimeEnd(totalId);
|
|
|
|
+ Date EndTime = (Date) lastTimeEnd.get("resultTime");
|
|
|
|
+ long dueTime=EndTime.getTime()-startTime.getTime();
|
|
|
|
+ tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResult.getTimeTaskResultId());
|
|
|
|
+ tmstruckTimeTaskResult.setResultValue(new BigDecimal((dueTime/(1000*60))));
|
|
|
|
+ tmstruckTimeTaskResult.setUpdateTime(new Date());
|
|
|
|
+ i+=tmstruckTimeTaskResultMapper.updateByPrimaryKeySelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
- return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
+
|
|
|
|
+ return i;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -149,7 +178,7 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
|
|
@Override
|
|
@Override
|
|
public int applyEndTime(Map<String, Object> map) {
|
|
public int applyEndTime(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 2);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
return tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -161,7 +190,7 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
|
|
@Override
|
|
@Override
|
|
public int unitSureEndTime(Map<String, Object> map) {
|
|
public int unitSureEndTime(Map<String, Object> map) {
|
|
|
|
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map, 3);
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = generateTimeTaskResult(map);
|
|
|
|
|
|
Map<String, Object> startTimeMap = tmstruckTimeTaskResultMapper.getStartTime(tmstruckTimeTaskResult.getResultTotalId());
|
|
Map<String, Object> startTimeMap = tmstruckTimeTaskResultMapper.getStartTime(tmstruckTimeTaskResult.getResultTotalId());
|
|
Date endTime = new Date();
|
|
Date endTime = new Date();
|
|
@@ -202,66 +231,98 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public int addTimeTaskResult(Map<String, Object> map) throws Exception {
|
|
public int addTimeTaskResult(Map<String, Object> map) throws Exception {
|
|
|
|
+
|
|
int i=0;
|
|
int i=0;
|
|
- Date resultTime2 = null;
|
|
+ BigDecimal inwardType =DataChange.dataToBigDecimal(map.get("inwardTypes")) ;
|
|
- Date resultTime1;
|
|
+ String orderNumber = (String) map.get("orderNumber");
|
|
- String orderNumber =(String)map.get("orderNumber");
|
|
+ String personnelSsoId = (String) map.get("personnelSsoId");
|
|
BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
|
|
BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
|
|
- TmstruckTimeTaskResult tmstruckTimeTaskResult=new TmstruckTimeTaskResult();
|
|
+ TmstruckTimeTaskResult tmstruckTimeTaskResult = new TmstruckTimeTaskResult();
|
|
BigDecimal orderId = utilsMapper.getOrderIdByOrderNumber(orderNumber);
|
|
BigDecimal orderId = utilsMapper.getOrderIdByOrderNumber(orderNumber);
|
|
- map.put("orderId",orderId);
|
|
+ map.put("orderId", orderId);
|
|
|
|
|
|
int countEndTimeNum = tmstruckTimeTaskResultMapper.CountTimeTaskByOrderId(orderId);
|
|
int countEndTimeNum = tmstruckTimeTaskResultMapper.CountTimeTaskByOrderId(orderId);
|
|
- if (countEndTimeNum>=1){
|
|
+ if (countEndTimeNum >= 1) {
|
|
throw new Exception("请勿重复计时");
|
|
throw new Exception("请勿重复计时");
|
|
}
|
|
}
|
|
-
|
|
+ if (inwardType.intValue()==1){
|
|
- BigDecimal Time = utilsMapper.getTime(orderId);
|
|
|
|
- if (Time==null) {
|
|
|
|
tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResultMapper.selectMaxId());
|
|
tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResultMapper.selectMaxId());
|
|
tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(resultTotalId));
|
|
tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(resultTotalId));
|
|
|
|
|
|
- BigDecimal inwardType = DataChange.dataToBigDecimal(map.get("inwardType"));
|
|
|
|
tmstruckTimeTaskResult.setResultTimeType(inwardType);
|
|
tmstruckTimeTaskResult.setResultTimeType(inwardType);
|
|
tmstruckTimeTaskResult.setResultTime(new Date());
|
|
tmstruckTimeTaskResult.setResultTime(new Date());
|
|
tmstruckTimeTaskResult.setInsertTime(new Date());
|
|
tmstruckTimeTaskResult.setInsertTime(new Date());
|
|
|
|
+ tmstruckTimeTaskResult.setInsertUsername(personnelSsoId);
|
|
|
|
|
|
i += tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
i += tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
- }else {
|
|
+ }else if (inwardType.intValue()==3){
|
|
-
|
|
|
|
-
|
|
|
|
tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(resultTotalId));
|
|
tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(resultTotalId));
|
|
|
|
|
|
tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResultMapper.selectMaxId());
|
|
tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResultMapper.selectMaxId());
|
|
tmstruckTimeTaskResult.setResultTime(new Date());
|
|
tmstruckTimeTaskResult.setResultTime(new Date());
|
|
tmstruckTimeTaskResult.setResultTimeType(new BigDecimal(3));
|
|
tmstruckTimeTaskResult.setResultTimeType(new BigDecimal(3));
|
|
- i += tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
+ tmstruckTimeTaskResult.setInsertUsername(personnelSsoId);
|
|
-
|
|
+ tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
|
|
- }
|
|
+
|
|
-
|
|
+ Map<String, Object> map2 = new HashMap<>();
|
|
- Map<String,Object> timeStatus = utilsMapper.getTimeStatus(map);
|
|
+ map2.put("type", 7);
|
|
-
|
|
+ map2.put("orderId", orderId);
|
|
-
|
|
+ List<Map<String, Object>> List = utilsMapper.TimeTaskPause(map2);
|
|
- resultTime1 =(Date) timeStatus.get("resultTime");
|
|
+ Map<String, Object> map4 = List.get(0);
|
|
- Map<String, Object> timeTask = utilsMapper.FristTimeTask(map);
|
|
+ BigDecimal resultPauseTimeEnd = DataChange.dataToBigDecimal( map4.get("resultPauseTime"));
|
|
-
|
|
|
|
- if (resultTime1!=null&&timeTask!=null) {
|
|
|
|
- BigDecimal timeTaskresultId = DataChange.dataToBigDecimal(timeTask.get("timeResultId"));
|
|
|
|
- map.put("timeTaskresultId",timeTaskresultId);
|
|
|
|
Map<String, Object> timeMaps = utilsMapper.FristTimeTask(map);
|
|
Map<String, Object> timeMaps = utilsMapper.FristTimeTask(map);
|
|
- resultTime2 = (Date) timeMaps.get("resultTime");
|
|
+ Date resultTime2 = (Date) timeMaps.get("resultTime");
|
|
- BigDecimal timeResultId = (BigDecimal) timeMaps.get("timeResultId");
|
|
+ Map<String, Object> timeStatus = utilsMapper.getTimeStatus(map);
|
|
- long dateTime = resultTime2.getTime() - resultTime1.getTime();
|
|
+ Date resultTime1 = (Date) timeStatus.get("resultTime");
|
|
- tmstruckTimeTaskResult.setTimeTaskResultId(timeResultId);
|
|
+ long dateTime1 = resultTime2.getTime() - resultTime1.getTime();
|
|
- tmstruckTimeTaskResult.setResultValue(new BigDecimal(dateTime / 3600000));
|
|
+ BigDecimal dateTime3 = new BigDecimal(dateTime1 / (1000 * 60));
|
|
|
|
+ int Time1 = dateTime3.intValue() - resultPauseTimeEnd.intValue();
|
|
|
|
+ tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResult.getTimeTaskResultId());
|
|
|
|
+ tmstruckTimeTaskResult.setResultValue(new BigDecimal((Time1)));
|
|
tmstruckTimeTaskResult.setResultUomId(new BigDecimal(900));
|
|
tmstruckTimeTaskResult.setResultUomId(new BigDecimal(900));
|
|
- tmstruckTimeTaskResult.setUpdateTime(new Date());
|
|
+ tmstruckTimeTaskResult.setUpdateUsername(personnelSsoId);
|
|
- i+=tmstruckTimeTaskResultMapper.updateByPrimaryKeySelective(tmstruckTimeTaskResult);
|
|
+ i += tmstruckTimeTaskResultMapper.updateByPrimaryKeySelective(tmstruckTimeTaskResult);
|
|
map.put("orderStatus", 2);
|
|
map.put("orderStatus", 2);
|
|
utilsMapper.updateOrderStatusByOrderIdOrNum(map);
|
|
utilsMapper.updateOrderStatusByOrderIdOrNum(map);
|
|
}
|
|
}
|
|
- return i;
|
|
+ return i;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public int JudgeTimeTask(Map<String, Object> mapValue) throws Exception {
|
|
|
|
+ String orderNumber =(String)mapValue.get("orderNumber");
|
|
|
|
+ BigDecimal orderId = utilsMapper.getOrderIdByOrderNumber(orderNumber);
|
|
|
|
+
|
|
|
|
+ BigDecimal inwardType = utilsMapper.getInwardType(orderId);
|
|
|
|
+ if (inwardType!=null){
|
|
|
|
+ throw new Exception("计时已经开始");
|
|
|
|
+ }
|
|
|
|
+ return inwardType.intValue();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public int JudgeTimeTaskPause(Map<String, Object> mapValue) throws Exception {
|
|
|
|
+ String orderNumber =(String)mapValue.get("orderNumber");
|
|
|
|
+ int i=0;
|
|
|
|
+ BigDecimal orderId = utilsMapper.getOrderIdByOrderNumber(orderNumber);
|
|
|
|
+
|
|
|
|
+ BigDecimal inwardStartTime = utilsMapper.getInwardStartTime(orderId);
|
|
|
|
+
|
|
|
|
+ BigDecimal inwardEndTime = utilsMapper.getInwardEndTime(orderId);
|
|
|
|
+
|
|
|
|
+ int Time=inwardEndTime.intValue()-inwardStartTime.intValue();
|
|
|
|
+
|
|
|
|
+ if (Time==0) {
|
|
|
|
+ i=0;
|
|
|
|
+ }else if (Time==-1){
|
|
|
|
+ i=1;
|
|
|
|
+ }else {
|
|
|
|
+ i=3;
|
|
|
|
+ }
|
|
|
|
+ return i;
|
|
|
|
+ }
|
|
}
|
|
}
|