郑永安
2023-06-19 2fcd97552d16718cc7997629fd637a73a5a4483f
src/main/java/com/gk/firework/Service/ServiceImpl/DeliveryOrderServiceImpl.java
对比新文件
@@ -0,0 +1,177 @@
package com.gk.firework.Service.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gk.firework.Domain.DeliveryOrderInfo;
import com.gk.firework.Domain.UserInfo;
import com.gk.firework.Domain.Utils.StringUtils;
import com.gk.firework.Domain.Vo.DeliveryOrderInfoVo;
import com.gk.firework.Domain.Vo.FireworkDeal;
import com.gk.firework.Domain.Vo.ProductVo;
import com.gk.firework.Mapper.DeliveryOrderInfoMapper;
import com.gk.firework.Service.DeliveryOrderService;
import com.gk.firework.Service.SaleOrderService;
import com.gk.firework.Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
/**
 * @author : jingjy
 * @date : 2021/4/1 10:22
 */
@Service("DeliveryOrderService")
public class DeliveryOrderServiceImpl extends ServiceImpl<DeliveryOrderInfoMapper, DeliveryOrderInfo> implements DeliveryOrderService {
    @Autowired
    private DeliveryOrderInfoMapper deliveryOrderInfoMapper;
    @Autowired
    private UserService userService;
    @Autowired
    private SaleOrderService orderService;
    @Override
    public DeliveryOrderInfo generateDeliveryOrder(String type, Date datetime, UserInfo userInfo, String cert, String auth) {
        DeliveryOrderInfo deliveryOrderInfo = new DeliveryOrderInfo();
        deliveryOrderInfo.setOrdercode(orderService.generateOrderCode(FireworkDeal.MODULE_DELIVERY,type,new Date(),userInfo.getId()));
        deliveryOrderInfo.setCreateat(new Date());
        deliveryOrderInfo.setCreateby(userInfo.getId().toString());
        deliveryOrderInfo.setOperatat(datetime);
        deliveryOrderInfo.setOperator(userInfo.getUsername());
        deliveryOrderInfo.setShop(userInfo.getCompany());
        deliveryOrderInfo.setType(Byte.parseByte(type));
        deliveryOrderInfo.setCompanynumber(userInfo.getCompanynumber());
        if (StringUtils.isNotBlank(cert)){
            deliveryOrderInfo.setTransportcert(cert);
        }
        return deliveryOrderInfo;
    }
    @Override
    public BigDecimal getDeliveryNum(Map<String, Object> condition) {
        return deliveryOrderInfoMapper.getDeliveryNum(condition);
    }
    @Override
    public BigDecimal getReturnDeliveryNum(Map<String, Object> condition) {
        return deliveryOrderInfoMapper.getReturnDeliveryNum(condition);
    }
    @Override
    public boolean isOrderExist(String datetime, UserInfo userInfo) {
        DeliveryOrderInfo deliveryOrderInfo = deliveryOrderInfoMapper.selectDeliveryOrderByTimeAndUser(datetime,userInfo.getUsername());
        return deliveryOrderInfo != null;
    }
    /**
    * @Description: 出库导出
    * @date 2021/4/19 17:27
    */
    @Override
    public List<DeliveryOrderInfo> selectExportList(Map filter, UserInfo user) {
        UserInfo userInfo = userService.getById(user.getId());
        Map<String, Object> params = new HashMap<>();
        //可视权限
        {
            params.put("enterprisenumber", userInfo.getCompanynumber());
            params.put("province", userInfo.getProvince());
            params.put("city", userInfo.getCity());
            params.put("district", userInfo.getArea());
            params.put("street", userInfo.getTown());
            params.put("committee", userInfo.getCommunity());
        }
        //基本查询
        {
            params.put("filterProvince", filter.get("province"));
            params.put("filterCity", filter.get("city"));
            params.put("filterDistrict", filter.get("district"));
            params.put("filterStreet", filter.get("street"));
            params.put("filterCommittee", filter.get("committee"));
            params.put("filterType", filter.get("type"));
        }
        return deliveryOrderInfoMapper.selectPages(params);
    }
    @Override
    public List<DeliveryOrderInfo> getDeliveryOrderByCert(String cert) {
        LambdaQueryWrapper<DeliveryOrderInfo>wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(DeliveryOrderInfo::getTransportcert,cert);
        return deliveryOrderInfoMapper.selectList(wrapper);
    }
    @Override
    public List<ProductVo> getProductVosByCert(String cert) {
        return deliveryOrderInfoMapper.getProductVosByCert(cert);
    }
    @Override
    public IPage selectStockPage(Page<DeliveryOrderInfoVo> page, Map<String, Object> filter, UserInfo user) {
        //基本查询
        Map<String, Object> params = new HashMap<>();
        {
            params.put("filterProvince", filter.get("province"));
            params.put("filterCity", filter.get("city"));
            params.put("filterDistrict", filter.get("district"));
            params.put("filterStreet", filter.get("street"));
            params.put("filterCommittee", filter.get("committee"));
            params.put("type", filter.get("type"));
            params.put("code", filter.get("code"));
            params.put("transportcert", filter.get("transportcert"));
            params.put("starttime", filter.get("starttime"));
            params.put("endtime", filter.get("endtime"));
            params.put("enterprisename", filter.get("enterprisename"));
            params.put("safetysupervision", filter.get("safetysupervision"));
        }
        List<DeliveryOrderInfoVo> list =  deliveryOrderInfoMapper.selectPages(page, params);
        return page.setRecords(list);
    }
    /**
    * @Description: 出库查询
    * @date 2021/4/15 12:25
    */
    @Override
    public Page selectPage(Page<DeliveryOrderInfoVo> page, Map filter, UserInfo user) {
        UserInfo userInfo = userService.getById(user.getId());
        Map<String, Object> params = new HashMap<>();
        //可视权限
        {
            params.put("enterprisenumber", userInfo.getCompanynumber());
            params.put("province", userInfo.getProvince());
            params.put("city", userInfo.getCity());
            params.put("district", userInfo.getArea());
            params.put("street", userInfo.getTown());
            params.put("committee", userInfo.getCommunity());
        }
        //基本查询
        {
            params.put("filterProvince", filter.get("province"));
            params.put("filterCity", filter.get("city"));
            params.put("filterDistrict", filter.get("district"));
            params.put("filterStreet", filter.get("street"));
            params.put("filterCommittee", filter.get("committee"));
            params.put("type", filter.get("type"));
            params.put("code", filter.get("code"));
            params.put("transportcert", filter.get("transportcert"));
            params.put("starttime", filter.get("starttime"));
            params.put("endtime", filter.get("endtime"));
            params.put("enterprisename", filter.get("enterprisename"));
            params.put("safetysupervision", filter.get("safetysupervision"));
        }
        List<DeliveryOrderInfoVo> list =  deliveryOrderInfoMapper.selectPages(page, params);
        return page.setRecords(list);
    }
}