From 468c61442fdb9f931d02aacdc2cb116e45bd7828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 14 Apr 2025 10:55:21 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5=E5=A2=83=E5=86=85=E8=B4=A6?= =?UTF-8?q?=E6=88=B7=E6=98=8E=E7=BB=86=E6=89=80=E5=B1=9E=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E4=B8=80=E5=AF=B9=E5=A4=9A=E3=80=81=E5=AE=A2=E6=88=B7=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E3=80=81=E5=B8=81=E7=A7=8D=E4=B8=8D=E6=98=AF=E4=BA=BA?= =?UTF-8?q?=E6=B0=91=E5=B8=81=EF=BC=88=E5=80=BC=E4=B8=BA10=EF=BC=89?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=90=8C=E6=AD=A5=E6=88=90=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E9=83=A8=EF=BC=881412=EF=BC=89=202.=E5=90=8C=E6=AD=A5=E7=A5=A8?= =?UTF-8?q?=E6=8D=AE=E6=94=B6=E6=AC=BE=E6=98=8E=E7=BB=86=E6=97=B6=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E4=B8=80=E5=AF=B9=E5=A4=9A=E3=80=81=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/mapper/cbs/UfHkrdzbMapper.java | 44 +-- .../salary/mapper/cbs/UfHkrdzbMapper.xml | 278 +----------------- .../salary/remote/cbs8/po/DepartmentPO.java | 22 ++ .../salary/remote/cbs8/po/UfHkrdzbPO.java | 4 +- .../timer/SyncCBSAccountDetailsJob.java | 50 +++- .../salary/timer/SyncCBSPayDetailsJob.java | 57 ++-- 6 files changed, 126 insertions(+), 329 deletions(-) create mode 100644 src/com/engine/salary/remote/cbs8/po/DepartmentPO.java diff --git a/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.java b/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.java index cfe5e56..36fbf43 100644 --- a/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.java +++ b/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.java @@ -1,5 +1,6 @@ package com.engine.salary.mapper.cbs; +import com.engine.salary.remote.cbs8.po.DepartmentPO; import com.engine.salary.remote.cbs8.po.UfHkrdzbPO; import java.util.List; @@ -12,46 +13,11 @@ public interface UfHkrdzbMapper { * @return 返回集合,没有返回空List */ List listAll(); - - /** - * 条件查询 - * - * @return 返回集合,没有返回空List - */ - List listSome(UfHkrdzbPO ufHkrdzb); - /** - * 根据主键查询 - * - * @param id 主键 - * @return 返回记录,没有返回null - */ - UfHkrdzbPO getById(Integer id); - - /** - * 新增,忽略null字段 - * - * @param ufHkrdzb 新增的记录 - * @return 返回影响行数 - */ - int insertIgnoreNull(UfHkrdzbPO ufHkrdzb); - - /** - * 修改,修改所有字段 - * - * @param ufHkrdzb 修改的记录 - * @return 返回影响行数 - */ - int update(UfHkrdzbPO ufHkrdzb); - - /** - * 修改,忽略null字段 - * - * @param ufHkrdzb 修改的记录 - * @return 返回影响行数 - */ - int updateIgnoreNull(UfHkrdzbPO ufHkrdzb); - + * 查询所有部门 + * @return + */ + List listDepartment(); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.xml b/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.xml index 7380ec2..dc7265b 100644 --- a/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.xml +++ b/src/com/engine/salary/mapper/cbs/UfHkrdzbMapper.xml @@ -17,9 +17,9 @@ + - @@ -41,6 +41,7 @@ , t.bmbm , t.bmd , t.bm + , t.khsx , t.modedatamodifier , t.modedatamodifydatetime @@ -49,274 +50,21 @@ - - - - - - - - - INSERT INTO uf_hkrdzb - - - - requestId, - - - formmodeid, - - - modedatacreater, - - - modedatacreatertype, - - - modedatacreatedate, - - - modedatacreatetime, - - - MODEUUID, - - - form_biz_id, - - - gsbm, - - - khbm, - - - khmc, - - - bmbm, - - - bmd, - - - bm, - - - modedatamodifier, - - - modedatamodifydatetime, - - - - - #{requestId}, - - - #{formmodeid}, - - - #{modedatacreater}, - - - #{modedatacreatertype}, - - - #{modedatacreatedate}, - - - #{modedatacreatetime}, - - - #{modeuuid}, - - - #{formBizId}, - - - #{gsbm}, - - - #{khbm}, - - - #{khmc}, - - - #{bmbm}, - - - #{bmd}, - - - #{bm}, - - - #{modedatamodifier}, - - - #{modedatamodifydatetime}, - - - - - - - - - UPDATE uf_hkrdzb - - requestId=#{requestId}, - formmodeid=#{formmodeid}, - modedatacreater=#{modedatacreater}, - modedatacreatertype=#{modedatacreatertype}, - modedatacreatedate=#{modedatacreatedate}, - modedatacreatetime=#{modedatacreatetime}, - MODEUUID=#{modeuuid}, - form_biz_id=#{formBizId}, - gsbm=#{gsbm}, - khbm=#{khbm}, - khmc=#{khmc}, - bmbm=#{bmbm}, - bmd=#{bmd}, - bm=#{bm}, - modedatamodifier=#{modedatamodifier}, - modedatamodifydatetime=#{modedatamodifydatetime}, - - WHERE id = #{id} - - - - - - UPDATE uf_hkrdzb - - - requestId=#{requestId}, - - - formmodeid=#{formmodeid}, - - - modedatacreater=#{modedatacreater}, - - - modedatacreatertype=#{modedatacreatertype}, - - - modedatacreatedate=#{modedatacreatedate}, - - - modedatacreatetime=#{modedatacreatetime}, - - - MODEUUID=#{modeuuid}, - - - form_biz_id=#{formBizId}, - - - gsbm=#{gsbm}, - - - khbm=#{khbm}, - - - khmc=#{khmc}, - - - bmbm=#{bmbm}, - - - bmd=#{bmd}, - - - bm=#{bm}, - - - modedatamodifier=#{modedatamodifier}, - - - modedatamodifydatetime=#{modedatamodifydatetime}, - - - WHERE id = #{id} - - - + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/remote/cbs8/po/DepartmentPO.java b/src/com/engine/salary/remote/cbs8/po/DepartmentPO.java new file mode 100644 index 0000000..be96834 --- /dev/null +++ b/src/com/engine/salary/remote/cbs8/po/DepartmentPO.java @@ -0,0 +1,22 @@ +package com.engine.salary.remote.cbs8.po; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Collection; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DepartmentPO { + private String id; + + private String name; + + private String code; + +} \ No newline at end of file diff --git a/src/com/engine/salary/remote/cbs8/po/UfHkrdzbPO.java b/src/com/engine/salary/remote/cbs8/po/UfHkrdzbPO.java index 4d3de9b..6628ef5 100644 --- a/src/com/engine/salary/remote/cbs8/po/UfHkrdzbPO.java +++ b/src/com/engine/salary/remote/cbs8/po/UfHkrdzbPO.java @@ -43,6 +43,8 @@ public class UfHkrdzbPO { private Integer bm; + private Integer khsx; + private Integer modedatamodifier; private String modedatamodifydatetime; @@ -50,6 +52,4 @@ public class UfHkrdzbPO { private Collection ids; - private Integer departmentId; - } \ No newline at end of file diff --git a/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java b/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java index d130faa..7ab24fd 100644 --- a/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java +++ b/src/com/engine/salary/timer/SyncCBSAccountDetailsJob.java @@ -6,6 +6,7 @@ import com.engine.salary.mapper.SQLMapper; import com.engine.salary.mapper.cbs.UfHkrdzbMapper; import com.engine.salary.remote.cbs8.client.AccountManagementClient; import com.engine.salary.remote.cbs8.config.EBS2ECConfig; +import com.engine.salary.remote.cbs8.po.DepartmentPO; import com.engine.salary.remote.cbs8.po.UfHkrdzbPO; import com.engine.salary.remote.cbs8.request.GetTransactionDetailRequest; import com.engine.salary.remote.cbs8.response.GetTransactionDetailResponse; @@ -184,7 +185,9 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { //获取汇款人与办事处的对照数据 List ufHkrdzbPOS = getUfHkrdzbMapper().listAll(); - Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, UfHkrdzbPO::getKhmc, UfHkrdzbPO::getDepartmentId); + Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, UfHkrdzbPO::getKhmc); + List departmentPOS = getUfHkrdzbMapper().listDepartment(); + Map departmentMap = SalaryEntityUtil.convert2Map(departmentPOS, DepartmentPO::getCode, DepartmentPO::getId); for (GetTransactionDetailResponse.Detail detail : list) { Map detailMap = JsonUtil.parseMap(detail, String.class); @@ -239,12 +242,15 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { /* * 认领逻辑, + * 如果币种不是人名币,认领部门是国际部 * 根据汇款人去表里匹配【汇款人与办事处的对照表】 * 如果能匹配到数据,则状态改为已自动认领,同时把办事处(部门)的值同步到办事处字段中,是否系统自动认领同步为是; * 如对照标准无数据,则状态为:未认领; */ - Integer departmentId = customerDepartmentMap.get(hkr); - if (departmentId != null) { + UfHkrdzbPO ufHkrdzbPO = customerDepartmentMap.get(hkr); + //币种不是人名币,国际部认领 + String currency = detailMap.get("currency"); + if (!"10".equals(currency)) { //认领 fields.add("zt"); values.add(1); @@ -255,7 +261,43 @@ public class SyncCBSAccountDetailsJob extends BaseCronJob { //办事处 fields.add("szbm"); - values.add(String.format("'%s'", departmentId)); + values.add(String.format("'%s'", "1412")); + + if (ufHkrdzbPO != null && ufHkrdzbPO.getKhsx() != null) { + //客户属性 + fields.add("khsx"); + values.add(ufHkrdzbPO.getKhsx()); + } + + } else if (ufHkrdzbPO != null) { + + //客户属性 + Integer khsx = ufHkrdzbPO.getKhsx(); + if (khsx != null) { + fields.add("khsx"); + values.add(khsx); + } + + + String bmbms = ufHkrdzbPO.getBmbm(); + if (StrUtil.isNotEmpty(bmbms)) { + //认领 + fields.add("zt"); + values.add(1); + + //是否系统认领 + fields.add("sfxtzdrl"); + values.add(1); + + //办事处 + fields.add("szbm"); + List bmbmList = Arrays.stream(bmbms.split(",")).map(departmentMap::get).filter(StrUtil::isNotBlank).collect(Collectors.toList()); + values.add(String.format("'%s'", String.join(",", bmbmList))); + } else { + //未认领 + fields.add("zt"); + values.add(0); + } } else { //未认领 fields.add("zt"); diff --git a/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java b/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java index 845b1e5..4506ec4 100644 --- a/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java +++ b/src/com/engine/salary/timer/SyncCBSPayDetailsJob.java @@ -6,6 +6,7 @@ import com.engine.salary.mapper.SQLMapper; import com.engine.salary.mapper.cbs.UfHkrdzbMapper; import com.engine.salary.remote.cbs8.client.BillManagementClient; import com.engine.salary.remote.cbs8.config.EBS2ECConfig; +import com.engine.salary.remote.cbs8.po.DepartmentPO; import com.engine.salary.remote.cbs8.po.UfHkrdzbPO; import com.engine.salary.remote.cbs8.request.GetDtaRequest; import com.engine.salary.remote.cbs8.response.GetDtaResponse; @@ -188,8 +189,8 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { requestParam.setDueDateStart(dueDateStart); requestParam.setDueDateEnd(dueDateEnd); requestParam.setBillType(billType); - requestParam.setDraftSourceList(draftSourceList==null ? null :Arrays.stream(draftSourceList.split(",")).collect(Collectors.toList())); - requestParam.setHoldBankTypeList(holdBankTypeList==null ? null :Arrays.stream(holdBankTypeList.split(",")).collect(Collectors.toList())); + requestParam.setDraftSourceList(draftSourceList == null ? null : Arrays.stream(draftSourceList.split(",")).collect(Collectors.toList())); + requestParam.setHoldBankTypeList(holdBankTypeList == null ? null : Arrays.stream(holdBankTypeList.split(",")).collect(Collectors.toList())); requestParam.setIssueDateStart(issueDateStart); requestParam.setIssueDateEnd(issueDateEnd); requestParam.setDraftNbr(draftNbr); @@ -198,8 +199,8 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { requestParam.setBillAmountEnd(billAmountEnd); requestParam.setSubBillIntervalStart(subBillIntervalStart); requestParam.setSubBillIntervalEnd(subBillIntervalEnd); - requestParam.setBillStsList(billStsList==null ? null :Arrays.stream(billStsList.split(",")).collect(Collectors.toList())); - requestParam.setBillTrsStsList(billTrsStsList==null ? null :Arrays.stream(billTrsStsList.split(",")).collect(Collectors.toList())); + requestParam.setBillStsList(billStsList == null ? null : Arrays.stream(billStsList.split(",")).collect(Collectors.toList())); + requestParam.setBillTrsStsList(billTrsStsList == null ? null : Arrays.stream(billTrsStsList.split(",")).collect(Collectors.toList())); requestParam.setStockFlag(stockFlag); requestParam.setOutInvType(outInvType); requestParam.setLockFlag(lockFlag); @@ -243,7 +244,9 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { //获取汇款人与办事处的对照数据 List ufHkrdzbPOS = getUfHkrdzbMapper().listAll(); - Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, UfHkrdzbPO::getKhmc, UfHkrdzbPO::getDepartmentId); + Map customerDepartmentMap = SalaryEntityUtil.convert2Map(ufHkrdzbPOS, UfHkrdzbPO::getKhmc); + List departmentPOS = getUfHkrdzbMapper().listDepartment(); + Map departmentMap = SalaryEntityUtil.convert2Map(departmentPOS, DepartmentPO::getCode, DepartmentPO::getId); for (GetDtaResponse.Detail detail : list) { @@ -294,7 +297,7 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { //业务逻辑字段,收款类型 fields.add("sklx"); //应收票据 0:银承 1:商承 - values. add("AC01".equals(detail.getBillType()) ? 0 : 1); + values.add("AC01".equals(detail.getBillType()) ? 0 : 1); /* * 认领逻辑, @@ -302,20 +305,36 @@ public class SyncCBSPayDetailsJob extends BaseCronJob { * 如果能匹配到数据,则状态改为已自动认领,同时把办事处(部门)的值同步到办事处字段中,是否系统自动认领同步为是; * 如对照标准无数据,则状态为:未认领; */ - Integer departmentId = customerDepartmentMap.get(hkr); - if(departmentId!=null){ - //认领 - fields.add("zt"); - values.add(1); - - //是否系统认领 - fields.add("sfxtzdrl"); - values.add(1); + UfHkrdzbPO ufHkrdzbPO = customerDepartmentMap.get(hkr); + if (ufHkrdzbPO != null) { + + //客户属性 + Integer khsx = ufHkrdzbPO.getKhsx(); + if (khsx != null) { + fields.add("khsx"); + values.add(khsx); + } - //办事处 - fields.add("szbm"); - values.add(String.format("'%s'", departmentId)); - }else { + String bmbms = ufHkrdzbPO.getBmbm(); + if (StrUtil.isNotEmpty(bmbms)) { + //认领 + fields.add("zt"); + values.add(1); + + //是否系统认领 + fields.add("sfxtzdrl"); + values.add(1); + + //办事处 + fields.add("szbm"); + List bmbmList = Arrays.stream(bmbms.split(",")).map(departmentMap::get).filter(StrUtil::isNotBlank).collect(Collectors.toList()); + values.add(String.format("'%s'", String.join(",", bmbmList))); + } else { + //未认领 + fields.add("zt"); + values.add(0); + } + } else { //未认领 fields.add("zt"); values.add(0);