From edb450daadfe5d4096dbebf7eb4c812b2e3ca345 Mon Sep 17 00:00:00 2001 From: zhengyf Date: Tue, 5 Aug 2025 09:38:00 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E5=87=AD=E8=AF=81?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=EF=BC=8C=E5=8A=A8=E6=80=81=E5=88=97=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/controller/CoreController.java | 11 +- .../ae/push/controller/PushLogController.java | 30 ++- .../service/IAePushVoucherLogService.java | 3 + .../impl/AePushVoucherLogServiceImpl.java | 233 +++++++++++++++++- 4 files changed, 261 insertions(+), 16 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java index f465422b..293034cf 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java @@ -11,8 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by zydd on 2025-07-09 10:10 @@ -41,13 +40,19 @@ public class CoreController extends DefaultController { } + /** + * 存在重复单号,需要将单号去重 + */ @RequestMapping(value = "/generate", method = RequestMethod.POST) public JsonResultEntity generateVoucher(@RequestBody CreateVoucherVO createVoucherVO) { try { String billCodes = createVoucherVO.getBillCode(); String[] split = billCodes.split(","); - for (String s : split) { + Set set = new LinkedHashSet<>(Arrays.asList(split)); + String[] uniqueArray = set.toArray(new String[0]); + + for (String s : uniqueArray) { createVoucherVO.setBillCode(s); coreService.generateVoucher(createVoucherVO); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/controller/PushLogController.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/controller/PushLogController.java index 3ea51ba5..79dbd9c6 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/controller/PushLogController.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/controller/PushLogController.java @@ -2,6 +2,7 @@ package com.hzya.frame.voucher.ae.push.controller; import cn.hutool.core.lang.Assert; import com.github.pagehelper.PageInfo; +import com.hzya.frame.mdm.entity.MdmViewVo; import com.hzya.frame.voucher.ae.generate.core.service.ICoreService; import com.hzya.frame.voucher.ae.generate.core.vo.CreateVoucherVO; import com.hzya.frame.voucher.ae.push.entity.AePushVoucherLogDetailsEntity; @@ -31,17 +32,16 @@ public class PushLogController extends DefaultController { private IAePushVoucherLogService aePushVoucherLogService; - /** * 查询单据,根据状态 * 以mdm为准,查询所有单据,过滤日志表 */ @RequestMapping(value = "/queryBill", method = RequestMethod.POST) - public JsonResultEntity queryBill(@RequestBody AePushVoucherLogEntity entity){ + public JsonResultEntity queryBill(@RequestBody AePushVoucherLogEntity entity) { try { List voucherLogEntityList = aePushVoucherLogService.queryBill(entity); - return getSuccessMessageEntity("请求成功",voucherLogEntityList); - }catch (Exception e){ + return getSuccessMessageEntity("请求成功", voucherLogEntityList); + } catch (Exception e) { e.printStackTrace(); return getFailureMessageEntity(e.getMessage()); } @@ -51,11 +51,11 @@ public class PushLogController extends DefaultController { * 查询明细 */ @RequestMapping(value = "/queryDetailsByBillCode", method = RequestMethod.POST) - public JsonResultEntity queryDetailsByBillCode(@RequestBody AePushVoucherLogEntity entity){ + public JsonResultEntity queryDetailsByBillCode(@RequestBody AePushVoucherLogEntity entity) { try { List voucherLogDetails = aePushVoucherLogService.queryDetailsByBillCode(entity); - return getSuccessMessageEntity("请求成功",voucherLogDetails); - }catch (Exception e){ + return getSuccessMessageEntity("请求成功", voucherLogDetails); + } catch (Exception e) { e.printStackTrace(); return getFailureMessageEntity(e.getMessage()); } @@ -66,8 +66,20 @@ public class PushLogController extends DefaultController { public JsonResultEntity queryBillPaged(@RequestBody CreateVoucherVO vo) { try { PageInfo pageInfo = aePushVoucherLogService.queryBillPaged(vo); - return getSuccessMessageEntity("请求成功",pageInfo); - }catch (Exception e){ + return getSuccessMessageEntity("请求成功", pageInfo); + } catch (Exception e) { + e.printStackTrace(); + return getFailureMessageEntity(e.getMessage()); + } + } + + //查需字段以及规则 + @RequestMapping(value = "/queryBillFileds", method = RequestMethod.POST) + public JsonResultEntity queryBillFileds(@RequestBody CreateVoucherVO vo) { + try { + MdmViewVo mdmViewVo = aePushVoucherLogService.queryBillFileds(vo); + return getSuccessMessageEntity("请求成功", mdmViewVo); + } catch (Exception e) { e.printStackTrace(); return getFailureMessageEntity(e.getMessage()); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/service/IAePushVoucherLogService.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/service/IAePushVoucherLogService.java index 00ba27ac..2667f932 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/service/IAePushVoucherLogService.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/push/service/IAePushVoucherLogService.java @@ -1,6 +1,7 @@ package com.hzya.frame.voucher.ae.push.service; import com.github.pagehelper.PageInfo; +import com.hzya.frame.mdm.entity.MdmViewVo; import com.hzya.frame.voucher.ae.generate.core.vo.CreateVoucherVO; import com.hzya.frame.voucher.ae.push.entity.AePushVoucherLogDetailsEntity; import com.hzya.frame.voucher.ae.push.entity.AePushVoucherLogEntity; @@ -23,4 +24,6 @@ public interface IAePushVoucherLogService extends IBaseService mdmModuleEntityList = mdmModuleDao.query(mdmModuleEntity); + if(mdmModuleEntityList.size()==0){ + Assert.state(false,"根据mdmId:{},查询模板失败。",mdmId); + } + //设置模版 + mdmViewVo.setMdmModuleEntity(mdmModuleEntityList.get(0)); + //查询展示类型 + MdmModuleViewEntity mdmModuleViewEntity = new MdmModuleViewEntity(); + mdmModuleViewEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleViewEntity.setSts("Y"); + List moduleViewEntityList = mdmModuleViewDao.queryBase(mdmModuleViewEntity); + if (moduleViewEntityList == null || moduleViewEntityList.size() != 1) { + Assert.state(false,"根据mdmId:{},查询展示类型失败。",mdmId); + } + mdmModuleViewEntity = moduleViewEntityList.get(0); + mdmViewVo.setMdmModuleViewEntity(mdmModuleViewEntity); + //查询数据源主表 + MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity(); + mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleDbEntity.setSts("Y"); + List mdmModuleDbEntityList = mdmServiceCache.queryMdmModuleDb(mdmModuleDbEntity); + if (mdmModuleDbEntityList == null || mdmModuleDbEntityList.size() == 0) { + Assert.state(false,"根据mdmId:{},查询数据源主表失败。",mdmId); + } + //查询数据源表下面的字段 + MdmModuleDbFiledsEntity mdmModuleDbFiledsEntity = new MdmModuleDbFiledsEntity(); + mdmModuleDbFiledsEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleDbFiledsEntity.setSts("Y"); + List mdmModuleDbFiledsEntityList = mdmServiceCache.queryMdmModuleDbFileds(mdmModuleDbFiledsEntity); + if (mdmModuleDbFiledsEntityList == null || mdmModuleDbFiledsEntityList.size() == 0) { + Assert.state(false,"根据mdmId:{},查询数据源表下面的字段失败。",mdmId); + } + //查询字段下的规则 + MdmModuleDbFiledsRuleEntity mdmModuleDbFiledsRuleEntity = new MdmModuleDbFiledsRuleEntity(); + mdmModuleDbFiledsRuleEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleDbFiledsRuleEntity.setSts("Y"); + List mdmModuleDbFiledsRuleEntityList = mdmModuleDbFiledsRuleDao.queryBase(mdmModuleDbFiledsRuleEntity); + if (mdmModuleDbFiledsRuleEntityList == null || mdmModuleDbFiledsRuleEntityList.size() == 0) { + Assert.state(false,"查询字段下的规则失败"); + } + //查询设置的查询字段 + MdmModuleViewDetailEntity mdmModuleViewDetailEntity = new MdmModuleViewDetailEntity(); + mdmModuleViewDetailEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleViewDetailEntity.setSts("Y"); + List mdmModuleViewDetailEntities = mdmModuleViewDetailDao.queryBase(mdmModuleViewDetailEntity); + if (mdmModuleViewDetailEntities == null || mdmModuleViewDetailEntities.size() == 0) { + Assert.state(false,"查询设置的查询字段失败"); + } + List queryList = getFiledByType("1", mdmModuleViewDetailEntities, mdmModuleDbEntityList, mdmModuleDbFiledsEntityList, mdmModuleDbFiledsRuleEntityList); + mdmViewVo.setQueryList(queryList); + List listList = getFiledByType("2", mdmModuleViewDetailEntities, mdmModuleDbEntityList, mdmModuleDbFiledsEntityList, mdmModuleDbFiledsRuleEntityList); + mdmViewVo.setListList(listList); + + }catch (Exception e){ + e.printStackTrace(); + Assert.state(false,"查询字段失败。"); + } + return mdmViewVo; + + } + @Override public List queryDetailsByBillCode(AePushVoucherLogEntity entity) { @@ -412,6 +502,141 @@ public class AePushVoucherLogServiceImpl extends BaseService getFiledByType(String viewType, List mdmModuleViewDetailEntities, List mdmModuleDbEntityList, List mdmModuleDbFiledsEntityList, List mdmModuleDbFiledsRuleEntityList) { + List mdmViewFiledVos = new ArrayList<>(); + for (int i = 0; i < mdmModuleDbEntityList.size(); i++) { + if ("1".equals(mdmModuleDbEntityList.get(i).getDbType())) { + MdmViewFiledVo rule = new MdmViewFiledVo(); + rule.setDbName(mdmModuleDbEntityList.get(i).getDbName()); + rule.setDbType("1"); + rule.setMdmId(mdmModuleDbEntityList.get(i).getMdmId()); + rule.setDbId(mdmModuleDbEntityList.get(i).getId()); + rule.setChName("单据规则"); + rule.setEnName("document_rule"); + mdmViewFiledVos.add(rule); + List msgRule = new ArrayList<>(); + MdmModuleDbFiledsRuleEntity msgRuleTitie = new MdmModuleDbFiledsRuleEntity(); + msgRuleTitie.setFormName("optionRuleForm"); + msgRuleTitie.setRuleCode("title"); + msgRuleTitie.setRuleName("显示名"); + msgRuleTitie.setRuleType("2"); + msgRuleTitie.setRuleValue("单据编码"); + MdmModuleDbFiledsRuleEntity msgRulerow = new MdmModuleDbFiledsRuleEntity(); + msgRulerow.setFormName("optionRuleForm"); + msgRulerow.setRuleCode("row"); + msgRulerow.setRuleName("宽度"); + msgRulerow.setRuleType("2"); + msgRulerow.setRuleValue("12"); + MdmModuleDbFiledsRuleEntity msgRuletype = new MdmModuleDbFiledsRuleEntity(); + msgRuletype.setFormName("optionRuleForm"); + msgRuletype.setRuleCode("type"); + msgRuletype.setRuleName("数据类型"); + msgRuletype.setRuleType("2"); + msgRuletype.setRuleValue("input"); + MdmModuleDbFiledsRuleEntity msgRulerequired = new MdmModuleDbFiledsRuleEntity(); + msgRulerequired.setFormName("optionRuleForm"); + msgRulerequired.setRuleCode("required"); + msgRulerequired.setRuleName("必填"); + msgRulerequired.setRuleType("2"); + MdmModuleDbFiledsRuleEntity withs = new MdmModuleDbFiledsRuleEntity(); + withs.setFormName("optionRuleForm"); + withs.setRuleCode("width"); + withs.setRuleName("宽度"); + withs.setRuleType("2"); + withs.setRuleValue("200"); + msgRule.add(withs); + msgRule.add(msgRulerequired); + msgRule.add(msgRuletype); + msgRule.add(msgRulerow); + msgRule.add(msgRuleTitie); + rule.setRuleList(msgRule); + } + } + if (mdmModuleViewDetailEntities != null && mdmModuleViewDetailEntities.size() > 0) { + for (int i = 0; i < mdmModuleViewDetailEntities.size(); i++) { + if (viewType.equals(mdmModuleViewDetailEntities.get(i).getViewType())) { + //类型一致 + MdmViewFiledVo mdmViewFiledVo = new MdmViewFiledVo(); + mdmViewFiledVo.setId(mdmModuleViewDetailEntities.get(i).getViewFiled()); + for (int i1 = 0; i1 < mdmModuleDbFiledsEntityList.size(); i1++) { + if (mdmModuleDbFiledsEntityList.get(i1).getId().equals(mdmModuleViewDetailEntities.get(i).getViewFiled())) { + for (int i2 = 0; i2 < mdmModuleDbEntityList.size(); i2++) { + if (mdmModuleDbEntityList.get(i2).getId().equals(mdmModuleDbFiledsEntityList.get(i1).getDbId())) { + mdmViewFiledVo.setDbName(mdmModuleDbEntityList.get(i2).getDbName()); + mdmViewFiledVo.setDbType(mdmModuleDbEntityList.get(i2).getDbType()); + mdmViewFiledVo.setMdmId(mdmModuleDbEntityList.get(i2).getMdmId()); + mdmViewFiledVo.setDbId(mdmModuleDbEntityList.get(i2).getId()); + + break; + } + } + mdmViewFiledVo.setChName(mdmModuleDbFiledsEntityList.get(i1).getChName()); + mdmViewFiledVo.setEnName(mdmModuleDbFiledsEntityList.get(i1).getEnName()); + + mdmViewFiledVo.setFiledType(mdmModuleDbFiledsEntityList.get(i1).getFiledType()); + //字段规则 + if (mdmModuleDbFiledsRuleEntityList != null && mdmModuleDbFiledsRuleEntityList.size() > 0) { + List ruleList = new ArrayList<>(); + for (int i2 = 0; i2 < mdmModuleDbFiledsRuleEntityList.size(); i2++) { + if (mdmModuleDbFiledsEntityList.get(i1).getId().equals(mdmModuleDbFiledsRuleEntityList.get(i2).getFiledId())) { + ruleList.add(mdmModuleDbFiledsRuleEntityList.get(i2)); + } + } + mdmViewFiledVo.setRuleList(ruleList); + if ("data_status".equals(mdmModuleDbFiledsEntityList.get(i1).getEnName())) { + List a = new ArrayList<>(); + + MdmModuleDbFiledsRuleEntity msgRuleTitie = new MdmModuleDbFiledsRuleEntity(); + msgRuleTitie.setFormName("optionRuleForm"); + msgRuleTitie.setRuleCode("title"); + msgRuleTitie.setRuleName("显示名"); + msgRuleTitie.setRuleType("2"); + msgRuleTitie.setRuleValue("数据状态"); + MdmModuleDbFiledsRuleEntity msgRulerow = new MdmModuleDbFiledsRuleEntity(); + msgRulerow.setFormName("optionRuleForm"); + msgRulerow.setRuleCode("row"); + msgRulerow.setRuleName("宽度"); + msgRulerow.setRuleType("2"); + msgRulerow.setRuleValue("12"); + MdmModuleDbFiledsRuleEntity msgRuletype = new MdmModuleDbFiledsRuleEntity(); + msgRuletype.setFormName("optionRuleForm"); + msgRuletype.setRuleCode("type"); + msgRuletype.setRuleName("数据类型"); + msgRuletype.setRuleType("2"); + msgRuletype.setRuleValue("input"); + MdmModuleDbFiledsRuleEntity msgRulerequired = new MdmModuleDbFiledsRuleEntity(); + msgRulerequired.setFormName("optionRuleForm"); + msgRulerequired.setRuleCode("required"); + msgRulerequired.setRuleName("必填"); + msgRulerequired.setRuleType("2"); + MdmModuleDbFiledsRuleEntity withs = new MdmModuleDbFiledsRuleEntity(); + withs.setFormName("optionRuleForm"); + withs.setRuleCode("width"); + withs.setRuleName("宽度"); + withs.setRuleType("2"); + withs.setRuleValue("200"); + a.add(withs); + a.add(msgRulerequired); + a.add(msgRuletype); + a.add(msgRulerow); + a.add(msgRuleTitie); + mdmViewFiledVo.setRuleList(a); + } + } + break; + } + } + mdmViewFiledVos.add(mdmViewFiledVo); + } + } + } + if (mdmViewFiledVos != null && mdmViewFiledVos.size() > 0) { + for (int i = 0; i < mdmViewFiledVos.size(); i++) { + mdmViewFiledVos.get(i).setSorts(i); + } + } + return mdmViewFiledVos; + }