From 4325565ac6a3028f1071602e067b41e5932faa79 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期二, 02 一月 2024 16:05:52 +0800 Subject: [PATCH] 1、增加登录系统日志 2、修改上传文件,名称判断错误问题 3、修改单据新增时,仓库判断问题 --- consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java | 154 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 109 insertions(+), 45 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java index 7ff0ae1..a28a846 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java @@ -1,15 +1,38 @@ package com.consum.base.controller; -import cn.afterturn.easypoi.excel.ExcelExportUtil; -import cn.afterturn.easypoi.excel.entity.TemplateExportParams; -import cn.hutool.core.util.ReflectUtil; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; + +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang3.ObjectUtils; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + import com.consum.base.BaseController; +import com.consum.base.core.WhBusinessEnum; +import com.consum.base.core.type.StatesType; +import com.consum.base.core.type.TransferStatesType; import com.consum.base.core.utils.CommonUtil; import com.consum.base.core.utils.IdUtil; import com.consum.base.pojo.GoodsUseRecordVO; import com.consum.base.pojo.LWhFormTransferGoodsInfoParam; import com.consum.base.pojo.RecordUserInfoVO; import com.consum.base.pojo.UseRecordSkuVO; +import com.consum.base.pojo.dto.GoodsInfoDTO; import com.consum.base.pojo.dto.UseRecordDTO; import com.consum.base.pojo.excel.TransferExcelTemplate; import com.consum.base.pojo.query.TransferQry; @@ -20,31 +43,33 @@ import com.consum.base.pojo.response.GoodsTemplateCountVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.pojo.response.TransferInfoVO; -import com.consum.base.service.*; -import com.consum.base.service.impl.LWhFormTransferCoreService; -import com.consum.model.po.*; +import com.consum.base.service.BaseWarehouseService; +import com.consum.base.service.LGoodsUserRecordCoreService; +import com.consum.base.service.LWhFormTransferService; +import com.consum.base.service.LWhGoodsService; +import com.consum.base.service.LWhProcureModelService; +import com.consum.base.service.LWhProcureModelUserRecordService; +import com.consum.base.service.LWhProcureModelUserService; +import com.consum.base.service.core.LWhFormTransferCoreService; +import com.consum.model.po.BaseWarehouse; +import com.consum.model.po.FinSysTenantUser; +import com.consum.model.po.LWhFormTransfer; +import com.consum.model.po.LWhProcureModel; +import com.consum.model.po.LWhProcureModelUser; +import com.consum.model.po.LWhProcureModelUserRecord; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; import com.walker.infrastructure.utils.DateUtils; import com.walker.web.ResponseValue; + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import cn.hutool.core.util.ReflectUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.apache.commons.compress.utils.Lists; -import org.apache.poi.ss.usermodel.Workbook; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletResponse; -import java.lang.reflect.Field; -import java.util.*; -import java.util.stream.Collectors; /** * @Description 璋冩嫧绠$悊 @@ -67,9 +92,11 @@ @Autowired private LWhProcureModelUserRecordService lWhProcureModelUserRecordService; @Autowired - private BaseWarehouseService baseWarehouseService; - @Autowired private LGoodsUserRecordCoreService lGoodsUserRecordCoreService; + @Autowired + private LWhGoodsService lWhGoodsService; + @Autowired + private BaseWarehouseService baseWarehouseService; /** * @Description 鏂板 @@ -98,23 +125,31 @@ if (transferBusinessType == 1) { // 鍏堝嚭搴擄紝鍐嶅叆搴� // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱 + List<LWhProcureModel> modelByForm = lWhProcureModelService.getModelByForm(WhBusinessEnum.BUMENFENFA, id); + Set<Long> baseModelIds = + modelByForm.stream().map(LWhProcureModel::getBaseGoodsModelsId).collect(Collectors.toSet()); + FinSysTenantUser sysTenantUser = this.getSysInfo(); String agencyId = sysTenantUser.getTenantId(); List<BaseWarehouse> baseWarehouseList = - baseWarehouseService.getByAgencyId(Long.valueOf(agencyId), (short)1, (short)1); - if (CollectionUtils.isEmpty(baseWarehouseList)) { - return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒"); + baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), StatesType.NORMAL.getValue()); + Set<Long> wareHouseIds = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toSet()); + // 閫氳繃璋冩嫧鍗曚腑鐨勫瀷鍙穒d鏌ヨ鍑鸿鍨嬪彿鐗╁搧鎵�鍦ㄧ殑浠撳簱浣嶇疆 + List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds, wareHouseIds,null); + GoodsInfoDTO goodsInfoDTO = goodsInfoDTOS.stream().findFirst().orElse(null); + if (ObjectUtils.isEmpty(goodsInfoDTO)) { + return ResponseValue.error("璇ュ瀷鍙锋病鏈夊簱瀛樺彲浣跨敤"); } - BaseWarehouse baseWarehouse = baseWarehouseList.get(0); - Long wareHouseId = baseWarehouse.getId(); - String warehouseName = baseWarehouse.getWarehouseName(); + + Long wareHouseId = goodsInfoDTO.getWarehouseId(); + String warehouseName = goodsInfoDTO.getWarehouseName(); LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id); lWhFormTransfer.setOutWarehouseId(wareHouseId); lWhFormTransfer.setOutWarehouseName(warehouseName); lWhFormTransferService.update(lWhFormTransfer); - lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser()); + lWhFormTransferCoreService.doTransferOutPutNew(id, getCurrentUser(), WhBusinessEnum.BUMENFENFA); - lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser()); + lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser(), param.getOperatorName()); } return ResponseValue.success(); @@ -202,6 +237,10 @@ if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } + String tenantId = sysInfo.getTenantId(); + if (param.getInAgencyId() == null) { + param.setInAgencyId(Long.valueOf(tenantId)); + } GenericPager<Map<String, Object>> mapGenericPager = lWhFormTransferService.queryFormTransferDetailList(param); return ResponseValue.success(mapGenericPager); @@ -220,6 +259,10 @@ if (id == null) { return ResponseValue.error("鍙傛暟閿欒"); } + LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(id); + if (lWhFormTransfer.getStates() != TransferStatesType.OUT_PENDING.getValue()) { + return ResponseValue.error("鐘舵�侀敊璇紝涓嶈兘鎾ら攢"); + } int num = this.lWhFormTransferService.updateStatus(id); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("淇敼澶辫触锛�"); @@ -233,8 +276,8 @@ @ApiOperation(value = "璋冩嫧鍏ュ簱", notes = "璋冩嫧鍏ュ簱") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "璋冩嫧鍗昳d", required = true, dataType = "Long"),}) @PostMapping("/income") - public ResponseValue income(Long id) { - lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser()); + public ResponseValue income(Long id) throws Exception { + lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser(), null); return ResponseValue.success(); } @@ -246,24 +289,32 @@ @ApiOperation(value = "璋冩嫧鍑哄簱", notes = "璋冩嫧鍑哄簱") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "璋冩嫧鍗昳d", required = true, dataType = "Long"),}) @PostMapping("/output") - public ResponseValue output(Long id) { - // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱 + public ResponseValue output(Long id) throws Exception { + + List<LWhProcureModel> modelByForm = lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, id); + Set<Long> baseModelIds = + modelByForm.stream().map(LWhProcureModel::getBaseGoodsModelsId).collect(Collectors.toSet()); + FinSysTenantUser sysTenantUser = this.getSysInfo(); String agencyId = sysTenantUser.getTenantId(); List<BaseWarehouse> baseWarehouseList = - baseWarehouseService.getByAgencyId(Long.valueOf(agencyId), (short)1, (short)1); - if (CollectionUtils.isEmpty(baseWarehouseList)) { - return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒"); + baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), StatesType.NORMAL.getValue()); + Set<Long> wareHouseIds = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toSet()); + + // 閫氳繃璋冩嫧鍗曚腑鐨勫瀷鍙穒d鏌ヨ鍑鸿鍨嬪彿鐗╁搧鎵�鍦ㄧ殑浠撳簱浣嶇疆 + List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds, wareHouseIds,1); + GoodsInfoDTO goodsInfoDTO = goodsInfoDTOS.stream().findFirst().orElse(null); + if (ObjectUtils.isEmpty(goodsInfoDTO)) { + return ResponseValue.error("璇ュ瀷鍙锋病鏈夊簱瀛樺彲浣跨敤"); } - BaseWarehouse baseWarehouse = baseWarehouseList.get(0); - Long wareHouseId = baseWarehouse.getId(); - String warehouseName = baseWarehouse.getWarehouseName(); + Long wareHouseId = goodsInfoDTO.getWarehouseId(); + String warehouseName = goodsInfoDTO.getWarehouseName(); LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id); lWhFormTransfer.setOutWarehouseId(wareHouseId); lWhFormTransfer.setOutWarehouseName(warehouseName); lWhFormTransferService.update(lWhFormTransfer); -// lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser()); - lWhFormTransferCoreService.doTransferOutPutNew(id, getCurrentUser()); + // lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser()); + lWhFormTransferCoreService.doTransferOutPutNew(id, getCurrentUser(), WhBusinessEnum.DIAOBO); return ResponseValue.success(); } @@ -271,7 +322,7 @@ @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "璋冩嫧鍗昳d", required = true, dataType = "Long"), @ApiImplicitParam(name = "type", value = "瀵煎嚭绫诲瀷 1 鍏ュ簱 2 鍑哄簱", required = true, dataType = "Integer"),}) @GetMapping("/list/export") - public void export(Long id, Integer type, HttpServletResponse response) throws Exception { + public ResponseValue<String> export(Long id, Integer type, HttpServletResponse response) throws Exception { TemplateExportParams params; String fileName; @@ -305,7 +356,8 @@ map.put("totalAmount", totalAmount); Workbook workbook = ExcelExportUtil.exportExcel(params, TransferExcelTemplate.class, export, map); - downLoadExcel(fileName, response, workbook); + String filePath = downLoadExcel(fileName, workbook); + return ResponseValue.success("瀵煎嚭鎴愬姛", filePath); } @@ -324,9 +376,13 @@ CommonUtil.copyProperties(param, param2); param = param2; - S_user_core currentUser = this.getCurrentUser(); - if (currentUser == null) { + FinSysTenantUser sysInfo = this.getSysInfo(); + if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); + } + String tenantId = sysInfo.getTenantId(); + if (param.getOutAgencyId() == null) { + param.setOutAgencyId(Long.valueOf(tenantId)); } GenericPager<Map<String, Object>> transferInfoDetailsVoGenericPager = this.lWhFormTransferService.queryTransferInfo(param); @@ -381,6 +437,12 @@ lWhProcureModelUser.setNowUserPhone(item.getPhone()); lWhProcureModelUser.setNowUserName(item.getUserName()); lWhProcureModelUser.setGoodsNum(item.getCount()); + + // 璁剧疆涓�涓嬪湪鐢ㄦ暟閲� + Long oldProcureModelId = item.getOldProcureModelId(); + LWhProcureModelUser oldInfo = + lWhProcureModelUserService.get(new LWhProcureModelUser(oldProcureModelId)); + lWhProcureModelUser.setUseCount(oldInfo.getUseCount()); procureModelUserList.add(lWhProcureModelUser); } @@ -436,6 +498,7 @@ List<RecordUserInfoVO> recordUserInfoList = recordList.stream().map(userInfo -> { RecordUserInfoVO recordUserInfoVO = new RecordUserInfoVO(); + recordUserInfoVO.setOldProcureModelId(userInfo.getOldProcureModelId()); recordUserInfoVO.setUseName(userInfo.getUseName()); recordUserInfoVO.setPhone(userInfo.getPhone()); recordUserInfoVO.setNum(userInfo.getNum()); @@ -448,6 +511,7 @@ goodsUseRecordVO.setRecordSkuDtoList(useRecordSkuList); return goodsUseRecordVO; + }).sorted(Comparator.comparing(GoodsUseRecordVO::getUpdateTime, Comparator.nullsFirst(Long::compareTo)) .reversed()) .collect(Collectors.toList()); -- Gitblit v1.9.1