package com.ibeetl.admin.console.service;
|
|
|
import com.alibaba.fastjson.JSON;
|
import com.ibeetl.admin.console.dao.XzxOrderClockInInfoDao;
|
import com.ibeetl.admin.console.model.BatchInfoResModel;
|
import com.ibeetl.admin.core.entity.XzxOrderClockInInfo;
|
import com.ibeetl.admin.core.service.CoreBaseService;
|
import com.ibeetl.admin.core.util.PlatformException;
|
import org.beetl.sql.core.engine.PageQuery;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
|
/**
|
* XzxOrderClockInInfo Service
|
*/
|
|
@Service
|
@Transactional
|
public class XzxOrderClockInInfoService extends CoreBaseService<XzxOrderClockInInfo> {
|
|
@Autowired private XzxOrderClockInInfoDao xzxOrderClockInInfoDao;
|
@Autowired
|
XzxCityPartnerService cityPartnerService;
|
public PageQuery queryByCondition(PageQuery query){
|
PageQuery ret = xzxOrderClockInInfoDao.queryByConditionByMap(query);
|
//queryListAfter(ret.getList());
|
return ret;
|
}
|
public Map<String, Object> queryByConditionList(String name, String weightError,String startTime, String endTime, String page, String limit) {
|
int p=0;
|
List<String> partnerIds = cityPartnerService.queryPartnerByCurrent();
|
if(null!=page&&!"".equals(page)){
|
p = (Integer.parseInt(page) - 1) * Integer.parseInt(limit);
|
}else{
|
//这个是导出功能
|
limit = "10000";
|
}
|
List<BatchInfoResModel> modelList = new ArrayList<>();
|
if(null!=startTime&&!"".equals(startTime)){
|
startTime = startTime+" 00:00:00";
|
}
|
if(null!=endTime&&!"".equals(endTime)){
|
endTime = endTime+" 23:59:59";
|
}
|
List<Map<String, Object>> maps = xzxOrderClockInInfoDao.queryByConditionList(name,weightError, startTime,endTime, p, Integer.parseInt(limit),partnerIds);
|
//后台计算重量误差
|
for (Map<String, Object> map:maps) {
|
BatchInfoResModel resModel = new BatchInfoResModel();
|
String w = map.get("weight").toString();
|
BigDecimal weight = new BigDecimal(map.get("weight").toString());
|
BigDecimal vehicleweight = new BigDecimal(map.get("vehicleweight").toString());
|
BigDecimal weightErrorDemo = weight.subtract(vehicleweight);
|
map.put("weightError",weightErrorDemo.toString());
|
|
BatchInfoResModel entity = JSON.parseObject(JSON.toJSONString(map), BatchInfoResModel.class);
|
modelList.add(entity);
|
}
|
Map<String, Object> map = new HashMap<>();
|
map.put("data", modelList);
|
map.put("count", xzxOrderClockInInfoDao.queryByConditionListCount(name,weightError, startTime,endTime,partnerIds));
|
map.put("code", 0);
|
return map;
|
}
|
public void batchDelXzxOrderClockInInfo(List<Long> ids){
|
try {
|
xzxOrderClockInInfoDao.batchDelXzxOrderClockInInfoByIds(ids);
|
} catch (Exception e) {
|
throw new PlatformException("批量删除XzxOrderClockInInfo失败", e);
|
}
|
}
|
}
|