diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/MarginPaymentPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/MarginPaymentPluginInitializer.java new file mode 100644 index 00000000..80722ce3 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/MarginPaymentPluginInitializer.java @@ -0,0 +1,67 @@ +package com.hzya.frame.plugin.serviceData.plugin; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.mdm.mdmModuleDistributeDetail.dao.IMdmModuleDistributeDetailDao; +import com.hzya.frame.seeyon.paybill.service.IPayBillService; +import com.hzya.frame.sysnew.comparison.serviceData.service.IServiceDataService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.annotation.Resource; + +/** + * 业务数据同步 + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class MarginPaymentPluginInitializer extends PluginBaseEntity{ + Logger logger = LoggerFactory.getLogger(MarginPaymentPluginInitializer.class); + + + @Resource + private IPayBillService payBillService; + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "MarginPaymentPluginInitializer"; + } + + @Override + public String getPluginName() { + return "业务数据抽取"; + } + + @Override + public String getPluginLabel() { + return "MarginPaymentPluginInitializer"; + } + + @Override + public String getPluginType() { + return "1"; + } + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) { + try { + logger.info("======开始执行业务数据信息同步========"); + return payBillService.sendMarginPaymentToBip(requestJson); + }catch (Exception e){ + logger.info("======执行业务数据同步失败:{}========",e.getMessage()); + e.printStackTrace(); + } + return BaseResult.getSuccessMessageEntity("操作成功"); + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ReceivedPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ReceivedPluginInitializer.java new file mode 100644 index 00000000..50226084 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/serviceData/plugin/ReceivedPluginInitializer.java @@ -0,0 +1,64 @@ +package com.hzya.frame.plugin.serviceData.plugin; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.seeyon.paybill.service.IPayBillService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.Resource; + +/** + * 业务数据同步 + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class ReceivedPluginInitializer extends PluginBaseEntity{ + Logger logger = LoggerFactory.getLogger(ReceivedPluginInitializer.class); + + + @Resource + private IPayBillService payBillService; + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "ReceivedPluginInitializer"; + } + + @Override + public String getPluginName() { + return "业务数据抽取"; + } + + @Override + public String getPluginLabel() { + return "ReceivedPluginInitializer"; + } + + @Override + public String getPluginType() { + return "1"; + } + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) { + try { + logger.info("======开始执行业务数据信息同步========"); + return payBillService.sendReceivedToBip(requestJson); + }catch (Exception e){ + logger.info("======执行业务数据同步失败:{}========",e.getMessage()); + e.printStackTrace(); + } + return BaseResult.getSuccessMessageEntity("操作成功"); + } +} diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/IPayBillDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/IPayBillDao.java index a0ec8db8..33ab73c8 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/IPayBillDao.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/IPayBillDao.java @@ -30,4 +30,29 @@ public interface IPayBillDao { */ int updateState(PayBillEntity pay); +/** + * + * @content 获取保证金付款单数据 + * @author laborer + * @className: Administrator + * @author laborer + * @date 2025-01-07 9:44 + * + */ + + List getMarginPayment(PayBillEntity entity); +/** + * + * @content 获取保证金付款单详情数据 + * @className: Administrator + * @author laborer + * @date 2025-01-07 10:44 + * + */ + + List getOaEngineerPayDetails(PayBillEntity details); + + List getReceived(PayBillEntity entity); + + List getReceivedDetails(PayBillEntity details); } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/impl/PayBillDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/impl/PayBillDaoImpl.java index 3a753554..f01f543a 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/impl/PayBillDaoImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/dao/impl/PayBillDaoImpl.java @@ -24,9 +24,29 @@ public class PayBillDaoImpl extends MybatisGenericDao implements IPayBillDao { public List getOaEngineerPay(PayBillEntity entity) { return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base",entity); } - @DS("#pay.dataSourceCode") + @DS("#entity.dataSourceCode") @Override - public int updateState(PayBillEntity pay) { - return super.update("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_update",pay); + public int updateState(PayBillEntity entity) { + return super.update("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_update",entity); + } + @DS("#entity.dataSourceCode") + @Override + public List getMarginPayment(PayBillEntity entity) { + return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_margin",entity); + } + @DS("#entity.dataSourceCode") + @Override + public List getOaEngineerPayDetails(PayBillEntity entity) { + return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_margin_details",entity); + } + @DS("#entity.dataSourceCode") + @Override + public List getReceived(PayBillEntity entity) { + return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_received",entity); + } + @DS("#entity.dataSourceCode") + @Override + public List getReceivedDetails(PayBillEntity entity) { + return super.selectList("com.hzya.frame.seeyon.paybill.dao.impl.PayBillDaoImpl.PayBillEntity_list_base_received_details",entity); } } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.java index 1a9308de..dd1c5065 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.java @@ -14,12 +14,411 @@ import java.util.Map; */ public class PayBillEntity extends BaseEntity { +private String c_bill_type;//单据类型 +private String formCode;//单据号 +private String receiptDetailsId;//BIP到款明细主键 +private String repaymentDate;//还款日期 +private String repaymentType;//还款类型 +private String repaymentAmount;//还款金额 +private String recType;//还款类型 +private String orgCode;//组织编码 +private String deptCode;//部门编码 +private String fklxName;//付款类型 +private String zffsName;//支付方式 +private String firstSubject;//科目编码 +private String bzjProjectName;//保证金项目名称 +private String expirationDate;//投标保证金到期日 +private String deptCode2;//归属部门编码 +private String isCustomer;//是否运营商客户 +private String applyAmount;//申请金额 +private String checkedAmount;//财务核实金额 +private String comments;//说明 +private String creator;//制单人 +private String supplierCode;//供应商编码 +private String openBank;//开户银行 +private String bankAccount;//银行账号 +private String dkAmount;//打款金额 +private String dkTime;//打款时间 +private String isDydj;//是否打印本单据 +private String fieldName;// +private String tableName;// +private String formmain_id;// +private String customerAddress;//客户地址 +private String linkMan;//联系人 +private String bhBeneficiary;//保函受益人 +private String beneficiaryPhone;//受益人电话 +private String beneficiaryAddress;//受益人地址 +private String projectNumber;//工程项目合同/标书号码 +private String projectAmount;//工程项目合同/标书总金额 +private String bhIndate;//保函有效期 +private String bhReceiver;//保函收件人 +private String contactType;//联系方式 +private String contactAddress;//联系地址 +private String bhProjectName;//保函项目名称 +private String lastBhDate;//最晚取得保函日期 +private String notes;//备注 +private String isBh;//是否取得保函原件 +private String contactNumber;//联系电话 + + public String getContactNumber() { + return contactNumber; + } + + public void setContactNumber(String contactNumber) { + this.contactNumber = contactNumber; + } + + public String getCustomerAddress() { + return customerAddress; + } + + public void setCustomerAddress(String customerAddress) { + this.customerAddress = customerAddress; + } + + public String getLinkMan() { + return linkMan; + } + + public void setLinkMan(String linkMan) { + this.linkMan = linkMan; + } + + public String getBhBeneficiary() { + return bhBeneficiary; + } + + public void setBhBeneficiary(String bhBeneficiary) { + this.bhBeneficiary = bhBeneficiary; + } + + public String getBeneficiaryPhone() { + return beneficiaryPhone; + } + + public void setBeneficiaryPhone(String beneficiaryPhone) { + this.beneficiaryPhone = beneficiaryPhone; + } + + public String getBeneficiaryAddress() { + return beneficiaryAddress; + } + + public void setBeneficiaryAddress(String beneficiaryAddress) { + this.beneficiaryAddress = beneficiaryAddress; + } + + public String getProjectNumber() { + return projectNumber; + } + + public void setProjectNumber(String projectNumber) { + this.projectNumber = projectNumber; + } + + public String getProjectAmount() { + return projectAmount; + } + + public void setProjectAmount(String projectAmount) { + this.projectAmount = projectAmount; + } + + public String getBhIndate() { + return bhIndate; + } + + public void setBhIndate(String bhIndate) { + this.bhIndate = bhIndate; + } + + public String getBhReceiver() { + return bhReceiver; + } + + public void setBhReceiver(String bhReceiver) { + this.bhReceiver = bhReceiver; + } + + public String getContactType() { + return contactType; + } + + public void setContactType(String contactType) { + this.contactType = contactType; + } + + public String getContactAddress() { + return contactAddress; + } + + public void setContactAddress(String contactAddress) { + this.contactAddress = contactAddress; + } + + public String getBhProjectName() { + return bhProjectName; + } + + public void setBhProjectName(String bhProjectName) { + this.bhProjectName = bhProjectName; + } + + public String getLastBhDate() { + return lastBhDate; + } + + public void setLastBhDate(String lastBhDate) { + this.lastBhDate = lastBhDate; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getIsBh() { + return isBh; + } + + public void setIsBh(String isBh) { + this.isBh = isBh; + } + + public String getRecType() { + return recType; + } + + public void setRecType(String recType) { + this.recType = recType; + } + + public String getReceiptDetailsId() { + return receiptDetailsId; + } + + public void setReceiptDetailsId(String receiptDetailsId) { + this.receiptDetailsId = receiptDetailsId; + } + + public String getRepaymentDate() { + return repaymentDate; + } + + public void setRepaymentDate(String repaymentDate) { + this.repaymentDate = repaymentDate; + } + + public String getRepaymentType() { + return repaymentType; + } + + public void setRepaymentType(String repaymentType) { + this.repaymentType = repaymentType; + } + + public String getRepaymentAmount() { + return repaymentAmount; + } + + public void setRepaymentAmount(String repaymentAmount) { + this.repaymentAmount = repaymentAmount; + } + + public String getFormmain_id() { + return formmain_id; + } + + public void setFormmain_id(String formmain_id) { + this.formmain_id = formmain_id; + } + + public String getC_bill_type() { + return c_bill_type; + } + + public void setC_bill_type(String c_bill_type) { + this.c_bill_type = c_bill_type; + } + + public String getFormCode() { + return formCode; + } + + public void setFormCode(String formCode) { + this.formCode = formCode; + } + + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public String getDeptCode() { + return deptCode; + } + + public void setDeptCode(String deptCode) { + this.deptCode = deptCode; + } + + public String getFklxName() { + return fklxName; + } + + public void setFklxName(String fklxName) { + this.fklxName = fklxName; + } + + public String getZffsName() { + return zffsName; + } + + public void setZffsName(String zffsName) { + this.zffsName = zffsName; + } + + public String getFirstSubject() { + return firstSubject; + } + + public void setFirstSubject(String firstSubject) { + this.firstSubject = firstSubject; + } + + public String getBzjProjectName() { + return bzjProjectName; + } + + public void setBzjProjectName(String bzjProjectName) { + this.bzjProjectName = bzjProjectName; + } + + public String getExpirationDate() { + return expirationDate; + } + + public void setExpirationDate(String expirationDate) { + this.expirationDate = expirationDate; + } + + public String getDeptCode2() { + return deptCode2; + } + + public void setDeptCode2(String deptCode2) { + this.deptCode2 = deptCode2; + } + + public String getIsCustomer() { + return isCustomer; + } + + public void setIsCustomer(String isCustomer) { + this.isCustomer = isCustomer; + } + + public String getApplyAmount() { + return applyAmount; + } + + public void setApplyAmount(String applyAmount) { + this.applyAmount = applyAmount; + } + + public String getCheckedAmount() { + return checkedAmount; + } + + public void setCheckedAmount(String checkedAmount) { + this.checkedAmount = checkedAmount; + } + + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } + + public String getCreator() { + return creator; + } + + public void setCreator(String creator) { + this.creator = creator; + } + + public String getSupplierCode() { + return supplierCode; + } + + public void setSupplierCode(String supplierCode) { + this.supplierCode = supplierCode; + } + + public String getOpenBank() { + return openBank; + } + + public void setOpenBank(String openBank) { + this.openBank = openBank; + } + + public String getBankAccount() { + return bankAccount; + } + + public void setBankAccount(String bankAccount) { + this.bankAccount = bankAccount; + } + + public String getDkAmount() { + return dkAmount; + } + + public void setDkAmount(String dkAmount) { + this.dkAmount = dkAmount; + } + + public String getDkTime() { + return dkTime; + } + + public void setDkTime(String dkTime) { + this.dkTime = dkTime; + } + + public String getIsDydj() { + return isDydj; + } + + public void setIsDydj(String isDydj) { + this.isDydj = isDydj; + } + + private ListpayBillDetailsEntityList; + + public List getPayBillDetailsEntityList() { + return payBillDetailsEntityList; + } + + public void setPayBillDetailsEntityList(List payBillDetailsEntityList) { + this.payBillDetailsEntityList = payBillDetailsEntityList; + } + private String billDate;//付款日期 private String primalMoney;//付款金额信息 private String pkOppaccount;//付款银行信息 private String pkSupplier;//供应商信息 - private String tableName;//表名称 - private String fieldName;//字段名称 + private String state;//推送状态 private String pkOrg;//组织 private String pkCustomer;//客户 diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.xml index 736d5914..cd82b26c 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.xml +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/entity/PayBillEntity.xml @@ -11,6 +11,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51,12 +99,67 @@ LEFT JOIN formson_0223 body ON main.id = body.formmain_id WHERE field0053 IS NOT NULL and field0058 is null + + + + + - + + update ${tableName} set ${fieldName} = #{state} where id = #{id} + + + update ${tableName} set ${fieldName} = #{state} where id = #{id} + + + + + + + diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/IPayBillService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/IPayBillService.java index caad27a7..9a50580b 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/IPayBillService.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/IPayBillService.java @@ -25,5 +25,27 @@ public interface IPayBillService extends IBaseService { * */ JsonResultEntity sendEngineerPayBillToBip(JSONObject requestJson); +/** + * + * @content 推送保证金付款到BIP + * @param requestJson + * @return JsonResultEntity + * @author laborer + * @className: Administrator + * @author laborer + * @date 2025-01-07 9:39 + * + */ + JsonResultEntity sendMarginPaymentToBip(JSONObject requestJson); +/** + * + * @content 保证金付流程结束更新付款状态 + * @className: Administrator + * @author laborer + * @date 2025-01-08 10:18 + * + */ + + JsonResultEntity sendReceivedToBip(JSONObject requestJson); } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/impl/PayBillServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/impl/PayBillServiceImpl.java index 5bdf9b4b..d0357a53 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/impl/PayBillServiceImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/paybill/service/impl/PayBillServiceImpl.java @@ -1,5 +1,7 @@ package com.hzya.frame.seeyon.paybill.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -43,32 +45,228 @@ public class PayBillServiceImpl extends BaseService implem */ @Override public JsonResultEntity sendEngineerPayBillToBip(JSONObject requestJson) { +// PayBillEntity entity = new PayBillEntity(); +// requestJson.put("db_code","OA"); +// entity.setDataSourceCode(requestJson.getString("db_code")); +// ListpayBillEntityList = payBillDao.getOaEngineerPay(entity); +// if(CollectionUtils.isNotEmpty(payBillEntityList)){ +// for(PayBillEntity pay : payBillEntityList){ +// PayBillEntity details = new PayBillEntity(); +// ListpayDetailsList = payBillDao.getOaEngineerPayDetails(details); +// +// String token = OABipUtil.getBipToken("yonyou","8000230000"); +// JSONObject main = bindingAdd(pay); +// logger.info("工程付款单调用中台生成BIP付款结算单推送报文{}",main.toString()); +// String result = OABipUtil.sendOATOBipEsb(main.toString(),"8000230014",token); +// logger.info("工程付款单调用中台生成BIP付款结算单返回结果{}",result); +// JSONObject resultObj = JSON.parseObject(result); +// boolean flag = resultObj.getBoolean("success"); +// if(flag){ +// pay.setState("Y"); +// }else{ +// pay.setState("N"); +// } +// pay.setDataSourceCode(requestJson.getString("db_code")); +// payBillDao.updateState(pay); +// // todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询 +// } +// } + return null; + } + + @Override + public JsonResultEntity sendMarginPaymentToBip(JSONObject requestJson) { PayBillEntity entity = new PayBillEntity(); - requestJson.put("db_code","OA"); + requestJson.put("db_code","SW-OA"); entity.setDataSourceCode(requestJson.getString("db_code")); - ListpayBillEntityList = payBillDao.getOaEngineerPay(entity); + ListpayBillEntityList = payBillDao.getMarginPayment(entity); if(CollectionUtils.isNotEmpty(payBillEntityList)){ for(PayBillEntity pay : payBillEntityList){ - String token = OABipUtil.getBipToken("yonyou","8000230000"); - JSONObject main = bindingAdd(pay); - logger.info("工程付款单调用中台生成BIP付款结算单推送报文{}",main.toString()); - String result = OABipUtil.sendU9cTOBipEsb(main.toString(),"8000230014",token); - logger.info("工程付款单调用中台生成BIP付款结算单返回结果{}",result); - JSONObject resultObj = JSON.parseObject(result); - boolean flag = resultObj.getBoolean("success"); - if(flag){ - pay.setState("Y"); - }else{ + String datasourceCode = requestJson.getString("db_code"); + System.out.println("更新时的数据源编码为"+datasourceCode); + logger.info("更新时的数据源编码为"+datasourceCode); + pay.setDataSourceCode(datasourceCode); + try { +// PayBillEntity details = new PayBillEntity(); +// details.setFormmain_id(pay.getId()); +// details.setDataSourceCode(requestJson.getString("db_code")); +// ListpayDetailsList = payBillDao.getOaEngineerPayDetails(details); + String token = OABipUtil.getBipToken("yonyou","8000500003"); +// pay.setPayBillDetailsEntityList(payDetailsList); + JSONObject main = bindingMarginAdd(pay); + logger.info("保证金原始报文{}",JSON.toJSONString(pay)); + logger.info("保证金付款申请单推送BIP报文{}",main.toString()); + String result = OABipUtil.sendOATOBipEsb(main.toString(),"8000500007",token); + logger.info("保证金付款申请单推送BIP报文返回结果{}",result); + JSONObject resultObj = JSON.parseObject(result); + String resultFlag = resultObj.getString("Result"); + if("success".equals(resultFlag)){ + pay.setState("Y"); + }else{ + pay.setState("N"); + } + + payBillDao.updateState(pay); + } catch (Exception e) { pay.setState("N"); + payBillDao.updateState(pay); + logger.error("保证金同步BIP保证金付款失败,请联系管理员:{}",e); } - pay.setDataSourceCode(requestJson.getString("db_code")); - payBillDao.updateState(pay); - // todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询 + } } return null; } + @Override + public JsonResultEntity sendReceivedToBip(JSONObject requestJson) { + PayBillEntity entity = new PayBillEntity(); + requestJson.put("db_code","SW-OA"); + entity.setDataSourceCode(requestJson.getString("db_code")); + ListpayBillEntityList = payBillDao.getReceived(entity); + if(CollectionUtils.isNotEmpty(payBillEntityList)){ + for(PayBillEntity pay : payBillEntityList){ + pay.setDataSourceCode(requestJson.getString("db_code")); + try { + boolean flag = true; + StringBuffer sb = new StringBuffer(); +// PayBillEntity details = new PayBillEntity(); +// details.setFormmain_id(pay.getId()); +// details.setDataSourceCode(requestJson.getString("db_code")); +// ListpayDetailsList = payBillDao.getReceivedDetails(details); + String token = OABipUtil.getBipToken("yonyou","8000500003"); +// pay.setPayBillDetailsEntityList(payDetailsList); + //组装更新保证金还款信息 + JSONObject main = bindingReceivedAdd(pay); + logger.info("保证金付款申请单-还款推送BIP报文{}",main.toString()); + String result = OABipUtil.sendOATOBipEsb(main.toString(),"8000500015",token); + logger.info("保证金付款申请单-还款推送BIP报文返回结果{}",result); + JSONObject resultObj = JSON.parseObject(result); + flag = resultObj.getBoolean("Result"); + if(!flag){ + sb.append("更新保证金还款信息失败:错误原因"+resultObj.getString("Message")+pay.getReceiptDetailsId() +" "); + pay.setState("N"); + }else{ + pay.setState("Y"); + } + + //不单独更新数据到表中了,记录日志用 + logger.info("保证金流程结束事件出错"+sb.toString()); + payBillDao.updateState(pay); + } catch (Exception e) { + pay.setState("N"); + payBillDao.updateState(pay); + logger.info("保证金流程结束事件出错,请联系管理员:"+e); + logger.info("保证金流程结束事件出错,请联系管理员1:"+e.getMessage()); + + } + } + } + return null; + } + +// private JSONObject bindingReceivedRLAdd(PayBillEntity pay) { +// JSONObject head = new JSONObject(); +// head.put("c_bill_type","F9");//单据类型 保证金付款申请单固定F9 +// head.put("formCode",pay.getFormCode());//单据号 +// head.put("receiptDetailsId","");//BIP到款明细主键 +// head.put("repaymentDate","");//还款日期 +// head.put("repaymentType","");//还款类型 +// head.put("repaymentAmount","");//还款金额 +// return head; +// } + + private JSONObject bindingReceivedAdd(PayBillEntity pay) { + JSONObject head = new JSONObject(); + head.put("c_bill_type",pay.getC_bill_type());//单据类型 保证金付款申请单固定F9 + head.put("formCode",pay.getFormCode());//单据号 + head.put("receiptDetailsId",pay.getReceiptDetailsId());//BIP到款明细主键 + String repaymentDate = pay.getRepaymentDate(); + if(StrUtil.isNotEmpty(repaymentDate)){ + head.put("repaymentDate",DateUtil.format(DateUtil.parse(repaymentDate), "yyyy-MM-dd HH:mm:ss"));//还款日期 + } + head.put("repaymentType",pay.getRepaymentType());//还款类型 + head.put("repaymentAmount",pay.getRepaymentAmount());//还款金额 + return head; + } + + private JSONObject bindingMarginAdd(PayBillEntity pay) { + + JSONObject head = new JSONObject(); + head.put("c_bill_type","F9");//单据类型 保证金付款申请单固定F9 + head.put("formCode",pay.getFormCode());//单据号(NC有重复校验) + head.put("orgCode",pay.getOrgCode());//公司编码 + head.put("deptCode",pay.getDeptCode());//事业部大类编码 + head.put("fklxName",pay.getFklxName());//付款类型 + head.put("zffsName",pay.getZffsName());//支付方式 + head.put("firstSubject",pay.getFirstSubject());//一级科目 + head.put("bzjProjectName",pay.getBzjProjectName());//保证金项目名称 + String expirationDate= pay.getExpirationDate(); + if(StrUtil.isNotEmpty(expirationDate)){ + head.put("expirationDate",DateUtil.format(DateUtil.parse(expirationDate), "yyyy-MM-dd"));//投标保证金到期日 + } + + head.put("deptCode2",pay.getDeptCode2());//归属部门编码 + head.put("isCustomer","Y");//是否运营商客户 + head.put("applyAmount",pay.getApplyAmount());//申请金额 + head.put("checkedAmount",pay.getCheckedAmount());//财务核实金额 + head.put("comments",pay.getComments());//说明 + head.put("creator",pay.getCreator());//制单人 + head.put("supplierCode",pay.getSupplierCode());//供应商编码 + head.put("openBank",pay.getOpenBank());//开户银行 + head.put("bankAccount",pay.getBankAccount());//银行账号 + head.put("customerAddress",pay.getCustomerAddress());//客户地址 + head.put("linkMan",pay.getLinkMan());//联系人 + head.put("contactNumber",pay.getContactNumber());//联系电话 + + head.put("bhBeneficiary",pay.getBhBeneficiary());//保函受益人 + head.put("beneficiaryPhone",pay.getBeneficiaryPhone());//受益人电话 + head.put("beneficiaryAddress",pay.getBeneficiaryAddress());//受益人地址 + head.put("projectNumber",pay.getProjectNumber());//工程项目合同/标书号码 + head.put("projectAmount",pay.getProjectAmount());//工程项目合同/标书总金额 + String bhIndate = pay.getBhIndate(); + if(StrUtil.isNotEmpty(bhIndate)){ + head.put("bhIndate",DateUtil.format(DateUtil.parse(bhIndate), "yyyy-MM-dd"));//保函有效期 + } + head.put("bhReceiver",pay.getBhReceiver());//保函收件人 + head.put("contactType",pay.getContactType());//联系方式 + head.put("contactAddress",pay.getContactAddress());//联系地址 + head.put("bhProjectName",pay.getBhProjectName());//保函项目名称 + + String lastBhDate = pay.getLastBhDate(); + if(StrUtil.isNotEmpty(lastBhDate)){ + head.put("lastBhDate",DateUtil.format(DateUtil.parse(lastBhDate), "yyyy-MM-dd"));//最晚取得保函日期 + } + head.put("notes",pay.getNotes());//备注 + head.put("isBh",pay.getIsBh());//是否取得保函原件 + + head.put("dkAmount",pay.getDkAmount());//打款金额 + String dkTime = pay.getDkTime(); + if(StrUtil.isNotEmpty(dkTime)){ + head.put("dkTime", DateUtil.format(DateUtil.parse(dkTime), "yyyy-MM-dd HH:mm:ss"));//打款时间 + } + + head.put("isDydj","Y");//是否打印本单据 + + //处理明细数据,按照明细付款 多个明细生成多个付款结算单 + JSONArray detailsArr = new JSONArray(); +// ListdetailsList = pay.getPayBillDetailsEntityList(); +// if(CollectionUtils.isNotEmpty(detailsList)){ +// detailsList.forEach(detail->{ +// JSONObject body = new JSONObject(); +// body.put("projectCode","");//项目编码 +// body.put("projectName","");//项目名称 +// body.put("wdContact","");//未定合同号 +// body.put("buildCost","");//工程造价 +// body.put("deptCode","");//承担部门编码 +// detailsArr.add(body); +// }); +// } + head.put("xmDetail",detailsArr);//明细数据 + head.put("hkDetail",detailsArr);//明细数据 + return head; + } + @NotNull private JSONObject bindingAdd(PayBillEntity pay) { JSONObject head = new JSONObject(); diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/service/impl/RecBillServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/service/impl/RecBillServiceImpl.java index f65d2855..41797f18 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/service/impl/RecBillServiceImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/recbill/service/impl/RecBillServiceImpl.java @@ -42,29 +42,29 @@ public class RecBillServiceImpl extends BaseService implem */ @Override public JsonResultEntity sendRecBillToBip(JSONObject requestJson) { - RecBillEntity entity = new RecBillEntity(); - requestJson.put("db_code","OA"); - entity.setDataSourceCode(requestJson.getString("db_code")); - ListpayBillEntityList = payBillDao.getOaRecBill(entity); - if(CollectionUtils.isNotEmpty(payBillEntityList)){ - for(RecBillEntity pay : payBillEntityList){ - String token = OABipUtil.getBipToken("yonyou","8000230000"); - JSONObject main = bindingAdd(pay); - logger.info("银行流水收款信息数据{}",main.toString()); - String result = OABipUtil.sendU9cTOBipEsb(main.toString(),"8000230016",token); - logger.info("银行流水收款信息数据{}",result); - JSONObject resultObj = JSON.parseObject(result); - boolean flag = resultObj.getBoolean("success"); - if(flag){ - pay.setState("Y"); - }else{ - pay.setState("N"); - } - pay.setDataSourceCode(requestJson.getString("db_code")); - payBillDao.updateState(pay); - // todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询 - } - } +// RecBillEntity entity = new RecBillEntity(); +// requestJson.put("db_code","OA"); +// entity.setDataSourceCode(requestJson.getString("db_code")); +// ListpayBillEntityList = payBillDao.getOaRecBill(entity); +// if(CollectionUtils.isNotEmpty(payBillEntityList)){ +// for(RecBillEntity pay : payBillEntityList){ +// String token = OABipUtil.getBipToken("yonyou","8000230000"); +// JSONObject main = bindingAdd(pay); +// logger.info("银行流水收款信息数据{}",main.toString()); +// String result = OABipUtil.sendU9cTOBipEsb(main.toString(),"8000230016",token); +// logger.info("银行流水收款信息数据{}",result); +// JSONObject resultObj = JSON.parseObject(result); +// boolean flag = resultObj.getBoolean("success"); +// if(flag){ +// pay.setState("Y"); +// }else{ +// pay.setState("N"); +// } +// pay.setDataSourceCode(requestJson.getString("db_code")); +// payBillDao.updateState(pay); +// // todo 后续在写吧(没字段等OA开了外网在创建),修改推送状态,避免再次查询 +// } +// } return null; } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/util/OABipUtil.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/util/OABipUtil.java index 9484e2fb..53941ca8 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/util/OABipUtil.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/util/OABipUtil.java @@ -21,15 +21,15 @@ public class OABipUtil { * */ - public static String sendU9cTOBipEsb(String parm, String apiCode,String token){ - String baseUrl = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"; + public static String sendOATOBipEsb(String parm, String apiCode,String token){ + String baseUrl = "http://127.0.0.1:9011/kangarooDataCenterV3/entranceController/externalCallInterface"; System.out.println("推送参数"+parm); String result = HttpRequest.post(baseUrl) - .header("appId", "800023")//头信息,多个头信息多次调用此方法即可 + .header("appId", "800050")//头信息,多个头信息多次调用此方法即可 .header("access_token", token)//头信息,多个头信息多次调用此方法即可 .header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可 - .header("publicKey", "ZJYA1vBeY1ai53iNmbAEsw6DImjkXGBkdMailxcBdliFC85Ce7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可 - .header("secretKey", "7Gp6OjHrIaQ6R3tXGPrI4morjQyWL+qu4JJschQnkBRtv26VDgGFVYKOy5kMZfd/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可 + .header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可 + .header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可 .body(parm)//表单内容 .timeout(20000)//超时,毫秒 .execute().body(); @@ -40,13 +40,13 @@ public class OABipUtil { return null; } public static String getBipToken(String userCode, String apiCode){ - String baseUrl = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"; + String baseUrl = "http://127.0.0.1:9011/kangarooDataCenterV3/entranceController/externalCallInterface"; String result = HttpRequest.post(baseUrl) - .header("appId", "800023")//头信息,多个头信息多次调用此方法即可 + .header("appId", "800050")//头信息,多个头信息多次调用此方法即可 .header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可 - .header("usercode", userCode)//头信息,多个头信息多次调用此方法即可 - .header("publicKey", "ZJYA1vBeY1ai53iNmbAEsw6DImjkXGBkdMailxcBdliFC85Ce7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可 - .header("secretKey", "7Gp6OjHrIaQ6R3tXGPrI4morjQyWL+qu4JJschQnkBRtv26VDgGFVYKOy5kMZfd/j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可 +// .header("usercode", userCode)//头信息,多个头信息多次调用此方法即可 + .header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj")//头信息,多个头信息多次调用此方法即可 + .header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//头信息,多个头信息多次调用此方法即可 .body("")//表单内容 .timeout(20000)//超时,毫秒 .execute().body();