From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Service/ServiceImpl/EntryServiceImpl.java | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 251 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Service/ServiceImpl/EntryServiceImpl.java b/src/main/java/com/gk/firework/Service/ServiceImpl/EntryServiceImpl.java
new file mode 100644
index 0000000..396d408
--- /dev/null
+++ b/src/main/java/com/gk/firework/Service/ServiceImpl/EntryServiceImpl.java
@@ -0,0 +1,251 @@
+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;
+ }
+
+}
--
Gitblit v1.9.2