Bläddra i källkod

添加库存总账 通用方法

阿伏兔 4 år sedan
förälder
incheckning
06716435af

+ 0 - 6
ruoyi-system/pom.xml

@@ -29,12 +29,6 @@
             <scope>compile</scope>
         </dependency>
 
-        <!-- 仓库模块-->
-        <dependency>
-            <groupId>com.ruoyi</groupId>
-            <artifactId>ruoyi-warehouse</artifactId>
-        </dependency>
-
     </dependencies>
 
 </project>

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TCustomerContactMapper.java

@@ -60,4 +60,6 @@ public interface TCustomerContactMapper extends BaseMapper<TCustomerContact> {
      * @return 结果
      */
     public int deleteTCustomerContactByIds(Long[] tIds);
+
+    int deleteCustomerContactByCorps(Long fPid);
 }

+ 1 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TCorpsServiceImpl.java

@@ -98,7 +98,7 @@ public class TCorpsServiceImpl implements ITCorpsService {
             corps.setUpdateBy(loginUser.getUser().getUserName());
             corps.setUpdateTime(new Date());
             tCorpsMapper.updateById(corps);
-//            tCustomerContactMapper.delete(new EntityWrapper<TCustomerContact>().eq("f_pid", corps.getfId()));
+            tCustomerContactMapper.deleteCustomerContactByCorps(fPid);
         }
         for (TCustomerContact cc : customerContactList) {
             cc.setfPid(fPid);

+ 22 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWhgenlegMapper.java

@@ -1,7 +1,9 @@
 package com.ruoyi.warehouseBusiness.mapper;
 
 
+import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
 import com.ruoyi.warehouseBusiness.domain.TWhgenleg;
+import io.lettuce.core.dynamic.annotation.Param;
 
 import java.util.List;
 
@@ -59,4 +61,24 @@ public interface TWhgenlegMapper {
      * @return 结果
      */
     public int deleteTWhgenlegByIds(Long[] fAccyears);
+
+    /**
+     * 查询条件库存总账是否存在
+     *
+     * @param tWhgenleg 库存总账
+     * @return 结果
+     */
+    public TWhgenleg selectTWhgenleg(TWhgenleg tWhgenleg);
+
+    /**
+     * 修改库存总账表
+     *
+     * @param whgenlegId           库存总账id
+     * @param billType            状态标识
+     * @param warehousebillsitems 仓库明细表
+     * @return 结果
+     */
+    public int updateTWhgenlegData(@Param("whgenlegId") long whgenlegId,
+                               @Param("billType") String billType,
+                               @Param("warehousebillsitems") TWarehousebillsitems warehousebillsitems);
 }

+ 80 - 14
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -8,19 +8,14 @@ import com.ruoyi.basicData.mapper.TCorpsMapper;
 import com.ruoyi.basicData.mapper.TGoodsMapper;
 import com.ruoyi.basicData.mapper.TWarehouseMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
-import com.ruoyi.warehouseBusiness.domain.TEnclosure;
-import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
-import com.ruoyi.warehouseBusiness.domain.TWarehousebillsfees;
-import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
-import com.ruoyi.warehouseBusiness.mapper.TEnclosureMapper;
-import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
-import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsfeesMapper;
-import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
+import com.ruoyi.warehouseBusiness.domain.*;
+import com.ruoyi.warehouseBusiness.mapper.*;
 import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -39,6 +34,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 
 
     @Autowired
+    private TWhgenlegMapper tWhgenlegMapper;
+
+    @Autowired
     private TGoodsMapper tGoodsMapper;
 
     @Autowired
@@ -142,14 +140,81 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     }
 
     /**
+     * 根据条件查询总账是否存在
+     *
+     * @param warehouseBills      仓库主表
+     * @param warehousebillsitems 仓库明细表
+     * @return 库存总账
+     */
+    public TWhgenleg queryTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems) {
+        TWhgenleg tWhgenleg = new TWhgenleg();
+        // 客户
+        tWhgenleg.setfCorpid(warehouseBills.getFCorpid());
+        // 提单号
+        tWhgenleg.setfMblno(warehouseBills.getFMblno());
+        // 库区
+        tWhgenleg.setfWarehouseLocationid(warehousebillsitems.getfWarehouselocid());
+        // 货物品名
+        tWhgenleg.setfGoodsid(warehousebillsitems.getfGoodsid());
+        // 贸易方式
+        tWhgenleg.setfTrademodeid(warehouseBills.getFTrademodeid());
+        return tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
+    }
+
+    /**
+     * 新增库存总账
+     * @param warehouseBills        仓库主表
+     * @param warehousebillsitems   仓库明细表
+     * @return  结果
+     */
+    @Transactional
+    public int instalTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, SysUser user) {
+        TWhgenleg tWhgenleg = new TWhgenleg();
+        // 客户
+        tWhgenleg.setfCorpid(warehouseBills.getFCorpid());
+        // 提单号
+        tWhgenleg.setfMblno(warehouseBills.getFMblno());
+        // 原始单号
+        tWhgenleg.setfOriginalbillno(warehouseBills.getFMblno());
+        // 库区
+        tWhgenleg.setfWarehouseLocationid(warehousebillsitems.getfWarehouselocid());
+        // 货物品名
+        tWhgenleg.setfGoodsid(warehousebillsitems.getfGoodsid());
+        // 贸易方式
+        tWhgenleg.setfTrademodeid(warehouseBills.getFTrademodeid());
+        // 入库数
+        tWhgenleg.setfQtyd(warehousebillsitems.getfQty());
+        // 入库尺码
+        tWhgenleg.setfVolumnd(warehousebillsitems.getfVolumn());
+        // 入库毛重
+        tWhgenleg.setfGrossweightd(warehousebillsitems.getfGrossweight());
+        // 入库净重
+        tWhgenleg.setfNetweightd(warehousebillsitems.getfNetweight());
+        // 入库箱号
+        tWhgenleg.setfCntrno(warehousebillsitems.getfCntrno());
+        // 创建人
+        tWhgenleg.setCreateBy(user.getUserName());
+        // 创建人
+        tWhgenleg.setCreateTime(new Date());
+        // 状态
+        tWhgenleg.setfStatus("T");
+        return tWhgenlegMapper.insertTWhgenleg(tWhgenleg);
+    }
+
+    @Transactional
+    public int updateTWhgenlegData(TWarehousebillsitems warehousebillsitems, long whgenlegId, String billtype) {
+        return tWhgenlegMapper.updateTWhgenlegData(whgenlegId, billtype, warehousebillsitems);
+    }
+
+    /**
      * 新增详情主表
      *
-     * @param tWarehouseBills      仓库主表
-     * @param tWarehousebillsfeesCr  仓库费付款用明细表
-     * @param tWarehousebillsfeesDr  仓库费收
-     *                               款用明细表
-     * @param tWarehousebillsitems 仓库货物明细表
-     * @param loginUser            当前登陆人
+     * @param tWarehouseBills       仓库主表
+     * @param tWarehousebillsfeesCr 仓库费付款用明细表
+     * @param tWarehousebillsfeesDr 仓库费收
+     *                              款用明细表
+     * @param tWarehousebillsitems  仓库货物明细表
+     * @param loginUser             当前登陆人
      * @param billsType             判断标识
      * @return 结果
      */
@@ -272,4 +337,5 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     public String getWarehouseOutStockBillsNo(TWarehouseBills tWarehouseBills) {
         return null;
     }
+
 }

+ 4 - 0
ruoyi-warehouse/src/main/resources/mapper/basicData/TCustomerContactMapper.xml

@@ -118,4 +118,8 @@
         </foreach>
     </delete>
 
+    <delete id="deleteCustomerContactByCorps" parameterType="String">
+        delete from t_customer_contact where f_pid = #{fPid}
+    </delete>
+
 </mapper>

+ 47 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWhgenlegMapper.xml

@@ -65,6 +65,17 @@
         </where>
     </select>
 
+    <select id="selectTWhgenleg" parameterType="TWhgenleg" resultMap="TWhgenlegResult">
+        <include refid="selectTWhgenlegVo"/>
+        <where>
+            <if test="fCorpid != null ">and f_corpid = #{fCorpid}</if>
+            <if test="fMblno != null ">and f_mblno = #{fMblno}</if>
+            <if test="fGoodsid != null ">and f_goodsid = #{fGoodsid}</if>
+            <if test="fTrademodeid != null ">and f_trademodeid = #{fTrademodeid}</if>
+            <if test="fWarehouseLocationid != null ">and f_warehouseLocationid = #{fWarehouseLocationid}</if>
+        </where>
+    </select>
+
     <select id="selectTWhgenlegById" parameterType="Long" resultMap="TWhgenlegResult">
         <include refid="selectTWhgenlegVo"/>
         where f_accyear = #{fAccyear}
@@ -177,6 +188,42 @@
         where f_accyear = #{fAccyear}
     </update>
 
+    <update id="updateTWhgenlegData">
+        update t_whgenleg
+        <trim prefix="SET" suffixOverrides=",">
+            /*判断是否入库*/
+            <if test="billType = 'SJRK'">
+                f_qtyD = f_qtyD + #{warehousebillsitems.fQty},
+                f_volumnD = f_volumnD + #{warehousebillsitems.fVolumn},
+                f_netweightD = f_netweightD + #{warehousebillsitems.fNetweight},
+                f_grossweightD = f_grossweightD + #{warehousebillsitems.fGrossweight},
+            </if>
+            /*判断是否撤销入库*/
+            <if test="billType = 'SJRKRevoke'">
+                f_qtyD = f_qtyD - #{warehousebillsitems.fQty},
+                f_volumnD = f_volumnD - #{warehousebillsitems.fVolumn},
+                f_netweightD = f_netweightD - #{warehousebillsitems.fNetweight},
+                f_grossweightD = f_grossweightD - #{warehousebillsitems.fGrossweight},
+            </if>
+            /*判断是否出库*/
+            <if test="billType = 'SJCK'">
+                f_qtyC = f_qtyC + #{warehousebillsitems.fQty},
+                f_volumnC = f_volumnC + #{warehousebillsitems.fVolumn},
+                f_netweightC = f_netweightC + #{warehousebillsitems.fNetweight},
+                f_grossweightC = f_grossweightC + #{warehousebillsitems.fGrossweight},
+            </if>
+            /*判断是否撤销出库*/
+            <if test="billType = 'SJCKRevoke'">
+                f_qtyC = f_qtyC - #{warehousebillsitems.fQty},
+                f_volumnC = f_volumnC - #{warehousebillsitems.fVolumn},
+                f_netweightC = f_netweightC - #{warehousebillsitems.fNetweight},
+                f_grossweightC = f_grossweightC - #{warehousebillsitems.fGrossweight},
+            </if>
+            update_by = NOW()
+        </trim>
+        where f_id = #{whgenlegId}
+    </update>
+
     <delete id="deleteTWhgenlegById" parameterType="Long">
         delete from t_whgenleg where f_accyear = #{fAccyear}
     </delete>