Преглед изворни кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

koushanshan пре 1 година
родитељ
комит
d0b0e7f7f6

+ 3 - 1
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml

@@ -181,6 +181,7 @@
         <result column="sub_unit_code" property="subUnitCode"/>
         <result column="sub_unit_name" property="subUnitName"/>
         <result column="pack_box" property="packBox"/>
+        <result column="sItemAmt" property="sItemAmt"/>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -608,7 +609,8 @@
         tppi.return_amt AS "sPurItemReturnAmt",
         sys.f_remove_zero ( tpi.usable_qty ) AS "usableQty",
         tpi.non_std_code AS "non_std_code",
-        ( SELECT ul.decimal_places FROM dkic_b.t_mst_unit ul WHERE tpii.unit_id = ul.unit_id ) AS "decimalPlaces"
+        ( SELECT ul.decimal_places FROM dkic_b.t_mst_unit ul WHERE tpii.unit_id = ul.unit_id ) AS "decimalPlaces",
+        tppi.item_amt AS "sItemAmt"
         FROM
         dkic_b.t_psi_inbound_item tpii
         LEFT JOIN dkic_b.t_mst_goods_sku tmgs ON tmgs.sku_id = tpii.sku_id

+ 3 - 4
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -209,6 +209,7 @@
         <result column="can_return_qty" property="canReturnQty"/>
         <result column="price_into" property="priceInto"/>
         <result column="sku_spec" property="skuSpec"/>
+        <result column="decimalPlaces" property="decimalPlaces"/>
 
     </resultMap>
 
@@ -668,6 +669,7 @@
         sys.f_remove_zero(tpii.into_qty)  AS list_into_qty,
         tpii.into_amt AS list_into_amt,
         sys.f_remove_zero(tpii.return_qty) AS list_return_qty,
+        ( SELECT ul.decimal_places FROM dkic_b.t_mst_unit ul WHERE tpii.unit_id = ul.unit_id ) AS "list_decimalPlaces",
         tpii.return_amt AS list_return_amt,
         tpii.remarks AS list_remarks,
         tpii.inv_id AS list_inv_id,
@@ -1405,12 +1407,9 @@
         ,case when tpi.receivable_id is null then false
         when tmai.amt_handle = 0 then false
         else true end as "paymentFlag"
-        ,tpp.sum_amount AS "purSumAmount"
-        ,tpp.return_amt AS "purReturnAmt"
         ,sys.f_get_name_i18n(tdktype.kind_name_i18n,  #{i18n}) AS  "intoStatusName"
         FROM dkic_b.t_psi_inbound tpi
         Left join dkic_b.t_mst_org tmo on tmo.org_id = tpi.org_id
-        Left join dkic_b.t_psi_purchase tpp on tpp.pur_id = tpi.from_id
         Left join dkic_b.t_mst_supplier tmp on tmp.sup_id = tpi.sup_id
         Left join dkic_b.t_mst_staff tms on tms.staff_id = tpi.staff_id
         Left join dkic_b.t_mst_staff tms1 on tms1.staff_id = tpi.make_staff
@@ -1494,7 +1493,7 @@
         else dkic_b.f_box_piece(tmgus.unit_name,tmgu.unit_name,tpii.intoing_box,tpii.intoing_piece) end as "list_pack_box_text"
 
         FROM dkic_b.t_psi_inbound  tpi
-        left  join dkic_b.t_psi_inbound_item tpii  on tpi.into_id = tpii.into_id and  ( tpii.into_qty - tpii.return_qty) > 0
+        left  join dkic_b.t_psi_inbound_item tpii  on tpi.into_id = tpii.into_id
         left  join  dkic_b.t_mst_warehouse tmw on  tmw.wh_id =   tpii.wh_id
         inner join  dkic_b.t_mst_goods_sku  tmgs on tmgs.sku_id = tpii.sku_id
         left join  dkic_b.t_mst_goods_brand  tmgb on tmgb.brand_id = tmgs.brand_id

+ 52 - 41
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml

@@ -105,6 +105,47 @@
     </resultMap>
 
     <!-- 通用查询映射结果 -->
+    <resultMap id="purchaseItemListMap" type="java.util.Map">
+        <id column="item_id" property="itemId"/>
+        <result column="pur_id" property="purId" typeHandler="UuidTypeHandler"/>
+        <result column="pur_no" property="purNo"/>
+        <result column="item_index" property="itemIndex"/>
+        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+        <result column="item_qty" property="itemQty"/>
+        <result column="price_std" property="priceStd"/>
+        <result column="amt_std" property="amtStd"/>
+        <result column="price_pur" property="pricePur"/>
+        <result column="item_amt" property="itemAmt"/>
+        <result column="price_discount" property="priceDiscount"/>
+        <result column="non_std_code" property="nonStdCode"/>
+        <result column="into_status" property="intoStatus"/>
+        <result column="intoing_qty" property="intoingQty"/>
+        <result column="intoing_amt" property="intoingAmt"/>
+        <result column="into_qty" property="intoQty"/>
+        <result column="into_amt" property="intoAmt"/>
+        <result column="return_qty" property="returnQty"/>
+        <result column="return_amt" property="returnAmt"/>
+        <result column="remarks" property="remarks"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="sku_code" property="skuCode"/>
+        <result column="sku_name" property="skuName"/>
+        <result column="price_standard" property="priceStandard"/>
+        <result column="sku_model" property="skuModel"/>
+        <result column="short_name" property="shortName"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_app_code" property="opAppCode"/>
+        <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+        <result column="op_db_user" property="opDbUser"/>
+        <result column="brand_name" property="brandName"/>
+        <result column="sku_images" property="skuImages"/>
+
+
+    </resultMap>
+    <!--    关联映射-->
     <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.pur.PurchaseResponse">
         <id column="pur_id" property="purId"/>
         <result column="pur_no" property="purNo"/>
@@ -159,48 +200,13 @@
         <result column="flg_auto_handle" property="flgAutoHandle"/>
         <result column="inbound_processing_flag" property="inboundProcessingFlag"/>
         <result column="category_count" property="categoryCount"/>
-        <collection property="purchaseItemResponseList" resultMap="purchaseItemListMap" columnPrefix="list_"/>
-    </resultMap>
-    <!--    关联映射-->
-    <resultMap id="purchaseItemListMap" type="java.util.Map">
-        <id column="item_id" property="itemId"/>
-        <result column="pur_id" property="purId" typeHandler="UuidTypeHandler"/>
-        <result column="pur_no" property="purNo"/>
-        <result column="item_index" property="itemIndex"/>
-        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
-        <result column="item_qty" property="itemQty"/>
-        <result column="price_std" property="priceStd"/>
-        <result column="amt_std" property="amtStd"/>
-        <result column="price_pur" property="pricePur"/>
-        <result column="item_amt" property="itemAmt"/>
-        <result column="price_discount" property="priceDiscount"/>
-        <result column="non_std_code" property="nonStdCode"/>
-        <result column="into_status" property="intoStatus"/>
-        <result column="intoing_qty" property="intoingQty"/>
-        <result column="intoing_amt" property="intoingAmt"/>
-        <result column="into_qty" property="intoQty"/>
-        <result column="into_amt" property="intoAmt"/>
-        <result column="return_qty" property="returnQty"/>
-        <result column="return_amt" property="returnAmt"/>
-        <result column="remarks" property="remarks"/>
-        <result column="flg_valid" property="flgValid"/>
-        <result column="cp_id" property="cpId"/>
-        <result column="sku_code" property="skuCode"/>
-        <result column="sku_name" property="skuName"/>
-        <result column="price_standard" property="priceStandard"/>
-        <result column="sku_model" property="skuModel"/>
-        <result column="short_name" property="shortName"/>
-        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
-        <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
-        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
-        <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
-        <result column="op_app_code" property="opAppCode"/>
-        <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
-        <result column="op_db_user" property="opDbUser"/>
-        <result column="brand_name" property="brandName"/>
-        <result column="sku_images" property="skuImages"/>
-
+        <result column="sup_code" property="supCode"/>
+        <result column="sup_type" property="supType"/>
+        <result column="contact_phone" property="contactPhone" />
+        <result column="contact_name" property="contactName" />
+        <result column="service_categories" property="serviceCategories" typeHandler="StringListTypeHandler"/>
 
+        <collection property="purchaseItemResponseList" resultMap="purchaseItemListMap" columnPrefix="list_"/>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -492,6 +498,11 @@
         ,tms.staff_name as "staffName"
         ,tms1.staff_name as "makeStaffName"
         ,tmp.sup_name as "supplierName"
+        ,tmp.sup_code
+        ,tmp.sup_type
+        ,tmp.contact_name as "contactName"
+        ,tmp.contact_phone as "contactPhone"
+        ,tmp.service_categories as "serviceCategories"
         ,tmp.return_address as "returnAddress"
         ,tmw.wh_name as "whName"
         ,sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "intoStatusName"

+ 2 - 0
src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml

@@ -234,7 +234,9 @@
         ,u2.unit_name as "subUnitName"
         ,t.cost_price
         ,t.cost_amt
+        ,tpii.into_id
         FROM dkic_b.t_psi_order_item as t
+        LEFT join dkic_b.t_psi_inbound_item tpii on t.item_id = tpii.from_item_id
         LEFT join dkic_b.t_mst_goods_sku tmgs on t.sku_id = tmgs.sku_id
                  LEFT JOIN dkic_b.t_mst_unit AS ul ON tmgs.unit_id = ul.unit_id
                  LEFT JOIN dkic_b.t_mst_unit AS u2 ON tmgs.sub_unit_id = u2.unit_id

+ 2 - 0
src/main/java/com/dk/mdm/model/response/ivt/InboundItemResponse.java

@@ -529,6 +529,8 @@ public class InboundItemResponse  {
 
     private BigDecimal canReturnQty;
 
+    private BigDecimal sItemAmt;
+
     @ApiModelProperty(value = "其他入库编辑传给库存标识,true:库存为0时改为无效,false:库位为0时不用动")
     private  Boolean  updateOtherIntoInvFlag;
 

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

@@ -450,6 +450,29 @@ public class PurchaseResponse extends PageInfo<PurchaseResponse> implements Seri
     private Boolean inboundProcessingFlag;
 
     private BigDecimal categoryCount;
+
+    /**
+     * 供应商编号
+     */
+    @Excel(name = "供应商编号")
+    @ApiModelProperty(value = "供应商编号")
+    private String supCode;
+
+    /**
+     * 供应商类别 (【系统字典】)
+     */
+    @Excel(name = "供应商类别 (【系统字典】)")
+    @ApiModelProperty(value = "供应商类别 (【系统字典】)")
+    private String supType;
+
+    /**
+     * 服务类别 (【系统字典】)
+     */
+    @Excel(name = "服务类别 (【系统字典】)")
+    @ApiModelProperty(value = "服务类别 (【系统字典】)")
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> serviceCategories;
+
     /*
      * 相关属性
      * @TableField(exist = false)

+ 3 - 0
src/main/java/com/dk/mdm/model/vo/ivt/InboundVO.java

@@ -263,6 +263,9 @@ public class InboundVO {
     @JsonProperty(value = "sPurId")
     private String sPurId;
 
+    @ApiModelProperty(value = "供应商地址")
+    private String returnAddress;
+
     private static final long serialVersionUID = 1L;
 
 }

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

@@ -130,8 +130,8 @@ public class InboundReturnService extends BaseService<Inbound> {
         if (purchaseResponse != null) {
             //反写采购订单退货数量、金额
             purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getSPurId())
-                    .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getReturnQty()))
-                    .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundVO.getReturnAmt()))
+                    .setReturnQty(purchaseResponse.getReturnQty().add(inboundVO.getIntoingQty().abs()))
+                    .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundVO.getIntoingAmt().abs()))
             );
         }
 
@@ -139,8 +139,8 @@ public class InboundReturnService extends BaseService<Inbound> {
         InboundResponse inboundResponse = inboundMapper.selectById(inboundVO.getFromId());
         if (inboundResponse != null) {
             inboundMapper.updateAmount(new Inbound().setIntoId(inboundVO.getFromId())
-                    .setReturnQty(inboundResponse.getReturnQty().add(inboundVO.getReturnQty()))
-                    .setReturnAmt(inboundResponse.getReturnAmt().add(inboundVO.getReturnAmt())));
+                    .setReturnQty(inboundResponse.getReturnQty().add(inboundVO.getIntoingQty().abs()))
+                    .setReturnAmt(inboundResponse.getReturnAmt().add(inboundVO.getIntoingAmt().abs())));
         }
 
 
@@ -153,8 +153,8 @@ public class InboundReturnService extends BaseService<Inbound> {
                 purchaseItemMapper.updateAmount(
                         new PurchaseItem()
                                 .setItemId(inboundItemVO.getSPurItemId())
-                                .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
-                                .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
+                                .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getIntoingQty().abs().setScale(6, BigDecimal.ROUND_HALF_UP)))
+                                .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getIntoingAmt().abs().setScale(6, BigDecimal.ROUND_HALF_UP)))
 
                 );
             }
@@ -166,8 +166,8 @@ public class InboundReturnService extends BaseService<Inbound> {
                 inboundItemMapper.updateAmount(
                         new InboundItem()
                                 .setItemId(inboundItemVO.getSIntoItemId())
-                                .setReturnQty(inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
-                                .setReturnAmt(inboundItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
+                                .setReturnQty(inboundItemResponse.getReturnQty().add(inboundItemVO.getIntoingQty().abs().setScale(6, BigDecimal.ROUND_HALF_UP)))
+                                .setReturnAmt(inboundItemResponse.getReturnAmt().add(inboundItemVO.getIntoingAmt().abs().setScale(6, BigDecimal.ROUND_HALF_UP)))
                 );
             }
 

+ 9 - 2
src/main/java/com/dk/mdm/service/ivt/inbound/InboundCheckService.java

@@ -182,8 +182,15 @@ public class InboundCheckService extends BaseService<Inbound> {
                     .setIntoQty(inboundItemVO.getIntoingQty())
                     .setIntoAmt(inboundItemVO.getIntoingAmt())
                     .setIntoingQty(BigDecimal.ZERO)
-                    .setIntoingAmt(BigDecimal.ZERO)
-            ;
+                    .setIntoingAmt(BigDecimal.ZERO);
+
+            if(inboundVO.getIntoStatus() == Constant.IntoStatus.YIRUKU.getName()){//已入库状态
+                inboundItemVO
+                        .setIntoBox(inboundItemVO.getIntoingBox())
+                        .setIntoPiece(inboundItemVO.getIntoingPiece())
+                        .setIntoingBox(0)
+                        .setIntoingPiece(BigDecimal.ZERO);
+            }
 
             //入库状态
             inboundItemVO.setIntoStatus(inboundVO.getIntoStatus());

+ 15 - 0
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java

@@ -15,10 +15,12 @@ import com.dk.mdm.infrastructure.convert.ivt.InboundConvert;
 import com.dk.mdm.infrastructure.convert.ivt.InboundItemConvert;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.ivt.*;
+import com.dk.mdm.mapper.mst.SupplierMapper;
 import com.dk.mdm.model.pojo.ivt.Inbound;
 import com.dk.mdm.model.pojo.ivt.InboundItem;
 import com.dk.mdm.model.pojo.ivt.IntoReturn;
 import com.dk.mdm.model.pojo.ivt.IntoReturnItem;
+import com.dk.mdm.model.pojo.mst.Supplier;
 import com.dk.mdm.model.pojo.pur.Purchase;
 import com.dk.mdm.model.pojo.pur.PurchaseItem;
 import com.dk.mdm.model.query.ivt.InboundItemQuery;
@@ -82,6 +84,8 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
     @Autowired
     private AccountService accountService;
 
+    @Autowired
+    private SupplierMapper supplierMapper;
 
     /**
      * @desc : 条件查询
@@ -118,6 +122,17 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<?> purchaseReturnInboundInsert(InboundVO inboundVO) {
+
+        //TODO 更新供应商信息(后续可能会 在入库表中增加地址字段) 2024/7/17 于继渤
+        if (inboundVO.getSupId() != null && inboundVO.getReturnAddress() !=null){
+            Supplier supplier = new Supplier();
+            supplier.setSupId(inboundVO.getSupId());
+            supplier.setReturnAddress(inboundVO.getReturnAddress());
+            supplierMapper.update(supplier,
+                    new UpdateWrapper<Supplier>().lambda()
+                            .eq(Supplier::getSupId, UUID.fromString(supplier.getSupId()))
+            );
+        }
         //region  查询当前公司的系统参数  自动办理信息  并赋值
         Map<String, Object> map = new HashMap<>();
         map.put("cpId", inboundVO.getCpId());