From 4c50b026f8560528fa72d6240b3a098e45943e70 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Tue, 27 Aug 2024 15:11:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=87=AD=E8=AF=81=E5=8F=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8C=87=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nxproof/glPzml/dao/ISenderGlPzmlDao.java | 11 ++ .../glPzml/dao/impl/SenderGlPzmlDaoImpl.java | 7 ++ .../glPzml/entity/SenderGlPzmlEntity.java | 10 ++ .../glPzml/entity/SenderGlPzmlEntity.xml | 25 +++++ .../glPzml/service/ISenderGlPzmlService.java | 4 +- .../service/impl/SenderGlPzmlServiceImpl.java | 106 +++++++++++++----- 6 files changed, 134 insertions(+), 29 deletions(-) diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/ISenderGlPzmlDao.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/ISenderGlPzmlDao.java index 529198c9..fda53f20 100644 --- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/ISenderGlPzmlDao.java +++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/ISenderGlPzmlDao.java @@ -4,6 +4,7 @@ import com.hzya.frame.basedao.dao.IBaseDao; import com.hzya.frame.grpU8.nxproof.glPzml.entity.SenderGlPzmlEntity; import java.util.List; +import java.util.Map; /** * (gl_pzml: table)表数据库访问层 @@ -83,6 +84,16 @@ public interface ISenderGlPzmlDao extends IBaseDao { * **/ Integer deleteGlPzmlHealthBureau(SenderGlPzmlEntity senderGlPzmlEntity); + /** + * + * @content 查询凭证 商学院 + * @Param + * @Return + * @Author hecan + * @Date 2024/8/14 16:25 + * **/ + List queryGlPzmlSxy(SenderGlPzmlEntity senderGlPzmlEntity); + } diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/impl/SenderGlPzmlDaoImpl.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/impl/SenderGlPzmlDaoImpl.java index 9b4655f7..ccaa162a 100644 --- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/impl/SenderGlPzmlDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/dao/impl/SenderGlPzmlDaoImpl.java @@ -8,6 +8,7 @@ import com.hzya.frame.grpU8.nxproof.glPzml.entity.SenderGlPzmlEntity; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** * (GlPzml)表数据库访问层 @@ -60,5 +61,11 @@ public class SenderGlPzmlDaoImpl extends MybatisGenericDao queryGlPzmlSxy(SenderGlPzmlEntity senderGlPzmlEntity) { + return (List) super.selectList("queryGlPzmlSxy",senderGlPzmlEntity); + } } diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.java index bcaf3369..11865f92 100644 --- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.java +++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.java @@ -54,6 +54,16 @@ public class SenderGlPzmlEntity extends BaseEntity { private String stamp; private String yspzje; + private String bmdm; + + public String getBmdm() { + return bmdm; + } + + public void setBmdm(String bmdm) { + this.bmdm = bmdm; + } + public String getPzsbm() { return pzsbm; } diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.xml b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.xml index 86d48292..a130f435 100644 --- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.xml +++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/entity/SenderGlPzmlEntity.xml @@ -259,6 +259,31 @@ + + + insert into gl_pzml( diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/service/ISenderGlPzmlService.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/service/ISenderGlPzmlService.java index ad085e24..c0397b3b 100644 --- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/service/ISenderGlPzmlService.java +++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/glPzml/service/ISenderGlPzmlService.java @@ -95,11 +95,11 @@ public interface ISenderGlPzmlService extends IBaseService pzmlEntities = senderGlPzmlDao.query(glPzmlEntity); - if(CollectionUtils.isEmpty(pzmlEntities)){ + List list = senderGlPzmlDao.queryGlPzmlSxy(glPzmlEntity); + if(CollectionUtils.isEmpty(list)){ return BaseResult.getSuccessMessageEntity("没有需要同步得凭证",null); } - for (SenderGlPzmlEntity pzmlEntity : pzmlEntities) { - String pzNum = pzmlEntity.getGsdm() + "_" + pzmlEntity.getZth() + "_" + pzmlEntity.getKjqj() + "_" + pzmlEntity.getPzh(); - JSONObject jsonObjectParams=new JSONObject(); - jsonObjectParams.put("code",pzmlEntity.getIdpzh());//pzid - jsonObjectParams.put("budgetYear",pzmlEntity.getKjqj().substring(0,4));//预算年度 - jsonObjectParams.put("applyDate",DateUtil.format(new Date(),"yyyy-MM-dd"));//日期 - jsonObjectParams.put("userCode","");//用户编码 - jsonObjectParams.put("depCode","");//部门编码 - jsonObjectParams.put("description",pzmlEntity.getPzzy());//说明 - jsonObjectParams.put("amount",pzmlEntity.getPzje());//金额 - jsonObjectParams.put("pzNum",pzNum);//凭证号 例如:公司代码+账套号+会计期间+凭证号:001_001_202408_付款_1 - JSONArray jsonArray=new JSONArray(); - jsonArray.add(jsonObjectParams); - JSONObject jsonObjectData=new JSONObject(); - jsonObjectData.put("data",jsonArray); - - + try { + String result=null; + for (SenderGlPzmlEntity pzmlEntity : list) { + String pzNum = pzmlEntity.getGsdm() + "_" + pzmlEntity.getZth() + "_" + pzmlEntity.getKjqj() + "_" + pzmlEntity.getPzh(); + //转换日期,如将20240514转为2024-05-14 + SimpleDateFormat inputFormat = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date = inputFormat.parse(pzmlEntity.getSrrq()); + String outputDateString = outputFormat.format(date); + //将金额四舍五入 + BigDecimal bigDecimalValue = new BigDecimal(pzmlEntity.getPzje()); + BigDecimal roundedValue = bigDecimalValue.setScale(2, + RoundingMode.HALF_UP); + JSONObject jsonObjectParams=new JSONObject(); + jsonObjectParams.put("code",pzmlEntity.getIdpzh());//pzid + jsonObjectParams.put("budgetYear",pzmlEntity.getKjqj().substring(0,4));//预算年度 + jsonObjectParams.put("applyDate",outputDateString);//日期 + jsonObjectParams.put("userCode",pzmlEntity.getSrid());//用户编码 + jsonObjectParams.put("depCode","A518");//部门编码 + jsonObjectParams.put("description",pzmlEntity.getPzzy());//说明 + jsonObjectParams.put("amount",roundedValue.doubleValue());//金额 + jsonObjectParams.put("pzNum",pzNum);//凭证号 例如:公司代码+账套号+会计期间+凭证号:001_001_202408_付款_1 + //根据idpzh查询指标id和指标金额 + GbiZbxmbEntity gbiZbxmbEntity=new GbiZbxmbEntity(); + gbiZbxmbEntity.setDjId(pzmlEntity.getIdpzh()); + gbiZbxmbEntity.setKjnd(pzmlEntity.getKjqj().substring(0,4)); + gbiZbxmbEntity.setDataSourceCode(glPzmlEntity.getDataSourceCode()); + List gbiZbsyrecEntities = gbiZbxmbDao.queryZbxmbByIdpzh(gbiZbxmbEntity); + logger.info("=======根据凭证idpzh:{}查询的指标金额和指标id数据有{}条",pzmlEntity.getIdpzh(),gbiZbsyrecEntities.size()); + if(CollectionUtils.isEmpty(gbiZbsyrecEntities)){ + jsonObjectParams.put("reimburseItems",new ArrayList<>()); + }else{ + JSONArray jsonArray=new JSONArray(); + for (GbiZbxmbEntity zbxmbEntity : gbiZbsyrecEntities) { + BigDecimal bigDecimalValueZbxmb = new BigDecimal(zbxmbEntity.getJe()); + BigDecimal roundedValueZbxmb = bigDecimalValueZbxmb.setScale(2, RoundingMode.HALF_UP); + JSONObject jsonObjectZbxm=new JSONObject(); + jsonObjectZbxm.put("thirdProjectCode",zbxmbEntity.getZbid()); + jsonObjectZbxm.put("amount",roundedValueZbxmb); + jsonObjectZbxm.put("financialCode",zbxmbEntity.getJjkmdm()); + jsonArray.add(jsonObjectZbxm); + } + jsonObjectParams.put("reimburseItems",jsonArray); + } + JSONArray jsonArray=new JSONArray(); + jsonArray.add(jsonObjectParams); + JSONObject jsonObjectData=new JSONObject(); + jsonObjectData.put("data",jsonArray); + String params = jsonObjectData.toJSONString(); + logger.info("调用商学院凭证保存接口请求参数:{}",params); + result = HttpRequest.post(URLTest + "/nky/service/zsApi/saveZJSYPZReimburse?accessToken="+token).header("Content-Type", "application/json;charset=UTF-8").timeout(30000).body(params).execute().body(); + logger.info("调用商学院凭证保存接口返回参数:{}",result); + } + JSONObject jsonObjectResult=new JSONObject(); + jsonObjectResult.put("status","200"); + jsonObjectResult.put("pzml",result); + return jsonObjectResult; + }catch (Exception e){ + logger.info("根据凭证idpzh:{}查询指标失败:{}",glPzmlEntity.getIdpzh(),e.getMessage()); + return BaseResult.getFailureMessageEntity("根据凭证查询指标失败"); } - return null; } @@ -713,7 +766,7 @@ public class SenderGlPzmlServiceImpl extends BaseService