Helius
2021-06-16 5728be2af515b2200e782aa201ca5d4d67d9ea47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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);
        }
    }
}