浏览代码

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun

ccjgmwz 3 年之前
父节点
当前提交
369f8fc26c

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/FreightReceivingDispatching.java

@@ -72,6 +72,10 @@ public class FreightReceivingDispatching extends BaseModel<FreightReceivingDispa
      * 收货人账号
      */
     private String accountNumber;
+    /**
+     * 发货人手机号
+     */
+    private String shipperPhone;
     /**
      * 代签收
      */

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java

@@ -44,6 +44,10 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
      * 仓库名称
      */
     private String warehouseName;
+    /**
+     * 常用仓库编号
+     */
+    private String commonWarehouseNo;
     /**
      * 仓库类型(1 常用仓库 2 临时仓库)
      */

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SaleOrderServiceImpl.java

@@ -576,6 +576,24 @@ public class SaleOrderServiceImpl extends ServiceImpl<SaleOrderMapper, SaleOrder
         else {
             saleOrder.setStatus(StatusEnum.ORDER_PASSED.getName());
             saleOrder.setStatusFlag(StatusEnum.ORDER_PASSED.getFlag());
+            // 更新客户信息
+            CustomerInfo customerInfo = customerInfoService.selectOne(new EntityWrapper<CustomerInfo>()
+                    .eq("customer_phone", saleOrder.getBuyerPhone())
+                    .eq("delete_flag", "0"));
+            if (customerInfo != null) {
+                //客户可用预存>=应冻结定金
+                if (customerInfo.getTotalDeposit()-customerInfo.getFreezingDeposit()>= saleOrder.getFreezingDeposit()) {
+                    customerInfo.setFreezingDeposit(customerInfo.getFreezingDeposit()+saleOrder.getFreezingDeposit());
+                }
+                else if(customerInfo.getTotalDeposit()-customerInfo.getFreezingDeposit()- saleOrder.getFreezingDeposit()<=0){
+                    //订单拖欠定金
+                    saleOrder.setDefaultDeposit( saleOrder.getFreezingDeposit()-(customerInfo.getTotalDeposit()-customerInfo.getFreezingDeposit()));
+                    //订单冻结定金
+                    saleOrder.setFreezingDeposit(customerInfo.getTotalDeposit()-customerInfo.getFreezingDeposit());
+                    customerInfo.setFreezingDeposit(customerInfo.getTotalDeposit());
+                }
+                customerInfoService.updateById(customerInfo);
+            }
         }
         //向改价记录表插入数据
         PriceChangeRecord priceChangeRecord = new PriceChangeRecord();

+ 97 - 95
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -192,37 +192,38 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
             }
 
         } else {
-            //判断出入库
-            //常用库入库
-            if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
-                //判断是否有库
-                if (warehouseBaseInfo != null) {
-                    //  查询库位
-                    WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
-                    if (warehousePositionInfo != null) {
-                        // 查询货物库存量
-                        WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
-                                .eq("position_id", warehouseInOutInfo.getPositionId())
-                                .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
-                                .eq("delete_flag", "0"));
-                        // 判断是否有货
-                        if (warehousePositionStorageInfo != null) {
-                            // 更新库存量
-                            warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight());
-                            warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
-                        }
-                        // 没有货
-                        else {
-                            WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
-                            warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
-                            warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
-                            warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
-                            warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
-                            warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
-                            warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
-                            warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+            if("1".equals(warehouseInOutInfo.getPcFlag())){
+                //判断出入库
+                //常用库入库
+                if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
+                    //判断是否有库
+                    if (warehouseBaseInfo != null) {
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                // 更新库存量
+                                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight());
+                                warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                            }
+                            // 没有货
+                            else {
+                                WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
+                                warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
+                                warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
+                                warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
+                                warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
+                                warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
+                                warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
+                                warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
+                            }
                         }
-                    }
 
 //                    boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(purchaseReceiptReport.getWorkflowId());
 //                    // 不是退回的单子
@@ -248,86 +249,87 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 //                        purchaseReceiptReportService.updateById(purchaseReceiptReport);
 //                        workflowService.activateInstance(purchaseReceiptReport.getWorkflowId(), purchaseReceiptReport.getId());
 //                    }
+                    }
                 }
