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; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 维保合同 * 维保合同
...@@ -15,10 +18,10 @@ import java.util.Date; ...@@ -15,10 +18,10 @@ import java.util.Date;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="ContractDto", description="维保合同") @ApiModel(value = "ContractDto", description = "维保合同")
public class ContractDto extends BaseDto { public class ContractDto extends BaseDto {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "合同名称") @ApiModelProperty(value = "合同名称")
...@@ -66,9 +69,12 @@ public class ContractDto extends BaseDto { ...@@ -66,9 +69,12 @@ public class ContractDto extends BaseDto {
@ApiModelProperty(value = "服务内容") @ApiModelProperty(value = "服务内容")
private String serviceContent; private String serviceContent;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "合同附件") @ApiModelProperty(value = "合同附件")
private String contractAttachment; private String contractAttachment;
@ApiModelProperty(value = "附件")
private List<SourceFile> attachment;
} }
package com.yeejoin.amos.boot.module.common.api.dto; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -7,6 +8,7 @@ import lombok.Data; ...@@ -7,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 联动单位 * 联动单位
...@@ -94,4 +96,7 @@ public class LinkageUnitDto extends BaseDto { ...@@ -94,4 +96,7 @@ public class LinkageUnitDto extends BaseDto {
@ApiModelProperty(value = "单位_简要情况") @ApiModelProperty(value = "单位_简要情况")
private String unitSituation; private String unitSituation;
@ApiModelProperty(value = "联动单位图片")
private List<SourceFile> image;
} }
package com.yeejoin.amos.boot.module.common.api.dto; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* 维保单位 * 维保单位
...@@ -14,41 +15,105 @@ import java.util.Date; ...@@ -14,41 +15,105 @@ import java.util.Date;
* @date 2021-07-16 * @date 2021-07-16
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @ApiModel(value = "MaintenanceCompanyDto", description = "维保单位")
@ApiModel(value="MaintenanceCompanyDto", description="维保单位") public class MaintenanceCompanyDto extends BaseDto{
public class MaintenanceCompanyDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "企业名称")
private String name;
@ApiModelProperty(value = "单位编码")
private String code;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员)")
private String type;
@ApiModelProperty(value = "上级单位") private static final long serialVersionUID = 1L;
private Long parentId;
@ApiModelProperty(value = "照片地址")
private List<String> photoAddress;
@ApiModelProperty(value = "上级单位Id")
private Long parentId;
@ApiModelProperty(value = "instanceId")
private Long instanceId;
@ApiModelProperty(value = "生产企业名称")
private String name;
@ApiModelProperty(value = "企业曾用名")
private String formerName;
@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 String mainProductType;
@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 = "业务编码") @ApiModelProperty(value = "重大研制记录")
private String bizCode; private String majorDevelopRecord;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "组织机构代码用于权限过滤") @ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String orgCode; private String type;
@ApiModelProperty(value = "纬度") @ApiModelProperty(value = "纬度")
private String latitude; private String latitude;
@ApiModelProperty(value = "经度") @ApiModelProperty(value = "经度")
private String longitude; private String longitude;
@ApiModelProperty(value = "动态表单实例id") @ApiModelProperty(value = "标注/标绘坐标数组")
private Long instanceId; private String coordinate;
@ApiModelProperty(value = "更新人")
private String recUserName; @ApiModelProperty(value = "备注")
private String remark;
} }
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 { ...@@ -86,4 +86,5 @@ public class DynamicFormColumn extends BaseEntity {
*/ */
@TableField("org_code") @TableField("org_code")
private String orgCode; private String orgCode;
} }
...@@ -3,10 +3,10 @@ package com.yeejoin.amos.boot.module.common.api.entity; ...@@ -3,10 +3,10 @@ package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date;
/** /**
* 维保单位 * 维保单位
...@@ -17,7 +17,7 @@ import java.util.Date; ...@@ -17,7 +17,7 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("cb_maintenance_company") @TableName(value = "cb_maintenance_company",autoResultMap = true)
public class MaintenanceCompany extends BaseEntity { public class MaintenanceCompany extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -33,7 +33,7 @@ public class MaintenanceCompany extends BaseEntity { ...@@ -33,7 +33,7 @@ public class MaintenanceCompany extends BaseEntity {
*/ */
@TableField("code") @TableField("code")
private String code; private String code;
/** /**
* 类型(COMPANY单位,PERSON人员) * 类型(COMPANY单位,PERSON人员)
*/ */
...@@ -75,4 +75,10 @@ public class MaintenanceCompany extends BaseEntity { ...@@ -75,4 +75,10 @@ public class MaintenanceCompany extends BaseEntity {
*/ */
@TableField("instance_id") @TableField("instance_id")
private Long instanceId; 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; package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto; import java.util.List;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
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 接口 * 维保单位 Mapper 接口
......
package com.yeejoin.amos.boot.module.common.api.service; 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 * @author chenhao
* @date 2021-07-16 * @date 2021-07-16
*/ */
public interface IMaintenanceCompanyService { 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; ...@@ -15,8 +15,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.ContractDto; import com.yeejoin.amos.boot.module.common.api.dto.ContractDto;
...@@ -46,8 +44,8 @@ public class ContractController extends BaseController { ...@@ -46,8 +44,8 @@ public class ContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增维保合同", notes = "新增维保合同") @ApiOperation(httpMethod = "POST", value = "新增维保合同", notes = "新增维保合同")
public ResponseModel<ContractDto> save(@RequestBody ContractDto model) throws Exception { public ResponseModel<ContractDto> save(@RequestBody ContractDto model) {
model = contractServiceImpl.saveContractDto(RequestContext.getAgencyCode(), model); model = contractServiceImpl.saveModel(model);
return ResponseHelper.buildResponse(model); return ResponseHelper.buildResponse(model);
} }
...@@ -61,9 +59,9 @@ public class ContractController extends BaseController { ...@@ -61,9 +59,9 @@ public class ContractController extends BaseController {
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "更新合同信息及附件", notes = "更新合同信息及附件") @ApiOperation(httpMethod = "PUT", value = "更新合同信息及附件", notes = "更新合同信息及附件")
public ResponseModel<ContractDto> updateBySequenceNbrContract(@RequestBody ContractDto model, public ResponseModel<ContractDto> updateBySequenceNbrContract(@RequestBody ContractDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) throws Exception { @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(contractServiceImpl.updateAircraft(RequestContext.getAgencyCode(), model)); return ResponseHelper.buildResponse(contractServiceImpl.updateById(model));
} }
/** /**
...@@ -77,7 +75,20 @@ public class ContractController extends BaseController { ...@@ -77,7 +75,20 @@ public class ContractController extends BaseController {
@ApiOperation(httpMethod = "DELETE", value = "删除合同信息 (无约束)", notes = "删除合同信息 (无约束)") @ApiOperation(httpMethod = "DELETE", value = "删除合同信息 (无约束)", notes = "删除合同信息 (无约束)")
public ResponseModel<List<Long>> deleteBySequenceNbr(@RequestParam(value = "ids") String ids) throws Exception { public ResponseModel<List<Long>> deleteBySequenceNbr(@RequestParam(value = "ids") String ids) throws Exception {
return ResponseHelper.buildResponse(contractServiceImpl.multDeleteAircraft(RequestContext.getAgencyCode(), return ResponseHelper.buildResponse(contractServiceImpl.multDeleteAircraft(RequestContext.getAgencyCode(),
ids)); ids));
}
/**
* 批量删除合同信息
*
* @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));
} }
/** /**
...@@ -89,9 +100,8 @@ public class ContractController extends BaseController { ...@@ -89,9 +100,8 @@ public class ContractController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "查询单个维保合同", notes = "查询单个维保合同") @ApiOperation(httpMethod = "GET", value = "查询单个维保合同", notes = "查询单个维保合同")
public ResponseModel<ContractDto> selectOne(String agencyCode, @PathVariable Long sequenceNbr) { public ResponseModel<ContractDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(contractServiceImpl.queryByAircraftSeq(RequestContext.getAgencyCode(), return ResponseHelper.buildResponse(contractServiceImpl.queryOne(sequenceNbr));
sequenceNbr));
} }
/** /**
......
...@@ -17,8 +17,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -17,8 +17,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
...@@ -82,6 +80,19 @@ public class LinkageUnitController extends BaseController { ...@@ -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查询 * 根据sequenceNbr查询
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; 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.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.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.mapper.ContractMapper;
import com.yeejoin.amos.boot.module.common.api.service.IContractService; import com.yeejoin.amos.boot.module.common.api.service.IContractService;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.FileInfoModel; import com.yeejoin.amos.feign.systemctl.model.FileInfoModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.exception.BaseException; import org.typroject.tyboot.core.foundation.exception.BaseException;
...@@ -23,6 +27,7 @@ import java.util.ArrayList; ...@@ -23,6 +27,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -33,6 +38,10 @@ import java.util.stream.Collectors; ...@@ -33,6 +38,10 @@ import java.util.stream.Collectors;
*/ */
@Service @Service
public class ContractServiceImpl extends BaseService<ContractDto, Contract, ContractMapper> implements IContractService { 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 ...@@ -190,5 +199,61 @@ public class ContractServiceImpl extends BaseService<ContractDto, Contract, Cont
} }
return seqs; 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; ...@@ -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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.DutyCarDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; 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.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn; 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.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit; 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.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper; 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.service.ILinkageUnitService;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; 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.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.annotation.Condition; import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator; import org.typroject.tyboot.core.rdbms.annotation.Operator;
...@@ -21,6 +25,7 @@ import org.springframework.stereotype.Service; ...@@ -21,6 +25,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random; import java.util.Random;
...@@ -41,6 +46,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -41,6 +46,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
LinkageUnitMapper linkageUnitMapper; LinkageUnitMapper linkageUnitMapper;
@Autowired @Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService; DynamicFormColumnServiceImpl dynamicFormColumnService;
@Autowired
SourceFileServiceImpl sourceFileServiceImpl;
public String getGroupCode() { public String getGroupCode() {
return "linkageUnit"; return "linkageUnit";
...@@ -70,6 +77,7 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -70,6 +77,7 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
* @param linkageUnitDto 对象 * @param linkageUnitDto 对象
* @return List<LinkageUnitDto> * @return List<LinkageUnitDto>
*/ */
@Transactional
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) { public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) {
//1.保存行数据 //1.保存行数据
String groupCode = this.getGroupCode(); String groupCode = this.getGroupCode();
...@@ -79,35 +87,46 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -79,35 +87,46 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
//2.保存基本信息 //2.保存基本信息
linkageUnitDto.setUnitCode(getUnitCodeStr()); linkageUnitDto.setUnitCode(getUnitCodeStr());
LinkageUnitDto model = createWithModel(linkageUnitDto); LinkageUnitDto model = createWithModel(linkageUnitDto);
//3.保存照片信息
sourceFileServiceImpl.saveSourceFile(model.getSequenceNbr(), model.getImage());
//3.返回保存后的数据 //3.返回保存后的数据
return model; return model;
} }
@Override @Override
public LinkageUnitDto queryOne(Long sequenceNbr) { public LinkageUnitDto queryOne(Long sequenceNbr) {
boolean isDelete = false;
String groupCode = getGroupCode(); String groupCode = getGroupCode();
List<DynamicFormColumn> columns = List<DynamicFormColumn> columns =
dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode)); dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class); 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; return linkageUnitDto;
} }
@Transactional
public Boolean deleteById(Long sequenceNbr) { public Boolean deleteById(Long sequenceNbr) {
// 删除基本信息
LinkageUnit linkageUnit = getById(sequenceNbr); LinkageUnit linkageUnit = getById(sequenceNbr);
linkageUnit.setIsDelete(true); linkageUnit.setIsDelete(true);
updateById(linkageUnit); updateById(linkageUnit);
// 删除行
Long instanceId = linkageUnit.getInstanceId(); Long instanceId = linkageUnit.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId)); dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true)); dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 删除照片
sourceFileServiceImpl.saveSourceFile(sequenceNbr, new ArrayList<>());
return update; return update;
} }
@Transactional
public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) { public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) {
// 修改基本信息
updateWithModel(linkageUnitDto); updateWithModel(linkageUnitDto);
// 修改行信息
Long instanceId = linkageUnitDto.getInstanceId(); Long instanceId = linkageUnitDto.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId)); dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
...@@ -115,6 +134,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -115,6 +134,8 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
dynamicFormInstanceList.forEach(item -> item.setFieldValue(objectMap.get(item.getFieldCode()) != null ? dynamicFormInstanceList.forEach(item -> item.setFieldValue(objectMap.get(item.getFieldCode()) != null ?
objectMap.get(item.getFieldCode()).toString() : item.getFieldValue())); objectMap.get(item.getFieldCode()).toString() : item.getFieldValue()));
dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 修改照片信息
sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage());
return linkageUnitDto; return linkageUnitDto;
} }
...@@ -145,4 +166,31 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU ...@@ -145,4 +166,31 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
public Integer listLinkageUnitZhDtoCount(RequestData par) { public Integer listLinkageUnitZhDtoCount(RequestData par) {
return linkageUnitMapper.listLinkageUnitZhDtoCount(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 ...@@ -52,7 +52,8 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile
* @Date 2020/12/18 14:12 * @Date 2020/12/18 14:12
*/ */
public List<SourceFile> findBySourceId(Long sourceId) { 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("所属文件为空")); Optional.ofNullable(sourceFiles).orElseThrow(() -> new BadRequest("所属文件为空"));
return sourceFiles; return sourceFiles;
} }
...@@ -65,10 +66,10 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile ...@@ -65,10 +66,10 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<SourceFile> saveSourceFile(Long sourceId, List<SourceFile> sourceFiles) { public List<SourceFile> saveSourceFile(Long sourceId, List<SourceFile> sourceFiles) {
this.baseMapper.delete(new LambdaQueryWrapper<SourceFile>().eq(SourceFile::getSourceId, sourceId));
if (CollectionUtils.isEmpty(sourceFiles)) { if (CollectionUtils.isEmpty(sourceFiles)) {
return new ArrayList<>(); return new ArrayList<>();
} }
this.baseMapper.delete(new LambdaQueryWrapper<SourceFile>().eq(SourceFile::getSourceId, sourceId));
sourceFiles.forEach(s -> { sourceFiles.forEach(s -> {
s.setSourceId(sourceId); 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