From 6a9dba66231586562cb630944f0c165e767dd8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Sat, 6 Jul 2024 14:22:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=B9=E9=87=8F=E5=87=BA?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cons/rest/TbConsInfoController.java | 5 +- .../cons/service/TbConsInfoService.java | 2 +- .../service/impl/TbConsInfoServiceImpl.java | 237 +++++++++--------- .../main/resources/config/application-dev.yml | 8 + .../resources/config/application-prod.yml | 8 + .../src/main/resources/config/application.yml | 16 -- 6 files changed, 141 insertions(+), 135 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java index 053155ba..cab95f24 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java @@ -13,6 +13,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; import java.io.IOException; +import java.util.List; import javax.servlet.http.HttpServletResponse; /** @@ -51,7 +52,7 @@ public class TbConsInfoController { @PutMapping @Log("修改耗材信息") @ApiOperation("修改耗材信息") - public ResponseEntity updateTbConsInfo(@Validated @RequestBody TbConsInfo resources){ + public ResponseEntity updateTbConsInfo(@Validated @RequestBody TbConsInfo resources) throws Exception { tbConsInfoService.update(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -67,7 +68,7 @@ public class TbConsInfoController { @PostMapping(value = "stockInOut") @Log("耗材出入库") @ApiOperation("耗材出入库") - public ResponseEntity stockInOut(@Validated @RequestBody TbConsSuppFlow resources) throws Exception { + public ResponseEntity stockInOut(@Validated @RequestBody List resources) throws Exception { tbConsInfoService.stockInOut(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java index aec52a80..52282a80 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java @@ -66,5 +66,5 @@ public interface TbConsInfoService { void download(List all, HttpServletResponse response) throws IOException; - void stockInOut(TbConsSuppFlow resources) throws Exception; + void stockInOut(List resources) throws Exception; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java index 88511272..8a49254c 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java @@ -27,6 +27,7 @@ import cn.ysk.cashier.cons.service.TbConsInfoService; import cn.ysk.cashier.cons.service.dto.TbConsInfoDto; import cn.ysk.cashier.cons.service.dto.TbConsInfoQueryCriteria; import cn.ysk.cashier.cons.service.mapstruct.TbConsInfoMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.data.domain.Page; @@ -46,6 +47,7 @@ import javax.servlet.http.HttpServletResponse; **/ @Service @RequiredArgsConstructor +@Slf4j public class TbConsInfoServiceImpl implements TbConsInfoService { private final TbConsInfoRepository tbConsInfoRepository; @@ -103,6 +105,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { if(count>0){ throw new Exception("耗材代码不允许重复"); } + resources.setConTypeName(tbConsType.getConTypeName()); resources.setLasterInStock(BigDecimal.ZERO); resources.setStockNumber(BigDecimal.ZERO); @@ -150,127 +153,129 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { @Override @Transactional(rollbackFor = Exception.class) - public void stockInOut(TbConsSuppFlow resources) throws Exception { - TbConsInfo info= tbConsInfoRepository.getById(resources.getConInfoId()); - if(Objects.isNull(info)){ - throw new Exception("不存在的耗材信息"); + public void stockInOut(List resources) throws Exception { + if(Objects.isNull(resources)&&resources.size()<=0){ + throw new Exception("参数错误"); } + for (TbConsSuppFlow resource : resources) { + TbConsInfo info= tbConsInfoRepository.getById(resource.getConInfoId()); + if(Objects.isNull(info)){ + log.info("耗材信息不存在"); + continue; + } + TbShopInfo tbShopInfo= tbShopInfoRepository.getById(resource.getShopId()); + if(Objects.isNull(tbShopInfo)){ + log.info("店铺信息不存在"); + continue; + } + TbShopPurveyor purveyor= tbShopPurveyorRepository.getById(resource.getSupplierId()); + if(Objects.isNull(purveyor)){ + log.info("不存在的供应商"); + continue; + } - TbShopInfo tbShopInfo= tbShopInfoRepository.getById(resources.getShopId()); - if(Objects.isNull(tbShopInfo)){ - throw new Exception("店铺信息不存在"); + TbConsInfoFlow flow=new TbConsInfoFlow(); + + + TbShopPurveyorTransact purveyorTransact = new TbShopPurveyorTransact(); + purveyorTransact.setShopId(tbShopInfo.getId().toString()); + purveyorTransact.setPurveyorName(purveyor.getPurveyorName()); + purveyorTransact.setPurveyorId(purveyor.getId().toString()); + purveyorTransact.setRemark(""); + purveyorTransact.setCreatedAt(System.currentTimeMillis()); + purveyorTransact.setUpdatedAt(System.currentTimeMillis()); + + + + + + + TbProductStockOperate stockOperate = new TbProductStockOperate(); + stockOperate.setShopId(tbShopInfo.getId().toString()); + stockOperate.setStockSnap(""); + stockOperate.setType(resource.getType()); + stockOperate.setSubType(-1); + Map operatorSnapMap = new HashMap<>(); + operatorSnapMap.put("name", tbShopInfo.getShopName()); + operatorSnapMap.put("account", tbShopInfo.getAccount()); + + stockOperate.setOperatorSnap(JSON.toJSONString(operatorSnapMap)); + stockOperate.setBatchNumber(""); + stockOperate.setRemark(""); + stockOperate.setStockTime(System.currentTimeMillis()); + stockOperate.setCreatedAt(System.currentTimeMillis()); + stockOperate.setUpdatedAt(System.currentTimeMillis()); + stockOperate.setStatus("normal"); + stockOperate.setPurveyorId(resource.getSupplierId().toString()); + stockOperate.setPurveyorName(purveyor.getPurveyorName()); + + tbProductStockOperateRepository.save(stockOperate); + + if("in".equals(resource.getType())){ + info.setStockNumber(info.getStockNumber().add(resource.getStockNumber())); + info.setLasterInStock(resource.getStockNumber()); + resource.setType("in"); + + flow.setBizCode("stockIn"); + flow.setBizName("耗材入库"); + flow.setBizType("+"); + + purveyorTransact.setTotalAmount(resource.getAccountsPayable()); + purveyorTransact.setPaidAmount(resource.getActualPayment()); + purveyorTransact.setWaitAmount((resource.getAccountsPayable().subtract(resource.getActualPayment()))); + purveyorTransact.setType("cons_in"); + }else { + + + info.setStockNumber(info.getStockNumber().subtract(resource.getStockNumber())); + resource.setType("out"); + + flow.setBizCode("stockout"); + flow.setBizName("耗材出库"); + flow.setBizType("-"); + + + purveyorTransact.setTotalAmount(resource.getAccountsPayable().negate()); + purveyorTransact.setPaidAmount(resource.getActualPayment()); + purveyorTransact.setWaitAmount((resource.getAccountsPayable().subtract(resource.getActualPayment())).negate()); + purveyorTransact.setType("cons_out"); + } + + + if (resource.getAccountsPayable().compareTo(resource.getActualPayment()) <= 0) { + purveyorTransact.setStatus(1); + } else { + purveyorTransact.setStatus(0); + } + purveyorTransact.setPaidAt(System.currentTimeMillis()); + + purveyorTransactRepository.save(purveyorTransact); + if (resource.getSupplierId() != null) { + tbShopPurveyorRepository.upLastTransactAt(resource.getSupplierId().toString()); + } + + + + tbConsInfoRepository.save(info); + + + resource.setAmount(resource.getStockNumber()); + resource.setBalance(info.getStockNumber()); + resource.setCreateTime(new Timestamp(System.currentTimeMillis())); + tbConsSuppFlowRepository.save(resource); + + + flow.setConsId(info.getId()); + flow.setShopId(info.getShopId()); + flow.setConName(info.getConName()); + flow.setAmount(resource.getStockNumber()); + flow.setBalance(info.getStockNumber()); + + flow.setCreateTime(new Timestamp(System.currentTimeMillis())); + tbConsInfoFlowRepository.save(flow); } - TbShopPurveyor purveyor= tbShopPurveyorRepository.getById(resources.getSupplierId()); - if(Objects.isNull(purveyor)){ - throw new Exception("不存在的供应商"); - } - - - TbConsInfoFlow flow=new TbConsInfoFlow(); - - - TbShopPurveyorTransact purveyorTransact = new TbShopPurveyorTransact(); - purveyorTransact.setShopId(tbShopInfo.getId().toString()); - purveyorTransact.setPurveyorName(purveyor.getPurveyorName()); - purveyorTransact.setPurveyorId(purveyor.getId().toString()); - purveyorTransact.setRemark(""); - purveyorTransact.setCreatedAt(System.currentTimeMillis()); - purveyorTransact.setUpdatedAt(System.currentTimeMillis()); - - - - - - - TbProductStockOperate stockOperate = new TbProductStockOperate(); - stockOperate.setShopId(tbShopInfo.getId().toString()); - stockOperate.setStockSnap(""); - stockOperate.setType(resources.getType()); - stockOperate.setSubType(-1); - Map operatorSnapMap = new HashMap<>(); - operatorSnapMap.put("name", tbShopInfo.getShopName()); - operatorSnapMap.put("account", tbShopInfo.getAccount()); - - stockOperate.setOperatorSnap(JSON.toJSONString(operatorSnapMap)); - stockOperate.setBatchNumber(""); - stockOperate.setRemark(""); - stockOperate.setStockTime(System.currentTimeMillis()); - stockOperate.setCreatedAt(System.currentTimeMillis()); - stockOperate.setUpdatedAt(System.currentTimeMillis()); - stockOperate.setStatus("normal"); - stockOperate.setPurveyorId(resources.getSupplierId().toString()); - stockOperate.setPurveyorName(purveyor.getPurveyorName()); - - tbProductStockOperateRepository.save(stockOperate); - - if("in".equals(resources.getType())){ - info.setStockNumber(info.getStockNumber().add(resources.getStockNumber())); - info.setLasterInStock(resources.getStockNumber()); - resources.setType("in"); - - flow.setBizCode("stockIn"); - flow.setBizName("耗材入库"); - flow.setBizType("+"); - - purveyorTransact.setTotalAmount(resources.getAccountsPayable()); - purveyorTransact.setPaidAmount(resources.getActualPayment()); - purveyorTransact.setWaitAmount((resources.getAccountsPayable().subtract(resources.getActualPayment()))); - purveyorTransact.setType("cons_in"); - }else { - - - info.setStockNumber(info.getStockNumber().subtract(resources.getStockNumber())); - resources.setType("out"); - - flow.setBizCode("stockout"); - flow.setBizName("耗材出库"); - flow.setBizType("-"); - - - purveyorTransact.setTotalAmount(resources.getAccountsPayable().negate()); - purveyorTransact.setPaidAmount(resources.getActualPayment()); - purveyorTransact.setWaitAmount((resources.getAccountsPayable().subtract(resources.getActualPayment())).negate()); - purveyorTransact.setType("cons_out"); - } - - - if (resources.getAccountsPayable().compareTo(resources.getActualPayment()) <= 0) { - purveyorTransact.setStatus(1); - } else { - purveyorTransact.setStatus(0); - } - purveyorTransact.setPaidAt(System.currentTimeMillis()); - - purveyorTransactRepository.save(purveyorTransact); - if (resources.getSupplierId() != null) { - tbShopPurveyorRepository.upLastTransactAt(resources.getSupplierId().toString()); - } - - - - - - - - tbConsInfoRepository.save(info); - - - resources.setAmount(resources.getStockNumber()); - resources.setBalance(info.getStockNumber()); - resources.setCreateTime(new Timestamp(System.currentTimeMillis())); - tbConsSuppFlowRepository.save(resources); - - - flow.setConsId(info.getId()); - flow.setShopId(info.getShopId()); - flow.setConName(info.getConName()); - flow.setAmount(resources.getStockNumber()); - flow.setBalance(info.getStockNumber()); - - flow.setCreateTime(new Timestamp(System.currentTimeMillis())); - tbConsInfoFlowRepository.save(flow); } } \ No newline at end of file diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index 2f60be8c..97bc074d 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -56,6 +56,14 @@ spring: port: 5672 username: admin password: Czg666888 + redis: + #数据库索引 + database: ${REDIS_DB:0} + host: ${REDIS_HOST:101.37.12.135} + port: ${REDIS_PORT:6379} + password: ${REDIS_PWD:111111} + #连接超时时间 + timeout: 5000 # 登录相关配置 diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml index f94b57cd..e28172da 100644 --- a/eladmin-system/src/main/resources/config/application-prod.yml +++ b/eladmin-system/src/main/resources/config/application-prod.yml @@ -55,6 +55,14 @@ spring: port: 5672 username: admin password: Czg666888 + redis: + #数据库索引 + database: ${REDIS_DB:0} + host: ${REDIS_HOST:127.0.0.1} + port: ${REDIS_PORT:6379} + password: ${REDIS_PWD:111111} + #连接超时时间 + timeout: 5000 # 登录相关配置 login: diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml index b8878c3f..fffba41c 100644 --- a/eladmin-system/src/main/resources/config/application.yml +++ b/eladmin-system/src/main/resources/config/application.yml @@ -31,22 +31,6 @@ spring: dialect: org.hibernate.dialect.MySQL5InnoDBDialect show_sql: true -# redisdb5: -# #数据库索引 -# database: ${REDIS_DB:5} -# host: ${REDIS_HOST:127.0.0.1} -# port: ${REDIS_PORT:6379} -# password: ${REDIS_PWD:111111} - - redis: - #数据库索引 - database: ${REDIS_DB:0} - host: ${REDIS_HOST:127.0.0.1} - port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:111111} - #连接超时时间 - timeout: 5000 - task: pool: