Commit 08a25f4b authored by tangwei's avatar tangwei

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents b94baa16 b1107d40
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 维保合同
......@@ -15,7 +18,7 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="ContractDto", description="维保合同")
@ApiModel(value = "ContractDto", description = "维保合同")
public class ContractDto extends BaseDto {
private static final long serialVersionUID = 1L;
......@@ -71,4 +74,7 @@ public class ContractDto extends BaseDto {
@ApiModelProperty(value = "合同附件")
private String contractAttachment;
@ApiModelProperty(value = "附件")
private List<SourceFile> attachment;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -7,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 联动单位
......@@ -94,4 +96,7 @@ public class LinkageUnitDto extends BaseDto {
@ApiModelProperty(value = "单位_简要情况")
private String unitSituation;
@ApiModelProperty(value = "联动单位图片")
private List<SourceFile> image;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import java.util.List;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 维保单位
......@@ -14,30 +15,92 @@ import java.util.Date;
* @date 2021-07-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="MaintenanceCompanyDto", description="维保单位")
public class MaintenanceCompanyDto extends BaseDto {
@ApiModel(value = "MaintenanceCompanyDto", description = "维保单位")
public class MaintenanceCompanyDto extends BaseDto{
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "照片地址")
private List<String> photoAddress;
@ApiModelProperty(value = "企业名称")
@ApiModelProperty(value = "上级单位Id")
private Long parentId;
@ApiModelProperty(value = "instanceId")
private Long instanceId;
@ApiModelProperty(value = "生产企业名称")
private String name;
@ApiModelProperty(value = "单位编码")
private String code;
@ApiModelProperty(value = "企业曾用名")
private String formerName;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员)")
private String type;
@ApiModelProperty(value = "法人代表")
private String legalPerson;
@ApiModelProperty(value = "注册资本")
private String registeredCapital;
@ApiModelProperty(value = "销售电话")
private String salesTel;
@ApiModelProperty(value = "服务电话")
private String serviceTel;
@ApiModelProperty(value = "企业性质")
private String nature;
@ApiModelProperty(value = "国别")
private String nation;
@ApiModelProperty(value = "所在省份")
private String province;
@ApiModelProperty(value = "上级单位")
private Long parentId;
@ApiModelProperty(value = "业务编码")
private String bizCode;
@ApiModelProperty(value = "主要产品类型")
private String mainProductType;
@ApiModelProperty(value = "组织机构代码用于权限过滤")
private String orgCode;
@ApiModelProperty(value = "固定资产总值")
private String totalFixedAssets;
@ApiModelProperty(value = "拟制技术标准")
private String draftingTechStandards;
@ApiModelProperty(value = "总人数")
private String totalStaff;
@ApiModelProperty(value = "技术人员数量")
private String technicianNumber;
@ApiModelProperty(value = "生产企业类型")
private String enterpriseType;
@ApiModelProperty(value = "资质")
private String qualification;
@ApiModelProperty(value = "历史沿革")
private String history;
@ApiModelProperty(value = "主要检测设备")
private String mainTestEquipment;
@ApiModelProperty(value = "重大研制记录")
private String majorDevelopRecord;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String type;
@ApiModelProperty(value = "纬度")
private String latitude;
......@@ -45,10 +108,12 @@ public class MaintenanceCompanyDto extends BaseDto {
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "动态表单实例id")
private Long instanceId;
@ApiModelProperty(value = "标注/标绘坐标数组")
private String coordinate;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "更新人")
private String recUserName;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 维保单位
*
* @author chenhao
* @date 2021-07-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MaintenanceDepartmentDto", description = "维保单位部门")
public class MaintenanceDepartmentDto extends BaseDto {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "部门名称")
private String name;
@ApiModelProperty(value = "所在建筑")
private String projectCode;
@ApiModelProperty(value = "所属单位/部门")
private Long parentId;
@ApiModelProperty(value = "部门地址")
private String adrerss;
@ApiModelProperty(value = "部门男员工人数")
private String maleStaffNumber;
@ApiModelProperty(value = "部门女员工人数")
private String femaleStaffNumber;
@ApiModelProperty(value = "下属部门电话")
private String tel;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String type;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import java.util.List;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 维保单位
*
* @author system_generator
* @date 2021-07-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "MaintenancePersonDto", description = "维保单位人员")
public class MaintenancePersonDto extends BaseDto{
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String type;
@ApiModelProperty(value = "关联系统账号")
private String amosAccount;
@ApiModelProperty(value = "类别")
private String category;
@ApiModelProperty(value = "证书编号")
private String certificateNo;
@ApiModelProperty(value = "性别")
private String gender;
@ApiModelProperty(value = "身份证号码")
private String idNumber;
@ApiModelProperty(value = "民族")
private String nation;
//消防重点工种资格证书
@ApiModelProperty(value = "职业资格证书")
private String professionalCertificate;
//人员资质
@ApiModelProperty(value = "职业资格")
private String qualification;
@ApiModelProperty(value = "注册号")
private String registerId;
@ApiModelProperty(value = "状态")
private String status;
@ApiModelProperty(value = "手机号码")
private String tel;
@ApiModelProperty(value = "部门编号")
private String departmentNumber;
@ApiModelProperty(value = "系统账户")
private String systemAccount;
@ApiModelProperty(value = "注册有效期开始时间")
private String registrationStartTime;
@ApiModelProperty(value = "注册有效期结束时间")
private String registrationEndTime;
@ApiModelProperty(value = "员工姓名")
private String name;
@ApiModelProperty(value = "员工所在单位单位id")
private Long parentId;
@ApiModelProperty(value = "上传资源的地址集合")
private List<String> resourcesAdress;
}
......@@ -86,4 +86,5 @@ public class DynamicFormColumn extends BaseEntity {
*/
@TableField("org_code")
private String orgCode;
}
......@@ -3,10 +3,10 @@ package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 维保单位
......@@ -17,7 +17,7 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_maintenance_company")
@TableName(value = "cb_maintenance_company",autoResultMap = true)
public class MaintenanceCompany extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -75,4 +75,10 @@ public class MaintenanceCompany extends BaseEntity {
*/
@TableField("instance_id")
private Long instanceId;
}
package com.yeejoin.amos.boot.module.common.api.enums;
public enum ExceptionEnum {
PARAMETER_TYPE_ERROR ("0001","传入參數异常");
private String eCode;
private String eMsg;
ExceptionEnum(String eCode, String eMsg) {
this.eCode = eCode;
this.eMsg = eMsg;
}
public String getEcode() {
return eCode;
}
public String getEmsg() {
return eMsg;
}
public static ExceptionEnum statOf(String eCode) {
for (ExceptionEnum state : values())
if (state.getEcode().equals(eCode))
return state;
return null;
}
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
/**
* 维保单位 Mapper 接口
......
package com.yeejoin.amos.boot.module.common.api.service;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonDto;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
/**
* 维保单位接口类
*
* @author system_generator
* @date 2021-07-16
*/
* 维保单位接口类
*
* @author chenhao
* @date 2021-07-16
*/
public interface IMaintenanceCompanyService {
/**
* 添加保存维保公司基本信息
*
* @param maintenanceCompanyDto
* @return
*/
public boolean saveCompanyDetail(MaintenanceCompanyDto maintenanceCompanyDto);
/**
* 添加保存维保单位人员基本信息
*
* @param maintenanceCompany
* @return
*/
public boolean savePersonDetail(MaintenancePersonDto maintenancePerson, String Companycode);
/**
* 自定义假删除
*
* @param sequenceNbr
* @return
*/
public boolean deleteById(Long sequenceNbr);
/**
* 获取公司名称的下拉列表
*
* @return
*/
List<Map<String, Object>> getMaintenanceCompanyDropDownList();
/**
* 添加保存维保单位部门基本信息
*
* @param maintenanceDepartment
* @return
*/
public boolean saveDepartmentDetail(MaintenanceDepartmentDto maintenanceDepartment ,String Companycode);
/**
* 检查当前的员工编号是否已经存在
*
* @param code
* @return
*/
public boolean checkPersonCodeExists(String code);
/**
* 查询所有的维保人员/单位/部门列表信息,无分页
*
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return
*/
List<Map<String, Object>> getAllMaintenanceList(String maintenanceType);
/**
* 查询分页展示的维保人员/单位/部门列表信息
*
* @param current 页码起始值
* @param size 行数
* @param informationCard 是否显示维保单位人员信息卡数据项
* @param dataItem 是否显示人员概要信息数据项
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return
*/
IPage<Map<String, Object>> getPageMaintenanceList(int current, int size, String maintenanceType,String name,long parentId,String isWork);
/**根据主键查询对应的信息
* @param sequenceNbr 主键
* @return
*/
Map<String, Object> findByInstanceId(Long instanceId,String maintenanceType );
/**
* 修改维保单位
* @param model
* @return
*/
boolean updateMaintenanceCompanyDetail(MaintenanceCompanyDto model);
/**
* 修改维保部门
* @param MaintenanceDepartmentDto
* @return
*/
public boolean updateMaintenancDepartmentDetail(MaintenanceDepartmentDto model, String Companycode);
/**
* 修改维保人员
* @param MaintenancePersonDto
* @param Companycode
* @return
*/
public boolean updateMaintenancePersonDetail(MaintenancePersonDto model, String Companycode);
/**
* 查询所有的单位-部门树
* @return
*/
public List<MaintenanceCompany> getCompanyAndDepartmentTree();
/**
* 查询制定公司的部门-人树
* @param sequenceNbr
* @return
*/
public List<MaintenanceCompany> getDepartmentAndPersonTree(long sequenceNbr);
/**
* 查询当前单位下所有的部门基本信息--下拉列表
* @param sequenceNbr
* @return
*/
public List<MaintenanceCompany> getDepartmentList(long sequenceNbr);
}
......@@ -15,8 +15,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.ContractDto;
......@@ -46,8 +44,8 @@ public class ContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增维保合同", notes = "新增维保合同")
public ResponseModel<ContractDto> save(@RequestBody ContractDto model) throws Exception {
model = contractServiceImpl.saveContractDto(RequestContext.getAgencyCode(), model);
public ResponseModel<ContractDto> save(@RequestBody ContractDto model) {
model = contractServiceImpl.saveModel(model);
return ResponseHelper.buildResponse(model);
}
......@@ -61,9 +59,9 @@ public class ContractController extends BaseController {
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "更新合同信息及附件", notes = "更新合同信息及附件")
public ResponseModel<ContractDto> updateBySequenceNbrContract(@RequestBody ContractDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) throws Exception {
@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(contractServiceImpl.updateAircraft(RequestContext.getAgencyCode(), model));
return ResponseHelper.buildResponse(contractServiceImpl.updateById(model));
}
/**
......@@ -81,6 +79,19 @@ public class ContractController extends BaseController {
}
/**
* 批量删除合同信息
*
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/delete_batch")
@ApiOperation(httpMethod = "DELETE", value = "批量删除合同信息", notes = "批量删除合同信息")
public ResponseModel<Boolean> batchDeleteBySequenceNbrList(@RequestParam(value = "sequenceNbrList") List<Long> sequenceNbrList) {
return ResponseHelper.buildResponse(contractServiceImpl.batchDelete(sequenceNbrList));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
......@@ -89,9 +100,8 @@ public class ContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "查询单个维保合同", notes = "查询单个维保合同")
public ResponseModel<ContractDto> selectOne(String agencyCode, @PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(contractServiceImpl.queryByAircraftSeq(RequestContext.getAgencyCode(),
sequenceNbr));
public ResponseModel<ContractDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(contractServiceImpl.queryOne(sequenceNbr));
}
/**
......
......@@ -17,8 +17,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
......@@ -82,6 +80,19 @@ public class LinkageUnitController extends BaseController {
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbrList 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/batch_delete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除联动单位", notes = "根据sequenceNbr删除联动单位")
public ResponseModel<Boolean> batchDeleteBySequenceNbrList(@RequestParam(value = "sequenceNbrList") List<Long> sequenceNbrList) {
return ResponseHelper.buildResponse(linkageUnitServiceImpl.batchDelete(sequenceNbrList));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.api.dto.ContractDto;
import com.yeejoin.amos.boot.module.common.api.entity.Contract;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.entity.*;
import com.yeejoin.amos.boot.module.common.api.mapper.ContractMapper;
import com.yeejoin.amos.boot.module.common.api.service.IContractService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.FileInfoModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.exception.BaseException;
......@@ -23,6 +27,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -33,6 +38,10 @@ import java.util.stream.Collectors;
*/
@Service
public class ContractServiceImpl extends BaseService<ContractDto, Contract, ContractMapper> implements IContractService {
@Autowired
SourceFileServiceImpl sourceFileServiceImpl;
/**
* 分页查询
*/
......@@ -190,5 +199,61 @@ public class ContractServiceImpl extends BaseService<ContractDto, Contract, Cont
}
return seqs;
}
/**
* 保存合同信息
*
* @param contractDto
* @return
*/
@Transactional
public ContractDto saveModel(ContractDto contractDto) {
// 保存合同基本信息
contractDto = this.createWithModel(contractDto);
// 保存附件信息
sourceFileServiceImpl.saveSourceFile(contractDto.getSequenceNbr(), contractDto.getAttachment());
return contractDto;
}
@Transactional
public ContractDto updateById(ContractDto contractDto) {
// 更新合同基本信息
updateWithModel(contractDto);
// 更新附件信息
sourceFileServiceImpl.saveSourceFile(contractDto.getSequenceNbr(), contractDto.getAttachment());
return contractDto;
}
/**
* 批量删除
*
* @param sequenceNbrList
* @return
*/
public Boolean batchDelete(List<Long> sequenceNbrList) {
// 删除基本信息
List<Contract> contractList = list(new LambdaQueryWrapper<Contract>().in(Contract::getSequenceNbr,
sequenceNbrList));
contractList.forEach(item -> item.setIsDelete(true));
boolean update = updateBatchById(contractList);
// 删除附件
sourceFileServiceImpl.getBaseMapper().delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId,
sequenceNbrList));
return update;
}
/**
* 查询单个合同
*
* @param sequenceNbr
* @return
*/
public ContractDto queryOne(Long sequenceNbr) {
ContractDto contractDto = queryBySeq(sequenceNbr);
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(sequenceNbr);
contractDto.setAttachment(sourceFiles);
return contractDto;
}
}
......@@ -2,17 +2,21 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper;
import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
......@@ -21,6 +25,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
......@@ -41,6 +46,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
LinkageUnitMapper linkageUnitMapper;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService;
@Autowired
SourceFileServiceImpl sourceFileServiceImpl;
public String getGroupCode() {
return "linkageUnit";
......@@ -70,6 +77,7 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
* @param linkageUnitDto 对象
* @return List<LinkageUnitDto>
*/
@Transactional
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) {
//1.保存行数据
String groupCode = this.getGroupCode();
......@@ -79,35 +87,46 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
//2.保存基本信息
linkageUnitDto.setUnitCode(getUnitCodeStr());
LinkageUnitDto model = createWithModel(linkageUnitDto);
//3.保存照片信息
sourceFileServiceImpl.saveSourceFile(model.getSequenceNbr(), model.getImage());
//3.返回保存后的数据
return model;
}
@Override
public LinkageUnitDto queryOne(Long sequenceNbr) {
boolean isDelete = false;
String groupCode = getGroupCode();
List<DynamicFormColumn> columns =
dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(isDelete, fieldCodes, groupCode, sequenceNbr);
LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(false, fieldCodes, groupCode, sequenceNbr);
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(linkageUnitDto.getSequenceNbr());
linkageUnitDto.setImage(sourceFiles);
return linkageUnitDto;
}
@Transactional
public Boolean deleteById(Long sequenceNbr) {
// 删除基本信息
LinkageUnit linkageUnit = getById(sequenceNbr);
linkageUnit.setIsDelete(true);
updateById(linkageUnit);
// 删除行
Long instanceId = linkageUnit.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 删除照片
sourceFileServiceImpl.saveSourceFile(sequenceNbr, new ArrayList<>());
return update;
}
@Transactional
public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) {
// 修改基本信息
updateWithModel(linkageUnitDto);
// 修改行信息
Long instanceId = linkageUnitDto.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
......@@ -115,6 +134,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
dynamicFormInstanceList.forEach(item -> item.setFieldValue(objectMap.get(item.getFieldCode()) != null ?
objectMap.get(item.getFieldCode()).toString() : item.getFieldValue()));
dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 修改照片信息
sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage());
return linkageUnitDto;
}
......@@ -145,4 +166,31 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
public Integer listLinkageUnitZhDtoCount(RequestData par) {
return linkageUnitMapper.listLinkageUnitZhDtoCount(par);
}
/**
* 批量删除
*
* @param sequenceNbrList
* @return
*/
public Boolean batchDelete(List<Long> sequenceNbrList) {
// 删除基本信息
List<LinkageUnit> linkageUnitList = list(new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr,
sequenceNbrList));
List<Long> instanceIdList = Lists.newArrayList();
linkageUnitList.forEach(item -> {
instanceIdList.add(item.getInstanceId());
item.setIsDelete(true);
});
updateBatchById(linkageUnitList);
// 删除行信息
List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 删除照片
sourceFileServiceImpl.getBaseMapper().delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId,
sequenceNbrList));
return update;
}
}
\ No newline at end of file
......@@ -52,7 +52,8 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile
* @Date 2020/12/18 14:12
*/
public List<SourceFile> findBySourceId(Long sourceId) {
List<SourceFile> sourceFiles = this.list(new LambdaQueryWrapper<SourceFile>().eq(SourceFile::getSourceId, sourceId));
List<SourceFile> sourceFiles = this.list(new LambdaQueryWrapper<SourceFile>().eq(SourceFile::getSourceId,
sourceId));
Optional.ofNullable(sourceFiles).orElseThrow(() -> new BadRequest("所属文件为空"));
return sourceFiles;
}
......@@ -65,10 +66,10 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile
*/
@Transactional(rollbackFor = Exception.class)
public List<SourceFile> saveSourceFile(Long sourceId, List<SourceFile> sourceFiles) {
this.baseMapper.delete(new LambdaQueryWrapper<SourceFile>().eq(SourceFile::getSourceId, sourceId));
if (CollectionUtils.isEmpty(sourceFiles)) {
return new ArrayList<>();
}
this.baseMapper.delete(new LambdaQueryWrapper<SourceFile>().eq(SourceFile::getSourceId, sourceId));
sourceFiles.forEach(s -> {
s.setSourceId(sourceId);
});
......
package com.yeejoin.amos.boot.module.common.biz.utils;
import java.io.Serializable;
import com.yeejoin.amos.boot.module.common.api.enums.ExceptionEnum;
/**
* 自定义异常处理类
* @author chenhao
*
*/
public class MyException extends Exception implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private ExceptionEnum exceptionEnum;
private String detail;
protected String devMessage;
public MyException(ExceptionEnum exceptionEnum, String detail) {
this.exceptionEnum =exceptionEnum;
this.detail= detail;
this.devMessage=getDevMessage();
}
public MyException(ExceptionEnum exceptionEnum) {
this.exceptionEnum =exceptionEnum;
this.devMessage=getDevMessage();
}
public ExceptionEnum getExceptionEnum() {
return exceptionEnum;
}
public void setExceptionEnum(ExceptionEnum exceptionEnum) {
this.exceptionEnum = exceptionEnum;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public String getDevMessage() {
return "error";
}
public void setDevMessage(String devMessage) {
this.devMessage = devMessage;
}
}
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