jg-waiwang-pro
胡川虎 3 months ago
parent 551b314da0
commit dd472c0dce

File diff suppressed because it is too large Load Diff

@ -47,6 +47,14 @@
</u-input> </u-input>
</u-form-item> </u-form-item>
</view> </view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('payee')" :required="requiredList.payee" label="收款方账号" prop="payee">
<u-input v-model="dataForm.payeeAccount" :disabled="judgeWrite('payee')" @change="changeData('payee',-1)"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box" v-if="false"> <view class="u-p-l-20 u-p-r-20 form-item-box" v-if="false">
<u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="付款方" prop="payer"> <u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="付款方" prop="payer">
<u-input v-model="dataForm.payer" :disabled="judgeWrite('payer')" @change="changeData('payer',-1)" <u-input v-model="dataForm.payer" :disabled="judgeWrite('payer')" @change="changeData('payer',-1)"
@ -61,6 +69,61 @@
</u-input> </u-input>
</u-form-item> </u-form-item>
</view> </view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="支付日期"
prop="operationStart">
<jnpf-date-time v-model="dataForm.paymentDate" :disabled="judgeWrite('payer')"
@change="changeData('payer',-1)" :startTime="dateTime(false,1,1,'','')"
:endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date"
:style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="币种"
prop="payer">
<jnpf-select v-model="dataForm.currency" :disabled="judgeWrite('payer')"
@change="changeData('payer',-1)" clearable placeholder="请选择" :props="currencyProps"
:options="currencyOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="付款方式"
prop="payer">
<jnpf-select v-model="dataForm.paymentMethod" :disabled="judgeWrite('payer')"
@change="changeData('payer',-1)" clearable placeholder="请选择" :props="paymentMethodProps"
:options="paymentMethodOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="付款类型"
prop="payer">
<jnpf-select v-model="dataForm.paymentType" :disabled="judgeWrite('payer')"
@change="changeData('payer',-1)" clearable placeholder="请选择" :props="paymentTypeProps"
:options="paymentTypeOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('payer')" :required="requiredList.payer" label="交易类型"
prop="payer">
<jnpf-select v-model="dataForm.transactionType" :disabled="judgeWrite('payer')"
@change="changeData('payer',-1)" clearable placeholder="请选择" :props="transactionTypeProps"
:options="transactionTypeOptions" :style='{"width":"100%"}'>
</jnpf-select>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('applyAmount')" :required="requiredList.applyAmount" label="结算金额"
prop="applyAmount">
<jnpf-number-box v-model="dataForm.settlementAmount" :disabled="judgeWrite('applyAmount')"
@change="changeData('applyAmount',-1)" :controls="false" placeholder="数字文本"
:step="1">
</jnpf-number-box>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box"> <view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('applyAmount')" :required="requiredList.applyAmount" label="申请金额" <u-form-item v-if="judgeShow('applyAmount')" :required="requiredList.applyAmount" label="申请金额"
prop="applyAmount"> prop="applyAmount">
@ -71,10 +134,10 @@
</u-form-item> </u-form-item>
</view> </view>
<view class="u-p-l-20 u-p-r-20 form-item-box"> <view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item v-if="judgeShow('applyWeight')" :required="requiredList.applyWeight" label="申请重量" <u-form-item v-if="judgeShow('applyAmount')" :required="requiredList.applyAmount" label="申请重量"
prop="applyAmount"> prop="applyAmount">
<jnpf-number-box v-model="dataForm.applyWeight" :disabled="judgeWrite('applyWeight')" <jnpf-number-box v-model="dataForm.applyWeight" :disabled="judgeWrite('applyAmount')"
@change="changeData('applyWeight',-1)" :controls="false" placeholder="数字文本" @change="changeData('applyAmount',-1)" :controls="false" placeholder="数字文本"
:step="1"> :step="1">
</jnpf-number-box> </jnpf-number-box>
</u-form-item> </u-form-item>
@ -96,6 +159,141 @@
</u-input> </u-input>
</u-form-item> </u-form-item>
</view> </view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="联行号">
<u-input v-model="dataForm.interbankNumber" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="开户银行名称">
<u-input v-model="dataForm.bankName" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="开户银行所在省">
<u-input v-model="dataForm.province" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="开户银行所在市">
<u-input v-model="dataForm.city" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="资金计划明细ID">
<u-input v-model="dataForm.fundingPlanDetailCode" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="资金计划ID">
<u-input v-model="dataForm.fundingPlanCode" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="计划所属单位名称">
<u-input v-model="dataForm.unitName" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="期望支付日期">
<jnpf-date-time v-model="dataForm.expectPaymentDate" :disabled="true"
@change="changeData('payer',-1)" :startTime="dateTime(false,1,1,'','')"
:endTime="dateTime(false,1,1,'','')" format="yyyy-MM-dd" clearable placeholder="请选择" type="date"
:style='{"width":"100%"}'>
</jnpf-date-time>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="上报金额">
<u-input v-model="dataForm.reportingAmount" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="计划科目编码">
<u-input v-model="dataForm.planSubjectCode" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="计划科目名">
<u-input v-model="dataForm.planSubjectName" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="收款人单位/人员">
<u-input v-model="dataForm.collectionUnitName" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="用途">
<u-input v-model="dataForm.purpose" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="计划可用金额">
<u-input v-model="dataForm.planAvailableAmount" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="计划已用总金额">
<u-input v-model="dataForm.processMoney" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="追加金额">
<u-input v-model="dataForm.addAmount" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="u-p-l-20 u-p-r-20 form-item-box">
<u-form-item label="上浮总金额">
<u-input v-model="dataForm.upwardFloatingAmount" :disabled="true"
clearable placeholder="请输入" :style='{"width":"100%"}'>
</u-input>
</u-form-item>
</view>
<view class="jnpf-table" v-if="false"> <view class="jnpf-table" v-if="false">
<view class="jnpf-table-item" v-for="(item,i) in dataForm.paymentapplicationsettlementList" :key="i"> <view class="jnpf-table-item" v-for="(item,i) in dataForm.paymentapplicationsettlementList" :key="i">
<view class="jnpf-table-item-title u-flex u-row-between"> <view class="jnpf-table-item-title u-flex u-row-between">
@ -199,10 +397,18 @@
payee: '', payee: '',
payer: '', payer: '',
payer2: '', payer2: '',
payeeAccount: '',
applyAmount: 0, applyAmount: 0,
settlementAmount: 0,
applyWeight: 0,
caseStatus: "1", caseStatus: "1",
currency: "1",
paymentType: undefined,
paymentMethod: undefined,
transactionType: undefined,
remark: '', remark: '',
closeCaseRemark: '', closeCaseRemark: '',
paymentDate: undefined,
annex: [], annex: [],
paymentapplicationsettlementList: [], paymentapplicationsettlementList: [],
}, },
@ -266,6 +472,58 @@
"multiple": false, "multiple": false,
"children": "" "children": ""
}, },
currencyOptions: [{
"fullName": "人民币",
"id": "1"
}],
currencyProps: {
"label": "fullName",
"value": "id",
"multiple": false,
"children": ""
},
paymentMethodOptions: [{
"fullName": "现金",
"id": "1"
}, {
"fullName": "承兑",
"id": "2"
}],
paymentMethodProps: {
"label": "fullName",
"value": "id",
"multiple": false,
"children": ""
},
paymentTypeOptions: [{
"fullName": "预付款",
"id": "A"
}, {
"fullName": "结算款",
"id": "B"
}, {
"fullName": "进度款",
"id": "D"
}],
transactionTypeOptions: [{
"fullName": "网银",
"id": "34"
}, {
"fullName": "票据",
"id": "50"
}],
transactionTypeProps: {
"label": "fullName",
"value": "id",
"multiple": false,
"children": ""
},
paymentTypeProps: {
"label": "fullName",
"value": "id",
"multiple": false,
"children": ""
},
labelwidth: 100 * 1.5, labelwidth: 100 * 1.5,
menuId: '', menuId: '',
jurisdictionType: '', jurisdictionType: '',

@ -1,14 +1,16 @@
/* process.env.NODE_ENV设置生产环境模式 */ /* process.env.NODE_ENV设置生产环境模式 */
/*JAVA app.java.jnpfsoft.com NET dotnet.jnpfsoft.com*/ /*JAVA app.java.jnpfsoft.com NET dotnet.jnpfsoft.com*/
//生产内网 jgckzhgj.natapp1.cc
//生产外网 221.214.32.166:40000
// #ifndef MP // #ifndef MP
const baseURL = process.env.NODE_ENV === "production" ? const baseURL = process.env.NODE_ENV === "production" ?
"http://127.0.0.1:50000" : "http://127.0.0.1:50000" // 接口前缀 "http://jgckzhgj.natapp1.cc" : "http://jgckzhgj.natapp1.cc" // 接口前缀
const define = { const define = {
copyright: "Copyright @ 2024 上海长江云息数字科技有限公司版权所有", copyright: "Copyright @ 2024 上海长江云息数字科技有限公司版权所有",
sysVersion: "V3.5", sysVersion: "V3.5",
baseURL: baseURL, baseURL: baseURL,
webSocketUrl: process.env.NODE_ENV === "production" ? "wss://127.0.0.1:50000/websocket" : webSocketUrl: process.env.NODE_ENV === "production" ? "wss://jgckzhgj.natapp1.cc/websocket" :
"ws://127.0.0.1:50000/api/message/websocket", "ws://jgckzhgj.natapp1.cc/api/message/websocket",
comUploadUrl: baseURL + '/api/file/Uploader/', comUploadUrl: baseURL + '/api/file/Uploader/',
comUploadUrlPound: baseURL + '/api/scm/Voucher/Uploader/', comUploadUrlPound: baseURL + '/api/scm/Voucher/Uploader/',
timeout: process.env.NODE_ENV === 'production' ? 1000000 : 1000000, timeout: process.env.NODE_ENV === 'production' ? 1000000 : 1000000,
@ -17,13 +19,13 @@ const define = {
// #endif // #endif
// #ifdef MP // #ifdef MP
const baseURL = "http://127.0.0.1:50000" // "https://app.java.jnpfsoft.com" const baseURL = "http://jgckzhgj.natapp1.cc" // "https://app.java.jnpfsoft.com"
const define = { const define = {
copyright: "Copyright @ 2024 上海长江云息数字科技有限公司版权所有", copyright: "Copyright @ 2024 上海长江云息数字科技有限公司版权所有",
sysVersion: "V3.5", sysVersion: "V3.5",
baseURL: baseURL, baseURL: baseURL,
comUploadUrlPound: baseURL + '/api/scm/Voucher/Uploader/', comUploadUrlPound: baseURL + '/api/scm/Voucher/Uploader/',
webSocketUrl: "ws://127.0.0.1:50000/api/message/websocket", //"wss://app.java.jnpfsoft.com/api/message/websocket" webSocketUrl: "ws://jgckzhgj.natapp1.cc/api/message/websocket", //"wss://app.java.jnpfsoft.com/api/message/websocket"
comUploadUrl: baseURL + '/api/file/Uploader/', comUploadUrl: baseURL + '/api/file/Uploader/',
timeout: process.env.NODE_ENV === 'production' ? 1000000 : 1000000, timeout: process.env.NODE_ENV === 'production' ? 1000000 : 1000000,
report: baseURL + '/Report' report: baseURL + '/Report'

@ -2,16 +2,23 @@ package jnpf.service.impl;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import jnpf.base.ActionResult; import jnpf.base.ActionResult;
import jnpf.engine.controller.FlowBeforeController; import jnpf.engine.controller.FlowBeforeController;
import jnpf.engine.entity.FlowTaskEntity;
import jnpf.engine.entity.FlowTaskNodeEntity;
import jnpf.engine.model.flowbefore.FlowBeforeInfoVO; import jnpf.engine.model.flowbefore.FlowBeforeInfoVO;
import jnpf.engine.model.flowbefore.FlowTaskOperatorRecordModel; import jnpf.engine.model.flowbefore.FlowTaskOperatorRecordModel;
import jnpf.engine.model.flowengine.FlowModel; import jnpf.engine.model.flowengine.FlowModel;
import jnpf.engine.service.FlowTaskNodeService;
import jnpf.engine.service.FlowTaskService;
import jnpf.entity.*; import jnpf.entity.*;
import jnpf.exception.WorkFlowException; import jnpf.exception.WorkFlowException;
import jnpf.mapper.CwpaymentreceiptMapper; import jnpf.mapper.CwpaymentreceiptMapper;
import jnpf.mapper.PaymentApplicationMapper; import jnpf.mapper.PaymentApplicationMapper;
import jnpf.model.cwpaymentreceipt.PaymentdocMessage; import jnpf.model.cwpaymentreceipt.PaymentdocMessage;
import jnpf.model.yunguan.BFSPaymentApprovalModel;
import jnpf.model.yunguan.BFSPaymentOccupationModel;
import jnpf.permission.entity.OrganizeEntity; import jnpf.permission.entity.OrganizeEntity;
import jnpf.permission.service.OrganizeService; import jnpf.permission.service.OrganizeService;
import jnpf.permission.service.UserService; import jnpf.permission.service.UserService;
@ -39,6 +46,7 @@ import jnpf.model.QueryModel;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel; import jnpf.base.model.ColumnDataModel;
import jnpf.util.context.SpringContext; import jnpf.util.context.SpringContext;
import jnpf.util.wxutil.HttpUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.database.model.superQuery.SuperJsonModel; import jnpf.database.model.superQuery.SuperJsonModel;
@ -81,6 +89,11 @@ public class PaymentApplicationServiceImpl extends ServiceImpl<PaymentApplicatio
private CwsettlementService cwsettlementService; private CwsettlementService cwsettlementService;
@Autowired @Autowired
private PaymentapplicationsettlementService paymentapplicationsettlementService; private PaymentapplicationsettlementService paymentapplicationsettlementService;
@Autowired
private FlowTaskService flowTaskService;
@Autowired
private FlowTaskNodeService flowTaskNodeService;
@Override @Override
public List<PaymentApplicationEntity> getList(PaymentApplicationPagination paymentApplicationPagination){ public List<PaymentApplicationEntity> getList(PaymentApplicationPagination paymentApplicationPagination){
return getTypeList(paymentApplicationPagination,paymentApplicationPagination.getDataType()); return getTypeList(paymentApplicationPagination,paymentApplicationPagination.getDataType());
@ -495,6 +508,110 @@ public class PaymentApplicationServiceImpl extends ServiceImpl<PaymentApplicatio
cwsettlementService.updateById(cwsettlementEntity); cwsettlementService.updateById(cwsettlementEntity);
} }
} }
if("1".equals(paymentApplicationForm.getIsSubmit())){
//提交,调用资金计划占用接口
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<BFSPaymentOccupationModel> list = new ArrayList<>();
BFSPaymentOccupationModel bfsPaymentOccupationModel = new BFSPaymentOccupationModel();
bfsPaymentOccupationModel.setSerialNoErp(entity.getId());//流水号
bfsPaymentOccupationModel.setBillNo(entity.getCode());
bfsPaymentOccupationModel.setApplyDate(simpleDateFormat.format(entity.getCreatorTime()));
bfsPaymentOccupationModel.setAmt(String.format("%.2f", entity.getApplyAmount().doubleValue()));
bfsPaymentOccupationModel.setCur("CNY");
bfsPaymentOccupationModel.setAbs("");//摘要
bfsPaymentOccupationModel.setPayeeAccNo(entity.getPayeeAccount());
bfsPaymentOccupationModel.setPayeeAccName(entity.getPayee());//收款方户名
String[] payer = entity.getPayer().split("/");
if(payer.length == 1){
bfsPaymentOccupationModel.setPayerAccName(payer[0]);
}else if(payer.length == 2){
bfsPaymentOccupationModel.setPayerAccName(payer[1]);
}else if(payer.length == 3){
bfsPaymentOccupationModel.setPayerAccName(payer[1]);
}
bfsPaymentOccupationModel.setPayeeBank(entity.getBankName());//收款方开户行
bfsPaymentOccupationModel.setPayeeCode(entity.getInterbankNumber());
bfsPaymentOccupationModel.setPayeeProv(entity.getProvince());
bfsPaymentOccupationModel.setPayeeCity(entity.getCity());
bfsPaymentOccupationModel.setCorpName(entity.getUnitName());
if(StringUtil.isNotEmpty(entity.getUnitName())){
List<OrganizeEntity> o = organizeService.getListByFullName(entity.getUnitName());
if(o != null && o.size() > 0){
bfsPaymentOccupationModel.setCorpCode(o.get(0).getEnCode());
}
}
bfsPaymentOccupationModel.setPurpose(entity.getPurpose());
bfsPaymentOccupationModel.setWishPayDay(simpleDateFormat2.format(entity.getExpectPaymentDate()) + ".0");
bfsPaymentOccupationModel.setItemCode(entity.getPlanSubjectCode());
bfsPaymentOccupationModel.setItemName(entity.getPlanSubjectName());
bfsPaymentOccupationModel.setBudgetDetailId(entity.getFundingPlanDetailCode());
bfsPaymentOccupationModel.setUrgencyFlag("0");//加急标志
bfsPaymentOccupationModel.setVoucherType(entity.getTransactionType());//交易类型34网银外付网银、50票据应收票据
bfsPaymentOccupationModel.setIsforindividual("0");//对公对私字段
bfsPaymentOccupationModel.setRmk("");
bfsPaymentOccupationModel.setDataSource("CK");//数据来源
list.add(bfsPaymentOccupationModel);
String result = HttpUtil.sendHttpPost("http://172.16.173.160:8081/t2/rest/JgPaymentOccupationRestful", JsonUtil.getObjectToString(list));
if (ObjectUtil.isNotEmpty(result)){
String status = JSONArray.parseArray(result, Map.class).get(0).get("status").toString();
String message = JSONArray.parseArray(result, Map.class).get(0).get("message").toString();
//String serialNoErp = JSONArray.parseArray(code, Map.class).get(0).get("serialNoErp").toString();
if ("2".equals(status)) {
entity.setBfsFlag("2");
entity.setBfsMessage(message);
this.updateById(entity);
}else{
entity.setBfsFlag("1");
entity.setBfsMessage(message);
this.updateById(entity);
}
}else{
entity.setBfsFlag("1");
entity.setBfsMessage("资金系统接口调用失败");
this.updateById(entity);
}
}
FlowTaskEntity flowTaskEntity = flowTaskService.getById(id);
if (flowTaskEntity!=null) {
QueryWrapper<FlowTaskNodeEntity> flowTaskNodeEntityQueryWrapper = new QueryWrapper<>();
//flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getState, flowTaskEntity.getThisStepId());
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getNodeCode, flowTaskEntity.getThisStepId());
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getTaskId, flowTaskEntity.getId());
List<FlowTaskNodeEntity> flowTaskNodeEntityList = flowTaskNodeService.list(flowTaskNodeEntityQueryWrapper);
if (flowTaskNodeEntityList != null && flowTaskNodeEntityList.size() > 0 && "end".equals(flowTaskNodeEntityList.get(0).getNodeNext())) {
//审批通过
SubjectbasicEntity subjectbasicEntity = subjectbasicService.getById(entity.getSubjectId());
if("2".equals(subjectbasicEntity.getSettlementMethod()) || "3".equals(subjectbasicEntity.getSettlementMethod())){
List<BFSPaymentApprovalModel> list2 = new ArrayList<>();
BFSPaymentApprovalModel bFSPaymentApprovalModel = new BFSPaymentApprovalModel();
bFSPaymentApprovalModel.setDataSource("CK");
bFSPaymentApprovalModel.setStatus("2");
bFSPaymentApprovalModel.setSerialNoErp(id);
list2.add(bFSPaymentApprovalModel);
//先款后货 先款后票
String result = HttpUtil.sendHttpPost("http://172.16.173.160:8081/t2/rest/JgYGPaymentApprovalResultRestful", JsonUtil.getObjectToString(list2));
if (ObjectUtil.isNotEmpty(result)){
String status = JSONArray.parseArray(result, Map.class).get(0).get("status").toString();
String message = JSONArray.parseArray(result, Map.class).get(0).get("message").toString();
//String serialNoErp = JSONArray.parseArray(code, Map.class).get(0).get("serialNoErp").toString();
if ("2".equals(status)) {
entity.setBfsFlag("4");
entity.setBfsMessage(message);
this.updateById(entity);
}else{
entity.setBfsFlag("3");
entity.setBfsMessage(message);
this.updateById(entity);
}
}else{
entity.setBfsFlag("3");
entity.setBfsMessage("资金系统审批接口调用失败");
this.updateById(entity);
}
}
}
}
} }
@Override @Override

@ -1,6 +1,7 @@
package jnpf.controller; package jnpf.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -8,6 +9,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult; import jnpf.base.ActionResult;
import jnpf.base.UserInfo; import jnpf.base.UserInfo;
import jnpf.exception.DataException; import jnpf.exception.DataException;
import jnpf.model.yunguan.BFSPaymentApprovalModel;
import jnpf.model.yunguan.BFSPaymentOccupationModel; import jnpf.model.yunguan.BFSPaymentOccupationModel;
import jnpf.permission.entity.OrganizeEntity; import jnpf.permission.entity.OrganizeEntity;
import jnpf.permission.entity.UserEntity; import jnpf.permission.entity.UserEntity;
@ -266,53 +268,31 @@ public class PaymentApplicationController {
@GetMapping("uploadBFS/{id}") @GetMapping("uploadBFS/{id}")
@Transactional @Transactional
public ActionResult closeCase(@PathVariable("id") String id){ public ActionResult closeCase(@PathVariable("id") String id){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); PaymentApplicationEntity entity = paymentApplicationService.getById(id);
PaymentApplicationEntity entity= paymentApplicationService.getInfo(id); List<BFSPaymentApprovalModel> list2 = new ArrayList<>();
BFSPaymentOccupationModel bfsPaymentOccupationModel = new BFSPaymentOccupationModel(); BFSPaymentApprovalModel bFSPaymentApprovalModel = new BFSPaymentApprovalModel();
bfsPaymentOccupationModel.setSerialNoErp(entity.getId());//流水号 bFSPaymentApprovalModel.setDataSource("CK");
bfsPaymentOccupationModel.setBillNo(entity.getCode()); bFSPaymentApprovalModel.setStatus("2");
bfsPaymentOccupationModel.setApplyDate(simpleDateFormat.format(entity.getCreatorTime())); bFSPaymentApprovalModel.setSerialNoErp(id);
bfsPaymentOccupationModel.setAmt(entity.getApplyAmount().toString()); list2.add(bFSPaymentApprovalModel);
bfsPaymentOccupationModel.setCur("CYN"); //先款后货 先款后票
bfsPaymentOccupationModel.setAbs("");//摘要 String result = HttpUtil.sendHttpPost("http://172.16.173.160:8081/t2/rest/JgYGPaymentApprovalResultRestful", JsonUtil.getObjectToString(list2));
bfsPaymentOccupationModel.setPayerAccName(entity.getPayer()); if (ObjectUtil.isNotEmpty(result)){
bfsPaymentOccupationModel.setPayeeAccNo(entity.getPayeeAccount()); String status = JSONArray.parseArray(result, Map.class).get(0).get("status").toString();
bfsPaymentOccupationModel.setPayeeAccName(entity.getPayee());//收款方户名 String message = JSONArray.parseArray(result, Map.class).get(0).get("message").toString();
bfsPaymentOccupationModel.setPayeeBank(entity.getBankName());//收款方开户行 //String serialNoErp = JSONArray.parseArray(code, Map.class).get(0).get("serialNoErp").toString();
bfsPaymentOccupationModel.setPayeeCode(entity.getInterbankNumber()); if ("2".equals(status)) {
bfsPaymentOccupationModel.setPayeeProv(entity.getProvince()); entity.setBfsFlag("4");
bfsPaymentOccupationModel.setPayeeCity(entity.getCity()); entity.setBfsMessage(message);
bfsPaymentOccupationModel.setCorpName(entity.getUnitName());
if(StringUtil.isNotEmpty(entity.getUnitName())){
List<OrganizeEntity> o = organizeService.getListByFullName(entity.getUnitName());
if(o != null && o.size() > 0){
bfsPaymentOccupationModel.setCorpCode(o.get(0).getEnCode());
}
}
bfsPaymentOccupationModel.setPurpose(entity.getPurpose());
bfsPaymentOccupationModel.setWishPayDay(simpleDateFormat.format(entity.getExpectPaymentDate()));
bfsPaymentOccupationModel.setItemCode(entity.getPlanSubjectCode());
bfsPaymentOccupationModel.setItemName(entity.getPlanSubjectName());
bfsPaymentOccupationModel.setBudgetDetailId(entity.getFundingPlanDetailCode());
bfsPaymentOccupationModel.setUrgencyFlag("0");//加急标志
bfsPaymentOccupationModel.setVoucherType(entity.getTransactionType());//交易类型34网银外付网银、50票据应收票据
bfsPaymentOccupationModel.setIsforindividual("0");//对公对私字段
bfsPaymentOccupationModel.setRmk("");
bfsPaymentOccupationModel.setDataSource("");//数据来源
JSONObject code = HttpUtil.httpRequest("http://172.16.173.160:8081/t2/rest/JgPaymentOccupationRestful", "POST", JsonUtil.getObjectToString(bfsPaymentOccupationModel));
if (ObjectUtil.isNotEmpty(code)){
if (code.get("status").equals("1")) {
entity.setBfsFlag("2");
entity.setBfsMessage(code.get("message").toString());
paymentApplicationService.updateById(entity); paymentApplicationService.updateById(entity);
}else{ }else{
entity.setBfsFlag("1"); entity.setBfsFlag("3");
entity.setBfsMessage(code.get("message").toString()); entity.setBfsMessage(message);
paymentApplicationService.updateById(entity); paymentApplicationService.updateById(entity);
} }
}else{ }else{
entity.setBfsFlag("1"); entity.setBfsFlag("3");
entity.setBfsMessage("资金系统接口调用失败"); entity.setBfsMessage("资金系统审批接口调用失败");
paymentApplicationService.updateById(entity); paymentApplicationService.updateById(entity);
} }
return ActionResult.success("上传BFS成功"); return ActionResult.success("上传BFS成功");

@ -98,5 +98,7 @@ public class PaymentApplicationForm {
private BigDecimal processMoney; private BigDecimal processMoney;
private String fundingPlanDetailCode; private String fundingPlanDetailCode;
@JsonProperty("isSubmit")
private String isSubmit;
} }

@ -0,0 +1,18 @@
package jnpf.model.yunguan;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@Data
public class BFSPaymentApprovalModel {
/** 流水号 **/
@JSONField(name = "serialNoErp")
private String serialNoErp;
/** 状态(1.不通过2.通过) **/
@JSONField(name = "status")
private String status;
/** 来源 **/
@JSONField(name = "dataSource")
private String dataSource;
}

@ -7,4 +7,6 @@ module.exports = {
// APIURl: 'http://221.214.32.166:40000' // APIURl: 'http://221.214.32.166:40000'
// 演示环境接口配置 // 演示环境接口配置
// APIURl: 'http://222.71.165.188:50000' // APIURl: 'http://222.71.165.188:50000'
// 生产内网环境接口配置
//APIURl: 'http://127.0.0.1:30000'
} }

@ -159,9 +159,9 @@
<el-button size="mini" type="text" @click="downPayment(scope.row.id)"></el-button> <el-button size="mini" type="text" @click="downPayment(scope.row.id)"></el-button>
<!-- <el-button type="text" @click="closeCaseHandle(scope.row)" v-has="'btn_edit'"> <!-- <el-button type="text" @click="closeCaseHandle(scope.row)" v-has="'btn_edit'">
</el-button> --> </el-button> -->
<el-button type="text" v-if="scope.row.tableField113.length > 0 && scope.row.bfsFlag == 1" @click="uploadBFSHandle(scope.row.id)" v-has="'btn_edit'">BFS <el-button type="text" v-if="scope.row.flowState==2 && scope.row.tableField113.length > 0 && scope.row.bfsFlag == 2" @click="uploadBFSHandle(scope.row.id)" v-has="'btn_edit'">BFS
</el-button> </el-button>
<el-button type="text" @click="settlementHandle(scope.row)" v-has="'btn_edit'"> <el-button type="text" @click="settlementHandle(scope.row)" v-has="'btn_edit'" v-if="scope.row.flowState==2 && scope.row.bfsFlag == 2">
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>

@ -5,7 +5,7 @@
<h1 style="text-align: center">{{bill.title}}</h1> <h1 style="text-align: center">{{bill.title}}</h1>
<p style="font-weight: bold">业务部门:{{bill.name}}</p> <p style="font-weight: bold">业务部门:{{bill.name}}</p>
<table border="1" cellspacing="0" width="100%"> <table border="1" cellspacing="0" width="100%">
<tr style="line-height: 44px"> <tr >
<td colspan="1" rowspan="2">订单日期</td> <td colspan="1" rowspan="2">订单日期</td>
<td colspan="5" rowspan="2">{{bill.creatorTime}}</td> <td colspan="5" rowspan="2">{{bill.creatorTime}}</td>
<td colspan="3" rowspan="2">对方合同编号</td> <td colspan="3" rowspan="2">对方合同编号</td>
@ -15,14 +15,14 @@
</tr> </tr>
<tr style=""> <tr style="">
</tr> </tr>
<tr style="line-height: 44px"> <tr >
<td colspan="1" rowspan="2">供货单位</td> <td colspan="1" rowspan="2">供货单位</td>
<td colspan="22" rowspan="2">{{bill.supplierName}}</td> <td colspan="15" rowspan="2" style="text-align: left;">{{bill.supplierName}}</td>
</tr> </tr>
<tr style=""> <tr style="">
</tr> </tr>
<tr style="line-height: 22px"> <tr >
<td colspan="3">订单号</td> <td colspan="3">订单号</td>
<td colspan="1" style="text-align: center">行号</td> <td colspan="1" style="text-align: center">行号</td>
<td colspan="5">物料名称规格型号</td> <td colspan="5">物料名称规格型号</td>
@ -42,7 +42,7 @@
<td colspan="3">{{item.amount}}</td> <td colspan="3">{{item.amount}}</td>
<td colspan="1">{{item.rate}}</td> <td colspan="1">{{item.rate}}</td>
</tr> </tr>
<tr style="line-height: 22px"> <tr >
<td colspan="3">合计</td> <td colspan="3">合计</td>
<td colspan="1"></td> <td colspan="1"></td>
<td colspan="5"></td> <td colspan="5"></td>
@ -153,7 +153,7 @@ table {
text-align: center; text-align: center;
border-collapse: collapse; border-collapse: collapse;
td { td {
padding: 10px 0; padding: 5px 0;
border: 1px solid #333; border: 1px solid #333;
} }
} }
@ -229,7 +229,7 @@ table {
border-collapse: collapse; border-collapse: collapse;
margin-top: 5mm; /* 添加顶部外边距,替代原先的页内边距 */ margin-top: 5mm; /* 添加顶部外边距,替代原先的页内边距 */
td { td {
padding: 10px 0; padding: 5px 0;
border: 1px solid #333; border: 1px solid #333;
} }
} }

@ -379,6 +379,7 @@ public class FlowTaskNewServiceImpl implements FlowTaskNewService {
for (String idAll : childAllData.keySet()) { for (String idAll : childAllData.keySet()) {
String[] idList = idAll.split("_jnpf_"); String[] idList = idAll.split("_jnpf_");
Map<String, Object> formData = childAllData.get(idAll); Map<String, Object> formData = childAllData.get(idAll);
formData.put("isSubmit", 1);
serviceUtil.createOrUpdate(idList[1], idList[0], formData); serviceUtil.createOrUpdate(idList[1], idList[0], formData);
} }
} finally { } finally {

@ -17,6 +17,12 @@
<artifactId>jnpf-workflow-engine-biz</artifactId> <artifactId>jnpf-workflow-engine-biz</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.jnpf</groupId>
<artifactId>jnpf-scm-biz</artifactId>
<version>3.5.0-RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

@ -1,5 +1,7 @@
package jnpf.engine.controller; package jnpf.engine.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -31,11 +33,15 @@ import jnpf.engine.util.FlowJsonUtil;
import jnpf.engine.util.FlowNature; import jnpf.engine.util.FlowNature;
import jnpf.engine.util.FlowTaskUtil; import jnpf.engine.util.FlowTaskUtil;
import jnpf.entity.BusinessOrderEntity; import jnpf.entity.BusinessOrderEntity;
import jnpf.entity.PaymentApplicationEntity;
import jnpf.exception.WorkFlowException; import jnpf.exception.WorkFlowException;
import jnpf.model.yunguan.BFSPaymentApprovalModel;
import jnpf.permission.entity.UserEntity; import jnpf.permission.entity.UserEntity;
import jnpf.permission.entity.UserRelationEntity; import jnpf.permission.entity.UserRelationEntity;
import jnpf.service.PaymentApplicationService;
import jnpf.util.*; import jnpf.util.*;
import jnpf.util.visiual.JnpfKeyConsts; import jnpf.util.visiual.JnpfKeyConsts;
import jnpf.util.wxutil.HttpUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -77,7 +83,8 @@ public class FlowBeforeController {
private FlowTaskNodeService flowTaskNodeService; private FlowTaskNodeService flowTaskNodeService;
@Autowired @Autowired
private FlowTaskNewService flowTaskNewService; private FlowTaskNewService flowTaskNewService;
@Autowired
private PaymentApplicationService paymentApplicationService;
/** /**
* *
* *
@ -254,6 +261,36 @@ public class FlowBeforeController {
} }
redisUtil.insert(rejecttKey, id, 10); redisUtil.insert(rejecttKey, id, 10);
flowTaskNewService.rejectAll(flowTask, operator, flowModel); flowTaskNewService.rejectAll(flowTask, operator, flowModel);
if(flowModel.getFlowId().equals("569062075217740037")){
//采购付款申请退回
PaymentApplicationEntity paymentApplicationEntity = paymentApplicationService.getById(flowModel.getId());
List<BFSPaymentApprovalModel> list2 = new ArrayList<>();
BFSPaymentApprovalModel bFSPaymentApprovalModel = new BFSPaymentApprovalModel();
bFSPaymentApprovalModel.setDataSource("CK");
bFSPaymentApprovalModel.setStatus("1");
bFSPaymentApprovalModel.setSerialNoErp(paymentApplicationEntity.getId());
list2.add(bFSPaymentApprovalModel);
//先款后货 先款后票
String result = HttpUtil.sendHttpPost("http://172.16.173.160:8081/t2/rest/JgYGPaymentApprovalResultRestful", JsonUtil.getObjectToString(list2));
if (ObjectUtil.isNotEmpty(result)){
String status = JSONArray.parseArray(result, Map.class).get(0).get("status").toString();
String message = JSONArray.parseArray(result, Map.class).get(0).get("message").toString();
//String serialNoErp = JSONArray.parseArray(code, Map.class).get(0).get("serialNoErp").toString();
if ("2".equals(status)) {
paymentApplicationEntity.setBfsFlag("2");
paymentApplicationEntity.setBfsMessage(message);
paymentApplicationService.updateById(paymentApplicationEntity);
}else{
paymentApplicationEntity.setBfsFlag("1");
paymentApplicationEntity.setBfsMessage(message);
paymentApplicationService.updateById(paymentApplicationEntity);
}
}else{
paymentApplicationEntity.setBfsFlag("1");
paymentApplicationEntity.setBfsMessage("资金系统审批接口调用失败");
paymentApplicationService.updateById(paymentApplicationEntity);
}
}
return ActionResult.success("退回成功"); return ActionResult.success("退回成功");
} else { } else {
return ActionResult.fail("已审核完成"); return ActionResult.fail("已审核完成");

Loading…
Cancel
Save