瀏覽代碼

到货记录调整

yzc 10 月之前
父節點
當前提交
24c767d5fd

+ 16 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/arrival/ArrivalDetailController.java

@@ -33,6 +33,14 @@ public class ArrivalDetailController {
     }
 
     /**
+     * 修改
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ArrivalDetailDto dto) {
+        arrivalDetailService.edit(dto);
+    }
+
+    /**
      * 修改账期
      */
     @PostMapping("/editAccountPeriods")
@@ -48,4 +56,12 @@ public class ArrivalDetailController {
         arrivalDetailService.editArrivalBatch(dto);
     }
 
+    /**
+     * 上传差异附件
+     */
+    @PostMapping("/uploadDiffFile")
+    public void uploadDiffFile(@RequestBody ArrivalDetailDto dto) {
+        arrivalDetailService.uploadDiffFile(dto);
+    }
+
 }

+ 7 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/arrival/dto/ArrivalDetailDto.java

@@ -1,9 +1,12 @@
 package com.fjhx.sale.entity.arrival.dto;
 
+import com.fjhx.file.entity.ObsFile;
 import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * purchase_到货明细单新增编辑入参实体
  *
@@ -13,5 +16,8 @@ import lombok.Setter;
 @Getter
 @Setter
 public class ArrivalDetailDto extends ArrivalDetail {
-
+    /**
+     * 差异附件 类型10
+     */
+    private List<ObsFile> diffFileList;
 }

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/arrival/po/ArrivalDetail.java

@@ -63,4 +63,13 @@ public class ArrivalDetail extends BasePo {
      */
     private String arrivalBatch;
 
+    /**
+     * 调整金额
+     */
+    private BigDecimal adjustAmount;
+    /**
+     * 差异备注
+     */
+    private String diffRemark;
+
 }

+ 20 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/arrival/vo/ArrivalDetailVo.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.entity.arrival.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
 import lombok.Getter;
 import lombok.Setter;
@@ -42,4 +43,23 @@ public class ArrivalDetailVo extends ArrivalDetail {
     private Long supplierId;
     private String supplierName;
     private String purchaseCode;
+
+    /**
+     * 实际入库时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date actualInTime;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+    /**
+     * 金额
+     */
+    private BigDecimal amount;
+    /**
+     * 结算金额
+     */
+    private BigDecimal settleAmount;
 }

+ 4 - 0
hx-sale/src/main/java/com/fjhx/sale/service/arrival/ArrivalDetailService.java

@@ -21,7 +21,11 @@ public interface ArrivalDetailService extends BaseService<ArrivalDetail> {
 
     Page<ArrivalDetailVo> getPage(ArrivalDetailSelectDto dto);
 
+    void edit(ArrivalDetailDto dto);
+
     void editAccountPeriods(ArrivalDetailDto dto);
 
     void editArrivalBatch(ArrivalDetailDto dto);
+
+    void uploadDiffFile(ArrivalDetailDto dto);
 }

+ 28 - 0
hx-sale/src/main/java/com/fjhx/sale/service/arrival/impl/ArrivalDetailServiceImpl.java

@@ -4,6 +4,8 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
+import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.sale.entity.arrival.dto.ArrivalDetailDto;
 import com.fjhx.sale.entity.arrival.dto.ArrivalDetailSelectDto;
 import com.fjhx.sale.entity.arrival.po.ArrivalDetail;
@@ -19,6 +21,7 @@ import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.common.utils.wrapper.SqlField;
 import com.ruoyi.system.service.ISysDeptService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -52,6 +55,18 @@ public class ArrivalDetailServiceImpl extends ServiceImpl<ArrivalDetailMapper, A
     @Override
     public Page<ArrivalDetailVo> getPage(ArrivalDetailSelectDto dto) {
         IWrapper<ArrivalDetail> wrapper = getWrapper();
+
+        //实际入库时间过滤
+        wrapper.ge("t1.actual_in_time", dto.getBeginTime());
+        wrapper.le("t1.actual_in_time", dto.getEndTime());
+
+        //关键字检索
+        wrapper.keyword(dto.getKeyword(),
+                new SqlField("pi.name"),
+                new SqlField("pi.custom_code"),
+                new SqlField("si.name")
+        );
+
         wrapper.orderByDesc("ad", ArrivalDetail::getId);
         Page<ArrivalDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ArrivalDetailVo> records = page.getRecords();
@@ -75,6 +90,12 @@ public class ArrivalDetailServiceImpl extends ServiceImpl<ArrivalDetailMapper, A
 
     @DSTransactional
     @Override
+    public void edit(ArrivalDetailDto dto) {
+        this.updateById(dto);
+    }
+
+    @DSTransactional
+    @Override
     public void editAccountPeriods(ArrivalDetailDto dto) {
         this.updateById(dto);
         //更新待入库账期
@@ -104,4 +125,11 @@ public class ArrivalDetailServiceImpl extends ServiceImpl<ArrivalDetailMapper, A
         );
     }
 
+    @DSTransactional
+    @Override
+    public void uploadDiffFile(ArrivalDetailDto dto) {
+        Assert.notEmpty(dto.getId(), "到货明细Id不能为空");
+        ObsFileUtil.editFile(dto.getDiffFileList(), dto.getId(), 10);
+    }
+
 }

+ 25 - 13
hx-sale/src/main/resources/mapper/arrival/ArrivalDetailMapper.xml

@@ -4,26 +4,38 @@
 
     <sql id="list">
         SELECT ad.*,
-               a.arrival_time         AS arrivalTime,
-               a.`code`               AS arrivalCode,
-               pi.`name`              AS productName,
-               pi.custom_code         AS productCode,
-               pi.length              AS productLength,
-               pi.width               AS productWidth,
-               pi.height              AS productHeight,
-               pi.color               AS productColor,
-               pi.unit                AS productUnit,
-               swd.receipt_quantity   AS receiptQuantity,
-               sw.`status`            AS receiptStatus,
+               a.arrival_time                                            AS arrivalTime,
+               a.`code`                                                  AS arrivalCode,
+               pi.`name`                                                 AS productName,
+               pi.custom_code                                            AS productCode,
+               pi.length                                                 AS productLength,
+               pi.width                                                  AS productWidth,
+               pi.height                                                 AS productHeight,
+               pi.color                                                  AS productColor,
+               pi.unit                                                   AS productUnit,
+               swd.receipt_quantity                                      AS receiptQuantity,
+               sw.`status`                                               AS receiptStatus,
                ep.company_id,
-               ep.sell_corporation_id as supplierId,
-               ep.`code`              AS purchaseCode
+               ep.sell_corporation_id                                    as supplierId,
+               ep.`code`                                                 AS purchaseCode,
+               t1.actual_in_time,
+               epp.price,
+               (ad.quantity * epp.price)                                 AS amount,
+               ((ad.quantity * epp.price) + IFNULL(ad.adjust_amount, 0)) AS settleAmount,
+               ad.diff_remark
         FROM arrival_detail ad
                  JOIN arrival a ON ad.arrival_id = a.id
                  LEFT JOIN product_info pi ON ad.product_id = pi.id
                  LEFT JOIN stock_wait_details swd ON swd.arrival_detail_id = ad.id
                  LEFT JOIN stock_wait sw ON swd.stock_wait_id = sw.id
                  LEFT JOIN ehsd_purchase ep ON a.purchase_id = ep.id
+                 LEFT JOIN supplier_info si ON ep.sell_corporation_id = si.id
+                 LEFT JOIN (SELECT min(sj.in_out_time) AS actual_in_time,
+                                   sjd.arrival_detail_id
+                            FROM stock_journal_details sjd
+                                     JOIN stock_journal sj ON sjd.stock_journal_id = sj.id
+                            GROUP BY sjd.arrival_detail_id) t1 ON t1.arrival_detail_id = ad.id
+                 LEFT JOIN ehsd_purchase_product epp ON ad.purchase_detail_id = epp.id
     </sql>
 
     <select id="getList" resultType="com.fjhx.sale.entity.arrival.vo.ArrivalDetailVo">

+ 5 - 0
hx-supply/src/main/java/com/fjhx/supply/entity/supplier/po/SupplierInfo.java

@@ -34,6 +34,11 @@ public class SupplierInfo extends BasePo {
     private String name;
 
     /**
+     * 供应商简称
+     */
+    private String shortName;
+
+    /**
      * 国家id
      */
     private Long countryId;