From 9017efdeaa64c6d5f0fd0bae4c9f28dcfcf53220 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 09 一月 2025 14:49:51 +0800 Subject: [PATCH] zjh20250109 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java | 115 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 87 insertions(+), 28 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java index d7d35df..2f592be 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java @@ -1,18 +1,17 @@ package com.ltkj.web.controller.system; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import cn.hutool.extra.pinyin.PinyinUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.bean.BeanUtils; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; @@ -24,6 +23,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; +import net.sf.ehcache.constructs.scheduledrefresh.OverseerJob; +import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -43,6 +46,7 @@ @RestController @RequestMapping("/hosp/project") @Api(tags = "浣撴椤圭洰绠$悊") +@Slf4j public class TjProjectController extends BaseController { @Resource private ITjProjectService tjProjectService; @@ -66,6 +70,8 @@ private TestMapper testMapper; @Resource private RedisCache redisCache; + @Autowired + private TjProjectXgjlService xgjlService; @GetMapping("/getTjHyBgList") @@ -268,13 +274,14 @@ @Log(title = "浣撴椤圭洰", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody @ApiParam(value = "浣撴椤圭洰瀵硅薄") TjProject tjProject) { - if (null != tjProject.getConsumablesList() && tjProject.getConsumablesList().size() > 0) { + if (null != tjProject.getConsumablesList() && !tjProject.getConsumablesList().isEmpty()) { tjProject.setProPrice(BigDecimal.valueOf(0.00)); tjProject.setProStandard(0); } - if (null != tjProject.getTjStandardList() && tjProject.getTjStandardList().size() > 0) { + if (null != tjProject.getTjStandardList() && !tjProject.getTjStandardList().isEmpty()) { tjProject.setProStandard(1); } + tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); if (tjProjectService.save(tjProject)) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); @@ -283,7 +290,7 @@ dictProSfxmService.save(proSfxm); } List<TjConsumables> consumablesList = tjProject.getConsumablesList(); - if (null != consumablesList && consumablesList.size() > 0) { + if (null != consumablesList && !consumablesList.isEmpty()) { for (TjConsumables tjConsumables : consumablesList) { TjProConsumables proConsumables = new TjProConsumables(); proConsumables.setProId(tjProject.getProId()); @@ -292,7 +299,7 @@ } } List<TjStandard> tjStandardList = tjProject.getTjStandardList(); - if (null != tjStandardList && tjStandardList.size() > 0) { + if (null != tjStandardList && !tjStandardList.isEmpty()) { for (TjStandard tjStandard : tjStandardList) { TjStandard tjStandard1 = new TjStandard(); BeanUtils.copyBeanProp(tjStandard1, tjStandard); @@ -305,23 +312,25 @@ } Long proParentId = tjProject.getProParentId(); if (null != proParentId && proParentId != 0) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.eq(TjProject::getProParentId, proParentId); - List<TjProject> projectList = tjProjectService.list(wq); - if (null != projectList && projectList.size() > 0) { +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, proParentId); +// wq.eq(TjProject::getProStatus,0); +// List<TjProject> projectList = tjProjectService.list(wq); + List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(proParentId)); + if (null != projectList && !projectList.isEmpty()) { BigDecimal bigDecimal = new BigDecimal("0.00"); for (TjProject project : projectList) { if (project.getProPrice() != null) { - bigDecimal = bigDecimal.add(project.getProPrice()); + bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); } } - if (tjProject.getProPrice() != null) { - bigDecimal.add(tjProject.getProPrice()); - } +// if (tjProject.getProPrice() != null) { +// bigDecimal.add(tjProject.getProPrice()); +// } TjProject byId = tjProjectService.getById(proParentId); tjProject.setIsSampling(byId.getIsSampling()); tjProjectService.updateById(tjProject); - byId.setProPrice(bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); + byId.setProPrice(bigDecimal); tjProjectService.updateById(byId); } } @@ -338,17 +347,31 @@ @Log(title = "浣撴椤圭洰", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼浣撴椤圭洰") + @Transactional public AjaxResult edit(@RequestBody @ApiParam(value = "浣撴椤圭洰瀵硅薄") TjProject tjProject) { if (tjProject.getProStatus() == 1) { LambdaQueryWrapper<TjPackageProject> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjPackageProject::getProId, tjProject.getProId()); List<TjPackageProject> list1 = ppservice.list(wq1); - if (null != list1 && list1.size() > 0) { + if (null != list1 && !list1.isEmpty()) { return AjaxResult.error("璇ラ」鐩鍦ㄥ椁愪腑浣跨敤,鏆傛椂涓嶈兘鍋滅敤"); } } + tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); + + TjProject ytjproject = tjProjectService.getById(tjProject.getProId()); + Date date=new Date(); if (tjProject.getProParentId() == 0) { if (tjProjectService.updateById(tjProject)) { + if(null !=ytjproject){ + if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ + TjProjectXgjl xgjl=new TjProjectXgjl(); + BeanUtils.copyBeanProp(xgjl,ytjproject); + xgjl.setCreateTime(date); + xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + xgjlService.save(xgjl); + } + } if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); @@ -358,7 +381,7 @@ } } List<TjProject> list = tjProjectService.getTjProjectListBySoneId(String.valueOf(tjProject.getProId())); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { for (TjProject project : list) { project.setDeptId(tjProject.getDeptId()); project.setProType(tjProject.getProType()); @@ -369,7 +392,7 @@ } } List<TjConsumables> consumablesList = tjProject.getConsumablesList(); - if (null != consumablesList && consumablesList.size() > 0) { + if (null != consumablesList && !consumablesList.isEmpty()) { LambdaQueryWrapper<TjProConsumables> wq = new LambdaQueryWrapper<>(); wq.eq(TjProConsumables::getProId, tjProject.getProId()); proConsumablesService.remove(wq); @@ -392,6 +415,15 @@ tjProject.setIsSampling(byId1.getIsSampling()); } if (tjProjectService.updateById(tjProject)) { + if(null !=ytjproject){ + if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ + TjProjectXgjl xgjl=new TjProjectXgjl(); + BeanUtils.copyBeanProp(xgjl,ytjproject); + xgjl.setCreateTime(date); + xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + xgjlService.save(xgjl); + } + } if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); @@ -401,7 +433,7 @@ } } List<TjStandard> tjStandardList = tjProject.getTjStandardList(); - if (null != tjStandardList && tjStandardList.size() > 0) { + if (null != tjStandardList && !tjStandardList.isEmpty()) { for (TjStandard tjStandard : tjStandardList) { if (null == tjStandard.getTjSex()) { tjStandard.setTjSex(null); @@ -415,17 +447,19 @@ } Long proParentId = tjProject.getProParentId(); if (null != proParentId) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.eq(TjProject::getProParentId, proParentId); - List<TjProject> projectList = tjProjectService.list(wq); - if (null != projectList && projectList.size() > 0) { +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, proParentId); +// wq.eq(TjProject::getProStatus,0); +// List<TjProject> projectList = tjProjectService.list(wq); + List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(proParentId)); + if (null != projectList && !projectList.isEmpty()) { BigDecimal bigDecimal = new BigDecimal("0.00"); for (TjProject project : projectList) { - bigDecimal = bigDecimal.add(project.getProPrice()); + bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); } - bigDecimal.add(tjProject.getProPrice()); +// bigDecimal.add(tjProject.getProPrice()); TjProject byId = tjProjectService.getById(proParentId); - byId.setProPrice(bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); + byId.setProPrice(bigDecimal); tjProjectService.updateById(byId); } } @@ -566,4 +600,29 @@ return AjaxResult.success(map); } + + @GetMapping("/plxgpym") + @ApiOperation(value = "鎵归噺淇敼鎷奸煶鐮�") + public AjaxResult plxgpym(@RequestParam String tbname,@RequestParam String zd,@RequestParam String pymzd) { + String sql="SELECT 1"; + try { + sql="SELECT "+ zd +","+ pymzd +" FROM "+tbname; + + List<Map<String,Object>> projectList = tjProjectService.zdysqlcx(sql); + if(null !=projectList && !projectList.isEmpty()){ + for (Map<String, Object> map : projectList) { + Object zd1 = map.get(zd); + if(null !=zd1 && StringUtil.isNotBlank(zd1.toString())){ + String letter = PinyinUtil.getFirstLetter(zd1.toString(), ""); + sql="UPDATE "+ tbname +" "+ " set " +pymzd+" = "+ "'" +letter+"'"+" where "+zd+" = "+"'"+zd1+"'" ; + tjProjectService.zdysqlxg(sql); + } + } + } + return AjaxResult.success(projectList); + } catch (Exception e) { + log.info("sql鏌ヨ澶辫触"+ sql); + throw new RuntimeException(e); + } + } } -- Gitblit v1.8.0