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);
|
}
|
}
|