|
|
@ -1,13 +1,28 @@ |
|
|
|
package com.qs.serve.modules.visit.service.impl; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
import com.qs.serve.common.model.dto.R; |
|
|
|
import com.qs.serve.common.model.oa.BaseCreateCallbackBo; |
|
|
|
import com.qs.serve.common.model.oa.OaFormMainProcess; |
|
|
|
import com.qs.serve.common.util.Assert; |
|
|
|
import com.qs.serve.modules.flow.service.SeeYonOptionService; |
|
|
|
import com.qs.serve.modules.flow.service.SeeYonService; |
|
|
|
import com.qs.serve.modules.visit.common.VisitMainConst; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import com.qs.serve.modules.visit.entity.VisitMain; |
|
|
|
import com.qs.serve.modules.visit.service.VisitMainService; |
|
|
|
import com.qs.serve.modules.visit.mapper.VisitMainMapper; |
|
|
|
|
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
/** |
|
|
|
* 拜访 服务实现类 |
|
|
|
* @author YenHex |
|
|
@ -16,11 +31,66 @@ import com.qs.serve.modules.visit.mapper.VisitMainMapper; |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
@AllArgsConstructor |
|
|
|
public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain> implements VisitMainService { |
|
|
|
public class VisitMainServiceImpl extends ServiceImpl<VisitMainMapper,VisitMain> implements VisitMainService, SeeYonOptionService { |
|
|
|
|
|
|
|
private final SeeYonService seeYonService; |
|
|
|
|
|
|
|
@Value("${project.flow-dev}") |
|
|
|
private static Boolean flowDev; |
|
|
|
|
|
|
|
@Override |
|
|
|
public String loadTemplateCode(){ |
|
|
|
return flowDev?"visitApplyForm_Test":"visitApplyForm"; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void submitOaFlow(String id) { |
|
|
|
String templateCode = loadTemplateCode(); |
|
|
|
VisitMain visitMain = this.getById(id); |
|
|
|
Map<String, Object> mainData = new HashMap<>(); |
|
|
|
mainData.put("deptName",visitMain.getDeptName()); |
|
|
|
mainData.put("userCode",visitMain.getUserCode()); |
|
|
|
mainData.put("userName",visitMain.getUserName()); |
|
|
|
mainData.put("preVisitDate",visitMain.getPreVisitDate()); |
|
|
|
mainData.put("visitorCompany",visitMain.getVisitorCompany()); |
|
|
|
mainData.put("visitorName",visitMain.getVisitorName()); |
|
|
|
mainData.put("visitorMobile",visitMain.getVisitorMobile()); |
|
|
|
mainData.put("visitorSum",visitMain.getVisitorSum()); |
|
|
|
mainData.put("visitorContext",visitMain.getVisitorContext()); |
|
|
|
mainData.put("remark",visitMain.getRemark()); |
|
|
|
OaFormMainProcess mainProcess = new OaFormMainProcess(); |
|
|
|
mainProcess.setTargetId(visitMain.getId()); |
|
|
|
mainProcess.setUploadFiles(new ArrayList<>()); |
|
|
|
mainProcess.setTableName("formmain_2228"); |
|
|
|
mainProcess.setData(mainData); |
|
|
|
mainProcess.setTemplateCode(templateCode); |
|
|
|
mainProcess.setUserId(visitMain.getUserId()); |
|
|
|
mainProcess.setSenderLoginName(visitMain.getUserCode()); |
|
|
|
|
|
|
|
R flowIdResult = seeYonService.newCreateProcess(mainProcess); |
|
|
|
|
|
|
|
if(flowIdResult==null||flowIdResult.getStatus()!=200){ |
|
|
|
assert flowIdResult != null; |
|
|
|
Assert.throwEx("远程服务调用失败:"+flowIdResult.getMsg()); |
|
|
|
} |
|
|
|
if(flowIdResult.getMsg()!=null && flowIdResult.getMsg().length()>45){ |
|
|
|
log.error(flowIdResult.getMsg()); |
|
|
|
JSONObject object = JSON.parseObject(flowIdResult.getMsg()); |
|
|
|
if(!object.get("code").toString().equals("0")){ |
|
|
|
Assert.throwEx("流程发起被拦截了"); |
|
|
|
} |
|
|
|
} |
|
|
|
String formId = null; |
|
|
|
R<String> formIdResult = seeYonService.getFormId(templateCode,visitMain.getId()); |
|
|
|
if(formIdResult.getStatus()==200){ |
|
|
|
formId = formIdResult.getData(); |
|
|
|
} |
|
|
|
visitMain.setSyFormId(formId); |
|
|
|
visitMain.setSubmitTime(LocalDateTime.now()); |
|
|
|
visitMain.setCheckState(VisitMainConst.CheckState_0); |
|
|
|
this.updateById(visitMain); |
|
|
|
BaseCreateCallbackBo callbackBo = new BaseCreateCallbackBo(templateCode, visitMain.getId()); |
|
|
|
seeYonService.createCallbackStatus(callbackBo); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|