From 64c137c7d5bcdba2ff6be176f58e40e71d500aa5 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 19 九月 2025 18:46:55 +0800 Subject: [PATCH] 拉卡拉支付 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java | 98 +++++++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java | 58 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java | 12 + ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java | 6 ruoyi-system/src/main/java/com/ruoyi/system/vo/ValidityPeriodWarningVo.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/wxPay/config/WxConfig.java | 2 ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml | 17 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java | 10 - ruoyi-system/src/main/java/com/ruoyi/system/task/utils/TaskUtil.java | 108 +++++++------- ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java | 20 +- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java | 2 ruoyi-system/src/main/resources/mapper/system/TErpSupplierWarehousingMapper.xml | 2 ruoyi-system/src/main/java/com/ruoyi/system/dto/AddProcurementDto.java | 32 ++++ 14 files changed, 293 insertions(+), 80 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java index 6135d0b..be6b761 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java @@ -1,21 +1,32 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.lkl.laop.sdk.request.V3LabsTransPreorderRequest; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AddProcurementDto; +import com.ruoyi.system.model.TCrmClinic; +import com.ruoyi.system.model.TCrmSupplier; +import com.ruoyi.system.model.TErpGoods; import com.ruoyi.system.query.TErpGoodsQuery; import com.ruoyi.system.query.TErpProcurementQuery; +import com.ruoyi.system.service.TCrmClinicService; import com.ruoyi.system.service.TErpProcurementService; import com.ruoyi.system.service.TErpSupplierWarehousingService; import com.ruoyi.system.vo.TErpGoodsVO; import com.ruoyi.system.vo.TErpProcurementDetailVo; import com.ruoyi.system.vo.TErpProcurementVo; +import com.ruoyi.web.core.config.LakalaConfig; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; /** * <p> @@ -33,11 +44,14 @@ private final TErpProcurementService erpProcurementService; private final TokenService tokenService; + private final TCrmClinicService crmClinicService; + @Autowired - public TErpProcurementController(TErpProcurementService erpProcurementService, TokenService tokenService) { + public TErpProcurementController(TErpProcurementService erpProcurementService, TokenService tokenService,TCrmClinicService crmClinicService) { this.erpProcurementService = erpProcurementService; this.tokenService = tokenService; + this.crmClinicService = crmClinicService; } @@ -61,5 +75,47 @@ return R.ok(erpProcurementService.detail(id,user,goodsName)); } + + /** + * 获取erp问题上报管理列表 + */ + @ApiOperation(value = "采购获取商品分页列表") + @PostMapping(value = "/pageGoodsPageList") + public R<PageInfo<TErpGoods>> pageList(@RequestBody TErpGoodsQuery query) { + SysUser user = tokenService.getLoginUser().getUser(); + return R.ok(erpProcurementService.pageGoodsPageList(query,user)); + } + + + /** + * 获取erp问题上报管理列表 + */ + @ApiOperation(value = "采购获取库存不足列表") + @PostMapping(value = "/inventoryNotEnoughList") + public R<List<TErpGoodsVO>> inventoryNotEnoughList() { + SysUser user = tokenService.getLoginUser().getUser(); + return R.ok(erpProcurementService.inventoryNotEnoughList(user)); + } + + + + @ApiOperation(value = "添加采购") + @PostMapping(value = "/addProcurement") + public R<String> addProcurement(@RequestBody @Valid List<AddProcurementDto> dtos) { + SysUser user = tokenService.getLoginUser().getUser(); + Integer roleType = user.getRoleType(); + String clinicSupplierId=null; + if(roleType == 5){ + // 诊所 + TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class) + .eq(TCrmClinic::getUserId, user.getUserId()) + .last("LIMIT 1")); + clinicSupplierId = crmClinic.getId(); + } + return R.ok(erpProcurementService.addProcurement(clinicSupplierId,user,dtos)); + } + + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java index 14793b8..3b3a210 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpSupplierWarehousingController.java @@ -65,10 +65,6 @@ @ApiOperation(value = "供应商获取库存分页列表") @PostMapping(value = "/pageList") public R<PageInfo<TErpGoodsVO>> pageList(@RequestBody TErpGoodsQuery query) { - V3LabsTransPreorderRequest request = new V3LabsTransPreorderRequest(); - request.setLklAppId(LakalaConfig.appId); - request.setMerchantNo(LakalaConfig.MerchantNo); - request.setTermNo(LakalaConfig.TermNo); SysUser user = tokenService.getLoginUser().getUser(); Integer roleType = user.getRoleType(); @@ -161,11 +157,11 @@ } @ApiOperation(value = "有效期预警商品选择") @GetMapping(value = "/pageInventoryGoodsList") - public R<List<TErpGoodsInventoryVO>> pageInventoryGoodsList(@RequestParam String warehouseId,@RequestParam(required = false)String batchNumber) { + public R<List<TErpGoodsInventoryVO>> pageInventoryGoodsList(@RequestParam String warehouseId,@RequestParam(required = false)String batchId) { SysUser user = tokenService.getLoginUser().getUser(); List<TErpGoodsInventoryVO> tErpGoodsInventoryVOS = erpGoodsService.pageInventoryGoodsList(warehouseId, user); - if(batchNumber!=null && !"".equals(batchNumber)){ - tErpGoodsInventoryVOS = tErpGoodsInventoryVOS.stream().filter(e->e.getBatchNumber().equals(batchNumber)).collect(Collectors.toList()); + if(batchId!=null && !"".equals(batchId)){ + tErpGoodsInventoryVOS = tErpGoodsInventoryVOS.stream().filter(e->e.getId().equals(batchId)).collect(Collectors.toList()); } return R.ok(tErpGoodsInventoryVOS); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java index c0ab673..3c38954 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java @@ -10,16 +10,16 @@ @Component public class TaskUtil { - @Scheduled(cron = "0 0 0 * * ?") - public void dayOfProportionBill() { - try { - - - - } catch (Exception e) { - e.printStackTrace(); - } - } +// @Scheduled(cron = "0 0 0 * * ?") +// public void dayOfProportionBill() { +// try { +// +// +// +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddProcurementDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddProcurementDto.java new file mode 100644 index 0000000..f4330ac --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddProcurementDto.java @@ -0,0 +1,32 @@ +package com.ruoyi.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.math.BigDecimal; + +@Data +@ApiModel("添加采购Dto") +public class AddProcurementDto { + @ApiModelProperty("商品id") + @NotBlank(message = "商品id不能为空") + private String goodsId; + + @ApiModelProperty("售价") + private BigDecimal salesAmount; + + + @ApiModelProperty("采购数量") + @NotBlank(message = "采购数量不能为空") + private Integer purchaseCount; + + + private String supplierId; + + private BigDecimal goodsSalesAmount; + + @ApiModelProperty("状态 1草稿") + private Integer state; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java index 77b7890..facc599 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java @@ -4,7 +4,9 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.system.model.TErpProcurement; +import com.ruoyi.system.query.TErpGoodsQuery; import com.ruoyi.system.query.TErpProcurementQuery; +import com.ruoyi.system.vo.TErpGoodsVO; import com.ruoyi.system.vo.TErpProcurementVo; import org.apache.ibatis.annotations.Param; @@ -22,4 +24,8 @@ List<TErpProcurementVo> pageList(@Param("query") TErpProcurementQuery query, @Param("pageInfo") PageInfo<TErpProcurementVo> pageInfo, @Param("user") SysUser user, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("supplierClinicId") String supplierClinicId); + + List<TErpGoodsVO> inventoryNotEnoughList(@Param("user") SysUser user); + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java index 0c4adef..1f874a9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java @@ -3,11 +3,17 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.system.dto.AddProcurementDto; +import com.ruoyi.system.model.TErpGoods; import com.ruoyi.system.model.TErpProcurement; import com.ruoyi.system.query.TErpGoodsQuery; import com.ruoyi.system.query.TErpProcurementQuery; +import com.ruoyi.system.vo.TErpGoodsVO; import com.ruoyi.system.vo.TErpProcurementDetailVo; import com.ruoyi.system.vo.TErpProcurementVo; + +import javax.validation.Valid; +import java.util.List; /** * <p> @@ -25,5 +31,11 @@ TErpProcurementDetailVo detail(String id, SysUser user, String goodsName); + PageInfo<TErpGoods> pageGoodsPageList(TErpGoodsQuery query, SysUser user); + + List<TErpGoodsVO> inventoryNotEnoughList(SysUser user); + + + String addProcurement(String clinicSupplierId, SysUser user, @Valid List<AddProcurementDto> dtos); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java index 0472c89..b51fd6c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java @@ -304,7 +304,7 @@ TErpSupplierOutboundGoods tErpSupplierOutboundGoods = new TErpSupplierOutboundGoods(); tErpSupplierOutboundGoods.setOutboundId(tErpSupplierOutbound.getId()); - tErpSupplierOutboundGoods.setWarehousingId(tErpSupplierWarehousing.getId()); + tErpSupplierOutboundGoods.setWarehousingId(tErpSupplierWarehousing1.getId()); tErpSupplierOutboundGoods.setWarehousingBatchId(tErpSupplierWarehousingBatch.getId()); tErpSupplierOutboundGoods.setOutboundCount(count); tErpSupplierOutboundGoods.setTotalPrice(erpGoods.getSalesAmount().multiply(new BigDecimal(count))); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java index 407809b..99a65ec 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java @@ -3,17 +3,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.common.core.domain.BaseModel; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.system.dto.AddProcurementDto; import com.ruoyi.system.mapper.*; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TErpGoodsQuery; import com.ruoyi.system.query.TErpProcurementQuery; +import com.ruoyi.system.service.TErpGoodsService; import com.ruoyi.system.service.TErpProcurementService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.system.vo.TErpProcurementDetailNextVo; -import com.ruoyi.system.vo.TErpProcurementDetailVo; -import com.ruoyi.system.vo.TErpProcurementVo; -import com.ruoyi.system.vo.ValidityPeriodWarningVo; +import com.ruoyi.system.vo.*; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; import org.apache.http.HttpResponse; @@ -39,6 +40,7 @@ import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -66,6 +68,15 @@ @Resource private SysUserMapper sysUserMapper; + + @Resource + private TErpGoodsMapper erpGoodsMapper; + + @Resource + private TErpGoodsTypeMapper erpGoodsTypeMapper; + + @Resource + private TErpGoodsUnitMapper erpGoodsUnitMapper; @@ -206,4 +217,83 @@ return tErpProcurementVo; } + @Override + public PageInfo<TErpGoods> pageGoodsPageList(TErpGoodsQuery query, SysUser user) { + PageInfo<TErpGoods> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + PageInfo<TErpGoods> p =erpGoodsMapper.selectPage(pageInfo,new LambdaQueryWrapper<TErpGoods>().eq(TErpGoods::getGoodsSource,1).isNotNull(TErpGoods::getClinicPurchasePrice).orderByDesc(BaseModel::getCreateTime)); + List<TErpGoods> list = p.getRecords(); + + List<String> typeIds = list.stream().map(TErpGoods::getTypeId).collect(Collectors.toList()); + if(!typeIds.isEmpty()){ + List<TErpGoodsType> typeList = erpGoodsTypeMapper.selectBatchIds(typeIds); + for (TErpGoods tErpGoodsVO : list) { + typeList.stream().filter(t -> t.getId().equals(tErpGoodsVO.getTypeId())).findFirst().ifPresent(t -> tErpGoodsVO.setTypeName(t.getTypeName())); + tErpGoodsVO.setTypeName(tErpGoodsVO.getTypeName()); + } + } + pageInfo.setRecords( list); + return pageInfo; + } + + @Override + public List<TErpGoodsVO> inventoryNotEnoughList(SysUser user) { + List<TErpGoodsVO> list = this.baseMapper.inventoryNotEnoughList(user); + + return null; + } + + @Override + public String addProcurement(String clinicSupplierId, SysUser user, List<AddProcurementDto> dtos) { + List<String> goodsIds = dtos.stream().map(AddProcurementDto::getGoodsId).collect(Collectors.toList()); + List<TErpGoods> tErpGoods = erpGoodsMapper.selectBatchIds(goodsIds); + for (AddProcurementDto dto : dtos) { + TErpGoods tErpGoodsVO = tErpGoods.stream().filter(t -> t.getId().equals(dto.getGoodsId())).findFirst().get(); + dto.setSupplierId(tErpGoodsVO.getSupplierClinicId()); + dto.setGoodsSalesAmount(tErpGoodsVO.getSalesAmount()); + } + // 供应商分组 + Map<String, List<AddProcurementDto>> supplierClinicIdListMap = dtos.stream().collect(Collectors.groupingBy(AddProcurementDto::getSupplierId)); + for (Map.Entry<String, List<AddProcurementDto>> entry : supplierClinicIdListMap.entrySet()) { + String supplierClinicId = entry.getKey(); + TCrmSupplier supplier = crmSupplierMapper.selectById(supplierClinicId); + List<AddProcurementDto> value = entry.getValue(); + TErpProcurement tErpProcurement = new TErpProcurement(); + tErpProcurement.setClinicId(clinicSupplierId); + tErpProcurement.setProcurementCode("C"+DateUtils.dateTimeNow()); + tErpProcurement.setSupplierId(supplierClinicId); + + tErpProcurement.setTermNo(supplier.getTermNo()); + tErpProcurement.setMerchantNo(supplier.getRecvMerchantNo()); + tErpProcurement.setPayMoney(value.stream().map(AddProcurementDto::getSalesAmount).reduce(BigDecimal.ZERO, BigDecimal::add)); + AddProcurementDto addProcurementDto = value.get(0); + if(addProcurementDto.getState()!=null && addProcurementDto.getState()==1){ + tErpProcurement.setStatus(1); + }else { + tErpProcurement.setStatus(2); + } + this.save(tErpProcurement); + for (AddProcurementDto dto : value) { + TErpProcurementGoods tErpProcurementGoods = new TErpProcurementGoods(); + tErpProcurementGoods.setProcurementId(tErpProcurement.getId()); + TErpGoods goods = tErpGoods.stream().filter(e -> e.getId().equals(dto.getGoodsId())).findFirst().get(); + tErpProcurementGoods.setGoodsId(dto.getGoodsId()); + tErpProcurementGoods.setGoodsName(goods.getGoodsName()); + tErpProcurementGoods.setSupplierName(supplier.getSupplierName()); + tErpProcurementGoods.setQuasiNumber(goods.getQuasiNumber()); + + TErpGoodsUnit tErpGoodsUnit = erpGoodsUnitMapper.selectById(goods.getPackingUnitId()); + tErpProcurementGoods.setUnitName(tErpGoodsUnit.getUnitName()); + tErpProcurementGoods.setPurchasePrice(dto.getGoodsSalesAmount()); + tErpProcurementGoods.setSalesAmount(dto.getSalesAmount()); + + tErpProcurementGoods.setPurchaseCount(dto.getPurchaseCount()); + tErpProcurementGoods.setSupplierId(supplierClinicId); + tErpProcurementGoods.setRecvMerchantNo(supplier.getRecvMerchantNo()); + } + + } + + return ""; + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/utils/TaskUtil.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/utils/TaskUtil.java index a0cec7c..68d7934 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/task/utils/TaskUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/task/utils/TaskUtil.java @@ -1,57 +1,57 @@ -package com.ruoyi.system.task.utils; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.common.constant.CacheConstants; -import com.ruoyi.common.core.redis.RedisCache; -import com.ruoyi.common.utils.uuid.UUID; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.temporal.ChronoUnit; -import java.util.List; - -/** - * @author zhibing.pu - * @date 2023/7/11 8:39 - */ -@Component -public class TaskUtil { - @Autowired - RedisCache redisCache; - // 用于更新违约金账单 - // 每分钟执行一次的定时任务 - - @Scheduled(cron = "0 0 0 * * ?") - public void dayOfProportionBill() { - try { - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void main(String[] args) { - -// LocalDateTime now = LocalDateTime.now().minusMonths(1).withDayOfMonth(31); -// System.err.println(now); -// LocalDateTime now2 = now.plusMonths(1); -// System.err.println(now2); +//package com.ruoyi.system.task.utils; // -// LocalDateTime now1 = LocalDateTime.now(); -// long days = ChronoUnit.DAYS.between(now, now1); -// long days2 = ChronoUnit.DAYS.between(now.plusDays(1), now1); // -// System.err.println(days); -// System.err.println(days2); -// LocalDateTime endTime = now.with(TemporalAdjusters.lastDayOfMonth()).withSecond(59).withHour(23).withMinute(59); +//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +//import com.ruoyi.common.constant.CacheConstants; +//import com.ruoyi.common.core.redis.RedisCache; +//import com.ruoyi.common.utils.uuid.UUID; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.scheduling.annotation.Scheduled; +//import org.springframework.stereotype.Component; // -// System.err.println(endTime); - - } - -} +//import java.math.BigDecimal; +//import java.time.LocalDate; +//import java.time.LocalDateTime; +//import java.time.LocalTime; +//import java.time.temporal.ChronoUnit; +//import java.util.List; +// +///** +// * @author zhibing.pu +// * @date 2023/7/11 8:39 +// */ +//@Component +//public class TaskUtil { +// @Autowired +// RedisCache redisCache; +// // 用于更新违约金账单 +// // 每分钟执行一次的定时任务 +// +// @Scheduled(cron = "0 0 0 * * ?") +// public void dayOfProportionBill() { +// try { +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// +// public static void main(String[] args) { +// +//// LocalDateTime now = LocalDateTime.now().minusMonths(1).withDayOfMonth(31); +//// System.err.println(now); +//// LocalDateTime now2 = now.plusMonths(1); +//// System.err.println(now2); +//// +//// LocalDateTime now1 = LocalDateTime.now(); +//// long days = ChronoUnit.DAYS.between(now, now1); +//// long days2 = ChronoUnit.DAYS.between(now.plusDays(1), now1); +//// +//// System.err.println(days); +//// System.err.println(days2); +//// LocalDateTime endTime = now.with(TemporalAdjusters.lastDayOfMonth()).withSecond(59).withHour(23).withMinute(59); +//// +//// System.err.println(endTime); +// +// } +// +//} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ValidityPeriodWarningVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ValidityPeriodWarningVo.java index e8f3027..1efdef5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/ValidityPeriodWarningVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/ValidityPeriodWarningVo.java @@ -33,6 +33,10 @@ private String batchNumber; + @ApiModelProperty(value = "批次号Id") + private String batchId; + + @ApiModelProperty(value = "有效日期") private LocalDateTime expiryDate; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/wxPay/config/WxConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/wxPay/config/WxConfig.java index 39c05ea..c70a034 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/wxPay/config/WxConfig.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/wxPay/config/WxConfig.java @@ -13,7 +13,7 @@ * * @author lihen */ -@Configuration +//@Configuration public class WxConfig { private final WeixinPayProperties weixinPayProperties; diff --git a/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml index 8a547e1..8cdc313 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TErpGoodsMapper.xml @@ -186,7 +186,7 @@ LEFT JOIN t_crm_supplier t4 on t3.supplier_clinic_id = t4.id LEFT JOIN t_erp_supplier_outbound_goods t5 on t5.warehousing_batch_id =t1.id where t2.disabled = 0 and t2.warehouse_id = #{warehouseId} - and #{time} > t1.expiry_date + and #{endDate} > t1.expiry_date <if test="user.roleType !=null and user.roleType ==4"> and t3.supplier_clinic_id =#{supplierClinicId} and t3.goods_source=1 </if> diff --git a/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml index 4b64394..cd6e62c 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml @@ -22,6 +22,9 @@ <sql id="Base_Column_List"> id, clinic_id, procurement_code, pay_money, pay_number, pay_transaction_id, status, create_time, update_time, create_by, update_by, disabled </sql> + <sql id="Base_Column_List1"> + t1.id, t1.supplier_clinic_id, t1.goods_source, t1.goods_name, t1.goods_id_code, t1.quasi_number, t1.manufacturer, t1.formulation_spec, t1.packing_spec, t1.type_id, t1.goods_yards, t1.maintenance_interval, t1.low_purchase_quantity, t1.low_unit_id, t1.is_prescription_drug, t1.goods_spec, t1.warning_inventory, t1.sales_amount, t1.packing_unit_id, t1.instructions_use, t1.side_effect, t1.clinic_purchase_price, t1.platform_commission_price, t1.create_time, t1.update_time, t1.create_by,t1.`state`, t1.update_by, t1.disabled, + </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TErpProcurementVo"> select t1.id, @@ -57,7 +60,21 @@ and t1.create_time between #{sTime} and #{eTime} </if> + </select> + <select id="inventoryNotEnoughList" resultType="com.ruoyi.system.vo.TErpGoodsVO"> + select * from ( + select <include refid="Base_Column_List1"/> + COALESCE(sum(t2.goods_count), 0) - COALESCE(sum(t3.outbound_count), 0) as allNum, + SUM(t2.unit_amount * (t2.goods_count - COALESCE(t3.outbound_count, 0))) as allTotalPrice, + COALESCE(sum(t3.outbound_count), 0) as outNum + from t_erp_goods t1 left join t_erp_supplier_warehousing t2 on t1.id = t2.goods_id + left join t_erp_supplier_outbound_goods t3 on t2.id = t3.warehousing_id + where t1.disabled = 0 and t2.id is not null and t1.goods_source =1 and t1.clinic_purchase_price is not null + GROUP BY t1.id + ) o where 1=1 + and o.warning_inventory > (o.allNum-o.outNum) + order by o.create_time desc </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TErpSupplierWarehousingMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TErpSupplierWarehousingMapper.xml index fe79539..fbe6173 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TErpSupplierWarehousingMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TErpSupplierWarehousingMapper.xml @@ -108,7 +108,7 @@ <select id="validityPeriodWarning" resultType="com.ruoyi.system.vo.ValidityPeriodWarningVo"> - select t2.warehouse_id,t2.warehouse_no warehousingNo, t4.goods_name, t4.quasi_number, t1.batch_number, t1.expiry_date, t4.id as goodsId,t5.type_name,t6.unit_name packingUnitName, + select t2.warehouse_id,t2.warehouse_no warehousingNo, t4.goods_name, t4.quasi_number, t1.batch_number, t1.id as batchId,t1.expiry_date, t4.id as goodsId,t5.type_name,t6.unit_name packingUnitName, case when t3.id is null then t1.warehousing_number else t1.warehousing_number -t3.outbound_count -- Gitblit v1.7.1