Commit ce321c87 authored by tianbo's avatar tianbo

维保单位接口修改

parent 726006bb
......@@ -21,7 +21,7 @@ public interface IMaintenanceCompanyService {
/**
* 添加保存维保公司基本信息
*
* @param MaintenanceCompany
* @param maintenanceCompany
* @return
*/
public boolean saveCompanyDetail(MaintenanceCompany maintenanceCompany);
......@@ -29,8 +29,8 @@ public interface IMaintenanceCompanyService {
/**
* 添加保存维保单位人员基本信息
*
* @param MaintenanceCompany
* @param sequenceNbr主键
* @param maintenanceCompany
* @param sequenceNbr 主键
* @return
*/
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr);
......@@ -90,7 +90,7 @@ public interface IMaintenanceCompanyService {
* @param sequenceNbr 主键
* @return
*/
Map<String, Object> findBySequenceNbr(Long sequenceNbr,String maintenanceType );
Map<String, Object> findBySequenceNbr(Long sequenceNbr);
/**
* 修改维保单位
......
......@@ -68,12 +68,15 @@
i.INSTANCE_ID instanceId,
i.GROUP_CODE groupCode,
<foreach collection="fieldCodes" item="value" index="key" separator=",">
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END) as ${key}
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END) as ${key},
IF(FIND_IN_SET(i.field_type,'radio,select,treeSelect'), MAX(CASE WHEN i.FIELD_CODE = #{key} THEN
i.FIELD_VALUE_LABEL END), null) as ${key}Label
</foreach>
from
cb_dynamic_form_instance i
where
i.GROUP_CODE = #{groupCode}
and i.is_delete = 0
<if test="appKey != null and appKey !=''">
and i.APP_KEY = #{appKey}
</if>
......
......@@ -227,13 +227,8 @@ public class MaintenanceCompanyController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "find")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个维保单位-人员-部门", notes = "根据sequenceNbr查询单个维保单位-人员-部门")
public ResponseModel<Map<String, Object>> seleteOne(@RequestParam long sequenceNbr,
@RequestParam String maintenanceType) {
if (COMPANY.equals(maintenanceType) || PERSON.equals(maintenanceType) || PERSON.equals(maintenanceType)) {
return ResponseHelper
.buildResponse(maintenanceCompanyService.findBySequenceNbr(sequenceNbr, maintenanceType));
}
return ResponseHelper.buildResponse(null);
public ResponseModel<Map<String, Object>> selectOne(@RequestParam long sequenceNbr) {
return ResponseHelper.buildResponse(maintenanceCompanyService.findBySequenceNbr(sequenceNbr));
}
/**
......
......@@ -101,7 +101,12 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> instanceMap = Bean.listToMap(list, "fieldCode", "fieldValue", DynamicFormInstance.class);
for (DynamicFormColumn optionModel : columns) {
DynamicFormInstance dyFormInstance =
list.stream().filter(i -> i.getFieldCode().equals(optionModel.getFieldCode())).findFirst().get();
instanceMap.put(optionModel.getFieldCode(), instanceMap.get(optionModel.getFieldCode()));
if ("radio,select,treeSelect".contains(optionModel.getFieldType())) {
instanceMap.put(optionModel.getFieldCode() + "Label", dyFormInstance.getFieldValueLabel());
}
}
optionListMap.putAll(instanceMap);
optionListMap.put("instanceId", instanceId);
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
......@@ -35,6 +14,26 @@ import com.yeejoin.amos.boot.module.common.api.mapper.MaintenanceCompanyMapper;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 维保单位服务实现类
......@@ -98,7 +97,8 @@ public class MaintenanceCompanyServiceImpl
* @param maintenanceCompany
* @return
*/
@Transactional
@Override
@Transactional(rollbackFor = Exception.class)
public boolean saveCompanyDetail(MaintenanceCompany maintenanceCompany) {
Long instanceId = saveDynamicFormList(maintenanceCompany);
maintenanceCompany.setCode(OrgUsrServiceImpl.getOrgCodeStr());
......@@ -117,6 +117,7 @@ public class MaintenanceCompanyServiceImpl
return true;
}
@Override
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) {
Long instanceId = saveDynamicFormList(maintenanceCompany);
MaintenanceCompany detail = maintenanceCompanyMapper.selectById(sequenceNbr);
......@@ -185,6 +186,7 @@ public class MaintenanceCompanyServiceImpl
return true;
}
@Override
public boolean deleteById(Long sequenceNbr) {
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
......@@ -197,8 +199,15 @@ public class MaintenanceCompanyServiceImpl
int number = maintenanceCompanyMapper.update(maintenanceCompany, wrapper);
if (number > 0) {
// 更新动态表单字段为删除状态
List<DynamicFormInstance> dyInstance =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
dyInstance.forEach(i -> i.setIsDelete(true));
dynamicFormInstanceService.updateBatchById(dyInstance);
return true;
}
return false;
}
......@@ -298,6 +307,8 @@ public class MaintenanceCompanyServiceImpl
List<MaintenanceCompany> mainTableList = null;
String type = null;
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getIsDelete, false);
switch (maintenanceType) {
case PERSON:
type = MAINTENANCE_PERSON;
......@@ -305,21 +316,20 @@ public class MaintenanceCompanyServiceImpl
filedParamsMap = new HashMap<String, String>();
filedParamsMap.put("status", paramsMap.get("status").toString());
}
mainTableList = this.checkMaintenanceCompanyList(paramsMap);
mainTableList = this.checkMaintenanceCompanyList(wrapper, paramsMap);
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
mainTableList = this.list(wrapper);
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
LambdaQueryWrapper<MaintenanceCompany> condition = new LambdaQueryWrapper<>();
condition.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
mainTableList = this.list(condition);
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
mainTableList = this.list(wrapper);
break;
default:
throw new IllegalStateException("Unexpected maintenanceType: " + maintenanceType);
}
if (StringUtils.isBlank(type)) {
return null;
......@@ -338,44 +348,41 @@ public class MaintenanceCompanyServiceImpl
return page;
}
public List<MaintenanceCompany> checkMaintenanceCompanyList(Map<String, Object> paramsMap) {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
public List<MaintenanceCompany> checkMaintenanceCompanyList(LambdaQueryWrapper<MaintenanceCompany> wrapper,
Map<String, Object> paramsMap) {
if (paramsMap.containsKey("name")) {
wrapper.likeRight(MaintenanceCompany::getName, paramsMap.get("name").toString());
}
if (paramsMap.containsKey("parentId")) {
if (paramsMap.containsKey("parentId") && !"-1".equals(paramsMap.get("parentId"))) {
wrapper.eq(MaintenanceCompany::getParentId, Long.parseLong(paramsMap.get("parentId").toString()));
}
wrapper.eq(MaintenanceCompany::getType, PERSON);
return maintenanceCompanyMapper.selectList(wrapper);
}
@Override
public Map<String, Object> findBySequenceNbr(Long sequenceNbr, String maintenanceType) {
String type = null;
switch (maintenanceType.toUpperCase()) {
public Map<String, Object> findBySequenceNbr(Long sequenceNbr) {
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
String type;
switch (maintenanceCompany.getType()) {
case PERSON:
type = MAINTENANCE_PERSON;
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
break;
default:
type = MAINTENANCE_COMPANY;
}
if (StringUtils.isBlank(type)) {
return null;
}
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
Map<String, Object> mianmMap = Bean.BeantoMap(maintenanceCompany);
Map<String, Object> mainMap = Bean.BeantoMap(maintenanceCompany);
Map<String, Object> dynamicMap = dynamicFormInstanceService.getOneMap(maintenanceCompany.getInstanceId(), type);
mianmMap.put("dynamicResult", dynamicMap);
return mianmMap;
mainMap.put("dynamicResult", dynamicMap);
return mainMap;
}
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public boolean updateMaintenanceCompanyDetail(MaintenanceCompany model, AgencyUserModel userInfo) {
// 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment