소스 검색

出货选择主合同

caozj 2 년 전
부모
커밋
52ad125960

+ 68 - 0
hx-common/src/main/java/com/fjhx/common/controller/documentary/DocumentaryController.java

@@ -0,0 +1,68 @@
+package com.fjhx.common.controller.documentary;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.documentary.vo.DocumentaryVo;
+import com.fjhx.common.entity.documentary.dto.DocumentarySelectDto;
+import com.fjhx.common.entity.documentary.dto.DocumentaryDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.common.service.documentary.DocumentaryService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 跟单配置 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+@RestController
+@RequestMapping("/documentary")
+public class DocumentaryController {
+
+    @Autowired
+    private DocumentaryService documentaryService;
+
+    /**
+     * 跟单配置分页
+     */
+    @PostMapping("/page")
+    public Page<DocumentaryVo> page(@RequestBody DocumentarySelectDto dto) {
+        return documentaryService.getPage(dto);
+    }
+
+    /**
+     * 跟单配置明细
+     */
+    @PostMapping("/detail")
+    public DocumentaryVo detail(@RequestBody BaseSelectDto dto) {
+        return documentaryService.detail(dto.getId());
+    }
+
+    /**
+     * 跟单配置新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody DocumentaryDto documentaryDto) {
+        documentaryService.add(documentaryDto);
+    }
+
+    /**
+     * 跟单配置编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody DocumentaryDto documentaryDto) {
+        documentaryService.edit(documentaryDto);
+    }
+
+    /**
+     * 跟单配置删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        documentaryService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-common/src/main/java/com/fjhx/common/entity/documentary/dto/DocumentaryDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.common.entity.documentary.dto;
+
+import com.fjhx.common.entity.documentary.po.Documentary;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 跟单配置新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+@Getter
+@Setter
+public class DocumentaryDto extends Documentary {
+
+}

+ 17 - 0
hx-common/src/main/java/com/fjhx/common/entity/documentary/dto/DocumentarySelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.common.entity.documentary.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 跟单配置列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+@Getter
+@Setter
+public class DocumentarySelectDto extends BaseSelectDto {
+
+}

+ 47 - 0
hx-common/src/main/java/com/fjhx/common/entity/documentary/po/Documentary.java

@@ -0,0 +1,47 @@
+package com.fjhx.common.entity.documentary.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 跟单配置
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+@Getter
+@Setter
+@TableName("documentary")
+public class Documentary extends BasePo {
+
+    /**
+     * 跟单类型 字典documentary_type
+     */
+    private Integer type;
+
+    /**
+     * 节点名称
+     */
+    private String name;
+
+    /**
+     * 节点排序
+     */
+    private Integer sort;
+
+    /**
+     * 绑定类型 字典 documentary_bind
+     */
+    private Integer bind;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 17 - 0
hx-common/src/main/java/com/fjhx/common/entity/documentary/vo/DocumentaryVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.common.entity.documentary.vo;
+
+import com.fjhx.common.entity.documentary.po.Documentary;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 跟单配置列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+@Getter
+@Setter
+public class DocumentaryVo extends Documentary {
+
+}

+ 26 - 0
hx-common/src/main/java/com/fjhx/common/mapper/documentary/DocumentaryMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.common.mapper.documentary;
+
+import com.fjhx.common.entity.documentary.po.Documentary;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.documentary.vo.DocumentaryVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 跟单配置 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+public interface DocumentaryMapper extends BaseMapper<Documentary> {
+
+    /**
+     * 跟单配置分页
+     */
+    Page<DocumentaryVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Documentary> wrapper);
+
+}

+ 46 - 0
hx-common/src/main/java/com/fjhx/common/service/documentary/DocumentaryService.java

@@ -0,0 +1,46 @@
+package com.fjhx.common.service.documentary;
+
+import com.fjhx.common.entity.documentary.po.Documentary;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.documentary.vo.DocumentaryVo;
+import com.fjhx.common.entity.documentary.dto.DocumentarySelectDto;
+import com.fjhx.common.entity.documentary.dto.DocumentaryDto;
+
+
+/**
+ * <p>
+ * 跟单配置 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+public interface DocumentaryService extends BaseService<Documentary> {
+
+    /**
+     * 跟单配置分页
+     */
+    Page<DocumentaryVo> getPage(DocumentarySelectDto dto);
+
+    /**
+     * 跟单配置明细
+     */
+    DocumentaryVo detail(Long id);
+
+    /**
+     * 跟单配置新增
+     */
+    void add(DocumentaryDto documentaryDto);
+
+    /**
+     * 跟单配置编辑
+     */
+    void edit(DocumentaryDto documentaryDto);
+
+    /**
+     * 跟单配置删除
+     */
+    void delete(Long id);
+
+}

+ 57 - 0
hx-common/src/main/java/com/fjhx/common/service/documentary/impl/DocumentaryServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.common.service.documentary.impl;
+
+import com.fjhx.common.entity.documentary.po.Documentary;
+import com.fjhx.common.mapper.documentary.DocumentaryMapper;
+import com.fjhx.common.service.documentary.DocumentaryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.documentary.vo.DocumentaryVo;
+import com.fjhx.common.entity.documentary.dto.DocumentarySelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.common.entity.documentary.dto.DocumentaryDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 跟单配置 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-19
+ */
+@Service
+public class DocumentaryServiceImpl extends ServiceImpl<DocumentaryMapper, Documentary> implements DocumentaryService {
+
+    @Override
+    public Page<DocumentaryVo> getPage(DocumentarySelectDto dto) {
+        IWrapper<Documentary> wrapper = getWrapper();
+        wrapper.orderByDesc("d", Documentary::getId);
+        Page<DocumentaryVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public DocumentaryVo detail(Long id) {
+        Documentary Documentary = this.getById(id);
+        DocumentaryVo result = BeanUtil.toBean(Documentary, DocumentaryVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(DocumentaryDto documentaryDto) {
+        this.save(documentaryDto);
+    }
+
+    @Override
+    public void edit(DocumentaryDto documentaryDto) {
+        this.updateById(documentaryDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 20 - 0
hx-common/src/main/resources/mapper/documentary/DocumentaryMapper.xml

@@ -0,0 +1,20 @@
+<?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.fjhx.common.mapper.documentary.DocumentaryMapper">
+    <select id="getPage" resultType="com.fjhx.common.entity.documentary.vo.DocumentaryVo">
+        select
+            d.id,
+            d.type,
+            d.name,
+            d.sort,
+            d.bind,
+            d.remark,
+            d.create_user,
+            d.create_time,
+            d.update_user,
+            d.update_time
+        from documentary d
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/ContractProduct.java

@@ -1,9 +1,13 @@
 package com.fjhx.sale.entity.contract.po;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fjhx.file.entity.ObsFile;
 import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -60,4 +64,9 @@ public class ContractProduct extends BasePo {
      */
     private String remark;
 
+    /**
+     * 附件列表
+     */
+    @TableField(exist = false)
+    private List<ObsFile> fileList;
 }

+ 6 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/ContractFlow.java

@@ -3,9 +3,11 @@ package com.fjhx.sale.flow;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.flow.core.FlowDelegate;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.contract.po.ContractProduct;
@@ -18,6 +20,7 @@ import com.fjhx.sale.service.contract.ContractService;
 import com.fjhx.sale.service.contract.ContractShipmentService;
 import com.fjhx.sale.util.code.CodeEnum;
 import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.utils.uuid.IdUtils;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
@@ -47,6 +50,7 @@ public class ContractFlow extends FlowDelegate {
      * @return
      */
     @Override
+    @DSTransactional
     public Long start(Long flowId, JSONObject submitData) {
         ContractService contractService = SpringUtil.getBean(ContractService.class);
         ContractProductService contractProductService = SpringUtil.getBean(ContractProductService.class);
@@ -59,7 +63,9 @@ public class ContractFlow extends FlowDelegate {
         List<ContractProduct> contractProductList = contract.getContractProductList();
         if(CollectionUtils.isNotEmpty(contractProductList)){//保存合同产品
             for(ContractProduct c : contractProductList){
+                c.setId(IdUtils.gen19UUID());
                 c.setContractId(contract.getId());
+                ObsFileUtil.saveFile(c.getFileList(),c.getId());
             }
             contractProductService.saveBatch(contractProductList);
         }