From c96a0f30237512cd9d8cf2181e21c81955c0c543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A6=8F=E8=B4=A2?= <1471584931@qq.com> Date: Tue, 20 Jan 2026 17:38:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?---=E4=BF=AE=E5=A4=8D=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E4=B8=80=E5=AF=B9=E5=A4=9Abug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/pictc/utils/DataLogTools.java | 38 +++++++++------ .../java/com/pictc/utils/RequestUtils.java | 46 +++++++++++++++++++ .../mdm/client/ICountryRegionClient.java | 3 +- .../module/mdm/client/ICurrencyClient.java | 6 +-- .../module/mdm/client/ILngBankClient.java | 3 +- .../module/mdm/client/ILngStationClient.java | 6 +-- .../module/sales/client/ICustomerClient.java | 6 +-- .../sales/client/IGradeSystemClient.java | 8 +--- .../supplier/client/ISupplierClient.java | 3 +- .../mdm/client/CountryRegionClientImpl.java | 10 ++-- .../module/mdm/client/CurrencyClientImpl.java | 39 ++++++++-------- .../module/mdm/client/LngBankClientImpl.java | 11 +++-- .../mdm/client/LngStationClientImpl.java | 22 +++------ .../sales/client/CustomerClientImpl.java | 26 +++-------- .../sales/client/GradeSystemClientImpl.java | 22 +++------ .../supplier/client/SupplierClientImpl.java | 10 ++-- .../test/java/com/xjrsoft/test/JsonTest.java | 15 ++++++ 17 files changed, 162 insertions(+), 112 deletions(-) create mode 100644 itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/RequestUtils.java create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/src/test/java/com/xjrsoft/test/JsonTest.java diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java index dff5a6b..6b22335 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java @@ -1,5 +1,6 @@ package com.pictc.utils; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSON; import com.alibaba.nacos.shaded.com.google.common.collect.Lists; @@ -58,6 +59,8 @@ public class DataLogTools { private static Map> entitys = Maps.newHashMap(); + private static final String REDIS_CACHE_KEY = "TABLE_INFO:"; + private static Set logTables = null; private static Object lock = new Object(); @@ -609,21 +612,23 @@ public class DataLogTools { Object joinValue = tabInfo.getFieldValue(entity, join.getField()); if(joinValue!=null && joinValue instanceof List) { List listValue = (List) joinValue; - for (LogJoinColumn joinColumn : columns) { - if (joinColumn.valueType() == JoinValueType.FEILD - && joinColumn.valueDirection() == ValueDirectionType.RIGHT) { - Object joinFieldValue = tabInfo.getFieldValue(entity, joinColumn.field()); - for (Object item : listValue) { - Long idValue2 = joinTable.getIdValue(item); - if(idValue2==null || idValue2 <=0) { - joinTable.setIdValue(item, IdWorker.getId()); - } - + for (Object item : listValue) { + Long idValue2 = joinTable.getIdValue(item); + if(idValue2==null || idValue2 <=0) { + joinTable.setIdValue(item, IdWorker.getId()); + } + for (LogJoinColumn joinColumn : columns) { + if (joinColumn.valueType() == JoinValueType.FEILD + && joinColumn.valueDirection() == ValueDirectionType.RIGHT) { + Object joinFieldValue = tabInfo.getFieldValue(entity, joinColumn.field()); + joinTable.setFieldValue(item, joinColumn.relatedField(), joinFieldValue); + }else if(joinColumn.valueType()==JoinValueType.STATIC){ + Object joinFieldValue = Convert.convert(joinColumn.staticType(), joinColumn.staticValue()); joinTable.setFieldValue(item, joinColumn.relatedField(), joinFieldValue); - Set> joinClasses = SetUtils.ofCollection(classes); - initJoinValue(item,joinTable,joinClasses); } } + Set> joinClasses = SetUtils.ofCollection(classes); + initJoinValue(item,joinTable,joinClasses); } }else { Long idValue2 = joinTable.getIdValue(joinValue); @@ -634,9 +639,16 @@ public class DataLogTools { if(joinColumn.valueType()==JoinValueType.FEILD && joinColumn.valueDirection()==ValueDirectionType.LEFT) { Object joinFieldValue = joinTable.getFieldValue(joinValue, joinColumn.relatedField()); tabInfo.setFieldValue(entity, joinColumn.field(),joinFieldValue); - }else { + }else if(joinColumn.valueType()==JoinValueType.FEILD){ Object joinFieldValue = tabInfo.getFieldValue(entity, joinColumn.field()); joinTable.setFieldValue(joinValue, joinColumn.relatedField(), joinFieldValue); + }else { + Object joinFieldValue = Convert.convert(joinColumn.staticType(), joinColumn.staticValue()); + if(joinColumn.valueDirection()==ValueDirectionType.LEFT) { + tabInfo.setFieldValue(entity, joinColumn.field(),joinFieldValue); + }else { + joinTable.setFieldValue(joinValue, joinColumn.relatedField(), joinFieldValue); + } } } Set> joinClasses = SetUtils.ofCollection(classes); diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/RequestUtils.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/RequestUtils.java new file mode 100644 index 0000000..a094e19 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/RequestUtils.java @@ -0,0 +1,46 @@ +package com.pictc.utils; + +import java.util.Enumeration; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.servlet.HandlerMapping; + + +public class RequestUtils { + + private RequestUtils() { + super(); + } + + public static HttpServletRequest getRequest() { + ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); + return servletRequestAttributes.getRequest(); + } + + @SuppressWarnings("unchecked") + public static Map getPathValues(){ + HttpServletRequest request = getRequest(); + return (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); + } + + public static String getPathValue(String name){ + return getPathValues().get(name); + } + + public static Map getParameters(HttpServletRequest request) { + Map parameters = CollectionUtils.newHashMap(); + Enumeration names = request.getParameterNames(); + if(names!=null) { + while (names.hasMoreElements()) { + String name = names.nextElement(); + parameters.put(name, request.getParameter(name)); + } + } + return parameters; + } + +} diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICountryRegionClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICountryRegionClient.java index 0c73802..c38dc03 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICountryRegionClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICountryRegionClient.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.module.mdm.vo.LngBRegionVo; /** * @author: ksy @@ -19,6 +20,6 @@ public interface ICountryRegionClient { Map getAllTranData(); @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngBRegionVo getTranById(@RequestParam("id")String id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICurrencyClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICurrencyClient.java index 01183a2..2725bc8 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICurrencyClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ICurrencyClient.java @@ -1,6 +1,6 @@ package com.xjrsoft.module.mdm.client; -import java.util.List; + import java.util.Map; import org.springframework.cloud.openfeign.FeignClient; @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; -import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto; +import com.xjrsoft.module.mdm.vo.LngBCurrencyVo; /** * @author: ksy @@ -21,7 +21,7 @@ public interface ICurrencyClient { Map getAllTranData(); @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngBCurrencyVo getTranById(@RequestParam("id")String id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngBankClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngBankClient.java index d467b12..1f5b729 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngBankClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngBankClient.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto; +import com.xjrsoft.module.mdm.vo.LngBBankVo; /** * @author: ksy @@ -21,7 +22,7 @@ public interface ILngBankClient { Map getAllTranData(); @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngBBankVo getTranById(@RequestParam("id")String id); @GetMapping("/getTranByCodes") List getTranByCodes(@RequestParam("codes") List codes); diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngStationClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngStationClient.java index 6b325a6..5ca1f33 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngStationClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/mdm/client/ILngStationClient.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.module.mdm.vo.LngBStationLngVo; /** * @author: ksy @@ -15,10 +16,7 @@ import com.xjrsoft.common.constant.GlobalConstant; @FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.MDM_MODULE_PREFIX + "/tran/lngStation") public interface ILngStationClient { - @GetMapping("/getAllTranData") - Map getAllTranData(); - @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngBStationLngVo getTranById(@RequestParam("id")String id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java index ca55ebf..dfefacd 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/ICustomerClient.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.module.sales.vo.LngCustomerVo; /** * @author: ksy @@ -15,10 +16,7 @@ import com.xjrsoft.common.constant.GlobalConstant; @FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.SALES_MODULE_PREFIX + "/tran/customer") public interface ICustomerClient { - @GetMapping("/getAllTranData") - Map getAllTranData(); - @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngCustomerVo getTranById(@RequestParam("id")String id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java index c13768d..2be1a08 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/sales/client/IGradeSystemClient.java @@ -1,12 +1,11 @@ package com.xjrsoft.module.sales.client; -import java.util.Map; - import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.module.sales.vo.LngGradeSystemVo; /** * @author: ksy @@ -15,10 +14,7 @@ import com.xjrsoft.common.constant.GlobalConstant; @FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.SALES_MODULE_PREFIX + "/tran/gradeSystem") public interface IGradeSystemClient { - @GetMapping("/getAllTranData") - Map getAllTranData(); - @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngGradeSystemVo getTranById(@RequestParam("id")String id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java index c102743..0493371 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/supplier/client/ISupplierClient.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import com.xjrsoft.common.constant.GlobalConstant; +import com.xjrsoft.module.supplier.vo.LngSupplierVo; /** * @author: ksy @@ -19,6 +20,6 @@ public interface ISupplierClient { Map getAllTranData(); @GetMapping("/getTranById") - String getTranById(@RequestParam("id")String id); + LngSupplierVo getTranById(@RequestParam("id")String id); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CountryRegionClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CountryRegionClientImpl.java index 5743ce6..9065200 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CountryRegionClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CountryRegionClientImpl.java @@ -14,7 +14,9 @@ import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.utils.TenantUtil; import com.xjrsoft.module.mdm.entity.LngBRegion; import com.xjrsoft.module.mdm.service.ICountryRegionService; +import com.xjrsoft.module.mdm.vo.LngBRegionVo; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -43,9 +45,11 @@ public class CountryRegionClientImpl implements ICountryRegionClient { @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngBRegion region = countryRegionService.getByCode(code); - return region!=null?region.getFullPath():null; + public LngBRegionVo getTranById(@RequestParam("id")String code) { + return TenantUtil.ignoreR(()->{ + LngBRegion region = countryRegionService.getByCode(code); + return Convert.convert(LngBRegionVo.class, region); + }); } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CurrencyClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CurrencyClientImpl.java index 5c265ad..9446c93 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CurrencyClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/CurrencyClientImpl.java @@ -9,16 +9,14 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.itextpdf.text.pdf.PdfStructTreeController.returnType; import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.utils.TenantUtil; -import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto; -import com.xjrsoft.module.mdm.entity.LngBBank; import com.xjrsoft.module.mdm.entity.LngBCurrency; -import com.xjrsoft.module.mdm.entity.LngBStationLng; -import com.xjrsoft.module.mdm.service.IBankService; import com.xjrsoft.module.mdm.service.ICurrencyService; -import com.xjrsoft.module.mdm.service.ILNGStationService; - +import com.xjrsoft.module.mdm.vo.LngBCurrencyVo; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -33,23 +31,22 @@ public class CurrencyClientImpl implements ICurrencyClient { private final ICurrencyService currencyService; - @GetMapping("/getAllTranData") - @Override - public Map getAllTranData() { - try { - TenantUtil.ignore(true); - List list = currencyService.list(); - return list.stream().collect(Collectors.toMap(LngBCurrency::getCode,LngBCurrency::getFullName)); - }finally { - TenantUtil.clear(); - } - } - @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngBCurrency currency = currencyService.getByCode(code); - return currency!=null?currency.getFullName():null; + public LngBCurrencyVo getTranById(@RequestParam("id")String code) { + return TenantUtil.ignoreR(()->{ + LngBCurrency currency = currencyService.getByCode(code); + return Convert.convert(LngBCurrencyVo.class, currency); + }); + } + + @GetMapping("/getAllTranData") + @Override + public Map getAllTranData() { + return TenantUtil.ignoreR(()->{ + List list = currencyService.list(); + return list.stream().collect(Collectors.toMap(LngBCurrency::getCode,LngBCurrency::getFullName)); + }); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngBankClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngBankClientImpl.java index dc23c23..3c92fb8 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngBankClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngBankClientImpl.java @@ -16,7 +16,9 @@ import com.xjrsoft.module.mdm.entity.LngBBank; import com.xjrsoft.module.mdm.entity.LngBStationLng; import com.xjrsoft.module.mdm.service.IBankService; import com.xjrsoft.module.mdm.service.ILNGStationService; +import com.xjrsoft.module.mdm.vo.LngBBankVo; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -45,9 +47,12 @@ public class LngBankClientImpl implements ILngBankClient { @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngBBank bank = lngBankService.getByCode(code); - return bank!=null?bank.getFullName():null; + public LngBBankVo getTranById(@RequestParam("id")String code) { + + return TenantUtil.ignoreR(()->{ + LngBBank bank = lngBankService.getByCode(code); + return Convert.convert(LngBBankVo.class,bank); + }); } @Override diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngStationClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngStationClientImpl.java index 69e9479..d5d059b 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngStationClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/mdm/client/LngStationClientImpl.java @@ -13,7 +13,9 @@ import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.utils.TenantUtil; import com.xjrsoft.module.mdm.entity.LngBStationLng; import com.xjrsoft.module.mdm.service.ILNGStationService; +import com.xjrsoft.module.mdm.vo.LngBStationLngVo; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -28,23 +30,13 @@ public class LngStationClientImpl implements ILngStationClient { private final ILNGStationService lngStationService; - @GetMapping("/getAllTranData") - @Override - public Map getAllTranData() { - try { - TenantUtil.ignore(true); - List list = lngStationService.list(); - return list.stream().collect(Collectors.toMap(LngBStationLng::getCode,LngBStationLng::getFullName)); - }finally { - TenantUtil.clear(); - } - } - @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngBStationLng region = lngStationService.getByCode(code); - return region!=null?region.getFullName():null; + public LngBStationLngVo getTranById(@RequestParam("id")String code) { + return TenantUtil.ignoreR(()->{ + LngBStationLng region = lngStationService.getByCode(code); + return Convert.convert(LngBStationLngVo.class, region); + }); } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java index 2c2a9c6..ee227b7 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/CustomerClientImpl.java @@ -1,9 +1,5 @@ package com.xjrsoft.module.sales.client; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -13,7 +9,9 @@ import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.utils.TenantUtil; import com.xjrsoft.module.sales.entity.LngCustomer; import com.xjrsoft.module.sales.service.ICustomerService; +import com.xjrsoft.module.sales.vo.LngCustomerVo; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -28,23 +26,13 @@ public class CustomerClientImpl implements ICustomerClient { private final ICustomerService customerService; - @GetMapping("/getAllTranData") - @Override - public Map getAllTranData() { - try { - TenantUtil.ignore(true); - List list = customerService.list(); - return list.stream().collect(Collectors.toMap(LngCustomer::getCuCode,LngCustomer::getCuName)); - }finally { - TenantUtil.clear(); - } - } - @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngCustomer cu = customerService.getByCode(code); - return cu!=null?cu.getCuName():null; + public LngCustomerVo getTranById(@RequestParam("id")String code) { + return TenantUtil.ignoreR(()->{ + LngCustomer cu = customerService.getByCode(code); + return Convert.convert(LngCustomerVo.class, cu); + }); } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java index d058c81..e6e17a8 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/client/GradeSystemClientImpl.java @@ -13,7 +13,9 @@ import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.utils.TenantUtil; import com.xjrsoft.module.sales.entity.LngGradeSystem; import com.xjrsoft.module.sales.service.IGradeSystemService; +import com.xjrsoft.module.sales.vo.LngGradeSystemVo; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -28,23 +30,13 @@ public class GradeSystemClientImpl implements IGradeSystemClient { private final IGradeSystemService gradeSystemService; - @GetMapping("/getAllTranData") - @Override - public Map getAllTranData() { - try { - TenantUtil.ignore(true); - List list = gradeSystemService.list(); - return list.stream().collect(Collectors.toMap(e -> String.valueOf(e.getId()),LngGradeSystem::getGsName)); - }finally { - TenantUtil.clear(); - } - } - @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngGradeSystem gs = gradeSystemService.getById(code); - return gs!=null?gs.getGsName():null; + public LngGradeSystemVo getTranById(@RequestParam("id")String code) { + return TenantUtil.ignoreR(()->{ + return Convert.convert(LngGradeSystemVo.class, gradeSystemService.getById(code)); + }); + } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java index 6c7342a..98a2791 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/supplier/client/SupplierClientImpl.java @@ -13,7 +13,9 @@ import com.xjrsoft.common.constant.GlobalConstant; import com.xjrsoft.common.utils.TenantUtil; import com.xjrsoft.module.supplier.entity.LngSupplier; import com.xjrsoft.module.supplier.service.ISupplierService; +import com.xjrsoft.module.supplier.vo.LngSupplierVo; +import cn.hutool.core.convert.Convert; import lombok.AllArgsConstructor; /** @@ -42,9 +44,11 @@ public class SupplierClientImpl implements ISupplierClient { @GetMapping("/getTranById") @Override - public String getTranById(@RequestParam("id")String code) { - LngSupplier su = supplierService.getByCode(code); - return su!=null?su.getSuName():null; + public LngSupplierVo getTranById(@RequestParam("id")String code) { + return TenantUtil.ignoreR(()->{ + LngSupplier su = supplierService.getByCode(code); + return Convert.convert(LngSupplierVo.class, su); + }); } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/test/java/com/xjrsoft/test/JsonTest.java b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/test/java/com/xjrsoft/test/JsonTest.java new file mode 100644 index 0000000..8179ce0 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/test/java/com/xjrsoft/test/JsonTest.java @@ -0,0 +1,15 @@ +package com.xjrsoft.test; + +import java.util.Map; + +import cn.hutool.json.JSONUtil; + +public class JsonTest { + + public static void main(String[] args) { + String json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; + Map bean = JSONUtil.toBean(json, Map.class, true); + System.out.println(bean); + } + +} From 31e2b096c2346de5a770d3a998a7b39694a05bae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A7=89=E5=8D=93?= Date: Tue, 20 Jan 2026 18:00:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xjrsoft/module/approve/ApproveDto.java | 4 +- .../module/dayPlan/vo/LngPngApproPurVo.java | 2 +- .../module/dayPlan/vo/LngPngApproVo.java | 2 +- .../controller/PngApproController.java | 14 +- .../dayPlan/mapper/LngPngApproMapper.java | 23 +-- .../dayPlan/service/IPngApproService.java | 6 +- .../service/impl/PngApproServiceImpl.java | 151 ++++++++++++++---- 7 files changed, 155 insertions(+), 47 deletions(-) diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/approve/ApproveDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/approve/ApproveDto.java index 632d50d..ec76f65 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/approve/ApproveDto.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/approve/ApproveDto.java @@ -3,6 +3,8 @@ package com.xjrsoft.module.approve; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @title: 审批通用类 @@ -36,5 +38,5 @@ public class ApproveDto { /** * 操作数据 */ - private T data; + private List data; } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproPurVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproPurVo.java index ac9e4f2..e3d5e81 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproPurVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproPurVo.java @@ -80,7 +80,7 @@ public class LngPngApproPurVo extends com.xjrsoft.common.model.base.BaseModel{ * 采购合同名称 */ @ApiModelProperty("采购合同名称") - private Long kpName; + private String kpName; /** diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproVo.java index f53b505..18557da 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/dayPlan/vo/LngPngApproVo.java @@ -102,7 +102,7 @@ public class LngPngApproVo extends com.xjrsoft.common.model.base.BaseModel{ * 交易主体名称(天然气公司/惠贸) */ @ApiModelProperty("交易主体名称(天然气公司/惠贸)") - private Long comName; + private String comName; /** diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/controller/PngApproController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/controller/PngApproController.java index 9c47529..dc13cb2 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/controller/PngApproController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/controller/PngApproController.java @@ -74,7 +74,15 @@ public class PngApproController { @PostMapping(value = "/approveXS") @SaCheckPermission("pngAppro:approveXS") public R approveXS(@Valid @RequestBody ApproveDto dto){ - pngApproService.approve(dto); + pngApproService.approveXS(dto); + return R.ok(); + } + + @ApiOperation(value = "销售审批") + @PostMapping(value = "/batchApproveXS") + @SaCheckPermission("pngAppro:batchApproveXS") + public R batchApproveXS(@Valid @RequestBody ApproveDto dto){ + pngApproService.approveXS(dto); return R.ok(); } @@ -82,7 +90,7 @@ public class PngApproController { @PostMapping(value = "/approveGD") @SaCheckPermission("pngAppro:approveGD") public R approveGD(@Valid @RequestBody ApproveDto dto){ - pngApproService.approve(dto); + pngApproService.approveGD(dto); return R.ok(); } @@ -90,7 +98,7 @@ public class PngApproController { @PostMapping(value = "/approveJSZ") @SaCheckPermission("pngAppro:approveJSZ") public R approveJSZ(@Valid @RequestBody ApproveDto dto){ - pngApproService.approve(dto); + pngApproService.approveJSZ(dto); return R.ok(); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/mapper/LngPngApproMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/mapper/LngPngApproMapper.java index 0ddcb43..bbea7dd 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/mapper/LngPngApproMapper.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/mapper/LngPngApproMapper.java @@ -25,12 +25,13 @@ import java.util.List; public interface LngPngApproMapper extends MPJBaseMapper, BaseMapper { @Select("SELECT a.id, a.rule_user_id, a.demand_org_id, a.date_plan," + - " (CASE a.date_plan - CURRENT_DATE " + + " (CASE EXTRACT(DAY FROM a.date_plan - CURRENT_DATE)" + " WHEN 0 THEN '当日' " + " WHEN 1 THEN '次日' " + - " ELSE IF(a.date_plan - CURRENT_DATE < 0,'',a.date_plan - CURRENT_DATE || '日后') " + - " END) days_sign" + - " a.cu_code, cu.cu_name, cu.cu_sname, a.ver_no, a.point_dely_code, sp.full_name AS poin_dely_name," + + " ELSE IF(EXTRACT(DAY FROM a.date_plan - CURRENT_DATE) < 0,''," + + " EXTRACT(DAY FROM a.date_plan - CURRENT_DATE) || '日后') " + + " END) days_sign," + + " a.cu_code, cu.cu_name, cu.cu_sname, a.ver_no, a.point_dely_code, sp.full_name AS point_dely_name," + " a.qty_demand_gj, a.qty_demand_m3/10000 AS qty_demand_m3," + " a.qty_sales_gj, a.qty_sales_m3/10000 AS qty_sales_m3," + " a.rate_k, a.rate_mp, a.rate_s, k.k_name, a.alter_sign, dd_iud.name AS alter_name," + @@ -50,12 +51,13 @@ public interface LngPngApproMapper extends MPJBaseMapper, BaseMappe IPage queryPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); @Select("SELECT a.*," + - " (CASE a.date_plan - CURRENT_DATE " + + " (CASE EXTRACT(DAY FROM a.date_plan - CURRENT_DATE)" + " WHEN 0 THEN '当日' " + " WHEN 1 THEN '次日' " + - " ELSE IF(a.date_plan - CURRENT_DATE < 0,'',a.date_plan - CURRENT_DATE || '日后') " + + " ELSE IF(EXTRACT(DAY FROM a.date_plan - CURRENT_DATE) < 0,''," + + " EXTRACT(DAY FROM a.date_plan - CURRENT_DATE) || '日后') " + " END) days_sign," + - " cu.cu_name, cu.cu_sname, sp.full_name AS poin_dely_name," + + " cu.cu_name, cu.cu_sname, sp.full_name AS point_dely_name," + " k.k_name, dd_iud.name AS alter_name," + " com.name AS com_name, dd_a.name as appro_name" + " FROM lng_png_appro a" + @@ -71,12 +73,13 @@ public interface LngPngApproMapper extends MPJBaseMapper, BaseMappe LngPngApproVo getOneById(@Param("id") Long id); @Select("SELECT a.*," + - " (CASE a.date_plan - CURRENT_DATE " + + " (CASE EXTRACT(DAY FROM a.date_plan - CURRENT_DATE)" + " WHEN 0 THEN '当日' " + " WHEN 1 THEN '次日' " + - " ELSE IF(a.date_plan - CURRENT_DATE < 0,'',a.date_plan - CURRENT_DATE || '日后') " + + " ELSE IF(EXTRACT(DAY FROM a.date_plan - CURRENT_DATE) < 0,''," + + " EXTRACT(DAY FROM a.date_plan - CURRENT_DATE) || '日后') " + " END) days_sign," + - " cu.cu_name, cu.cu_sname, sp.full_name AS poin_dely_name," + + " cu.cu_name, cu.cu_sname, sp.full_name AS point_dely_name," + " k.k_name, dd_iud.name AS alter_name," + " com.name AS com_name, dd_a.name as appro_name" + " FROM lng_png_appro a" + diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/IPngApproService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/IPngApproService.java index 8d96abb..9c0d84d 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/IPngApproService.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/IPngApproService.java @@ -27,7 +27,11 @@ public interface IPngApproService extends MPJBaseService, MPJDeepSe LngPngApproVo getInfoById(Long id); - void approve(@Valid ApproveDto dto); + void approveXS(@Valid ApproveDto dto); + + void approveGD(@Valid ApproveDto dto); + + void approveJSZ(@Valid ApproveDto dto); List compare(Long orgId); } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/impl/PngApproServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/impl/PngApproServiceImpl.java index e5ee998..9b9e81b 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/impl/PngApproServiceImpl.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/dayPlan/service/impl/PngApproServiceImpl.java @@ -3,6 +3,7 @@ package com.xjrsoft.module.dayPlan.service.impl; import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.yulichang.base.MPJBaseServiceImpl; @@ -34,6 +35,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.List; /** @@ -93,41 +95,130 @@ public class PngApproServiceImpl extends MPJBaseServiceImpl dto) { - UpdateLngPngApproDto data = dto.getData(); - LngPngAppro lngPngAppro = this.baseMapper.selectById(data.getId()); - if(lngPngAppro == null) { - throw new BusinessException(BusinessCode.of(10500,"找不到此数据")); - } - lngPngAppro.setQtySalesGj(data.getQtySalesGj()); - lngPngAppro.setQtySalesM3(data.getQtySalesM3()); - this.baseMapper.updateById(lngPngAppro); - for (UpdateLngPngApproPurDto lngPngApproPurDto : data.getLngPngApproPurList()) { - LngPngApproPur lngPngApproPur = lngPngApproPurMapper.selectById(lngPngApproPurDto.getId()); - if(lngPngApproPur == null) { - throw new BusinessException(BusinessCode.of(10500,"找不到此数据")); - } - lngPngApproPur.setQtySalesGj(lngPngApproPurDto.getQtySalesGj()); - lngPngApproPur.setQtySalesM3(lngPngApproPurDto.getQtySalesM3()); - lngPngApproPur.setNote(lngPngApproPurDto.getNote()); - lngPngApproPurMapper.updateById(lngPngApproPur); + public void approveXS(ApproveDto dto) { + List data = dto.getData(); + if (CollectionUtils.isEmpty(data)) { + throw new BusinessException(BusinessCode.of(10500,"请选择审批数据")); } String sql = com.pictc.utils.StringUtils.format("{? = call pc_{0}.f_approval(?, ?, ?, ?, ?)}", "lng_png_appro"); - List params = Lists.newArrayList(); - JdbcParam outParam = JdbcParam.ofString(null).setOut(true); - params.add(outParam); - params.add(JdbcParam.ofLong(data.getId())); - params.add(JdbcParam.ofString("XS")); - params.add(JdbcParam.ofString(dto.getResult())); - params.add(JdbcParam.ofString(dto.getRemark())); SaSession tokenSession = StpUtil.getTokenSession(); UserDto user = tokenSession.get(GlobalConstant.LOGIN_USER_INFO_KEY, new UserDto()); - params.add(JdbcParam.ofLong(user.getId())); - JdbcTools.call(sql,params); - String error = outParam.getStringValue(); - if (com.pictc.utils.StringUtils.isNotEmpty(error)) { - throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error)); + for (UpdateLngPngApproDto lngPngApproDto : data) { + LngPngAppro lngPngAppro = this.baseMapper.selectById(lngPngApproDto.getId()); + if(lngPngAppro == null) { + throw new BusinessException(BusinessCode.of(10500,"找不到此数据")); + } + if (CollectionUtils.isEmpty(lngPngApproDto.getLngPngApproPurList())) { + List list = lngPngApproPurMapper.selectList(new LambdaQueryWrapper() + .eq(LngPngApproPur::getApproId, lngPngApproDto.getId())); + if (CollectionUtils.isEmpty(list)) { + throw new BusinessException(BusinessCode.of(10500,"找不到上载点数据")); + } + BigDecimal qtySalesGjTotal = BigDecimal.ZERO; + BigDecimal qtySalesM3Total = BigDecimal.ZERO; + for (LngPngApproPur lngPngApproPur : list) { + lngPngApproPur.setQtySalesGj(lngPngApproPur.getQtyDemandGj()); + lngPngApproPur.setQtySalesM3(lngPngApproPur.getQtyDemandM3()); + lngPngApproPurMapper.updateById(lngPngApproPur); + qtySalesGjTotal = qtySalesGjTotal.add(lngPngApproPur.getQtySalesGj()); + qtySalesM3Total = qtySalesM3Total.add(lngPngApproPur.getQtySalesM3()); + } + lngPngAppro.setQtySalesGj(qtySalesGjTotal); + lngPngAppro.setQtySalesM3(qtySalesM3Total); + this.baseMapper.updateById(lngPngAppro); + } else { + lngPngAppro.setQtySalesGj(lngPngApproDto.getQtySalesGj()); + lngPngAppro.setQtySalesM3(lngPngApproDto.getQtySalesM3()); + this.baseMapper.updateById(lngPngAppro); + for (UpdateLngPngApproPurDto lngPngApproPurDto : lngPngApproDto.getLngPngApproPurList()) { + LngPngApproPur lngPngApproPur = lngPngApproPurMapper.selectById(lngPngApproPurDto.getId()); + if(lngPngApproPur == null) { + throw new BusinessException(BusinessCode.of(10500,"找不到上载点数据")); + } + lngPngApproPur.setQtySalesGj(lngPngApproPurDto.getQtySalesGj()); + lngPngApproPur.setQtySalesM3(lngPngApproPurDto.getQtySalesM3()); + lngPngApproPur.setNote(lngPngApproPurDto.getNote()); + lngPngApproPurMapper.updateById(lngPngApproPur); + } + } + List params = Lists.newArrayList(); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofLong(lngPngApproDto.getId())); + params.add(JdbcParam.ofString("XS")); + params.add(JdbcParam.ofString(dto.getResult())); + params.add(JdbcParam.ofString(dto.getRemark())); + params.add(JdbcParam.ofLong(user.getId())); + JdbcTools.call(sql,params); + String error = outParam.getStringValue(); + if (com.pictc.utils.StringUtils.isNotEmpty(error)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error)); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void approveGD(ApproveDto dto) { + List data = dto.getData(); + if (CollectionUtils.isEmpty(data)) { + throw new BusinessException(BusinessCode.of(10500,"请选择审批数据")); + } + String sql = com.pictc.utils.StringUtils.format("{? = call pc_{0}.f_approval_gd(?, ?, ?, ?, ?)}", + "lng_png_appro"); + SaSession tokenSession = StpUtil.getTokenSession(); + UserDto user = tokenSession.get(GlobalConstant.LOGIN_USER_INFO_KEY, new UserDto()); + for (UpdateLngPngApproDto lngPngApproDto : data) { + LngPngAppro lngPngAppro = this.baseMapper.selectById(lngPngApproDto.getId()); + if(lngPngAppro == null) { + throw new BusinessException(BusinessCode.of(10500,"找不到此数据")); + } + List params = Lists.newArrayList(); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofString(user.getStaCode())); + params.add(JdbcParam.ofLocalDateTime(lngPngAppro.getDatePlan())); + params.add(JdbcParam.ofString(dto.getResult())); + params.add(JdbcParam.ofString(dto.getRemark())); + params.add(JdbcParam.ofLong(user.getId())); + JdbcTools.call(sql,params); + String error = outParam.getStringValue(); + if (com.pictc.utils.StringUtils.isNotEmpty(error)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error)); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void approveJSZ(ApproveDto dto) { + List data = dto.getData(); + if (CollectionUtils.isEmpty(data)) { + throw new BusinessException(BusinessCode.of(10500,"请选择审批数据")); + } + String sql = com.pictc.utils.StringUtils.format("{? = call pc_{0}.f_approval_jsz(?, ?, ?, ?, ?)}", + "lng_png_appro"); + SaSession tokenSession = StpUtil.getTokenSession(); + UserDto user = tokenSession.get(GlobalConstant.LOGIN_USER_INFO_KEY, new UserDto()); + for (UpdateLngPngApproDto lngPngApproDto : data) { + LngPngAppro lngPngAppro = this.baseMapper.selectById(lngPngApproDto.getId()); + if(lngPngAppro == null) { + throw new BusinessException(BusinessCode.of(10500,"找不到此数据")); + } + List params = Lists.newArrayList(); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofString(user.getStaCode())); + params.add(JdbcParam.ofLocalDateTime(lngPngAppro.getDatePlan())); + params.add(JdbcParam.ofString(dto.getResult())); + params.add(JdbcParam.ofString(dto.getRemark())); + params.add(JdbcParam.ofLong(user.getId())); + JdbcTools.call(sql,params); + String error = outParam.getStringValue(); + if (com.pictc.utils.StringUtils.isNotEmpty(error)) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error)); + } } } }