Просмотр исходного кода

Merge branch 'master' of http://s.dev01.dkiboss.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

liuyao 1 год назад
Родитель
Сommit
a68c3f7f96
25 измененных файлов с 293 добавлено и 110 удалено
  1. 2 1
      src/main/java/com/dk/mdm/controller/FileController.java
  2. 14 8
      src/main/java/com/dk/mdm/controller/report/ReportController.java
  3. 10 0
      src/main/java/com/dk/mdm/infrastructure/convert/ivt/InboundConvert.java
  4. 10 0
      src/main/java/com/dk/mdm/infrastructure/convert/ivt/InboundItemConvert.java
  5. 6 4
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml
  6. 1 1
      src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.java
  7. 11 12
      src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml
  8. 15 6
      src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml
  9. 14 0
      src/main/java/com/dk/mdm/mapper/report/ReportMapper.java
  10. 10 0
      src/main/java/com/dk/mdm/mapper/report/ReportMapper.xml
  11. 11 2
      src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml
  12. 3 8
      src/main/java/com/dk/mdm/model/pojo/ivt/Inbound.java
  13. 9 0
      src/main/java/com/dk/mdm/model/pojo/pur/Purchase.java
  14. 2 8
      src/main/java/com/dk/mdm/model/response/ivt/InboundResponse.java
  15. 8 0
      src/main/java/com/dk/mdm/model/response/pur/PurchaseResponse.java
  16. 4 7
      src/main/java/com/dk/mdm/model/vo/ivt/InboundVO.java
  17. 8 1
      src/main/java/com/dk/mdm/model/vo/pur/PurchaseVO.java
  18. 2 3
      src/main/java/com/dk/mdm/service/ivt/InboundReturnService.java
  19. 0 1
      src/main/java/com/dk/mdm/service/ivt/inbound/InboundOtherService.java
  20. 5 7
      src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java
  21. 7 8
      src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java
  22. 3 3
      src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java
  23. 83 0
      src/main/java/com/dk/mdm/service/pur/PurchaseService.java
  24. 38 18
      src/main/java/com/dk/mdm/service/report/ReportService.java
  25. 17 12
      src/main/java/com/dk/mdm/service/sale/OrderService.java

+ 2 - 1
src/main/java/com/dk/mdm/controller/FileController.java

@@ -3,6 +3,7 @@ package com.dk.mdm.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.infrastructure.enums.ErrorCodeEnum;
+import com.dk.common.model.vo.core.StaffEntity;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.util.AuthUtils;
@@ -68,7 +69,7 @@ public class FileController {
      */
     private String getFileType(String fileName) {
         if (fileName.indexOf(".") >= 0) {
-            String appCode = authUtils.getStaff().getAppCode();
+            String appCode = Optional.ofNullable(authUtils.getStaff()).map(StaffEntity::getAppCode).orElse("");
             String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
             fileType = fileType.toLowerCase();
 

+ 14 - 8
src/main/java/com/dk/mdm/controller/report/ReportController.java

@@ -238,15 +238,21 @@ public class ReportController  {
      * @author : 王英杰
      * @date   : 2024/4/26 16:43
      */
-    @PostMapping("get_salesum_report")
-    public List<Map<String, Object>> getSalesumReport(
-            @RequestParam int param1,
-            @RequestParam int param2,
-            @RequestParam int param3,
-            @RequestParam String startDate,
-            @RequestParam String endDate) {
-        return reportService.getSalesumReport(param1, param2, param3, startDate, endDate);
+    @PostMapping("get_order_summary")
+    public ResponseResultVO<Map<String, Object>> getOrderSummary(@RequestBody  Map<String, Object> param) {
+        return reportService.getOrderSummary(param);
     }
+
+    /**
+     * @desc   : 销售汇总表明细
+     * @author : 付斌
+     * @date   : 2024-07-04 12:59
+     */
+    @PostMapping("get_order_summary_item")
+    public ResponseResultVO<Map<String, Object>> getOrderSummaryItem(@RequestBody  Map<String, Object> param) {
+        return reportService.getOrderSummaryItem(param);
+    }
+
     /**
      * @desc   : 销售简报
      * @date   : 2024/5/6 8:42

+ 10 - 0
src/main/java/com/dk/mdm/infrastructure/convert/ivt/InboundConvert.java

@@ -2,8 +2,11 @@ package com.dk.mdm.infrastructure.convert.ivt;
 
 import com.dk.mdm.model.pojo.ivt.Inbound;
 import com.dk.mdm.model.pojo.ivt.IntoReturn;
+import com.dk.mdm.model.vo.ivt.InboundItemVO;
 import com.dk.mdm.model.vo.ivt.InboundVO;
 import com.dk.mdm.model.vo.ivt.IntoReturnVO;
+import com.dk.mdm.model.vo.pur.PurchaseItemVO;
+import com.dk.mdm.model.vo.pur.PurchaseVO;
 import org.mapstruct.Mapper;
 
 /**
@@ -20,4 +23,11 @@ public interface InboundConvert {
      * @author : 寇珊珊
      */
     Inbound convertToPo(InboundVO inboundVO);
+
+    /**
+     * @desc   : 采购订单转入库单
+     * @date   : 2024/7/4 14:52
+     * @author : 寇珊珊
+     */
+    InboundVO convertPurchaseVOToInboundVO(PurchaseVO purchaseVO);
 }

+ 10 - 0
src/main/java/com/dk/mdm/infrastructure/convert/ivt/InboundItemConvert.java

@@ -5,6 +5,7 @@ import com.dk.mdm.model.pojo.ivt.InboundItem;
 import com.dk.mdm.model.response.ivt.InboundItemResponse;
 import com.dk.mdm.model.vo.ivt.InboundItemVO;
 import com.dk.mdm.model.vo.ivt.InboundVO;
+import com.dk.mdm.model.vo.pur.PurchaseItemVO;
 import org.mapstruct.Mapper;
 
 /**
@@ -35,4 +36,13 @@ public interface InboundItemConvert {
      * @author : 寇珊珊
      */
     InboundItemResponse  convertVOToRes(InboundItemVO inboundItemVO);
+
+    /**
+     * @desc   : 采购订单明细转入库单明细
+     * @date   : 2024/7/4 14:53
+     * @author : 寇珊珊
+     */
+    InboundItemVO  convertPurchaseItemVOToInboundItemVO(PurchaseItemVO purchaseItemVO);
+
+
 }

+ 6 - 4
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml

@@ -709,12 +709,14 @@
         where item_id = #{itemId}::uuid
     </update>
 
-
     <!--根据来源id删除单据-->
-    <delete id="deleteItemByFromId">
-        DELETE FROM dkic_b.t_psi_inbound_item
+    <update id="deleteItemByFromId">
+        update dkic_b.t_psi_inbound_item
+        <set>
+            flg_valid = false
+        </set>
         WHERE from_id = #{fromId}::uuid
-    </delete>
+    </update>
 
     <!--查询入库价-->
     <select id="selectPriceInto"  resultMap="BaseResultMapResponse">

+ 1 - 1
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.java

@@ -114,7 +114,7 @@ public interface InboundMapper extends BaseMapper<Inbound>{
      * @date   : 2024/3/9 9:14
      * @author : 寇珊珊
      */
-    InboundResponse selectByFromId(@Param("id") String id);
+    InboundResponse selectByFromId(@Param("fromId") String fromId);
 
     /**
      * @desc   : 根据来源id删除单据

+ 11 - 12
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -11,7 +11,7 @@
         return_amt, into_date, remarks, annex_paths, make_staff, make_time,
         receivable_id, flg_valid, cp_id, op_create_time, op_create_user_id,
         op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user,wh_id,
-        into_reason,flg_auto_handle,flg_handle_setting,flg_neg_into
+        into_reason,flg_auto_handle,inbound_processing_flag
     </sql>
 
 
@@ -22,7 +22,7 @@
         sys.f_remove_zero(tpi.into_qty) as into_qty,
         tpi.into_amt, sys.f_remove_zero(tpi.return_qty) as return_qty, tpi.return_amt, tpi.into_date, tpi.remarks, tpi.annex_paths,
         tpi.make_staff, tpi.make_time, tpi.receivable_id, tpi.flg_valid, tpi.cp_id,
-        tpi.wh_id,tpi.into_reason,tpi.flg_auto_handle,tpi.flg_handle_setting,tpi.flg_neg_into
+        tpi.wh_id,tpi.into_reason,tpi.flg_auto_handle,tpi.inbound_processing_flag
     </sql>
 
 
@@ -62,8 +62,7 @@
         <result column="into_reason" property="intoReason" typeHandler="UuidTypeHandler"/>
         <result column="wh_id" property="whId"/>
         <result column="flg_auto_handle" property="flgAutoHandle"/>
-        <result column="flg_handle_setting" property="flgHandleSetting"/>
-        <result column="flg_neg_into" property="flgNegInto"/>
+        <result column="inbound_processing_flag" property="inboundProcessingFlag"/>
     </resultMap>
 
     <!-- response查询映射结果 -->
@@ -111,8 +110,7 @@
         <result column="cus_from_name" property="cusFromName" />
         <result column="return_address" property="returnAddress" />
         <result column="flg_auto_handle" property="flgAutoHandle"/>
-        <result column="flg_handle_setting" property="flgHandleSetting"/>
-        <result column="flg_neg_into" property="flgNegInto"/>
+        <result column="inbound_processing_flag" property="inboundProcessingFlag"/>
         <result column="pickup_date" property="pickupDate" typeHandler="TimestampTypeHandler"/>
         <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
     </resultMap>
@@ -761,7 +759,6 @@
         tpi.into_reason,
         tpi.flg_valid,
         tpi.flg_auto_handle,
-        tpi.flg_handle_setting,
         tpi.op_update_time
     </sql>
     <sql id="Base_Column_List_Response_Out">
@@ -790,7 +787,6 @@
         tpo.out_reason as into_reason,
         tpo.flg_valid,
         tpo.flg_auto_handle,
-        tpo.flg_handle_setting,
         tpo.op_update_time
     </sql>
     <!-- 条件查询 web端入库办理用,-->
@@ -1197,14 +1193,17 @@
         SELECT
         <include refid="Base_Column_List_Response"/>
         FROM dkic_b.t_psi_inbound tpi
-        WHERE tpi.from_id = #{id}::uuid
+        WHERE tpi.from_id = #{fromId}::uuid
         and tpi.flg_valid
     </select>
 
 
     <!--根据来源id删除单据-->
-    <delete id="deleteByFromId">
-        DELETE FROM dkic_b.t_psi_inbound
+    <update id="deleteByFromId" >
+        update dkic_b.t_psi_inbound
+        <set>
+            flg_valid = false
+        </set>
         WHERE from_id = #{fromId}::uuid
-    </delete>
+    </update>
 </mapper>

+ 15 - 6
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml

@@ -10,7 +10,8 @@
         into_status, sys.f_remove_zero(intoing_qty) as intoing_qty, intoing_amt, sys.f_remove_zero(into_qty) as into_qty, into_amt,
         sys.f_remove_zero(return_qty) as return_qty, return_amt,
         amt_payable, amt_handle, amt_residue, remarks, annex_paths, make_staff, make_time, flg_valid, cp_id,
-        op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+        op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user,
+        flg_auto_handle,inbound_processing_flag
     </sql>
 
     <!-- 通用查询列 -->
@@ -54,7 +55,9 @@
         tpp.op_db_user,
         tpp.wh_id,
         tpp.from_ids,
-        tpp.from_nos
+        tpp.from_nos,
+        tpp.flg_auto_handle,
+        tpp.inbound_processing_flag
     </sql>
 
     <!-- 通用查询映射结果 -->
@@ -97,6 +100,8 @@
             <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
                 <result column="op_db_user" property="opDbUser"/>
                 <result column="wh_id" property="whId"/>
+                <result column="flg_auto_handle" property="flgAutoHandle"/>
+                <result column="inbound_processing_flag" property="inboundProcessingFlag"/>
     </resultMap>
 
     <!-- 通用查询映射结果 -->
@@ -151,6 +156,8 @@
         <result column="from_ids" property="fromIds" typeHandler="StringListTypeHandler"/>
         <result column="from_nos" property="fromNos" typeHandler="StringListTypeHandler"/>
         <result column="inboundReturnQty" property="inboundReturnQty"/>
+        <result column="flg_auto_handle" property="flgAutoHandle"/>
+        <result column="inbound_processing_flag" property="inboundProcessingFlag"/>
         <collection property="purchaseItemResponseList" resultMap="purchaseItemListMap" columnPrefix="list_"/>
     </resultMap>
     <!--    关联映射-->
@@ -661,7 +668,6 @@
         <include refid="Condition_1"/>
     </select>
 
-
     <update id="updateAmount" parameterType="com.dk.mdm.model.pojo.pur.Purchase">
         update dkic_b.t_psi_purchase
         <set>
@@ -675,8 +681,6 @@
         where  pur_id = #{purId}::uuid
     </update>
 
-
-
     <!-- 查询原始数据 冲正用-->
     <select id="selectPurchaseByRighting" resultMap="BaseResultMap">
         SELECT
@@ -784,12 +788,17 @@
             <if test=" et!=null and et.whId != null">
                 wh_id = #{et.whId,typeHandler=UuidTypeHandler},
             </if>
+            <if test=" et!=null and et.flgAutoHandle != null">
+                flg_auto_handle = #{et.flgAutoHandle,jdbcType=BOOLEAN},
+            </if>
+            <if test=" et!=null and et.inboundProcessingFlag != null">
+                inbound_processing_flag = #{et.inboundProcessingFlag,jdbcType=BOOLEAN},
+            </if>
         </set>
         where pur_id = #{et.purId,typeHandler=UuidTypeHandler}
         and  sum_quantity >= (into_qty + intoing_qty)
     </update>
 
-
     <!-- 采购跟踪-->
     <select id="selectTrackReport" resultType="java.util.Map">
         SELECT *

+ 14 - 0
src/main/java/com/dk/mdm/mapper/report/ReportMapper.java

@@ -341,4 +341,18 @@ public interface ReportMapper extends BaseMapper<JSONObject> {
      * @date   : 2024/7/2 8:55
      */
     Map<String, Object> getBusinessOverview(Map param);
+
+    /**
+     * @desc   : 销售汇总
+     * @author : 付斌
+     * @date   : 2024-07-04 11:34
+     */
+    Map<String, Object> getOrderSummary(Map param);
+
+    /**
+     * @desc   : 销售汇总明细
+     * @author : 付斌
+     * @date   : 2024-07-04 11:34
+     */
+    Map<String, Object> getOrderSummaryItem(Map param);
 }

+ 10 - 0
src/main/java/com/dk/mdm/mapper/report/ReportMapper.xml

@@ -3363,5 +3363,15 @@
         select dkic_b.f_query_business_overview(#{cpId}, #{querys, typeHandler=JsonTypeHandler})
     </select>
 
+    <!-- 销售汇总 -->
+    <select id="getOrderSummary" resultType="java.util.Map">
+        select dkic_b.f_get_order_summary(#{cpId}, #{querys, typeHandler=JsonTypeHandler})
+    </select>
+
+    <!-- 销售汇总明细 -->
+    <select id="getOrderSummaryItem" resultType="java.util.Map">
+        select dkic_b.f_get_order_summary_item(#{cpId}, #{querys, typeHandler=JsonTypeHandler})
+    </select>
+
     <!--endregion-->
 </mapper>

+ 11 - 2
src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml

@@ -710,7 +710,7 @@
         )  AS  "orderItemResponseList"
         FROM
         dkic_b.t_psi_order
-        AS T LEFT JOIN dkic_b.t_psi_order_item toi ON toi.order_id = T.order_id
+        AS T
         LEFT JOIN dkic_b.t_mst_sale_channel tmsc ON T.sales_channel = tmsc.channel_id
         LEFT JOIN dkic_b.t_mst_org tmo ON T.org_id = tmo.org_id
         LEFT JOIN dkic_b.t_mst_staff tms ON T.staff_id = tms.staff_id
@@ -1047,7 +1047,16 @@
             </if>
         </set>
         where order_id =#{et.orderId,typeHandler=UuidTypeHandler}
-        and sum_quantity >= (out_qty + outing_qty)
+        and sum_quantity >= (
+        out_qty
+        <if test=" et!=null and et.updateOutMessageFlag != null and et.updateOutMessageFlag ">
+            + #{et.outQty,jdbcType=NUMERIC}
+        </if>
+        + outing_qty
+        <if test=" et!=null and et.updateOutingMessageFlag != null and et.updateOutingMessageFlag ">
+            + #{et.outingQty,jdbcType=NUMERIC}
+        </if>
+        )
     </update>
 
 

+ 3 - 8
src/main/java/com/dk/mdm/model/pojo/ivt/Inbound.java

@@ -324,14 +324,9 @@ public class Inbound extends PageInfo<Inbound> implements Serializable {
     @ApiModelProperty(value = "自动办理标识")
     private Boolean flgAutoHandle;
 
-    @Excel(name = "自动办理参数")
-    @ApiModelProperty(value = "自动办理参数")
-    private Boolean flgHandleSetting;
-
-    @Excel(name = "无货出库自动入库标识")
-    @ApiModelProperty(value = "无货出库自动入库标识")
-    private Boolean flgNegInto;
-
+    @Excel(name = "开单并入库办理标识")
+    @ApiModelProperty(value = "开单并入库办理标识")
+    private Boolean inboundProcessingFlag;
 
     /*
      * 相关属性

+ 9 - 0
src/main/java/com/dk/mdm/model/pojo/pur/Purchase.java

@@ -373,6 +373,15 @@ public class Purchase extends PageInfo<Purchase> implements Serializable {
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whId;
 
+    @Excel(name = "自动办理标识")
+    @ApiModelProperty(value = "自动办理标识")
+    private Boolean flgAutoHandle;
+
+    @Excel(name = "开单并入库办理标识")
+    @ApiModelProperty(value = "开单并入库办理标识")
+    private Boolean inboundProcessingFlag;
+
+
     //@ApiModelProperty(value = "采购订单明细")
     //private List<PurchaseItem> purchaseItemList;
 

+ 2 - 8
src/main/java/com/dk/mdm/model/response/ivt/InboundResponse.java

@@ -280,14 +280,8 @@ public class InboundResponse  {
     @ApiModelProperty(value = "自动办理标识")
     private Boolean flgAutoHandle;
 
-    @ApiModelProperty(value = "自动办理参数")
-    private Boolean flgHandleSetting;
-
-    @Excel(name = "无货出库自动入库标识")
-    @ApiModelProperty(value = "无货出库自动入库标识")
-    private Boolean flgNegInto;
-
-
+    @ApiModelProperty(value = "开单并入库办理标识")
+    private Boolean inboundProcessingFlag;
 
     @Excel(name = "入库原因")
     @ApiModelProperty(value = "入库原因")

+ 8 - 0
src/main/java/com/dk/mdm/model/response/pur/PurchaseResponse.java

@@ -441,6 +441,14 @@ public class PurchaseResponse extends PageInfo<PurchaseResponse> implements Seri
     @ApiModelProperty(value = "来源单号")
     private List<String> fromNos;
 
+    @Excel(name = "自动办理标识")
+    @ApiModelProperty(value = "自动办理标识")
+    private Boolean flgAutoHandle;
+
+    @Excel(name = "开单并入库办理标识")
+    @ApiModelProperty(value = "开单并入库办理标识")
+    private Boolean inboundProcessingFlag;
+
 
     /*
      * 相关属性

+ 4 - 7
src/main/java/com/dk/mdm/model/vo/ivt/InboundVO.java

@@ -220,16 +220,11 @@ public class InboundVO {
     @TableField(typeHandler = UuidTypeHandler.class)
     private String intoReason;
 
-
     @ApiModelProperty(value = "自动办理标识")
     private Boolean flgAutoHandle;
 
-    @ApiModelProperty(value = "自动办理参数")
-    private Boolean flgHandleSetting;
-
-
-    @ApiModelProperty(value = "无货出库自动入库标识")
-    private Boolean flgNegInto;
+    @ApiModelProperty(value = "开单并入库办理标识")
+    private Boolean inboundProcessingFlag;
 
     /*
      * 相关属性
@@ -259,6 +254,8 @@ public class InboundVO {
     @ApiModelProperty(value = "编辑标识")
     private Boolean limitEdit;
 
+
+
     private static final long serialVersionUID = 1L;
 
 }

+ 8 - 1
src/main/java/com/dk/mdm/model/vo/pur/PurchaseVO.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.dk.common.infrastructure.annotaiton.ExportTitle;
 import com.dk.common.infrastructure.handler.*;
 import com.dk.common.model.pojo.PageInfo;
+import com.dk.common.model.vo.AnnexVO;
 import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -267,7 +268,7 @@ public class PurchaseVO extends PageInfo<PurchaseVO> implements Serializable {
     @Excel(name = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
     @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
     @TableField(typeHandler = JsonTypeHandler.class)
-    private JSONArray annexPaths;
+    private List<AnnexVO> annexPaths;
 
 
     /**
@@ -385,6 +386,12 @@ public class PurchaseVO extends PageInfo<PurchaseVO> implements Serializable {
     @ApiModelProperty(value = "修改采购订单明细")
     private List<PurchaseItemVO> editPurchaseItemList;
 
+    @ApiModelProperty(value = "自动办理标识")
+    private Boolean flgAutoHandle;
+
+    @ApiModelProperty(value = "开单并入库办理标识")
+    private Boolean inboundProcessingFlag;
+
 
     /*
      * 相关属性

+ 2 - 3
src/main/java/com/dk/mdm/service/ivt/InboundReturnService.java

@@ -348,17 +348,16 @@ public class InboundReturnService extends BaseService<Inbound> {
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
         if (Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)) {
-            inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
             inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
         }
 
         //TODO  //系统参数自动出入库办理 已出库(未退款)可以作废,已出库(已退款)不可以作废
-        if (inboundResponse.getFlgHandleSetting() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
+        if (inboundResponse.getFlgAutoHandle() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
             return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
                     ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getMessage());
         }
         //系统参数手动出入库办理 出库中,可以作废,已出库(未收款、已收款),不可以作废
-        if (!inboundResponse.getFlgHandleSetting() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
+        if (!inboundResponse.getFlgAutoHandle() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())) {
             return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
                     ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getMessage());
         }

+ 0 - 1
src/main/java/com/dk/mdm/service/ivt/inbound/InboundOtherService.java

@@ -169,7 +169,6 @@ public class InboundOtherService extends BaseService<Inbound> {
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
         if (Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)) {
-            inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
             inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
         }
         //endregion

+ 5 - 7
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java

@@ -128,7 +128,6 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
         if (Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)) {
-            inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
             inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
         }
         //endregion
@@ -270,9 +269,8 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
             BigDecimal sumAmt = inboundVO.getItemList().stream().map(InboundItemVO::getIntoingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
             //endregion
 
-            //region  自动办理参数为true  已入库编辑
-            //自动办理参数为true
-            if (Constant.FlgHandleSetting.TRUE.getValue().equals(inboundVO.getFlgHandleSetting())) {
+            //region 已入库编辑
+            if (Constant.IntoStatus.YIRUKU.getName().equals(inboundResponse.getIntoStatus())) {
                 //region 退账
                 if (inboundVO.getReceivableId() != null) {
                     accountService.reversePayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
@@ -402,9 +400,9 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
             }
             //endregion
 
-            //region 自动办理参数false  入库中编辑
-            //自动办理标识为false 并且 自动办理参数为false  入库中
-            if (!inboundVO.getFlgAutoHandle() && Constant.FlgHandleSetting.FALSE.getValue().equals(inboundVO.getFlgHandleSetting())) {
+            //region 入库中编辑
+            if (Constant.IntoStatus.RUKUZHONG.getName().equals(inboundResponse.getIntoStatus()) ||
+                    Constant.IntoStatus.DAIRUKU.getName().equals(inboundResponse.getIntoStatus())) {
                 //region 修改明细
                 List<InboundItemVO> itemList = inboundVO.getItemList();
                 for (InboundItemVO inboundItemVO : itemList) {

+ 7 - 8
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -141,6 +141,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<?> purchaseInboundInsert(InboundVO inboundVO) {
+
         //region 校验明细
         if (inboundVO.getItemList().size() == 0) {
             throw new BaseBusinessException(ErrorCodeEnum.INBOUND_ITEM_NOT_EXIST.getCode(),
@@ -151,7 +152,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         //region  查询当前入库明细中是否存在未空或者0的入库价,如果存在去库存流水差最近一条有价格的数据赋值到当前明细
         Boolean priceIntoFlag = false;
         for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
-            if(inboundItemVO.getPriceInto()==null || inboundItemVO.getPriceInto().compareTo(BigDecimal.ZERO)==0){
+            if(inboundItemVO.getPriceInto() == null || inboundItemVO.getPriceInto().compareTo(BigDecimal.ZERO)==0){
                 priceIntoFlag = true;
                 //查询库存批次最近一条入库价
                 InboundItemResponse inboundItemResponse = this.selectPriceInto(inboundItemVO);
@@ -175,7 +176,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
         String flgHandleSetting = commonMapper.getSettingValue(map);
         //自动办理标识为1 自动办理入库
         if (Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)) {
-            inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
             inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
         }
         //endregion
@@ -374,9 +374,8 @@ public class InboundPurchaseService extends BaseService<Inbound> {
             BigDecimal sumAmt = inboundVO.getItemList().stream().map(InboundItemVO::getIntoingAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
             //endregion
 
-            //region  自动办理参数为true  已入库编辑
-            //自动办理参数为true
-            if (Constant.FlgHandleSetting.TRUE.getValue().equals(inboundVO.getFlgHandleSetting())) {
+            //region   已入库编辑
+            if (Constant.IntoStatus.YIRUKU.getName().equals(inboundResponse.getIntoStatus())) {
                 //region 退账
                 if (inboundVO.getReceivableId() != null) {
                     accountService.reversePayable(inboundVO.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
@@ -570,9 +569,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
             }
             //endregion
 
-            //region 自动办理参数false  入库中编辑
-            //自动办理标识为false 并且 自动办理参数为false  入库中
-            if (!inboundVO.getFlgAutoHandle() && Constant.FlgHandleSetting.FALSE.getValue().equals(inboundVO.getFlgHandleSetting())) {
+            //region 入库中编辑
+            if (Constant.IntoStatus.RUKUZHONG.getName().equals(inboundResponse.getIntoStatus()) ||
+                    Constant.IntoStatus.DAIRUKU.getName().equals(inboundResponse.getIntoStatus())) {
                 //region 修改明细
                 List<InboundItemVO> itemList = inboundVO.getItemList();
                 for (InboundItemVO inboundItemVO : itemList) {

+ 3 - 3
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -255,7 +255,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
     public void deleteOutsideGoodsInto(OutboundVO outboundVO, List<OutboundItemVO> outboundItemVOList) {
         if (outboundItemVOList != null && outboundItemVOList.size() > 0) {
             //根据出库单id分组
-            Map<String, List<OutboundItemVO>> outboundItemVOMap = outboundItemVOList.stream().collect(Collectors.groupingBy(OutboundItemVO::getOutId));
+            Map<String, List<OutboundItemVO>> outboundItemVOMap = outboundItemVOList.stream().collect(Collectors.groupingBy(OutboundItemVO::getFromId));
             for (String str : outboundItemVOMap.keySet()) {
                 InboundResponse inboundResponse = inboundMapper.selectByFromId(str);
                 // 退账
@@ -265,9 +265,9 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             }
             //删除外协入库单
             //外协入库总单
-            inboundMapper.deleteByFromId(outboundItemVOList.get(0).getOutId());
+            inboundMapper.deleteByFromId(outboundItemVOList.get(0).getFromId());
             //外协入库明细
-            inboundItemMapper.deleteItemByFromId(outboundItemVOList.get(0).getOutId());
+            inboundItemMapper.deleteItemByFromId(outboundItemVOList.get(0).getFromId());
         }
 
     }

+ 83 - 0
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -10,10 +10,14 @@ import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.ivt.InboundConvert;
+import com.dk.mdm.infrastructure.convert.ivt.InboundItemConvert;
 import com.dk.mdm.infrastructure.convert.pur.PurChaseConvert;
 import com.dk.mdm.infrastructure.convert.pur.PurChaseItemConvert;
 import com.dk.mdm.mapper.common.CommonMapper;
+import com.dk.mdm.mapper.mst.GoodsSkuMapper;
 import com.dk.mdm.mapper.pur.PurchaseItemMapper;
+import com.dk.mdm.model.pojo.mst.GoodsSku;
 import com.dk.mdm.model.pojo.pur.Purchase;
 import com.dk.mdm.mapper.pur.PurchaseMapper;
 import com.dk.common.service.BaseService;
@@ -30,12 +34,14 @@ import com.dk.mdm.model.vo.pur.PurchaseItemVO;
 import com.dk.mdm.model.vo.pur.PurchaseVO;
 import com.dk.mdm.service.common.CommonService;
 import com.dk.mdm.service.ivt.inbound.InboundItemService;
+import com.dk.mdm.service.ivt.inbound.InboundPurchaseService;
 import com.dk.mdm.service.ivt.inbound.InboundService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -80,6 +86,18 @@ public class PurchaseService extends BaseService<Purchase> {
     @Autowired
     private InboundItemService inboundItemService;
 
+    @Autowired
+    private InboundItemConvert inboundItemConvert;
+
+    @Autowired
+    private InboundConvert inboundConvert;
+
+    @Autowired
+    private GoodsSkuMapper goodsSkuMapper;
+
+    @Autowired
+    private InboundPurchaseService inboundPurchaseService;
+
     /**
      * @desc : 条件查询
      * @author : 常皓宁
@@ -165,6 +183,71 @@ public class PurchaseService extends BaseService<Purchase> {
         }
         //endregion
 
+        /****************************************判断是否生成采购入库单****************************************/
+        //region   判断是否生成采购入库单
+        if(purchasevo.getInboundProcessingFlag()!=null && purchasevo.getInboundProcessingFlag()){
+            List<InboundItemVO> inboundItemVOList = new ArrayList<>();
+            //region  明细
+            for (PurchaseItemVO purchaseItemVO : purchasevo.getPurchaseItemVOList()) {
+                //region 采购订单明细转换采购入库明细
+                InboundItemVO inboundItemVO = inboundItemConvert.convertPurchaseItemVOToInboundItemVO(purchaseItemVO);
+                //endregion
+
+                //region 赋值 采购订单明细和入库单明细不一致的字段要单独set
+                //来源id
+                inboundItemVO.setFromId(purchasevo.getPurId());
+                //来源明细id
+                inboundItemVO.setFromItemId(purchaseItemVO.getItemId());
+                //入库价
+                inboundItemVO.setPriceInto(purchaseItemVO.getPricePur());
+                //endregion
+
+                //region 根据sku查询商品信息
+                if (inboundItemVO.getSkuId() != null) {
+                    GoodsSku goodsSku = goodsSkuMapper.selectById(inboundItemVO.getSkuId());
+                    //商品名称
+                    inboundItemVO.setSkuName(goodsSku.getSkuName());
+                    //商品型号
+                    inboundItemVO.setSkuModel(goodsSku.getSkuModel());
+                }
+                //endregion
+
+                //region 箱片计算
+                //入库中 或者待入库
+                if (Constant.IntoStatus.RUKUZHONG.getName().equals(inboundItemVO.getIntoStatus()) ||
+                        Constant.IntoStatus.DAIRUKU.getName().equals(inboundItemVO.getIntoStatus())) {
+                    //箱
+                    inboundItemVO.setIntoingBox(Integer.valueOf(inboundItemVO.getIntoingQty().divide(inboundItemVO.getPackBox(), 0, RoundingMode.DOWN).toString()));
+                    //片
+                    inboundItemVO.setIntoingPiece(inboundItemVO.getIntoingQty().remainder(inboundItemVO.getPackBox()));
+                }
+                //已入库
+                else {
+                    //箱
+                    inboundItemVO.setIntoBox(Integer.valueOf(inboundItemVO.getIntoingQty().divide(inboundItemVO.getPackBox(), 0, RoundingMode.DOWN).toString()));
+                    //片
+                    inboundItemVO.setIntoPiece(inboundItemVO.getIntoingQty().remainder(inboundItemVO.getPackBox()));
+                }
+                //endregion
+
+                //region 入库明细list添加
+                inboundItemVOList.add(inboundItemVO);
+                //endregion
+            }
+            //endregion
+
+            //region 总单
+            InboundVO inboundVO = inboundConvert.convertPurchaseVOToInboundVO(purchasevo);
+            inboundVO.setItemList(inboundItemVOList);
+            //endregion
+            //新建采购入库单
+            inboundPurchaseService.purchaseInboundInsert(inboundVO);
+        }
+        //endregion
+        /****************************************判断是否生成采购入库单****************************************/
+
+
+
         return ResponseResultUtil.success();
     }
 

+ 38 - 18
src/main/java/com/dk/mdm/service/report/ReportService.java

@@ -68,13 +68,33 @@ public class ReportService {
     private JdbcTemplate jdbcTemplate;
 
     /**
-     * @desc   : 销售汇总表
+     * @desc : 销售汇总表
      * @author : 王英杰
-     * @date   : 2024/4/26 16:43
+     * @date : 2024/4/26 16:43
      */
-    public List<Map<String, Object>> getSalesumReport(int param1, int param2, int param3, String startDate, String endDate) {
-        String sql = "SELECT * FROM dkic_b.f_get_order_summary(?, ?, ?, ?, ?)";
-        return jdbcTemplate.queryForList(sql, param1, param2, param3, startDate, endDate);
+    public ResponseResultVO<Map<String, Object>> getOrderSummary(Map<String, Object> param) {
+        if (param.get("querys") != null) {
+            JSONObject querys = JSONObject.parseObject(param.get("querys").toString());
+            param.put("querys", querys);
+        }
+        Map<String, Object> m = reportMapper.getOrderSummary(param);
+        JSONObject jObject = JSONObject.parseObject(m.get("f_get_order_summary").toString());
+        return ResponseResultUtil.success(jObject);
+    }
+
+    /**
+     * @desc : 销售汇总表明细
+     * @author : 付斌
+     * @date : 2024/4/26 16:43
+     */
+    public ResponseResultVO<Map<String, Object>> getOrderSummaryItem(Map<String, Object> param) {
+        if (param.get("querys") != null) {
+            JSONObject querys = JSONObject.parseObject(param.get("querys").toString());
+            param.put("querys", querys);
+        }
+        Map<String, Object> m = reportMapper.getOrderSummaryItem(param);
+        JSONObject jObject = JSONObject.parseObject(m.get("f_get_order_summary_item").toString());
+        return ResponseResultUtil.success(jObject);
     }
 
     /**
@@ -778,8 +798,8 @@ public class ReportService {
 //            map.put("item", userArrearsItem);
             map.put("arrears", total);
         }
-        if(params.get("sort") != null) {
-            switch (String.valueOf(params.get("sort"))){
+        if (params.get("sort") != null) {
+            switch (String.valueOf(params.get("sort"))) {
                 case "order":
                     arrears = arrears.stream()
                             .sorted(Comparator.comparingDouble((Map map) -> Double.valueOf(String.valueOf(map.get("arrears")))))
@@ -812,7 +832,7 @@ public class ReportService {
             overviewList.add(debt);
             overviewList.addAll(arrears);
             return ResponseResultUtil.success(overviewList);
-        }else {
+        } else {
             return ResponseResultUtil.success(arrears);
         }
     }
@@ -997,9 +1017,9 @@ public class ReportService {
     }
 
     /**
-     * @desc   : 查询销售利润
+     * @desc : 查询销售利润
      * @author : 洪旭东
-     * @date   : 2024-06-07 16:48
+     * @date : 2024-06-07 16:48
      */
     public ResponseResultVO<Map<String, Object>> getSaleProfit(Map<String, Object> param) {
         Map<String, Object> res = new HashMap<>();
@@ -1022,9 +1042,9 @@ public class ReportService {
 //    }
 
     /**
-     * @desc   : 查询部门利润
+     * @desc : 查询部门利润
      * @author : 洪旭东
-     * @date   : 2024-06-07 16:48
+     * @date : 2024-06-07 16:48
      */
     public ResponseResultVO<Map<String, Object>> getSaleProfitGroupByOrg(Map<String, Object> param) {
         Map<String, Object> res = new HashMap<>();
@@ -1034,9 +1054,9 @@ public class ReportService {
     }
 
     /**
-     * @desc   : 查询业务员利润
+     * @desc : 查询业务员利润
      * @author : 洪旭东
-     * @date   : 2024-06-07 16:48
+     * @date : 2024-06-07 16:48
      */
     public ResponseResultVO<Map<String, Object>> getSaleProfitGroupByStaff(Map<String, Object> param) {
         Map<String, Object> res = new HashMap<>();
@@ -1046,9 +1066,9 @@ public class ReportService {
     }
 
     /**
-     * @desc   : 查询商品利润
+     * @desc : 查询商品利润
      * @author : 洪旭东
-     * @date   : 2024-06-07 16:48
+     * @date : 2024-06-07 16:48
      */
     public ResponseResultVO<Map<String, Object>> getSaleProfitGroupBySku(Map<String, Object> param) {
         Map<String, Object> res = new HashMap<>();
@@ -1058,9 +1078,9 @@ public class ReportService {
     }
 
     /**
-     * @desc   : 经营概况
+     * @desc : 经营概况
      * @author : 常皓宁
-     * @date   : 2024/7/2 8:55
+     * @date : 2024/7/2 8:55
      */
     public ResponseResultVO<Map<String, Object>> getBusinessOverview(Map<String, Object> param) {
         if (param.get("querys") != null) {

+ 17 - 12
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -525,6 +525,14 @@ public class OrderService extends BaseService<Order> {
 //        if (orderForUpdate.getSumQuantity().compareTo(orderForUpdate.getOutQty()) == 0) {
 //            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORDER_IS_OUT.getMessage());
 //        }
+        // 商户产品版本
+        String gradeCode = "PRO";
+        Map<String, Object> paramCompany = new HashMap<>();
+        paramCompany.put("cpId", orderVO.getCpId());
+        List<Map<String, Object>> listCompany = commonMapper.getCompany(paramCompany);
+        if (listCompany.size() > 0) {
+            gradeCode = listCompany.get(0).get("gradeCode").toString();
+        }
 
         // 明细实体(避免并发,需要再查一遍)
         OrderItem orderItemForUpdate;
@@ -536,23 +544,16 @@ public class OrderService extends BaseService<Order> {
             if (deleteOrderItemVOList.size() > 0) {
                 for (OrderItemVO orderItemVO : deleteOrderItemVOList) {
                     orderItemForUpdate = orderItemMapper.selectByIdForUpdate(orderItemVO.getItemId());
-                    // 非待出库单据不能删除
-                    if (!Constant.OutStatus.DAICHUKU.getName().equals(orderItemForUpdate.getOutStatus())) {
-                        throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.NO_WAIT_INTO.getMessage());
-                    } else {
+                    //当gradeCode为"STD"时,无论outStatus是什么,都直接删除;而当gradeCode不是"STD"时,只有outStatus为DAICHUKU时才允许删除
+                    if ("STD".equals(gradeCode) ||
+                            (Constant.OutStatus.DAICHUKU.getName().equals(orderItemForUpdate.getOutStatus()))) {
                         orderItemMapper.deleteById(orderItemVO.getItemId());
+                    } else {
+                        throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.NO_WAIT_INTO.getMessage());
                     }
                 }
             }
         }
-        // 商户产品版本
-        String gradeCode = "PRO";
-        Map<String, Object> paramCompany = new HashMap<>();
-        paramCompany.put("cpId", orderVO.getCpId());
-        List<Map<String, Object>> listCompany = commonMapper.getCompany(paramCompany);
-        if (listCompany.size() > 0) {
-            gradeCode = listCompany.get(0).get("gradeCode").toString();
-        }
 
         // 编辑的
         List<OrderItemVO> editOrderItemVOList = orderVO.getItemList().stream().filter(it -> it.getItemId() != null).collect(Collectors.toList());
@@ -844,6 +845,10 @@ public class OrderService extends BaseService<Order> {
                         if (orderVO.getDeleteItemList() != null) { //删除list
                             List<OrderItemVO> deleteOrderItemVOList = orderVO.getDeleteItemList().stream().filter(it -> it.getItemId() != null).collect(Collectors.toList());
                             if (deleteOrderItemVOList.size() > 0) {
+                                for (OrderItemVO orderItemVO : deleteOrderItemVOList) {
+                                    orderItemVO.setOutId(outboundResponsejson.getOutId());
+                                    orderItemVO.setPriceOut(orderItemVO.getFactPrice());
+                                }
                                 orderVO.setDeleteItemList(deleteOrderItemVOList);
                             }
                         }