|
@@ -8,6 +8,8 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONException;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -23,20 +25,15 @@ import com.dayou.enums.ProductionEnum;
|
|
|
import com.dayou.exception.ErrorCode;
|
|
|
import com.dayou.mapper.DyoaHistoryMapper;
|
|
|
import com.dayou.service.*;
|
|
|
-import com.dayou.service.impl.MajorServiceImpl;
|
|
|
-import com.dayou.service.workflow.*;
|
|
|
import com.dayou.utils.DateUtils;
|
|
|
import com.dayou.utils.HttpKit;
|
|
|
-import com.sun.corba.se.spi.orbutil.threadpool.Work;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.http.HttpResponse;
|
|
|
import org.apache.http.client.HttpClient;
|
|
|
import org.apache.http.client.methods.HttpPost;
|
|
|
import org.apache.http.impl.client.DefaultHttpClient;
|
|
|
-import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.lang.reflect.Field;
|
|
@@ -48,9 +45,9 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.dayou.common.Constants.*;
|
|
|
import static com.dayou.enums.MainBusinessEnum.MAJOR_BUSINESS;
|
|
|
-import static com.dayou.enums.workflow.NodeStateEnum.PENDING;
|
|
|
-import static com.dayou.enums.workflow.NodeTaskVersion.LATEST;
|
|
|
+import static com.dayou.enums.MainBusinessEnum.MAJOR_ORDER;
|
|
|
|
|
|
+@DS("dyoa")
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
|
|
@@ -65,21 +62,14 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
|
|
|
|
|
|
private static final String HISTORY_ASSETS_ORDER_URL = "http://noa.scdayou.com/dyoa/assets/assets/pageQuery";
|
|
|
|
|
|
-// private Map<String,Long> users = new HashMap<>();
|
|
|
-//
|
|
|
-// private Map<String,Long> departments = new HashMap<>();
|
|
|
-//
|
|
|
-// private Map<String,Long> majorBusinessNodes = new HashMap<>();
|
|
|
-//
|
|
|
-// private Map<String,Long> workFlows = new HashMap<>();
|
|
|
-//
|
|
|
-// private static final Map<String,String> MAJOR_ORDER_COLUM = new HashMap<>();
|
|
|
-//
|
|
|
-// private static final Map<String,String> MAJOR_TARGET_LAND_COLUM = new HashMap<>();
|
|
|
-//
|
|
|
-// private static final Map<String,String> MAJOR_PRODUCTION_COLUM = new HashMap<>();
|
|
|
-//
|
|
|
-// private static final Map<String,String> MAJOR_TARGET_HOUSE_COLUM = new HashMap<>();
|
|
|
+ private Map<String,Long> users = new HashMap<>();
|
|
|
+
|
|
|
+ private Map<String,Long> departments = new HashMap<>();
|
|
|
+
|
|
|
+
|
|
|
+ private static final Map<String,String> MAJOR_ORDER_COLUM = new HashMap<>();
|
|
|
+
|
|
|
+ private static final Map<String,String> MAJOR_PRODUCTION_COLUM = new HashMap<>();
|
|
|
|
|
|
|
|
|
@Autowired
|
|
@@ -95,138 +85,82 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
|
|
|
private IDyoaRecordService dyoaRecordService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IWorkFlowNodeInstanceService workFlowNodeInstanceService;
|
|
|
+ private IOrderFundService orderFundService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IWorkFlowService workFlowService;
|
|
|
+ private IProductionFundService productionFundService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private IWorkNodeService workNodeService;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private MajorServiceImpl majorServiceImpl;
|
|
|
|
|
|
- @Autowired
|
|
|
- private IWorkNodeTaskService workNodeTaskService;
|
|
|
|
|
|
@Autowired
|
|
|
- private IWorkTaskRecordService workTaskRecordService;
|
|
|
+ private IMajorService majorServiceImpl;
|
|
|
|
|
|
- @Autowired
|
|
|
- private IMajorTargetService majorTargetService;
|
|
|
|
|
|
@Autowired
|
|
|
private IMajorProductionService majorProductionService;
|
|
|
|
|
|
-// static {
|
|
|
-//// MAJOR_ORDER_COLUM.put("id","id");
|
|
|
-// MAJOR_ORDER_COLUM.put("name","name");
|
|
|
-// MAJOR_ORDER_COLUM.put("code","orderId");
|
|
|
-// MAJOR_ORDER_COLUM.put("sourceType","financial");
|
|
|
-// MAJOR_ORDER_COLUM.put("assign","allotType");
|
|
|
-// MAJOR_ORDER_COLUM.put("masterName","clientManagerId");
|
|
|
-// MAJOR_ORDER_COLUM.put("managerName","principalId");
|
|
|
-// MAJOR_ORDER_COLUM.put("masterOrgName","departmentId");
|
|
|
-// MAJOR_ORDER_COLUM.put("businessType","businessObjectType");
|
|
|
-// MAJOR_ORDER_COLUM.put("businessType2","businessGener");
|
|
|
-// MAJOR_ORDER_COLUM.put("spec","specialType");
|
|
|
-// MAJOR_ORDER_COLUM.put("evaluateTarget","evaluateAim");
|
|
|
-// MAJOR_ORDER_COLUM.put("repeatOrder","entrustAgain");
|
|
|
-// MAJOR_ORDER_COLUM.put("fhbq","multipleRemoval");
|
|
|
-// MAJOR_ORDER_COLUM.put("oral","informalEvaluate");
|
|
|
-// MAJOR_ORDER_COLUM.put("customerType","clienteleType");
|
|
|
-//// MAJOR_ORDER_COLUM.put("customerName","clienteleId");
|
|
|
-//// MAJOR_ORDER_COLUM.put("customerName2","clienteleSubId");
|
|
|
-//// MAJOR_ORDER_COLUM.put("contactId","clienteleContactId");
|
|
|
-// MAJOR_ORDER_COLUM.put("cz","dispenseBenefit");
|
|
|
-// MAJOR_ORDER_COLUM.put("locations","nonnative");
|
|
|
-// MAJOR_ORDER_COLUM.put("refinance","refinance");
|
|
|
-// MAJOR_ORDER_COLUM.put("loanMoney","loanLimit");
|
|
|
-// MAJOR_ORDER_COLUM.put("loanLimit","loanPeriod");
|
|
|
-// MAJOR_ORDER_COLUM.put("loanProperty","loanNature");
|
|
|
-// MAJOR_ORDER_COLUM.put("loanUsage","loanAim");
|
|
|
-// MAJOR_ORDER_COLUM.put("loanExpired","loanExpire");
|
|
|
-// MAJOR_ORDER_COLUM.put("principal","bailor");
|
|
|
-// MAJOR_ORDER_COLUM.put("principalAddress","bailorAddress");
|
|
|
-// MAJOR_ORDER_COLUM.put("principalName","bailorContactName");
|
|
|
-// MAJOR_ORDER_COLUM.put("principalMobile","bailorContactTel");
|
|
|
-// MAJOR_ORDER_COLUM.put("propertyName","owner");
|
|
|
-// MAJOR_ORDER_COLUM.put("propertyMobile","ownerTel");
|
|
|
-// MAJOR_ORDER_COLUM.put("urgent","urgent");
|
|
|
-//// MAJOR_ORDER_COLUM.put("terminalName","terminalClienteleId");
|
|
|
-// MAJOR_ORDER_COLUM.put("terminalType","terminalClienteleType");
|
|
|
-//// MAJOR_ORDER_COLUM.put("terminalContactName","terminalClienteleContactId");
|
|
|
-// MAJOR_ORDER_COLUM.put("members","members");
|
|
|
-// MAJOR_ORDER_COLUM.put("description","remark");
|
|
|
-//
|
|
|
-// // 大中型估价对象(土地)字段
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("type","landType");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("ownerName","rightToUser");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("ownerNo","landCertificateNo");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("locations","located");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("useArea","useAcreage");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("lastYear","residueYears");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("plotRate","plotRatio");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("landUsage","landUse");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("useType","rightType");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("masterName","principalId");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("surveyName","siteIds");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("description","remark");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("price","evaluateValue");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("approvedPrice","checkValue");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("measure","evaluateMethods");
|
|
|
-// MAJOR_TARGET_LAND_COLUM.put("surveyDate","evaluateDate");
|
|
|
-//
|
|
|
-// //大中型估价对象(房地产)字段
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("type","housePurpose");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("ownerName","owner");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("ownerNo","ownerNo");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("houseName","targetName");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("locations","located");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("landOwnerName","rightToUser");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("landNo","landCertificateNo");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("buildYear","buildDoneYear");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("buildArea","buildAcreage");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("useType","useRightType");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("landArea","landAcreage");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("masterName","principalId");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("surveyName","siteIds");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("planUsage","planPurpose");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("realUsage","realPurpose");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("surveyAddress","siteLocated");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("description","remark");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("price","evaluateValue");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("approvedPrice","checkValue");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("measure","evaluateMethods");
|
|
|
-// MAJOR_TARGET_HOUSE_COLUM.put("surveyDate","evaluateDate");
|
|
|
-//
|
|
|
-//
|
|
|
-// //大中型产品字段
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("pType","production");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("reportNo","reportNo");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("signEmpNames","signatory");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("name","name");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("principal","clientName");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("principalAddress","clientAddress");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("principalMobile","clientTel");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("propertyName","owner");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("priceDate","valueTiming");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("area","evaluateAcreage");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("money","evaluateAmount");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("xPrice","evaluatePrice");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("specDesc","comment");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("repo","repertoryState");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("yjsInTime","repertoryInTime");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("yjsOutTime","repertoryOutTime");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("bgInTime","repertoryInTime");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("bgOutTime","repertoryOutTime");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("archiveTime","saveFileDate");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("standardPrice","standardAmount");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("confirmTime","deliveryDate");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("deliveryState","delivery");
|
|
|
-// MAJOR_PRODUCTION_COLUM.put("printQuantity","printTimes");
|
|
|
-//
|
|
|
-// }
|
|
|
+ static {
|
|
|
+// MAJOR_ORDER_COLUM.put("id","id");
|
|
|
+ MAJOR_ORDER_COLUM.put("name","name");
|
|
|
+ MAJOR_ORDER_COLUM.put("code","orderId");
|
|
|
+ MAJOR_ORDER_COLUM.put("sourceType","financial");
|
|
|
+ MAJOR_ORDER_COLUM.put("assign","allotType");
|
|
|
+ MAJOR_ORDER_COLUM.put("masterName","clientManagerId");
|
|
|
+ MAJOR_ORDER_COLUM.put("managerName","principalId");
|
|
|
+ MAJOR_ORDER_COLUM.put("masterOrgName","departmentId");
|
|
|
+ MAJOR_ORDER_COLUM.put("businessType","businessObjectType");
|
|
|
+ MAJOR_ORDER_COLUM.put("businessType2","businessGener");
|
|
|
+ MAJOR_ORDER_COLUM.put("spec","specialType");
|
|
|
+ MAJOR_ORDER_COLUM.put("evaluateTarget","evaluateAim");
|
|
|
+ MAJOR_ORDER_COLUM.put("repeatOrder","entrustAgain");
|
|
|
+ MAJOR_ORDER_COLUM.put("fhbq","multipleRemoval");
|
|
|
+ MAJOR_ORDER_COLUM.put("oral","informalEvaluate");
|
|
|
+ MAJOR_ORDER_COLUM.put("customerType","clienteleType");
|
|
|
+ MAJOR_ORDER_COLUM.put("cz","dispenseBenefit");
|
|
|
+ MAJOR_ORDER_COLUM.put("locations","nonnative");
|
|
|
+ MAJOR_ORDER_COLUM.put("refinance","refinance");
|
|
|
+ MAJOR_ORDER_COLUM.put("loanMoney","loanLimit");
|
|
|
+ MAJOR_ORDER_COLUM.put("loanLimit","loanPeriod");
|
|
|
+ MAJOR_ORDER_COLUM.put("loanProperty","loanNature");
|
|
|
+ MAJOR_ORDER_COLUM.put("loanUsage","loanAim");
|
|
|
+ MAJOR_ORDER_COLUM.put("loanExpired","loanExpire");
|
|
|
+ MAJOR_ORDER_COLUM.put("principal","bailor");
|
|
|
+ MAJOR_ORDER_COLUM.put("principalAddress","bailorAddress");
|
|
|
+ MAJOR_ORDER_COLUM.put("principalName","bailorContactName");
|
|
|
+ MAJOR_ORDER_COLUM.put("principalMobile","bailorContactTel");
|
|
|
+ MAJOR_ORDER_COLUM.put("propertyName","owner");
|
|
|
+ MAJOR_ORDER_COLUM.put("propertyMobile","ownerTel");
|
|
|
+ MAJOR_ORDER_COLUM.put("urgent","urgent");
|
|
|
+ MAJOR_ORDER_COLUM.put("terminalType","terminalClienteleType");
|
|
|
+ MAJOR_ORDER_COLUM.put("members","members");
|
|
|
+ MAJOR_ORDER_COLUM.put("description","remark");
|
|
|
+
|
|
|
+ //大中型产品字段
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("pType","production");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("reportNo","reportNo");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("signEmpNames","signatory");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("name","name");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("principal","clientName");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("principalAddress","clientAddress");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("principalMobile","clientTel");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("propertyName","owner");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("priceDate","valueTiming");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("area","evaluateAcreage");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("money","evaluateAmount");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("xPrice","evaluatePrice");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("specDesc","comment");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("repo","repertoryState");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("yjsInTime","repertoryInTime");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("yjsOutTime","repertoryOutTime");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("bgInTime","repertoryInTime");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("bgOutTime","repertoryOutTime");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("archiveTime","saveFileDate");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("standardPrice","standardAmount");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("confirmTime","deliveryDate");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("deliveryState","delivery");
|
|
|
+ MAJOR_PRODUCTION_COLUM.put("printQuantity","printTimes");
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public Page<HisMajorOrder> hisMajorPage(HisOrderParam param) {
|
|
@@ -360,6 +294,15 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+ @DSTransactional
|
|
|
+ @Override
|
|
|
+ public void fetchDyoaMajorOrderProduction() {
|
|
|
+ List<String> dyoaIds = dyoaHistoryMapper.selectDyoaMajorOrderIds();
|
|
|
+ dyoaIds.stream().forEach(x->{
|
|
|
+ fetchAboutMajor(x);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public Map<String,Object> queryMajorOrder(String majorId){
|
|
|
Map<String, Object> resultMap = dyoaHistoryMapper.queryMajorOrder(majorId);
|
|
@@ -367,35 +310,277 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
|
|
|
}
|
|
|
|
|
|
//多数据源切换,主方法用@DSTransactional注解解决事务失效问题
|
|
|
- //@DSTransactional
|
|
|
-// @Override
|
|
|
-// public Boolean fetchAboutMajor(String id) {
|
|
|
-// dyoaRecordService.isExist(MainBusinessEnum.MAJOR_ORDER,id);
|
|
|
-// try {
|
|
|
-// //1. 获取订单信息,插入major表。
|
|
|
-// Map<String, Object> dyoaMajorOrder = dyoaHistoryMapper.queryMajorOrder(id);
|
|
|
-// Long mbsId = this.doCreateMajorOrder(dyoaMajorOrder);
|
|
|
-// //2. 同步估价对象
|
|
|
-// String targetType = (String) dyoaMajorOrder.get("businessType");
|
|
|
-// List<MajorProduction> majorProductions = this.doCreateMajorTarget(targetType, id, mbsId);
|
|
|
-// //3. 创建节点
|
|
|
-// Object node = dyoaMajorOrder.get("nowNodeName");
|
|
|
-// if (node!=null){
|
|
|
-// String dyoaNodeName = (String) node;
|
|
|
-// Long instanceNodeId = this.doCreateMajorInstanceNode(mbsId, dyoaNodeName,majorProductions);
|
|
|
-// //4. 创建任务
|
|
|
-// String dyoaHandlerName = (String) dyoaMajorOrder.get("nowNodeEmpName");
|
|
|
-// this.doCreateNodeTask(instanceNodeId,dyoaNodeName,dyoaHandlerName);
|
|
|
-// }
|
|
|
-// return Boolean.TRUE;
|
|
|
-// } catch (NoSuchFieldException e) {
|
|
|
-// throw new RuntimeException(e);
|
|
|
-// } catch (IllegalAccessException e) {
|
|
|
-// throw new RuntimeException(e);
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean fetchAboutMajor(String id) {
|
|
|
+ try {
|
|
|
+ //1. 获取订单信息,插入major表。
|
|
|
+ Map<String, Object> dyoaMajorOrder = dyoaHistoryMapper.queryMajorOrder(id);
|
|
|
+ Long mbsId = this.doCreateMajorOrder(dyoaMajorOrder);
|
|
|
+ //2. 同步产品
|
|
|
+ Double shouldAmount = (Double) dyoaMajorOrder.get("needPay");
|
|
|
+ this.doCreateMajorProduction(shouldAmount,id, mbsId);
|
|
|
+ return Boolean.TRUE;
|
|
|
+ } catch (NoSuchFieldException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ } catch (IllegalAccessException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doCreateMajorProduction(Double shouldAmount ,String id,Long majorId) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ List<HisMajorTarget> majorProductions = dyoaHistoryMapper.queryMajorProduction(id);
|
|
|
+ if (CollectionUtil.isNotEmpty(majorProductions)){
|
|
|
+
|
|
|
+ OrderFund orderFund = orderFundService.getOne(new LambdaQueryWrapper<OrderFund>().eq(OrderFund::getBusinessType, MAJOR_BUSINESS.name())
|
|
|
+ .eq(OrderFund::getBusinessId, majorId).eq(OrderFund::getOrderId, majorProductions.get(0).getCode()));
|
|
|
+
|
|
|
+ if (orderFund==null){
|
|
|
+ //创建订单收款记录
|
|
|
+ orderFund = new OrderFund();
|
|
|
+ orderFund.setBusinessId(majorId);
|
|
|
+ orderFund.setBusinessType(MAJOR_BUSINESS.name());
|
|
|
+ orderFund.setOrderId(majorProductions.get(0).getCode());
|
|
|
+ orderFund.setOrderName(majorProductions.get(0).getName());
|
|
|
+ orderFund.setShouldAmount(BigDecimal.valueOf(shouldAmount));
|
|
|
+ orderFundService.save(orderFund);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (HisMajorTarget production :majorProductions){
|
|
|
+ if (StrUtil.isNotBlank(production.getPId())){
|
|
|
+ MajorProduction majorProduction = new MajorProduction();
|
|
|
+ majorProduction.setMajorId(majorId);
|
|
|
+ for (Map.Entry<String, String> entry : MAJOR_PRODUCTION_COLUM.entrySet()){
|
|
|
+ Field field = HisMajorTarget.class.getDeclaredField(entry.getKey());
|
|
|
+ field.setAccessible(true);
|
|
|
+ Object value = field.get(production);
|
|
|
+ if (value!=null){
|
|
|
+ String mbsColum = entry.getValue();
|
|
|
+ Field xFiled = MajorProduction.class.getDeclaredField(mbsColum);
|
|
|
+ xFiled.setAccessible(true);
|
|
|
+ switch (mbsColum){
|
|
|
+ case "production":
|
|
|
+ String productionType = getProductionType((String) value);
|
|
|
+ xFiled.set(majorProduction, productionType);
|
|
|
+ break;
|
|
|
+ case "delivery":
|
|
|
+ xFiled.set(majorProduction,production.getConfirmTime()!=null);
|
|
|
+ break;
|
|
|
+ case "signatory":
|
|
|
+ xFiled.set(majorProduction,getMbsUserIds((String) value));
|
|
|
+ break;
|
|
|
+ case "valueTiming":
|
|
|
+ case "saveFileDate":
|
|
|
+ case "deliveryDate":
|
|
|
+ xFiled.set(majorProduction,DateUtils.dateToLocalDate((Date) value));
|
|
|
+ break;
|
|
|
+ case "repertoryState":
|
|
|
+ String repertoryState = (String) value;
|
|
|
+ xFiled.set(majorProduction,repertoryState.equals("OUT"));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ xFiled.set(majorProduction,value);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ MajorProduction mp = majorProductionService.getOne(new LambdaQueryWrapper<MajorProduction>().eq(MajorProduction::getMajorId, majorId)
|
|
|
+ .eq(MajorProduction::getReportNo, majorProduction.getReportNo()).eq(MajorProduction::getProduction, majorProduction.getProduction()));
|
|
|
+ //插入产品记录
|
|
|
+ if (mp==null){
|
|
|
+ //查询有没有产品号,如果没有就不创建产品和产品收款
|
|
|
+ if (StrUtil.isNotBlank(majorProduction.getReportNo())){
|
|
|
+ majorProductionService.save(majorProduction);
|
|
|
+ //创建产品收款记录
|
|
|
+ ProductionFund productionFund = new ProductionFund();
|
|
|
+ productionFund.setBusinessId(majorId);
|
|
|
+ productionFund.setBusinessType(MAJOR_BUSINESS.name());
|
|
|
+ productionFund.setProductionNo(production.getReportNo());
|
|
|
+ productionFund.setProductionType(getProductionType(production.getPType()));
|
|
|
+ productionFund.setOrderFundId(orderFund.getId());
|
|
|
+ productionFund.setStandardAmount(production.getStandardPrice());
|
|
|
+ productionFundService.save(productionFund);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private String getProductionType(String value) {
|
|
|
+ if (value.contains(ProductionEnum.REPORT.getMsg())){
|
|
|
+ return ProductionEnum.REPORT.name();
|
|
|
+ }
|
|
|
+ if (value.contains(ProductionEnum.STATEMENT.getMsg())){
|
|
|
+ return ProductionEnum.STATEMENT.name();
|
|
|
+ }
|
|
|
+ return ProductionEnum.LETTER.name();
|
|
|
+ }
|
|
|
+
|
|
|
+ private Long doCreateMajorOrder(Map<String,Object> dyMajorOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ String dyoaId = (String) dyMajorOrder.get("id");
|
|
|
+ String managerName = (String) dyMajorOrder.get("managerName");
|
|
|
+
|
|
|
+ DyoaRecord record = dyoaRecordService.getOne(new LambdaQueryWrapper<DyoaRecord>().eq(DyoaRecord::getMbsType, MAJOR_ORDER.name()).eq(DyoaRecord::getDyoaId, dyoaId));
|
|
|
+ if (record != null){
|
|
|
+ //更新项目负责人
|
|
|
+ Long mbsOrderId = record.getMbsId();
|
|
|
+ if (StrUtil.isNotEmpty(managerName)){
|
|
|
+ Major major = majorServiceImpl.getOne(new LambdaQueryWrapper<Major>().eq(BaseEntity::getId, mbsOrderId).select(BaseEntity::getId, Major::getPrincipalId));
|
|
|
+ if (major.getPrincipalId()==null){
|
|
|
+ majorServiceImpl.update(new LambdaUpdateWrapper<Major>().set(Major::getPrincipalId,getMbsUserId(managerName)).eq(BaseEntity::getId, mbsOrderId));
|
|
|
+ log.info("项目负责人被更新 mbsId: {}",mbsOrderId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return mbsOrderId;
|
|
|
+ }
|
|
|
+ Major major = new Major();
|
|
|
+ Class<Major> mClass = Major.class;
|
|
|
+ for (Map.Entry<String, String> entry : MAJOR_ORDER_COLUM.entrySet()){
|
|
|
+ Object columValue = dyMajorOrder.get(entry.getKey());
|
|
|
+ if (columValue!=null){
|
|
|
+ String mbsColum = entry.getValue();
|
|
|
+ Field field = mClass.getDeclaredField(mbsColum);
|
|
|
+
|
|
|
+ field.setAccessible(true);
|
|
|
+ switch (mbsColum){
|
|
|
+ case "allotType":
|
|
|
+ field.set(major,(Boolean) columValue?ASSIGN:BY_TURNS);break;
|
|
|
+ case "financial":
|
|
|
+ field.set(major,columValue.equals("FINANCE"));break;
|
|
|
+ case "clientManagerId":
|
|
|
+ field.set(major,getMbsUserId((String) columValue));break;
|
|
|
+ case "principalId":
|
|
|
+ field.set(major,getMbsUserId((String) columValue));break;
|
|
|
+ case "departmentId":
|
|
|
+ field.set(major,getMbsDepartmentId((String) columValue));break;
|
|
|
+ case "loanLimit":
|
|
|
+ case "loanPeriod":
|
|
|
+ field.set(major, BigDecimal.valueOf((Double) columValue));break;
|
|
|
+ case "members":
|
|
|
+ field.set(major,getMbsUserIds((String) columValue));break;
|
|
|
+ default:
|
|
|
+ field.set(major,columValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ major.setCreated((Date) dyMajorOrder.get("createdDatetime"));
|
|
|
+ majorServiceImpl.save(major);
|
|
|
+ //插入同步记录表
|
|
|
+ Long mbsId = major.getId();
|
|
|
+
|
|
|
+ dyoaRecordService.insert(MainBusinessEnum.MAJOR_ORDER, mbsId, dyoaId);
|
|
|
+ return mbsId;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private Long getMbsUserId(String userName){
|
|
|
+ if (CollectionUtil.isEmpty(users)){
|
|
|
+ List<User> list = userService.list(new LambdaQueryWrapper<User>().select(BaseEntity::getId, User::getName));
|
|
|
+ users = list.stream().collect(Collectors.toMap(User::getName, User::getId));
|
|
|
+ }
|
|
|
+
|
|
|
+ Long clientManagerId = users.get(userName);
|
|
|
+ return clientManagerId==null?1L:clientManagerId;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Long getMbsDepartmentId(String departmentName){
|
|
|
+ if (CollectionUtil.isEmpty(departments)){
|
|
|
+ List<Department> list = departmentService.list(new LambdaQueryWrapper<Department>().select(BaseEntity::getId, Department::getName));
|
|
|
+ departments = list.stream().collect(Collectors.toMap(Department::getName, Department::getId));
|
|
|
+ }
|
|
|
+ if (departmentName.equals("复审部")){
|
|
|
+ departmentName = "综合部";
|
|
|
+ }
|
|
|
+ if (departmentName.equals("土地综合部")){
|
|
|
+ departmentName = "土地规划与评估事业部";
|
|
|
+ }
|
|
|
+ if (departmentName.equals("资产事业部")){
|
|
|
+ departmentName = "资产评估事业部";
|
|
|
+ }
|
|
|
+ return departments.get(departmentName);
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getMbsUserIds(String userNames){
|
|
|
+ List<Long> userIds = new ArrayList<>();
|
|
|
+ Arrays.asList(userNames.split(",")).forEach(userName -> {
|
|
|
+ Long mbsUserId = getMbsUserId(userName.replaceAll(" ",""));
|
|
|
+ userIds.add(mbsUserId);
|
|
|
+ });
|
|
|
+ return JSON.toJSONString(userIds);
|
|
|
+ }
|
|
|
+
|
|
|
+// private Long getMbsWorkFlows(String flowCode){
|
|
|
+// if (CollectionUtil.isEmpty(workFlows)){
|
|
|
+// List<WorkFlow> list = workFlowService.list(new LambdaQueryWrapper<WorkFlow>().select(BaseEntity::getId, WorkFlow::getCode));
|
|
|
+// workFlows = list.stream().collect(Collectors.toMap(WorkFlow::getCode, WorkFlow::getId));
|
|
|
// }
|
|
|
+// return workFlows.get(flowCode);
|
|
|
// }
|
|
|
//
|
|
|
-// public List<MajorProduction> doCreateMajorTarget(String targetType, String id,Long majorId) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+// private Long getMbsWorkNodes(String nodeName){
|
|
|
+// if (CollectionUtil.isEmpty(majorBusinessNodes)){
|
|
|
+// List<WorkNode> list = workNodeService.list(new LambdaQueryWrapper<WorkNode>().select(BaseEntity::getId, WorkNode::getName)
|
|
|
+// .eq(WorkNode::getFlowId,getMbsWorkFlows(MAJOR_BUSINESS.name())));
|
|
|
+// majorBusinessNodes = list.stream().collect(Collectors.toMap(WorkNode::getName, WorkNode::getId));
|
|
|
+// }
|
|
|
+// return majorBusinessNodes.get(nodeName);
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// private Long doCreateMajorInstanceNode(Long businessId,String dyoaNodeName,List<MajorProduction> productions){
|
|
|
+// String businessSubId = null;
|
|
|
+// String businessMinId = null;
|
|
|
+// if (CollectionUtil.isNotEmpty(productions)){
|
|
|
+// List<MajorProduction> statement = productions.stream().filter(x -> x.getProduction().equals(ProductionEnum.STATEMENT.name())).collect(Collectors.toList());
|
|
|
+// if (CollectionUtil.isNotEmpty(statement)){
|
|
|
+// businessSubId = statement.get(0).getReportNo();
|
|
|
+// }
|
|
|
+// List<MajorProduction> report = productions.stream().filter(x -> x.getProduction().equals(ProductionEnum.REPORT.name())).collect(Collectors.toList());
|
|
|
+// if (CollectionUtil.isNotEmpty(report)){
|
|
|
+// businessMinId = report.get(0).getReportNo();
|
|
|
+// }
|
|
|
+// List<MajorProduction> letter = productions.stream().filter(x -> x.getProduction().equals(ProductionEnum.LETTER.name())).collect(Collectors.toList());
|
|
|
+// if (CollectionUtil.isNotEmpty(letter)){
|
|
|
+// businessMinId = letter.get(0).getReportNo();
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// Long nodeId = getMbsWorkNodes(dyoaNodeName);
|
|
|
+// Long flowId = getMbsWorkFlows(MAJOR_BUSINESS.name());
|
|
|
+// WorkFlowNodeInstance instance = new WorkFlowNodeInstance();
|
|
|
+// instance.setFlowId(flowId);
|
|
|
+// instance.setBusinessId(businessId);
|
|
|
+// instance.setBusinessSubId(businessSubId);
|
|
|
+// instance.setBusinessMinId(businessMinId);
|
|
|
+// instance.setNodeId(nodeId);
|
|
|
+// instance.setBusinessType(MAJOR_BUSINESS.name());
|
|
|
+// instance.setSequence(0);
|
|
|
+// instance.setState(PENDING.name());
|
|
|
+// workFlowNodeInstanceService.add(instance);
|
|
|
+// return instance.getId();
|
|
|
+// }
|
|
|
+
|
|
|
+// private void doCreateNodeTask(Long instanceNodeId, String dyoaNodeName,String dyoaHandlerName) {
|
|
|
+// Long nodeId = getMbsWorkNodes(dyoaNodeName);
|
|
|
+// WorkNodeTask task = workNodeTaskService.getOne(new LambdaQueryWrapper<WorkNodeTask>().eq(WorkNodeTask::getNodeId, nodeId)
|
|
|
+// .eq(WorkNodeTask::getVersion, LATEST.name()).select(BaseEntity::getId));
|
|
|
+// WorkTaskRecord workTaskRecord = new WorkTaskRecord();
|
|
|
+// workTaskRecord.setInstanceId(instanceNodeId);
|
|
|
+// workTaskRecord.setTaskId(task.getId());
|
|
|
+// workTaskRecord.setHandlerId(getMbsUserId(dyoaHandlerName));
|
|
|
+// workTaskRecordService.save(workTaskRecord);
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+ // public List<MajorProduction> doCreateMajorTarget(String targetType, String id,Long majorId) throws NoSuchFieldException, IllegalAccessException {
|
|
|
// List<MajorTarget> mts = new ArrayList<>();
|
|
|
// List<MajorProduction> mps = new ArrayList<>();
|
|
|
// if ("土地".equals(targetType)){
|
|
@@ -628,143 +813,4 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
|
|
|
// }
|
|
|
// return null;
|
|
|
// }
|
|
|
-//
|
|
|
-// private String getProductionType(String value) {
|
|
|
-// if (value.contains(ProductionEnum.REPORT.getMsg())){
|
|
|
-// return ProductionEnum.REPORT.name();
|
|
|
-// }
|
|
|
-// if (value.contains(ProductionEnum.STATEMENT.getMsg())){
|
|
|
-// return ProductionEnum.STATEMENT.name();
|
|
|
-// }
|
|
|
-// return ProductionEnum.LETTER.name();
|
|
|
-// }
|
|
|
-//
|
|
|
-// private Long doCreateMajorOrder(Map<String,Object> dyMajorOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
-// Major major = new Major();
|
|
|
-// Class<Major> mClass = Major.class;
|
|
|
-// for (Map.Entry<String, String> entry : MAJOR_ORDER_COLUM.entrySet()){
|
|
|
-// Object columValue = dyMajorOrder.get(entry.getKey());
|
|
|
-// if (columValue!=null){
|
|
|
-// String mbsColum = entry.getValue();
|
|
|
-// Field field = mClass.getDeclaredField(mbsColum);
|
|
|
-//
|
|
|
-// field.setAccessible(true);
|
|
|
-// switch (mbsColum){
|
|
|
-// case "allotType":
|
|
|
-// field.set(major,(Boolean) columValue?ASSIGN:BY_TURNS);break;
|
|
|
-// case "financial":
|
|
|
-// field.set(major,columValue.equals("FINANCE"));break;
|
|
|
-// case "clientManagerId":
|
|
|
-// field.set(major,getMbsUserId((String) columValue));break;
|
|
|
-// case "principalId":
|
|
|
-// field.set(major,getMbsUserId((String) columValue));break;
|
|
|
-// case "departmentId":
|
|
|
-// field.set(major,getMbsDepartmentId((String) columValue));break;
|
|
|
-// case "loanLimit":
|
|
|
-// case "loanPeriod":
|
|
|
-// field.set(major, BigDecimal.valueOf((Double) columValue));break;
|
|
|
-// case "members":
|
|
|
-// field.set(major,getMbsUserIds((String) columValue));break;
|
|
|
-// default:
|
|
|
-// field.set(major,columValue);
|
|
|
-// }
|
|
|
-//
|
|
|
-// }
|
|
|
-// }
|
|
|
-// major.setCreated((Date) dyMajorOrder.get("createdDatetime"));
|
|
|
-// majorServiceImpl.save(major);
|
|
|
-// //插入同步记录表
|
|
|
-// Long mbsId = major.getId();
|
|
|
-// dyoaRecordService.insert(MainBusinessEnum.MAJOR_ORDER, mbsId, (String) dyMajorOrder.get("id"));
|
|
|
-// return mbsId;
|
|
|
-//
|
|
|
-// }
|
|
|
-
|
|
|
-// private Long getMbsUserId(String userName){
|
|
|
-// if (CollectionUtil.isEmpty(users)){
|
|
|
-// List<User> list = userService.list(new LambdaQueryWrapper<User>().select(BaseEntity::getId, User::getName));
|
|
|
-// users = list.stream().collect(Collectors.toMap(User::getName, User::getId));
|
|
|
-// }
|
|
|
-// return users.get(userName);
|
|
|
-// }
|
|
|
-//
|
|
|
-// private Long getMbsDepartmentId(String departmentName){
|
|
|
-// if (CollectionUtil.isEmpty(departments)){
|
|
|
-// List<Department> list = departmentService.list(new LambdaQueryWrapper<Department>().select(BaseEntity::getId, Department::getName));
|
|
|
-// departments = list.stream().collect(Collectors.toMap(Department::getName, Department::getId));
|
|
|
-// }
|
|
|
-// return departments.get(departmentName);
|
|
|
-// }
|
|
|
-//
|
|
|
-// private Long getMbsWorkFlows(String flowCode){
|
|
|
-// if (CollectionUtil.isEmpty(workFlows)){
|
|
|
-// List<WorkFlow> list = workFlowService.list(new LambdaQueryWrapper<WorkFlow>().select(BaseEntity::getId, WorkFlow::getCode));
|
|
|
-// workFlows = list.stream().collect(Collectors.toMap(WorkFlow::getCode, WorkFlow::getId));
|
|
|
-// }
|
|
|
-// return workFlows.get(flowCode);
|
|
|
-// }
|
|
|
-//
|
|
|
-// private Long getMbsWorkNodes(String nodeName){
|
|
|
-// if (CollectionUtil.isEmpty(majorBusinessNodes)){
|
|
|
-// List<WorkNode> list = workNodeService.list(new LambdaQueryWrapper<WorkNode>().select(BaseEntity::getId, WorkNode::getName)
|
|
|
-// .eq(WorkNode::getFlowId,getMbsWorkFlows(MAJOR_BUSINESS.name())));
|
|
|
-// majorBusinessNodes = list.stream().collect(Collectors.toMap(WorkNode::getName, WorkNode::getId));
|
|
|
-// }
|
|
|
-// return majorBusinessNodes.get(nodeName);
|
|
|
-// }
|
|
|
-
|
|
|
-// private String getMbsUserIds(String userNames){
|
|
|
-// List<Long> userIds = new ArrayList<>();
|
|
|
-// Arrays.asList(userNames.split(",")).forEach(userName -> {
|
|
|
-// Long mbsUserId = getMbsUserId(userName.replaceAll(" ",""));
|
|
|
-// userIds.add(mbsUserId);
|
|
|
-// });
|
|
|
-// return JSON.toJSONString(userIds);
|
|
|
-// }
|
|
|
-//
|
|
|
-// private Long doCreateMajorInstanceNode(Long businessId,String dyoaNodeName,List<MajorProduction> productions){
|
|
|
-// String businessSubId = null;
|
|
|
-// String businessMinId = null;
|
|
|
-// if (CollectionUtil.isNotEmpty(productions)){
|
|
|
-// List<MajorProduction> statement = productions.stream().filter(x -> x.getProduction().equals(ProductionEnum.STATEMENT.name())).collect(Collectors.toList());
|
|
|
-// if (CollectionUtil.isNotEmpty(statement)){
|
|
|
-// businessSubId = statement.get(0).getReportNo();
|
|
|
-// }
|
|
|
-// List<MajorProduction> report = productions.stream().filter(x -> x.getProduction().equals(ProductionEnum.REPORT.name())).collect(Collectors.toList());
|
|
|
-// if (CollectionUtil.isNotEmpty(report)){
|
|
|
-// businessMinId = report.get(0).getReportNo();
|
|
|
-// }
|
|
|
-// List<MajorProduction> letter = productions.stream().filter(x -> x.getProduction().equals(ProductionEnum.LETTER.name())).collect(Collectors.toList());
|
|
|
-// if (CollectionUtil.isNotEmpty(letter)){
|
|
|
-// businessMinId = letter.get(0).getReportNo();
|
|
|
-// }
|
|
|
-//
|
|
|
-// }
|
|
|
-// Long nodeId = getMbsWorkNodes(dyoaNodeName);
|
|
|
-// Long flowId = getMbsWorkFlows(MAJOR_BUSINESS.name());
|
|
|
-// WorkFlowNodeInstance instance = new WorkFlowNodeInstance();
|
|
|
-// instance.setFlowId(flowId);
|
|
|
-// instance.setBusinessId(businessId);
|
|
|
-// instance.setBusinessSubId(businessSubId);
|
|
|
-// instance.setBusinessMinId(businessMinId);
|
|
|
-// instance.setNodeId(nodeId);
|
|
|
-// instance.setBusinessType(MAJOR_BUSINESS.name());
|
|
|
-// instance.setSequence(0);
|
|
|
-// instance.setState(PENDING.name());
|
|
|
-// workFlowNodeInstanceService.add(instance);
|
|
|
-// return instance.getId();
|
|
|
-// }
|
|
|
-//
|
|
|
-// private void doCreateNodeTask(Long instanceNodeId, String dyoaNodeName,String dyoaHandlerName) {
|
|
|
-// Long nodeId = getMbsWorkNodes(dyoaNodeName);
|
|
|
-// WorkNodeTask task = workNodeTaskService.getOne(new LambdaQueryWrapper<WorkNodeTask>().eq(WorkNodeTask::getNodeId, nodeId)
|
|
|
-// .eq(WorkNodeTask::getVersion, LATEST.name()).select(BaseEntity::getId));
|
|
|
-// WorkTaskRecord workTaskRecord = new WorkTaskRecord();
|
|
|
-// workTaskRecord.setInstanceId(instanceNodeId);
|
|
|
-// workTaskRecord.setTaskId(task.getId());
|
|
|
-// workTaskRecord.setHandlerId(getMbsUserId(dyoaHandlerName));
|
|
|
-// workTaskRecordService.save(workTaskRecord);
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
}
|