Browse Source

首页接口

master
刘忱 2 years ago
parent
commit
dbbf483000
  1. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java
  2. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java
  3. 44
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java
  5. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayJob/ProductputawayJobDetailServiceImpl.java
  6. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailServiceImpl.java
  7. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/index/IndexController.java

@ -125,6 +125,7 @@ public class IndexController {
dataMap.put("totalLocationCount", locationService.getTotalLocationCount());//总库位数 dataMap.put("totalLocationCount", locationService.getTotalLocationCount());//总库位数
dataMap.put("stagnantBalanceList", balanceService.getStagnantBalanceList());//呆滞库存预警 dataMap.put("stagnantBalanceList", balanceService.getStagnantBalanceList());//呆滞库存预警
dataMap.put("overdueBalanceList", balanceService.getOverdueBalanceList());//超期库存预警 dataMap.put("overdueBalanceList", balanceService.getOverdueBalanceList());//超期库存预警
dataMap.put("warningBalanceList", balanceService.getWarningBalanceList());//高低储预警
dataMap.put("jobCount", getMaterialJobCountMap()); dataMap.put("jobCount", getMaterialJobCountMap());
return success(dataMap); return success(dataMap);
} }
@ -150,6 +151,7 @@ public class IndexController {
dataMap.put("deliverPlanTodayCount", deliverPlanMainService.getDeliverPlanToday());//今日发货计划(未发货) dataMap.put("deliverPlanTodayCount", deliverPlanMainService.getDeliverPlanToday());//今日发货计划(未发货)
dataMap.put("stagnantBalanceList", balanceService.getStagnantBalanceList());//呆滞库存预警 dataMap.put("stagnantBalanceList", balanceService.getStagnantBalanceList());//呆滞库存预警
dataMap.put("overdueBalanceList", balanceService.getOverdueBalanceList());//超期库存预警 dataMap.put("overdueBalanceList", balanceService.getOverdueBalanceList());//超期库存预警
dataMap.put("warningBalanceList", balanceService.getWarningBalanceList());//高低储预警
dataMap.put("jobCount", getProductJobCountMap()); dataMap.put("jobCount", getProductJobCountMap());
return success(dataMap); return success(dataMap);
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceService.java

@ -100,9 +100,16 @@ public interface BalanceService {
* @return 呆滞库存 * @return 呆滞库存
*/ */
List<BalanceRespVO> getStagnantBalanceList(); List<BalanceRespVO> getStagnantBalanceList();
/** /**
* 超期库存预警 * 超期库存预警
* @return 超期库存 * @return 超期库存
*/ */
List<BalanceRespVO> getOverdueBalanceList(); List<BalanceRespVO> getOverdueBalanceList();
/**
* 高低储预警
* @return 高低储预警
*/
List<BalanceRespVO> getWarningBalanceList();
} }

44
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/balance/BalanceServiceImpl.java

