对比新文件 |
| | |
| | | package com.gk.firework.Service.ServiceImpl; |
| | | |
| | | |
| | | 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.EntryDetailInfo; |
| | | import com.gk.firework.Domain.EntryOrderInfo; |
| | | import com.gk.firework.Domain.Exception.BusinessException; |
| | | import com.gk.firework.Domain.SoldNoStockInfo; |
| | | import com.gk.firework.Domain.UserInfo; |
| | | import com.gk.firework.Domain.Vo.EntryOrderInfoVo; |
| | | import com.gk.firework.Domain.Vo.EntryUtils; |
| | | import com.gk.firework.Domain.Vo.FireworkDeal; |
| | | import com.gk.firework.Domain.Vo.ProductVo; |
| | | import com.gk.firework.Mapper.EntryDetailInfoMapper; |
| | | import com.gk.firework.Domain.Utils.StringUtils; |
| | | import com.gk.firework.Mapper.EntryOrderInfoMapper; |
| | | import com.gk.firework.Service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author : jingjy |
| | | * @date : 2021/3/24 11:10 |
| | | */ |
| | | @Service("EntryService") |
| | | public class EntryServiceImpl extends ServiceImpl<EntryOrderInfoMapper,EntryOrderInfo> implements EntryService{ |
| | | @Autowired |
| | | private ProductService productService; |
| | | @Autowired |
| | | private EntryService entryService; |
| | | @Autowired |
| | | private EntryDetailService entryDetailService; |
| | | @Autowired |
| | | private SoldNoStockService soldNoStockService; |
| | | @Autowired |
| | | private SaleOrderService orderService; |
| | | |
| | | @Override |
| | | public void entryPatch(List<SoldNoStockInfo> soldNoStockInfos, UserInfo user, String auth) { |
| | | EntryOrderInfo orderInfo = generateEntryOrderInfo(EntryUtils.RK_ENTRY,user,new Date(),"",auth); |
| | | List<EntryDetailInfo>detailInfos = new ArrayList<>(); |
| | | int i = 0; |
| | | for (SoldNoStockInfo soldNoStockInfo : soldNoStockInfos){ |
| | | String dire = soldNoStockInfo.getDirectioncode(); |
| | | ProductVo productVo = productService.selectVoByDirection(dire); |
| | | EntryDetailInfo detailInfo = new EntryDetailInfo(orderInfo.getCode(),dire,productVo.getItemCode(), |
| | | productVo.getName(),productVo.getManufacturer(),new Date(),user.getCompanynumber()); |
| | | //已销未入库信息只会存19位流向码信息 |
| | | detailInfo.setNum(1); |
| | | detailInfos.add(detailInfo); |
| | | i++; |
| | | |
| | | //更新soldNoStock信息 |
| | | soldNoStockInfo.setHandler(user.getUsername()); |
| | | soldNoStockInfo.setHandledat(new Date()); |
| | | soldNoStockInfo.setEntryorder(orderInfo.getCode()); |
| | | soldNoStockInfo.setFlag(SoldNoStockInfo.PROCESSED); |
| | | } |
| | | //插入入库单及入库明细单,更新已销未入库单,不更新库存 |
| | | orderInfo.setNum(i); |
| | | entryService.save(orderInfo); |
| | | entryDetailService.saveBatch(detailInfos); |
| | | soldNoStockService.updateBatchById(soldNoStockInfos); |
| | | |
| | | } |
| | | |
| | | @Autowired |
| | | private EntryOrderInfoMapper entryOrderInfoMapper; |
| | | @Autowired |
| | | private UserService userService; |
| | | @Autowired |
| | | private EntryDetailInfoMapper entryDetailInfoMapper; |
| | | |
| | | /** |
| | | * @Description: 入库查询 |
| | | * @date 2021/4/15 10:28 |
| | | */ |
| | | @Override |
| | | public IPage selectPage(Page<EntryOrderInfoVo> 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("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")); |
| | | params.put("type", filter.get("type")); |
| | | params.put("code", filter.get("code")); |
| | | } |
| | | |
| | | List<EntryOrderInfoVo> list = entryOrderInfoMapper.selectPages(page,params); |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | /** |
| | | * @Description: 根据{入库单code}查询入库明细 |
| | | * @date 2021/4/15 11:12 |
| | | */ |
| | | @Override |
| | | public Page selectDetailPage(Page<Map> page, Map filter) { |
| | | String code = (String) filter.get("code"); |
| | | if (StringUtils.isBlank(code)) { |
| | | throw new BusinessException("入库单号不能为空"); |
| | | } |
| | | |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("code", code); |
| | | params.put("starttime", filter.get("starttime")); |
| | | params.put("endtime", filter.get("endtime")); |
| | | List<Map> list = entryDetailInfoMapper.selectDetailPage(page, params); |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal getEntryNumByCondition(Map<String, Object> condition) { |
| | | return entryDetailInfoMapper.getEntryNumByCondition(condition); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal getReturnNumByCondition(Map<String, Object> condition) { |
| | | return entryDetailInfoMapper.getReturnNumByCondition(condition); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isEntryExist(String datetime, UserInfo userInfo) { |
| | | EntryOrderInfo entryOrderInfo = entryOrderInfoMapper.selectEntryOrderByTimeAndUser(datetime,userInfo.getUsername()); |
| | | return entryOrderInfo != null; |
| | | } |
| | | |
| | | /** |
| | | * @Description: 入库导出 |
| | | * @date 2021/4/19 17:13 |
| | | */ |
| | | @Override |
| | | public List<EntryOrderInfo> selectExportInBound(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("transportcert", filter.get("transportcert")); |
| | | params.put("starttime", filter.get("starttime")); |
| | | params.put("endtime", filter.get("endtime")); |
| | | params.put("enterprisename", filter.get("enterprisename")); |
| | | params.put("type", filter.get("type")); |
| | | } |
| | | |
| | | return entryOrderInfoMapper.selectPages(params); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal selectEnterpriseEntryNumber(String enterprisenumber, Object starttime, Object endtime) { |
| | | return entryOrderInfoMapper.selectEnterpriseEntryNumber(enterprisenumber,starttime,endtime); |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal selectCityEntryNumber(String name, Object starttime, Object endtime) { |
| | | return entryOrderInfoMapper.selectCityEntryNumber(name,starttime,endtime); |
| | | } |
| | | |
| | | @Override |
| | | public Boolean isTransportCertEntry(String code) { |
| | | if (StringUtils.isBlank(code)){ |
| | | return false; |
| | | } |
| | | List<EntryOrderInfo> entryOrderInfo = entryOrderInfoMapper.selectByCert(code); |
| | | return entryOrderInfo != null && entryOrderInfo.size() > 0; |
| | | } |
| | | |
| | | @Override |
| | | public IPage selectStockPage(Page<EntryOrderInfoVo> 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("transportcert", filter.get("transportcert")); |
| | | params.put("starttime", filter.get("starttime")); |
| | | params.put("endtime", filter.get("endtime")); |
| | | params.put("enterprisename", filter.get("enterprisename")); |
| | | params.put("type", filter.get("type")); |
| | | } |
| | | List<EntryOrderInfoVo> list = entryOrderInfoMapper.selectPages(page,params); |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | @Override |
| | | public EntryOrderInfo generateEntryOrderInfo(String type, UserInfo userInfo, Date date, String transport, String auth){ |
| | | EntryOrderInfo orderInfo = new EntryOrderInfo(); |
| | | orderInfo.setCode(orderService.generateOrderCode(FireworkDeal.MODULE_ENTRY,type,new Date(),userInfo.getId())); |
| | | orderInfo.setType(Byte.parseByte(type)); |
| | | orderInfo.setCreateddate(new Date()); |
| | | orderInfo.setCreatedby(userInfo.getUsername()); |
| | | orderInfo.setEntrydate(date); |
| | | orderInfo.setTransportcert(transport); |
| | | orderInfo.setUnit(userInfo.getCompany()); |
| | | orderInfo.setCompanynumber(userInfo.getCompanynumber()); |
| | | return orderInfo; |
| | | } |
| | | |
| | | } |