浏览代码

Merge remote-tracking branch 'origin/master'

lizhenhao 2 年之前
父节点
当前提交
ffacf50f9e
共有 18 个文件被更改,包括 501 次插入25 次删除
  1. 12 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReport.java
  2. 5 2
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml
  3. 1 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/reportCancellApplyArchived/mapper/xml/ReportCancellApplyArchivedMapper.xml
  4. 4 4
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/reportCancellApplyArchived/service/ReportCancellApplyArchivedService.java
  5. 5 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/domain/MaterialDetailed.java
  6. 7 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/mapper/MaterialBasicMapper.java
  7. 4 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/mapper/xml/MaterialBasicMapper.xml
  8. 37 6
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/controller/WareHouseController.java
  9. 6 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/domain/WareHouseBasic.java
  10. 13 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/domain/WareHouseDetailed.java
  11. 1 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/WareHouseBasicMapper.java
  12. 23 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/WareHouseDetailedMapper.java
  13. 29 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/WareHouseSummaryMapper.java
  14. 6 1
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/xml/WareHouseBasicMapper.xml
  15. 21 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/xml/WareHouseDetailedMapper.xml
  16. 13 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/xml/WareHouseSummaryMapper.xml
  17. 268 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/service/WareHouseBasicService.java
  18. 46 10
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/service/dto/WareHouseDto.java

+ 12 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/domain/CwProjectReport.java

@@ -220,4 +220,16 @@ public class CwProjectReport extends BaseEntity {
      *是否数据证券业务
      */
     private String securityBusiness;
+
+    /**
+     * 签字注师1名称
+     */
+    @TableField(exist = false)
+    private String signatureAnnotator1Name;
+
+    /**
+     * 签字注师2名称
+     */
+    @TableField(exist = false)
+    private String signatureAnnotator2Name;
 }

+ 5 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -456,9 +456,12 @@
 			AND attachment_id = #{id}
     </select>
     <select id="getByNewLineId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectReport">
-        select * from cw_project_report where id = #{reportId}
+        select a.*,sys1.name as signatureAnnotator1Name,sys2.name as signatureAnnotator2Name from cw_project_report a
+        left join sys_user sys1 on a.signature_annotator1 = sys1.id
+        left join sys_user sys2 on a.signature_annotator2 = sys2.id
+        where a.id = #{reportId}
     </select>
-    
+
     <select id="getServedUnitName" resultType="java.lang.String">
         select b.name from cw_project_records cw_pro
         left join cw_work_contract_info a on cw_pro.contract_id = a.id

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/reportCancellApplyArchived/mapper/xml/ReportCancellApplyArchivedMapper.xml

@@ -61,7 +61,7 @@
         a.del_flag,
         a.remarks,
         a.status,
-        a.apply_file_type,
+        ifnull(a.apply_file_type,'0') as apply_file_type,
 				a.proc_ins_id,
         a.process_definition_id,
 				c.document_no,

+ 4 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/reportCancellApplyArchived/service/ReportCancellApplyArchivedService.java

@@ -150,8 +150,8 @@ public class ReportCancellApplyArchivedService extends ServiceImpl<ReportCancell
             reportDTO.setReportNo(byId.getReportNo());
             reportDTO.setReportDate(byId.getReportDate());
             reportDTO.setReportCreateName(byId.getCreateBy());
-            reportDTO.setSignatureAnnotator1Name(report.getSignatureAnnotator1());
-            reportDTO.setSignatureAnnotator2Name(report.getSignatureAnnotator2());
+            reportDTO.setSignatureAnnotator1Name(report.getSignatureAnnotator1Name());
+            reportDTO.setSignatureAnnotator2Name(report.getSignatureAnnotator2Name());
         } else {
             //传来的是归档的id
             apply = cancellApplyMapper.selectByArchivedId(id);
@@ -191,8 +191,8 @@ public class ReportCancellApplyArchivedService extends ServiceImpl<ReportCancell
                 reportDTO.setReportNo(byId.getReportNo());
                 reportDTO.setReportDate(byId.getReportDate());
                 reportDTO.setReportCreateName(byId.getCreateBy());
-                reportDTO.setSignatureAnnotator1Name(report.getSignatureAnnotator1());
-                reportDTO.setSignatureAnnotator2Name(report.getSignatureAnnotator2());
+                reportDTO.setSignatureAnnotator1Name(report.getSignatureAnnotator1Name());
+                reportDTO.setSignatureAnnotator2Name(report.getSignatureAnnotator2Name());
             }
         }
         return reportDTO;

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/domain/MaterialDetailed.java

@@ -65,4 +65,9 @@ public class MaterialDetailed extends BaseEntity {
     //附件信息
     @TableField(exist = false)
     List<WorkAttachmentDto> fileInfoLost;
+
+    /**
+     * 备注
+     */
+    private String remarks;
 }

+ 7 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/mapper/MaterialBasicMapper.java

@@ -24,4 +24,11 @@ public interface MaterialBasicMapper extends BaseMapper<MaterialBasic> {
     void updateStatusById(@Param("id") String id, @Param("type") String type);
 
     String getHandledName(String handledBy);
+
+    /**
+     * 根据采购编号查相关数据
+     * @param purchaseNo
+     * @return
+     */
+    MaterialBasic getInfoByPurchaseNo(String purchaseNo);
 }

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/mapper/xml/MaterialBasicMapper.xml

@@ -40,4 +40,8 @@
 	<select id="getHandledName" resultType="java.lang.String">
 		select name from sys_user where id = #{handledBy}
 	</select>
+    <select id="getInfoByPurchaseNo"
+            resultType="com.jeeplus.test.materialManagement.purchase.domain.MaterialBasic">
+		select * from material_management_pruchase_request_basics where purchase_no = #{purchaseNo}
+	</select>
 </mapper>

+ 37 - 6
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/controller/WareHouseController.java

@@ -2,8 +2,6 @@ package com.jeeplus.test.materialManagement.wareHouse.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.jeeplus.aop.logging.annotation.ApiLog;
-import com.jeeplus.test.materialManagement.purchase.domain.MaterialDetailed;
 import com.jeeplus.test.materialManagement.purchase.service.MaterialService;
 import com.jeeplus.test.materialManagement.purchase.service.dto.MaterialInfoDto;
 import com.jeeplus.test.materialManagement.wareHouse.service.WareHouseBasicService;
@@ -11,10 +9,7 @@ import com.jeeplus.test.materialManagement.wareHouse.service.dto.WareHouseDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
@@ -34,6 +29,18 @@ public class WareHouseController {
     private WareHouseBasicService basicService;
 
     /**
+     * 删除
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "删除")
+    @GetMapping("/remove")
+    public ResponseEntity<String> remove(@RequestParam String id){
+        String s = basicService.remove(id);
+        return ResponseEntity.ok(s);
+    }
+
+    /**
      * 采购编号列表查询
      * @param dto
      * @return
@@ -56,4 +63,28 @@ public class WareHouseController {
         IPage<WareHouseDto> iPage = basicService.list(page, dto);
         return ResponseEntity.ok(iPage);
     }
+
+    /**
+     * 新增/修改
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "新增、修改")
+    @PostMapping("/save")
+    public ResponseEntity<String> save(@RequestBody WareHouseDto dto) throws Exception{
+        basicService.save(dto);
+        return ResponseEntity.ok ("操作成功");
+    }
+
+    /**
+     * 查询
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "查询")
+    @GetMapping("/findById")
+    public ResponseEntity<WareHouseDto> findById(@RequestParam String id) throws Exception{
+        WareHouseDto dto = basicService.findById(id);
+        return ResponseEntity.ok(dto);
+    }
 }

+ 6 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/domain/WareHouseBasic.java

@@ -22,6 +22,11 @@ public class WareHouseBasic extends BaseEntity {
     public static final String BIZ_CODE = "28";
 
     /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
      * 入库编号
      */
     private String wareHouseNumber;
@@ -35,7 +40,7 @@ public class WareHouseBasic extends BaseEntity {
      * 入库时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date wareHouseDare;
+    private Date wareHouseDate;
 
     /**
      * 采购编号

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/domain/WareHouseDetailed.java

@@ -1,9 +1,13 @@
 package com.jeeplus.test.materialManagement.wareHouse.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 入库明细表
  * @author: 王强
@@ -57,4 +61,13 @@ public class WareHouseDetailed extends BaseEntity {
      * 商品总价
      */
     private String tradeTotalPrice;
+
+    //附件信息
+    @TableField(exist = false)
+    List<WorkAttachmentDto> fileInfoLost;
+
+    /**
+     * 备注
+     */
+    private String remarks;
 }

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/WareHouseBasicMapper.java

@@ -17,4 +17,5 @@ public interface WareHouseBasicMapper extends BaseMapper<WareHouseBasic> {
 
     IPage<WareHouseDto> findList(Page<WareHouseDto> page,@Param(Constants.WRAPPER) QueryWrapper<WareHouseDto> queryWrapper);
 
+    String getUserNameByUserId(String id);
 }

+ 23 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/WareHouseDetailedMapper.java

@@ -0,0 +1,23 @@
+package com.jeeplus.test.materialManagement.wareHouse.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
+
+import java.util.List;
+
+/**
+ * @author: 王强
+ * @create: 2022-12-30 09:27
+ **/
+public interface WareHouseDetailedMapper extends BaseMapper<WareHouseDetailed> {
+    /**
+     * 根据入库基础表的id查入库明细相关数据
+     * @param id
+     * @return
+     */
+    List<WareHouseDetailed> getByBasicId(String id);
+
+    //查出附件信息
+    List<WorkAttachmentDto> getByAttachmentId(String id);
+}

+ 29 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/WareHouseSummaryMapper.java

@@ -0,0 +1,29 @@
+package com.jeeplus.test.materialManagement.wareHouse.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseSummary;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author: 王强
+ * @create: 2022-12-30 10:07
+ **/
+public interface WareHouseSummaryMapper extends BaseMapper<WareHouseSummary> {
+    /**
+     * 根据入库类型和商品名称查相关数据
+     * @param tradeName
+     * @param wareHouseType
+     * @return
+     */
+    WareHouseSummary getInfoByTradeName(@Param("tradeName") String tradeName,
+                                        @Param("wareHouseType") String wareHouseType);
+
+    /**
+     * 根据入库基础表id查出汇总表数据
+     * @param id
+     * @return
+     */
+    List<WareHouseSummary> getInfoByBasicId(String id);
+}

+ 6 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/xml/WareHouseBasicMapper.xml

@@ -11,11 +11,16 @@
 			a.ware_house_date,
 			a.handled_by,
 			a.handled_by_office,
-			so.name as handledByOfficeName
+			so.name as handledByOfficeName,
+			sy.name as handleByName
 		FROM
 			material_management_warehouse_basics a
 			left join sys_office so on a.handled_by_office = so.id
+			left join sys_user sy on sy.id = a.handled_by
 			${ew.customSqlSegment}
 		ORDER BY a.update_date DESC
     </select>
+	<select id="getUserNameByUserId" resultType="java.lang.String">
+		select name from sys_user where id = #{id}
+	</select>
 </mapper>

+ 21 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/xml/WareHouseDetailedMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.materialManagement.wareHouse.mapper.WareHouseDetailedMapper">
+    <select id="getByBasicId"
+            resultType="com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed">
+        select * from material_management_warehouse_detailed where basic_id = #{id} and del_flag = '0'
+    </select>
+    <select id="getByAttachmentId" resultType="com.jeeplus.test.workContract.service.dto.WorkAttachmentDto">
+        SELECT
+			id,
+			url,
+			attachment_name AS `name`,
+			create_by AS `by`,
+			create_date
+		FROM
+			work_attachment
+		WHERE
+			del_flag = 0
+			AND attachment_id = #{id}
+    </select>
+</mapper>

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/mapper/xml/WareHouseSummaryMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.materialManagement.wareHouse.mapper.WareHouseSummaryMapper">
+    <select id="getInfoByTradeName"
+            resultType="com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseSummary">
+        select * from material_management_warehouse_summary
+        where ware_house_type = #{wareHouseType} and trade_name = #{tradeName} and del_flag = 0
+    </select>
+    <select id="getInfoByBasicId"
+            resultType="com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseSummary">
+        select * from material_management_warehouse_summary where basic_id = #{id}
+    </select>
+</mapper>

+ 268 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/service/WareHouseBasicService.java

@@ -1,16 +1,38 @@
 package com.jeeplus.test.materialManagement.wareHouse.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.test.cw.contractRegistration.service.ContractInfoService;
+import com.jeeplus.test.materialManagement.purchase.domain.MaterialBasic;
+import com.jeeplus.test.materialManagement.purchase.domain.MaterialDetailed;
+import com.jeeplus.test.materialManagement.purchase.mapper.MaterialBasicMapper;
+import com.jeeplus.test.materialManagement.purchase.mapper.MaterialDetailedMapper;
+import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseBasic;
+import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed;
+import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseSummary;
 import com.jeeplus.test.materialManagement.wareHouse.mapper.WareHouseBasicMapper;
+import com.jeeplus.test.materialManagement.wareHouse.mapper.WareHouseDetailedMapper;
+import com.jeeplus.test.materialManagement.wareHouse.mapper.WareHouseSummaryMapper;
 import com.jeeplus.test.materialManagement.wareHouse.service.dto.WareHouseDto;
+import com.jeeplus.test.mould.service.SerialnumTplService;
+import com.jeeplus.test.oss.domain.WorkAttachment;
+import com.jeeplus.test.oss.mapper.OssServiceMapper;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import org.springframework.beans.BeanUtils;
 
 /**
  * @author: 王强
@@ -21,8 +43,254 @@ import javax.annotation.Resource;
 public class WareHouseBasicService {
 
     @Resource
+    private MaterialBasicMapper materialBasicMapper;
+
+    @Resource
     private WareHouseBasicMapper basicMapper;
 
+    @Resource
+    private WareHouseDetailedMapper detailedMapper;
+
+    @Resource
+    private WareHouseSummaryMapper summaryMapper;
+
+    @Resource
+    private MaterialDetailedMapper materialDetailedMapper;
+
+    @Resource
+    private OssServiceMapper ossServiceMapper;
+
+    @Resource
+    private SerialnumTplService serialnumTplService;
+
+    @Resource
+    private ContractInfoService infoService;
+
+    public String remove(String id) {
+        // 删除基础信息表
+        basicMapper.deleteById(id);
+        // 删除详情列表 及对应附件信息
+        List<WareHouseDetailed> detailedList = detailedMapper.getByBasicId(id);
+        if (null != detailedList){
+            detailedList.forEach(de->{
+                //附件
+                List<WorkAttachmentDto> fileList = detailedMapper.getByAttachmentId(de.getId());
+                if ( null != fileList ){
+                    fileList.forEach(f->{
+                        ossServiceMapper.deleteById(f.getId());
+                    });
+                }
+                detailedMapper.deleteById(de.getId());
+            });
+        }
+        // 删除附件信息
+        LambdaQueryWrapper<WorkAttachment> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(WorkAttachment::getAttachmentId, id);
+        ossServiceMapper.delete(wrapper);
+        //删除入库汇总表信息
+        List<WareHouseSummary> summaryList = summaryMapper.getInfoByBasicId(id);
+        summaryList.forEach(sum->{
+            summaryMapper.deleteById(sum.getId());
+        });
+        return "操作成功";
+    }
+
+    public WareHouseDto findById(String id) {
+        WareHouseDto dto = new WareHouseDto();
+        // 查询基础信息表
+        WareHouseBasic info = basicMapper.selectById(id);
+        BeanUtils.copyProperties(info, dto);
+        //将入库详情数据查出
+        List<WareHouseDetailed> wareHouseList = detailedMapper.getByBasicId(id);
+        if (CollectionUtils.isNotEmpty(wareHouseList)){
+            wareHouseList.forEach(detailed->{
+                //附件信息
+                List<WorkAttachmentDto> acList = detailedMapper.getByAttachmentId(detailed.getId());
+                if (CollectionUtils.isNotEmpty(acList)) {
+                    for (WorkAttachmentDto i : acList) {
+                        i.setCreateBy(UserUtils.get(i.getBy()));
+                    }
+                }
+                detailed.setFileInfoLost(acList);
+            });
+        }
+        //将采购详情数据查出
+        MaterialBasic basic = materialBasicMapper.getInfoByPurchaseNo(info.getPurchaseNo());
+        List<MaterialDetailed> detailedList = materialDetailedMapper.getByBasicId(basic.getId());
+        if (CollectionUtils.isNotEmpty(detailedList)){
+            detailedList.forEach(detailed->{
+                //附件信息
+                List<WorkAttachmentDto> acList = materialDetailedMapper.getByAttachmentId(detailed.getId());
+                if (CollectionUtils.isNotEmpty(acList)) {
+                    for (WorkAttachmentDto i : acList) {
+                        i.setCreateBy(UserUtils.get(i.getBy()));
+                    }
+                }
+                detailed.setFileInfoLost(acList);
+            });
+        }
+        dto.setDetailInfos(detailedList);
+        dto.setWareHouse(wareHouseList);
+        //附件信息
+        List<WorkAttachmentDto> files = detailedMapper.getByAttachmentId(info.getId());
+        if (CollectionUtils.isNotEmpty(files)) {
+            for (WorkAttachmentDto i : files) {
+                i.setCreateBy(UserUtils.get(i.getBy()));
+            }
+        }
+        //根据经办人id查出经办人的名称
+        String name = basicMapper.getUserNameByUserId(info.getHandledBy());
+        dto.setHandledBy(name);
+        dto.setHandledById(info.getHandledBy());
+        dto.setFiles(files);
+        return dto;
+    }
+
+    public String save(WareHouseDto dto) throws Exception{
+        // 获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        if (StringUtils.isNotEmpty(dto.getId())) {
+            return update(dto, userDTO);
+        } else {
+            return add(dto, userDTO);
+        }
+    }
+
+    public String update(WareHouseDto dto, UserDTO userDTO) {
+        // 修改基础信息
+        WareHouseBasic info = new WareHouseBasic();
+        BeanUtils.copyProperties(dto, info);
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        info.setHandledBy(dto.getHandledById());
+        basicMapper.updateById(info);
+        // 修改报销详情列表信息
+        // 删除原有数据
+        LambdaQueryWrapper<WareHouseDetailed> detailWrapper = new LambdaQueryWrapper<>();
+        detailWrapper.eq(WareHouseDetailed::getBasicId, dto.getId());
+        detailedMapper.delete(detailWrapper);
+        if (CollectionUtils.isNotEmpty(dto.getWareHouse())) {
+            for (WareHouseDetailed detailInfo : dto.getWareHouse()) {
+                // 生成id
+                String detailId = UUID.randomUUID().toString().replace("-", "");
+                detailInfo.setId(detailId);
+                detailInfo.setCreateBy(userDTO.getId());
+                detailInfo.setCreateDate(new Date());
+                detailInfo.setUpdateBy(userDTO.getId());
+                detailInfo.setUpdateDate(new Date());
+                detailInfo.setDelFlag(0);
+                // 保存基础表信息主键值
+                detailInfo.setBasicId(dto.getId());
+                detailInfo.setTradeTotalPrice(dto.getWareHouseTotalPrice());
+                detailedMapper.insert(detailInfo);
+                // 修改附件信息列表
+                if (CollectionUtils.isNotEmpty(detailInfo.getFileInfoLost())) {
+                    infoService.updateFiles(detailInfo.getFileInfoLost(), userDTO, detailInfo.getId());
+                }
+                //将入库详情商品信息汇总处理
+                //根据商品名称及入库类型查是否有相关数据
+                WareHouseSummary summary = summaryMapper.getInfoByTradeName(detailInfo.getTradeName(),detailInfo.getWareHouseType());;
+                if (null != summary) {
+                    String num = Double.valueOf(detailInfo.getTradeNumber())
+                            + Double.valueOf(summary.getTradeNumber()) + "";
+                    summary.setTradeNumber(num);
+                    summaryMapper.updateById(summary);
+                } else {
+                    summary = new WareHouseSummary();
+                    // 生成id
+                    String summaryId = UUID.randomUUID().toString().replace("-", "");
+                    summary.setBasicId(dto.getId());
+                    summary.setId(summaryId);
+                    summary.setCreateBy(userDTO.getId());
+                    summary.setCreateDate(new Date());
+                    summary.setUpdateBy(userDTO.getId());
+                    summary.setUpdateDate(new Date());
+                    summary.setDelFlag(0);
+                    summary.setWareHouseType(detailInfo.getWareHouseType());
+                    summary.setTradeName(detailInfo.getTradeName());
+                    summary.setTradeNumber(detailInfo.getTradeNumber());
+                    summaryMapper.insert(summary);
+                }
+            }
+        }
+        // 修改附件信息列表
+        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+            infoService.updateFiles(dto.getFiles(), userDTO, dto.getId());
+        }
+        return dto.getId();
+    }
+
+    public String add(WareHouseDto dto, UserDTO userDTO) throws Exception{
+        // 生成id
+        String id = UUID.randomUUID().toString().replace("-", "");
+        // 生成编号
+        String no = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), dto.BIZ_CODE);
+        // 保存基础信息表信息
+        WareHouseBasic info = new WareHouseBasic();
+        BeanUtils.copyProperties(dto, info);
+        info.setId(id);
+//        info.setNo(no);
+        info.setWareHouseNumber(no);
+        info.setHandledBy(dto.getHandledById());
+        info.setPurchaseNo(dto.getPurchaseNo());
+        info.setCreateBy(userDTO.getId());
+        info.setCreateDate(new Date());
+        info.setUpdateBy(userDTO.getId());
+        info.setUpdateDate(new Date());
+        info.setDelFlag(0);
+        basicMapper.insert(info);
+        // 保存详情列表信息
+        if (CollectionUtils.isNotEmpty(dto.getWareHouse())) {
+            for (WareHouseDetailed detailed : dto.getWareHouse()) {
+                // 生成id
+                String detailId = UUID.randomUUID().toString().replace("-", "");
+                detailed.setId(detailId);
+                detailed.setCreateBy(userDTO.getId());
+                detailed.setCreateDate(new Date());
+                detailed.setUpdateBy(userDTO.getId());
+                detailed.setUpdateDate(new Date());
+                detailed.setDelFlag(0);
+                // 保存基础表信息主键值
+                detailed.setBasicId(id);
+                detailed.setTradeTotalPrice(dto.getWareHouseTotalPrice());
+                detailedMapper.insert(detailed);
+                //保存详情列表附件信息
+                if (CollectionUtils.isNotEmpty(detailed.getFileInfoLost())){
+                    infoService.saveFiles(detailed.getFileInfoLost(), userDTO, detailId);
+                }
+                //将入库详情商品信息汇总处理
+                //根据商品名称及入库类型查是否有相关数据
+                WareHouseSummary summary = summaryMapper.getInfoByTradeName(detailed.getTradeName(),detailed.getWareHouseType());;
+                if (null != summary) {
+                    String num = Double.valueOf(detailed.getTradeNumber())
+                            + Double.valueOf(summary.getTradeNumber()) + "";
+                    summary.setTradeNumber(num);
+                    summaryMapper.updateById(summary);
+                } else {
+                    summary = new WareHouseSummary();
+                    // 生成id
+                    String summaryId = UUID.randomUUID().toString().replace("-", "");
+                    summary.setBasicId(id);
+                    summary.setId(summaryId);
+                    summary.setCreateBy(userDTO.getId());
+                    summary.setCreateDate(new Date());
+                    summary.setUpdateBy(userDTO.getId());
+                    summary.setUpdateDate(new Date());
+                    summary.setDelFlag(0);
+                    summary.setWareHouseType(detailed.getWareHouseType());
+                    summary.setTradeName(detailed.getTradeName());
+                    summary.setTradeNumber(detailed.getTradeNumber());
+                    summaryMapper.insert(summary);
+                }
+            }
+        }
+        // 保存附件列表信息
+        if (CollectionUtils.isNotEmpty(dto.getFiles())) {
+            infoService.saveFiles(dto.getFiles(), userDTO, id);
+        }
+        return id;
+    }
+
     /**
      * 列表查询
      */

+ 46 - 10
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/service/dto/WareHouseDto.java

@@ -2,7 +2,9 @@ package com.jeeplus.test.materialManagement.wareHouse.service.dto;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeeplus.test.materialManagement.purchase.domain.MaterialDetailed;
 import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed;
+import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
 import lombok.Data;
 
 import java.util.Date;
@@ -15,20 +17,29 @@ import java.util.List;
 @Data
 public class WareHouseDto {
 
+    //入库编号(字典值)
+    public static final String BIZ_CODE = "28";
+
     /**
-     * 入库基础表id
+     * 创建人
      */
-    private String basicId;
+    private String createBy;
+
+    /**
+     *创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
 
     /**
-     * 入库人
+     * 基础表主键值
      */
-    private String wareHouseMan;
+    private String id;
 
     /**
-     * 入库人部门
+     * 入库基础表id
      */
-    private String wareHouseManOffice;
+    private String basicId;
 
     /**
      * 入库类型
@@ -56,9 +67,9 @@ public class WareHouseDto {
     private String company;
 
     /**
-     * 商品总价
+     * 入库商品总价
      */
-    private String tradeTotalPrice;
+    private String wareHouseTotalPrice;
 
     /**
      * 入库编号
@@ -74,7 +85,7 @@ public class WareHouseDto {
      * 入库时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date wareHouseDare;
+    private Date wareHouseDate;
 
     /**
      * 采购编号
@@ -85,7 +96,10 @@ public class WareHouseDto {
      * 入库明细数据
      */
     @TableField(exist = false)
-    List<WareHouseDetailed> detailInfos;
+    List<WareHouseDetailed> wareHouse;
+
+    //采购明细信息
+    List<MaterialDetailed> detailInfos;
 
     /**
      * 经办人
@@ -93,13 +107,35 @@ public class WareHouseDto {
     private String handledBy;
 
     /**
+     * 经办人id
+     */
+    private String handledById;
+
+    /**
+     * 经办人名称
+     */
+    private String handleByName;
+
+    /**
      * 经办人部门
      */
     private String handledByOffice;
 
     /**
+     * 经办人部门名称
+     */
+    private String handledByOfficeName;
+
+    /**
      * 入库时间
      */
     @TableField(exist = false)
     private String[] wareHouseDates;
+
+    private List<WorkAttachmentDto> files;
+
+    /**
+     * 备注
+     */
+    private String remarks;
 }