@ -1,11 +1,10 @@
package com.win.module.wms.service.balance; package com.win.module.wms.service.balance;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.util.MyBatisUtils;
import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.system.api.dict.DictDataApi; import com.win.module.system.api.dict.DictDataApi;
import com.win.module.system.api.dict.dto.DictDataRespDTO; import com.win.module.system.api.dict.dto.DictDataRespDTO;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
@ -14,6 +13,7 @@ import com.win.module.wms.controller.balance.vo.BalancePageReqVO;
import com.win.module.wms.controller.balance.vo.BalanceRespVO; import com.win.module.wms.controller.balance.vo.BalanceRespVO;
import com.win.module.wms.controller.balance.vo.BalanceUpdateReqVO; import com.win.module.wms.controller.balance.vo.BalanceUpdateReqVO;
import com.win.module.wms.controller.packageMassage.vo.PackageUpdateReqVO; import com.win.module.wms.controller.packageMassage.vo.PackageUpdateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.balance.BalanceConvert; import com.win.module.wms.convert.balance.BalanceConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.balance.BalanceDO;
@ -22,6 +22,7 @@ import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.packageMassage.PackageMapper; import com.win.module.wms.dal.mysql.packageMassage.PackageMapper;
import com.win.module.wms.service.packageMassage.PackageService; import com.win.module.wms.service.packageMassage.PackageService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -30,8 +31,11 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
@ -59,6 +63,8 @@ public class BalanceServiceImpl implements BalanceService {
@Resource @Resource
private BalanceMapper balanceMapper; private BalanceMapper balanceMapper;
@Resource @Resource
private RuleService ruleService;
@Resource
private DictDataApi dictDataApi; private DictDataApi dictDataApi;
@Override @Override
@ -143,7 +149,6 @@ public class BalanceServiceImpl implements BalanceService {
*/ */
@Override @Override
public List<BalanceDO> selectPackaging(String itemCode, String packingNumber, String batch, List<String> inventoryStatus, String locationCode) { public List<BalanceDO> selectPackaging(String itemCode, String packingNumber, String batch, List<String> inventoryStatus, String locationCode) {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("item_code", itemCode); queryWrapper.eq("item_code", itemCode);
queryWrapper.eq("packing_number", packingNumber); queryWrapper.eq("packing_number", packingNumber);
@ -272,7 +277,6 @@ public class BalanceServiceImpl implements BalanceService {
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictTypeAndLabel("stagnant_time", "默认时间(天)"); DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictTypeAndLabel("stagnant_time", "默认时间(天)");
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.apply(" DATEDIFF(NOW(), arrive_date) > {0}", dictDataRespDTO.getValue()); queryWrapper.apply(" DATEDIFF(NOW(), arrive_date) > {0}", dictDataRespDTO.getValue());
queryWrapper.last("LIMIT 10");
List<BalanceDO> balanceDOList = balanceMapper.selectList(queryWrapper); List<BalanceDO> balanceDOList = balanceMapper.selectList(queryWrapper);
return BalanceConvert.INSTANCE.convertList(balanceDOList); return BalanceConvert.INSTANCE.convertList(balanceDOList);
} }
@ -281,8 +285,36 @@ public class BalanceServiceImpl implements BalanceService {
public List<BalanceRespVO> getOverdueBalanceList() { public List<BalanceRespVO> getOverdueBalanceList() {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.apply("expire_date>NOW()"); queryWrapper.apply("expire_date>NOW()");
queryWrapper.last("LIMIT 10");
List<BalanceDO> balanceDOList = balanceMapper.selectList(queryWrapper); List<BalanceDO> balanceDOList = balanceMapper.selectList(queryWrapper);
return BalanceConvert.INSTANCE.convertList(balanceDOList); return BalanceConvert.INSTANCE.convertList(balanceDOList);
} }
@Override
public List<BalanceRespVO> getWarningBalanceList() {
List<BalanceDO> balanceDOList = balanceMapper.selectList(new QueryWrapper<>());
List<BalanceRespVO> balanceRespVOList = new ArrayList<>();
//存储规则,防止同一个规则取多次
Map<String, RuleRespVO> ruleRespVOHashMap = new HashMap<>();
for(BalanceDO balanceDO : balanceDOList) {
RuleRespVO ruleRespVO = ruleRespVOHashMap.get(balanceDO.getItemCode() + "_" + balanceDO.getLocationCode());
if(ruleRespVO == null) {
ruleRespVO = ruleService.replenishment(balanceDO.getItemCode(), balanceDO.getLocationCode());
if (ruleRespVO == null) {
continue;
}
ruleRespVOHashMap.put(balanceDO.getItemCode() + "_" + balanceDO.getLocationCode(), ruleRespVO);
}
JSONObject jsonObject = JSONUtil.parseObj(ruleRespVO.getConfiguration());
//最大库存和最小库存,超过预警
int maxQty = Integer.parseInt(jsonObject.getStr("MaxQty"));
int minQty = Integer.parseInt(jsonObject.getStr("MinQty"));
if(maxQty > 0 && balanceDO.getQty().compareTo(new BigDecimal(maxQty)) > 0) {
balanceRespVOList.add(BalanceConvert.INSTANCE.convert(balanceDO));
}
if(minQty > 0 && balanceDO.getQty().compareTo(new BigDecimal(minQty)) < 0) {
balanceRespVOList.add(BalanceConvert.INSTANCE.convert(balanceDO));
}
}
return balanceRespVOList;
}
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java

@ -195,6 +195,8 @@ public class CountJobMainServiceImpl implements CountJobMainService {
//增加业务类型 //增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRecord"); BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CountRecord");
countRecordMainDO.setBusinessType(businesstypeDO.getCode()); countRecordMainDO.setBusinessType(businesstypeDO.getCode());
countRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType());
countRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
countRecordMainDO.setId(null).setCreator(null).setCreateTime(null).setUpdater(null).setUpdateTime(null); countRecordMainDO.setId(null).setCreator(null).setCreateTime(null).setUpdater(null).setUpdateTime(null);
countRecordMainMapper.insert(countRecordMainDO); countRecordMainMapper.insert(countRecordMainDO);
CountRequestMainDO countRequestMainDO = countRequestMainMapper.selectByNumber(countJobMainDO.getRequestNumber()); CountRequestMainDO countRequestMainDO = countRequestMainMapper.selectByNumber(countJobMainDO.getRequestNumber());

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productputawayJob/ProductputawayJobDetailServiceImpl.java

@ -95,7 +95,6 @@ public class ProductputawayJobDetailServiceImpl implements ProductputawayJobDeta
public List<ProductputawayJobDetailRespVO> getProductputawayJobDetailList() { public List<ProductputawayJobDetailRespVO> getProductputawayJobDetailList() {
QueryWrapper<ProductputawayJobDetailDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<ProductputawayJobDetailDO> queryWrapper = new QueryWrapper<>();
queryWrapper.inSql("number", "SELECT number FROM job_productputaway_main WHERE `status`=1 OR `status`=2"); queryWrapper.inSql("number", "SELECT number FROM job_productputaway_main WHERE `status`=1 OR `status`=2");
queryWrapper.last("LIMIT 10");
List<ProductputawayJobDetailDO> productputawayJobDetailDOList = productputawayJobDetailMapper.selectList(queryWrapper); List<ProductputawayJobDetailDO> productputawayJobDetailDOList = productputawayJobDetailMapper.selectList(queryWrapper);
return ProductputawayJobDetailConvert.INSTANCE.convertList(productputawayJobDetailDOList); return ProductputawayJobDetailConvert.INSTANCE.convertList(productputawayJobDetailDOList);
} }

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRecord/PurchaseclaimRecordDetailServiceImpl.java

@ -93,7 +93,6 @@ public class PurchaseclaimRecordDetailServiceImpl implements PurchaseclaimRecord
QueryWrapper<PurchaseclaimRecordDetailDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<PurchaseclaimRecordDetailDO> queryWrapper = new QueryWrapper<>();
queryWrapper.between("create_time", beginTime, endTime); queryWrapper.between("create_time", beginTime, endTime);
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
queryWrapper.last("LIMIT 10");
List<PurchaseclaimRecordDetailDO> purchasereturnRecordDetailDOList = purchaseclaimRecordDetailMapper.selectList(queryWrapper); List<PurchaseclaimRecordDetailDO> purchasereturnRecordDetailDOList = purchaseclaimRecordDetailMapper.selectList(queryWrapper);
return PurchaseclaimRecordDetailConvert.INSTANCE.convertList(purchasereturnRecordDetailDOList); return PurchaseclaimRecordDetailConvert.INSTANCE.convertList(purchasereturnRecordDetailDOList);
} }

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereturnRecord/PurchasereturnRecordDetailServiceImpl.java

@ -49,7 +49,6 @@ public class PurchasereturnRecordDetailServiceImpl implements PurchasereturnReco
QueryWrapper<PurchasereturnRecordDetailDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<PurchasereturnRecordDetailDO> queryWrapper = new QueryWrapper<>();
queryWrapper.between("create_time", beginTime, endTime); queryWrapper.between("create_time", beginTime, endTime);
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
queryWrapper.last("LIMIT 10");
List<PurchasereturnRecordDetailDO> purchasereturnRecordDetailDOList = purchasereturnRecordDetailMapper.selectList(queryWrapper); List<PurchasereturnRecordDetailDO> purchasereturnRecordDetailDOList = purchasereturnRecordDetailMapper.selectList(queryWrapper);
return PurchasereturnRecordDetailConvert.INSTANCE.convertList(purchasereturnRecordDetailDOList); return PurchasereturnRecordDetailConvert.INSTANCE.convertList(purchasereturnRecordDetailDOList);
} }

Loading…
Cancel
Save