-            }
-            //常用库出库
-            else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
-                //判断是否有货
-                if (warehouseBaseInfo != null) {
-                    //  查询库位
-                    WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
-                    if (warehousePositionInfo != null) {
-                        // 查询货物库存量
-                        WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
-                                .eq("position_id", warehouseInOutInfo.getPositionId())
-                                .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
-                                .eq("delete_flag", "0"));
-                        // 判断是否有货
-                        if (warehousePositionStorageInfo != null) {
-                            if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
-                                // 更新库存量
-                                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehouseInOutInfo.getNetWeight());
-                                warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                //常用库出库
+                else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
+                    //判断是否有货
+                    if (warehouseBaseInfo != null) {
+                        //  查询库位
+                        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
+                        if (warehousePositionInfo != null) {
+                            // 查询货物库存量
+                            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                                    .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
+                                    .eq("delete_flag", "0"));
+                            // 判断是否有货
+                            if (warehousePositionStorageInfo != null) {
+                                if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
+                                    // 更新库存量
+                                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehouseInOutInfo.getNetWeight());
+                                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                                }
+                                //出库量大于库存量
+                                else {
+                                    throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
+                                }
                             }
-                            //出库量大于库存量
+                            // 没有储存量
                             else {
-                                throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
+                                throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
                             }
                         }
-                        // 没有储存量
+                        //库位不存在
                         else {
-                            throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
+                            throw new YException(YExceptionEnum.POSITION_NO_ERROR);
                         }
                     }
-                    //库不存在
+                    //库不存在
                     else {
-                        throw new YException(YExceptionEnum.POSITION_NO_ERROR);
+                        throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
                     }
                 }
-                //仓库不存在
-                else {
-                    throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
-                }
-            }
-            //临时库出库
-            else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
-                if (warehouseBaseInfo != null) {
-                    //定义入库
-                    String inNetWeight = "";
-                    // 查询入库量
-                    List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                            .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "2").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
-                    if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
-                        for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfoList) {
-                            if (StringUtils.isEmpty(inNetWeight)) {
-                                inNetWeight = "0";
+                //临时库出库
+                else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
+                    if (warehouseBaseInfo != null) {
+                        //定义入库
+                        String inNetWeight = "";
+                        // 查询入库量
+                        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "2").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+                        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+                            for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfoList) {
+                                if (StringUtils.isEmpty(inNetWeight)) {
+                                    inNetWeight = "0";
+                                }
+                                inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + warehouseInOutInfos.getNetWeight());
                             }
-                            inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + warehouseInOutInfos.getNetWeight());
                         }
-                    }
-                    //定义出库量
-                    String outNetWeight = "";
-                    // 查询出库量
-                    List<WarehouseInOutInfo> warehouseInOutInfo1 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                            .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "1")
-                            .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
-                    //有出库记录
-                    if (!CollectionUtils.isEmpty(warehouseInOutInfo1)) {
-                        for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfo1) {
-                            if (StringUtils.isEmpty(outNetWeight)) {
-                                outNetWeight = "0";
+                        //定义出库量
+                        String outNetWeight = "";
+                        // 查询出库量
+                        List<WarehouseInOutInfo> warehouseInOutInfo1 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "1")
+                                .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+                        //有出库记录
+                        if (!CollectionUtils.isEmpty(warehouseInOutInfo1)) {
+                            for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfo1) {
+                                if (StringUtils.isEmpty(outNetWeight)) {
+                                    outNetWeight = "0";
+                                }
+                                outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfos.getNetWeight());
                             }
-                            outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfos.getNetWeight());
+                            outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfo.getNetWeight());
+                        }
+                        //没有出库记录
+                        else {
+                            outNetWeight = String.valueOf(warehouseInOutInfo.getNetWeight());
+                        }
+                        //出库量大于入库量
+                        if ((outNetWeight.compareTo(inNetWeight)) > 0) {
+                            throw new YException(YExceptionEnum.INNETWEIGHT_NO_ERROR);
                         }
-                        outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfo.getNetWeight());
-                    }
-                    //没有出库记录
-                    else {
-                        outNetWeight = String.valueOf(warehouseInOutInfo.getNetWeight());
-                    }
-                    //出库量大于入库量
-                    if ((outNetWeight.compareTo(inNetWeight)) > 0) {
-                        throw new YException(YExceptionEnum.INNETWEIGHT_NO_ERROR);
                     }
                 }
             }

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/FreightReceivingDispatchingMapper.xml

@@ -15,6 +15,7 @@
         delete_flag = '0'
         <if test="accountNumber != null and accountNumber != ''">
             AND account_number = #{accountNumber}
+            OR shipper_phone=#{accountNumber}
         </if>
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 1">
@@ -61,6 +62,7 @@
         delete_flag = '0'
         <if test="accountNumber != null and accountNumber != ''">
             AND account_number = #{accountNumber}
+            OR shipper_phone=#{accountNumber}
         </if>
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 1">