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 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 condition) { return deliveryOrderInfoMapper.getDeliveryNum(condition); } @Override public BigDecimal getReturnDeliveryNum(Map 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 selectExportList(Map filter, UserInfo user) { UserInfo userInfo = userService.getById(user.getId()); Map 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 getDeliveryOrderByCert(String cert) { LambdaQueryWrapperwrapper = new LambdaQueryWrapper<>(); wrapper.eq(DeliveryOrderInfo::getTransportcert,cert); return deliveryOrderInfoMapper.selectList(wrapper); } @Override public List getProductVosByCert(String cert) { return deliveryOrderInfoMapper.getProductVosByCert(cert); } @Override public IPage selectStockPage(Page page, Map filter, UserInfo user) { //基本查询 Map 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 list = deliveryOrderInfoMapper.selectPages(page, params); return page.setRecords(list); } /** * @Description: 出库查询 * @date 2021/4/15 12:25 */ @Override public Page selectPage(Page page, Map filter, UserInfo user) { UserInfo userInfo = userService.getById(user.getId()); Map 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 list = deliveryOrderInfoMapper.selectPages(page, params); return page.setRecords(list); } }