Commit ce321c87 authored by tianbo's avatar tianbo

维保单位接口修改

parent 726006bb
...@@ -21,7 +21,7 @@ public interface IMaintenanceCompanyService { ...@@ -21,7 +21,7 @@ public interface IMaintenanceCompanyService {
/** /**
* 添加保存维保公司基本信息 * 添加保存维保公司基本信息
* *
* @param MaintenanceCompany * @param maintenanceCompany
* @return * @return
*/ */
public boolean saveCompanyDetail(MaintenanceCompany maintenanceCompany); public boolean saveCompanyDetail(MaintenanceCompany maintenanceCompany);
...@@ -29,8 +29,8 @@ public interface IMaintenanceCompanyService { ...@@ -29,8 +29,8 @@ public interface IMaintenanceCompanyService {
/** /**
* 添加保存维保单位人员基本信息 * 添加保存维保单位人员基本信息
* *
* @param MaintenanceCompany * @param maintenanceCompany
* @param sequenceNbr主键 * @param sequenceNbr 主键
* @return * @return
*/ */
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr); public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr);
...@@ -90,7 +90,7 @@ public interface IMaintenanceCompanyService { ...@@ -90,7 +90,7 @@ public interface IMaintenanceCompanyService {
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
Map<String, Object> findBySequenceNbr(Long sequenceNbr,String maintenanceType ); Map<String, Object> findBySequenceNbr(Long sequenceNbr);
/** /**
* 修改维保单位 * 修改维保单位
......
...@@ -68,12 +68,15 @@ ...@@ -68,12 +68,15 @@
i.INSTANCE_ID instanceId, i.INSTANCE_ID instanceId,
i.GROUP_CODE groupCode, i.GROUP_CODE groupCode,
<foreach collection="fieldCodes" item="value" index="key" separator=","> <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> </foreach>
from from
cb_dynamic_form_instance i cb_dynamic_form_instance i
where where
i.GROUP_CODE = #{groupCode} i.GROUP_CODE = #{groupCode}
and i.is_delete = 0
<if test="appKey != null and appKey !=''"> <if test="appKey != null and appKey !=''">
and i.APP_KEY = #{appKey} and i.APP_KEY = #{appKey}
</if> </if>
......
...@@ -227,13 +227,8 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -227,13 +227,8 @@ public class MaintenanceCompanyController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "find") @GetMapping(value = "find")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个维保单位-人员-部门", notes = "根据sequenceNbr查询单个维保单位-人员-部门") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个维保单位-人员-部门", notes = "根据sequenceNbr查询单个维保单位-人员-部门")
public ResponseModel<Map<String, Object>> seleteOne(@RequestParam long sequenceNbr, public ResponseModel<Map<String, Object>> selectOne(@RequestParam long sequenceNbr) {
@RequestParam String maintenanceType) { return ResponseHelper.buildResponse(maintenanceCompanyService.findBySequenceNbr(sequenceNbr));
if (COMPANY.equals(maintenanceType) || PERSON.equals(maintenanceType) || PERSON.equals(maintenanceType)) {
return ResponseHelper
.buildResponse(maintenanceCompanyService.findBySequenceNbr(sequenceNbr, maintenanceType));
}
return ResponseHelper.buildResponse(null);
} }
/** /**
......
...@@ -101,7 +101,12 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta ...@@ -101,7 +101,12 @@ public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInsta
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode)); List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> instanceMap = Bean.listToMap(list, "fieldCode", "fieldValue", DynamicFormInstance.class); Map<String, Object> instanceMap = Bean.listToMap(list, "fieldCode", "fieldValue", DynamicFormInstance.class);
for (DynamicFormColumn optionModel : columns) { 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())); 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.putAll(instanceMap);
optionListMap.put("instanceId", instanceId); optionListMap.put("instanceId", instanceId);
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; 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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence; import com.baomidou.mybatisplus.core.toolkit.Sequence;
...@@ -35,6 +14,26 @@ import com.yeejoin.amos.boot.module.common.api.mapper.MaintenanceCompanyMapper; ...@@ -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.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService; import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; 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 ...@@ -98,7 +97,8 @@ public class MaintenanceCompanyServiceImpl
* @param maintenanceCompany * @param maintenanceCompany
* @return * @return
*/ */
@Transactional @Override
@Transactional(rollbackFor = Exception.class)
public boolean saveCompanyDetail(MaintenanceCompany maintenanceCompany) { public boolean saveCompanyDetail(MaintenanceCompany maintenanceCompany) {
Long instanceId = saveDynamicFormList(maintenanceCompany); Long instanceId = saveDynamicFormList(maintenanceCompany);
maintenanceCompany.setCode(OrgUsrServiceImpl.getOrgCodeStr()); maintenanceCompany.setCode(OrgUsrServiceImpl.getOrgCodeStr());
...@@ -117,6 +117,7 @@ public class MaintenanceCompanyServiceImpl ...@@ -117,6 +117,7 @@ public class MaintenanceCompanyServiceImpl
return true; return true;
} }
@Override
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) { public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) {
Long instanceId = saveDynamicFormList(maintenanceCompany); Long instanceId = saveDynamicFormList(maintenanceCompany);
MaintenanceCompany detail = maintenanceCompanyMapper.selectById(sequenceNbr); MaintenanceCompany detail = maintenanceCompanyMapper.selectById(sequenceNbr);
...@@ -185,6 +186,7 @@ public class MaintenanceCompanyServiceImpl ...@@ -185,6 +186,7 @@ public class MaintenanceCompanyServiceImpl
return true; return true;
} }
@Override
public boolean deleteById(Long sequenceNbr) { public boolean deleteById(Long sequenceNbr) {
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr); MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
...@@ -197,8 +199,15 @@ public class MaintenanceCompanyServiceImpl ...@@ -197,8 +199,15 @@ public class MaintenanceCompanyServiceImpl
int number = maintenanceCompanyMapper.update(maintenanceCompany, wrapper); int number = maintenanceCompanyMapper.update(maintenanceCompany, wrapper);
if (number > 0) { 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 true;
} }
return false; return false;
} }
...@@ -298,6 +307,8 @@ public class MaintenanceCompanyServiceImpl ...@@ -298,6 +307,8 @@ public class MaintenanceCompanyServiceImpl
List<MaintenanceCompany> mainTableList = null; List<MaintenanceCompany> mainTableList = null;
String type = null; String type = null;
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getIsDelete, false);
switch (maintenanceType) { switch (maintenanceType) {
case PERSON: case PERSON:
type = MAINTENANCE_PERSON; type = MAINTENANCE_PERSON;
...@@ -305,21 +316,20 @@ public class MaintenanceCompanyServiceImpl ...@@ -305,21 +316,20 @@ public class MaintenanceCompanyServiceImpl
filedParamsMap = new HashMap<String, String>(); filedParamsMap = new HashMap<String, String>();
filedParamsMap.put("status", paramsMap.get("status").toString()); filedParamsMap.put("status", paramsMap.get("status").toString());
} }
mainTableList = this.checkMaintenanceCompanyList(paramsMap); mainTableList = this.checkMaintenanceCompanyList(wrapper, paramsMap);
break; break;
case COMPANY: case COMPANY:
type = MAINTENANCE_COMPANY; type = MAINTENANCE_COMPANY;
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase()); wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
mainTableList = this.list(wrapper); mainTableList = this.list(wrapper);
break; break;
case DEPARTMENT: case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT; type = MAINTENANCE_DEPARTMENT;
LambdaQueryWrapper<MaintenanceCompany> condition = new LambdaQueryWrapper<>(); wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
condition.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase()); mainTableList = this.list(wrapper);
mainTableList = this.list(condition);
break; break;
default:
throw new IllegalStateException("Unexpected maintenanceType: " + maintenanceType);
} }
if (StringUtils.isBlank(type)) { if (StringUtils.isBlank(type)) {
return null; return null;
...@@ -338,44 +348,41 @@ public class MaintenanceCompanyServiceImpl ...@@ -338,44 +348,41 @@ public class MaintenanceCompanyServiceImpl
return page; return page;
} }
public List<MaintenanceCompany> checkMaintenanceCompanyList(Map<String, Object> paramsMap) { public List<MaintenanceCompany> checkMaintenanceCompanyList(LambdaQueryWrapper<MaintenanceCompany> wrapper,
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>(); Map<String, Object> paramsMap) {
if (paramsMap.containsKey("name")) { if (paramsMap.containsKey("name")) {
wrapper.likeRight(MaintenanceCompany::getName, paramsMap.get("name").toString()); 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::getParentId, Long.parseLong(paramsMap.get("parentId").toString()));
} }
wrapper.eq(MaintenanceCompany::getType, PERSON); wrapper.eq(MaintenanceCompany::getType, PERSON);
return maintenanceCompanyMapper.selectList(wrapper); return maintenanceCompanyMapper.selectList(wrapper);
} }
@Override @Override
public Map<String, Object> findBySequenceNbr(Long sequenceNbr, String maintenanceType) { public Map<String, Object> findBySequenceNbr(Long sequenceNbr) {
String type = null;
switch (maintenanceType.toUpperCase()) {
case PERSON:
type = MAINTENANCE_PERSON;
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
break;
}
if (StringUtils.isBlank(type)) {
return null;
}
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr); MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
Map<String, Object> mianmMap = Bean.BeantoMap(maintenanceCompany); String type;
switch (maintenanceCompany.getType()) {
case PERSON:
type = MAINTENANCE_PERSON;
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
break;
default:
type = MAINTENANCE_COMPANY;
}
Map<String, Object> mainMap = Bean.BeantoMap(maintenanceCompany);
Map<String, Object> dynamicMap = dynamicFormInstanceService.getOneMap(maintenanceCompany.getInstanceId(), type); Map<String, Object> dynamicMap = dynamicFormInstanceService.getOneMap(maintenanceCompany.getInstanceId(), type);
mianmMap.put("dynamicResult", dynamicMap); mainMap.put("dynamicResult", dynamicMap);
return mianmMap; return mainMap;
} }
@Override @Override
@Transactional @Transactional(rollbackFor = Exception.class)
public boolean updateMaintenanceCompanyDetail(MaintenanceCompany model, AgencyUserModel userInfo) { public boolean updateMaintenanceCompanyDetail(MaintenanceCompany model, AgencyUserModel userInfo) {
// 先刪除,后添加 // 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr()); 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