|
|
@ -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
|
|
|
|