Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

lichaoliu 4 жил өмнө
parent
commit
353ba006f0

+ 8 - 2
src/main/java/com/migao/entity/po/DemandLibrary.java

@@ -30,6 +30,9 @@ public class DemandLibrary implements Serializable {
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Integer id;
 
+    @Column(columnDefinition = "int(11) comment '子项目id'")
+    private Integer subProjectId;
+
     @Column(columnDefinition = "int(11) comment '需求编号'")
     private Integer demandNumber;
 
@@ -54,8 +57,8 @@ public class DemandLibrary implements Serializable {
     @Column(columnDefinition = "int(11) comment '关联项目id'")
     private Integer associatedProjectId;
 
-    @Column(columnDefinition = "int(11) comment '提交人id'")
-    private Integer submitterId;
+    @Column(columnDefinition = "varchar(11) comment '提交人'")
+    private String submitter;
 
     @Column(columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP comment '提交时间'")
     private LocalDateTime submitTime;
@@ -63,4 +66,7 @@ public class DemandLibrary implements Serializable {
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @Column(columnDefinition = "tinyint(1) comment '逻辑删除 0未删除 1已删除'")
     private Integer deleted;
+
+    @JoinColumn(name = "create_user_id", columnDefinition = "bigint(20) comment '新增人'")
+    private Integer createUserId;
 }

+ 18 - 0
src/main/java/com/migao/entity/po/Supplier.java

@@ -83,6 +83,24 @@ public class Supplier implements Serializable {
     @Column(name = "outside_mail", columnDefinition = "varchar(255) comment '外网邮箱'")
     private String  outsideMail;
 
+    @Column(name = "opening_bank_number", columnDefinition = "varchar(255) comment '开户联行号'")
+    private String  openingBankNumber;
+
+    @Column(name = "opening_bank", columnDefinition = "varchar(255) comment '开户行'")
+    private String  openingBank;
+
+    @Column(name = "bank_account", columnDefinition = "varchar(255) comment '银行账号'")
+    private String  bankAccount;
+
+    @Column(name = "opening_bank_number_d", columnDefinition = "varchar(255) comment '开户联行号-电子'")
+    private String  openingBankNumberD;
+
+    @Column(name = "opening_bank_d", columnDefinition = "varchar(255) comment '开户行-电子'")
+    private String  openingBankD;
+
+    @Column(name = "bank_account_d", columnDefinition = "varchar(255) comment '银行账号-电子'")
+    private String  bankAccountD;
+
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @Column(name = "deleted", columnDefinition = "tinyint(4) comment '逻辑删除 0未删除 1已删除'")
     private Integer deleted;

+ 77 - 0
src/main/java/com/migao/entity/vo/req/DemandLibraryInsertReq.java

@@ -0,0 +1,77 @@
+package com.migao.entity.vo.req;
+
+import com.migao.entity.po.DemandAttachment;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author dingsong
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class DemandLibraryInsertReq {
+//    @ApiModelProperty(value = "主键")
+//    @NotNull(message = "主键不能为空")
+//    private Integer id;
+
+    @ApiModelProperty(value = "需求编号")
+    @NotNull(message = "需求编号不能为空")
+    private Integer demandNumber;
+
+    @ApiModelProperty(value = "需求名称")
+    @NotEmpty(message = "需求名称不能为空")
+    private String demandName;
+
+    @ApiModelProperty(value = "需求内容")
+    @NotEmpty(message = "需求内容不能为空")
+    private String demandContent;
+
+    @ApiModelProperty(value = "需求分类id")
+    @NotNull(message = "需求分类id不能为空")
+    private Integer demandClassId;
+
+    @ApiModelProperty(value = "提交单位")
+    @NotEmpty(message = "提交单位不能为空")
+    private String unitName;
+
+    @ApiModelProperty(value = "需求状态 -1废除 0立项 1认领")
+    @NotNull(message = "需求状态不能为空")
+    private Integer demandStatus;
+
+    @ApiModelProperty(value = "需求进度")
+    @NotNull(message = "需求进度不能为空")
+    private BigDecimal demandSchedule;
+
+    @ApiModelProperty(value = "关联项目id")
+    @NotNull(message = "关联项目id不能为空")
+    private Integer associatedProjectId;
+
+    @ApiModelProperty(value = "提交人")
+    @NotEmpty(message = "提交人")
+    private String submitter;
+
+//    @ApiModelProperty(value = "提交时间")
+//    @NotNull(message = "提交时间不能为空")
+//    private LocalDateTime submitTime;
+
+//    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+//    @NotNull(message = "逻辑删除 0未删除 1已删除不能为空")
+//    private Integer deleted;
+
+    /**
+     * 附件
+     */
+    private List<Integer> fileId = new ArrayList<>();
+}

+ 68 - 0
src/main/java/com/migao/entity/vo/req/DemandLibraryUpdateReq.java

@@ -0,0 +1,68 @@
+package com.migao.entity.vo.req;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author dingsong
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class DemandLibraryUpdateReq {
+    @ApiModelProperty(value = "主键")
+    @NotNull(message = "主键不能为空")
+    private Integer id;
+
+    @ApiModelProperty(value = "需求名称")
+    @NotEmpty(message = "需求名称不能为空")
+    private String demandName;
+
+    @ApiModelProperty(value = "需求内容")
+    @NotEmpty(message = "需求内容不能为空")
+    private String demandContent;
+
+    @ApiModelProperty(value = "需求分类id")
+    @NotNull(message = "需求分类id不能为空")
+    private Integer demandClassId;
+
+    @ApiModelProperty(value = "提交单位")
+    @NotEmpty(message = "提交单位不能为空")
+    private String unitName;
+
+    @ApiModelProperty(value = "需求状态 -1废除 0立项 1认领")
+    @NotNull(message = "需求状态不能为空")
+    private Integer demandStatus;
+
+    @ApiModelProperty(value = "需求进度")
+    @NotNull(message = "需求进度不能为空")
+    private BigDecimal demandSchedule;
+
+    @ApiModelProperty(value = "关联项目id")
+    @NotNull(message = "关联项目id不能为空")
+    private Integer associatedProjectId;
+
+    @ApiModelProperty(value = "提交人")
+    @NotEmpty(message = "提交人")
+    private String submitter;
+
+    @ApiModelProperty(value = "提交时间")
+    @NotNull(message = "提交时间不能为空")
+    private LocalDateTime submitTime;
+
+    /**
+     * 附件
+     */
+    private List<Integer> fileId = new ArrayList<>();
+}

+ 55 - 0
src/main/java/com/migao/entity/vo/res/DemandLibraryQueryRes.java

@@ -0,0 +1,55 @@
+package com.migao.entity.vo.res;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author dingsong
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class DemandLibraryQueryRes {
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+
+    @ApiModelProperty(value = "需求编号")
+    private Integer demandNumber;
+
+    @ApiModelProperty(value = "需求名称")
+    private String demandName;
+
+    @ApiModelProperty(value = "需求内容")
+    private String demandContent;
+
+    @ApiModelProperty(value = "需求分类")
+    private String demandClass;
+
+    @ApiModelProperty(value = "提交单位")
+    private String unitName;
+
+    @ApiModelProperty(value = "需求状态")
+    private String demandStatus;
+
+    @ApiModelProperty(value = "需求进度")
+    private BigDecimal demandSchedule;
+
+    @ApiModelProperty(value = "关联项目")
+    private String associatedProjectId;
+
+    @ApiModelProperty(value = "提交人")
+    private String submitter;
+
+    @ApiModelProperty(value = "提交时间")
+    private LocalDateTime submitTime;
+
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+}

+ 25 - 0
src/main/java/com/migao/service/DemandLibraryService.java

@@ -1,10 +1,35 @@
 package com.migao.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.migao.config.response.ResponseBean;
 import com.migao.entity.po.DemandLibrary;
+import com.migao.entity.vo.req.DemandLibraryInsertReq;
+import com.migao.entity.vo.req.DemandLibraryUpdateReq;
 
 /**
  * @author dingsong
  */
 public interface DemandLibraryService extends IService<DemandLibrary> {
+    /**
+     * 增
+     * @param demandLibrary
+     * @return
+     */
+    ResponseBean<?> insert(DemandLibraryInsertReq demandLibrary);
+
+    /**
+     * 删
+     * @param id
+     * @return
+     */
+    ResponseBean<?> deleteById(Integer id);
+
+    /**
+     * 改
+     * @param libraryUpdateReq
+     * @return
+     */
+    ResponseBean<?> update(DemandLibraryUpdateReq libraryUpdateReq);
+
+
 }

+ 81 - 0
src/main/java/com/migao/service/impl/DemandLibraryServiceImpl.java

@@ -1,13 +1,25 @@
 package com.migao.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.migao.config.authority.LoginUtils;
+import com.migao.config.response.ResponseBean;
+import com.migao.config.response.ResponseBuilder;
+import com.migao.entity.po.DemandAttachment;
 import com.migao.entity.po.DemandLibrary;
+import com.migao.entity.po.User;
+import com.migao.entity.vo.req.DemandLibraryInsertReq;
+import com.migao.entity.vo.req.DemandLibraryUpdateReq;
+import com.migao.mapper.DemandAttachmentMapper;
 import com.migao.mapper.DemandLibraryMapper;
 import com.migao.service.DemandLibraryService;
+import com.migao.util.EntityUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+
 /**
  * @author dingsong
  */
@@ -15,4 +27,73 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 @Transactional(rollbackFor = {Exception.class})
 public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, DemandLibrary> implements DemandLibraryService {
+    @Resource
+    DemandLibraryMapper demandLibraryMap;
+    @Resource
+    DemandAttachmentMapper demandAttachmentMapper;
+
+    @Override
+    public ResponseBean<?> insert(DemandLibraryInsertReq demandLibrary) {
+        //获取当前登录用户的信息
+        User user = LoginUtils.getUser();
+
+        //首先提交子项目信息
+        DemandLibrary dic1 = EntityUtils.copyProperties(demandLibrary,DemandLibrary.class);
+        dic1.setSubmitTime(LocalDateTime.now());
+        dic1.setDeleted(0);
+        dic1.setCreateUserId(user.getId());
+
+        DemandLibrary dic = EntityUtils.copyProperties(demandLibrary,DemandLibrary.class);
+        dic.setSubmitTime(LocalDateTime.now());
+        dic.setDeleted(0);
+        dic.setCreateUserId(user.getId());
+        demandLibraryMap.insert(dic);
+
+        for(Integer i : demandLibrary.getFileId()){
+            DemandAttachment demandAttachment = DemandAttachment
+                    .builder()
+                    .demandId(dic.getId())
+                    .fileId(i)
+                    .deleted(0)
+                    .createTime(LocalDateTime.now())
+                    .createUserId(user.getId())
+                    .build();
+            demandAttachmentMapper.insert(demandAttachment);
+        }
+
+        return ResponseBuilder.ok();
+    }
+
+    @Override
+    public ResponseBean<?> deleteById(Integer id) {
+        DemandLibrary dic = demandLibraryMap.selectById(id);
+        dic.setDeleted(1);
+        demandLibraryMap.updateById(dic);
+        return ResponseBuilder.ok();
+    }
+
+    @Override
+    public ResponseBean<?> update(DemandLibraryUpdateReq libraryUpdateReq) {
+        //获取当前登录用户的信息
+        User user = LoginUtils.getUser();
+
+        DemandLibrary dic = EntityUtils.copyProperties(libraryUpdateReq,DemandLibrary.class);
+        dic.setSubmitTime(LocalDateTime.now());
+        demandLibraryMap.updateById(dic);
+
+        for(Integer i : libraryUpdateReq.getFileId()){
+            DemandAttachment demandAttachment = DemandAttachment
+                    .builder()
+                    .demandId(dic.getId())
+                    .fileId(i)
+                    .deleted(0)
+                    .createTime(LocalDateTime.now())
+                    .createUserId(user.getId())
+                    .build();
+            demandAttachmentMapper.insert(demandAttachment);
+        }
+        return ResponseBuilder.ok();
+    }
+
+
 }