소스 검색

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

ccjgmwz 3 년 전
부모
커밋
b4ba86cfa9

+ 1 - 1
winsea-haixin-platform-backend/src/main/java/com/yh/saas/platform/controller/StaffController.java

@@ -137,7 +137,7 @@ public class StaffController {
 	public List<CommonStaff> getStaffListByCompId(String compId,String warehouseId) {
 		if(warehouseId != null && !warehouseId.isEmpty()){
 			WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseId);
-			String phones = warehouseBaseInfo.getPersonPhone()+","+warehouseBaseInfo.getOtherPersonPhone();
+			String phones = warehouseBaseInfo.getOtherPersonPhone()!=null?warehouseBaseInfo.getPersonPhone()+","+warehouseBaseInfo.getOtherPersonPhone():warehouseBaseInfo.getPersonPhone();
 
 			return staffService.selectList(new EntityWrapper<CommonStaff>().eq("comp_id", compId).in("staff_mobile_phone",phones));
 		}

+ 7 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/StockPurchaseReceiptReportController.java

@@ -72,6 +72,12 @@ public class StockPurchaseReceiptReportController {
     public List<ContractManagementInfo> selectContractNoList(String compId) {
         return stockPurchaseReceiptReportService.selectContractNoList(compId);
     }
-
+    /**
+     * 查看
+     */
+    @GetMapping("/getInfo")
+    public StockPurchaseReceiptReport getInfo(@RequestParam String id) {
+        return stockPurchaseReceiptReportService.getInfo(id);
+    }
 }
 

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IStockPurchaseReceiptReportService.java

@@ -50,5 +50,11 @@ public interface IStockPurchaseReceiptReportService extends IService<StockPurcha
      * @param compId
      */
     List<ContractManagementInfo> selectContractNoList(String compId);
+    /**
+     * 查看
+     *
+     * @param id
+     */
+    StockPurchaseReceiptReport getInfo(String id);
 
 }

+ 12 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockPurchaseReceiptReportServiceImpl.java

@@ -63,7 +63,7 @@ public class StockPurchaseReceiptReportServiceImpl extends ServiceImpl<StockPurc
                 * stockPurchaseReceiptReport.getPageSize());
         List<String> businessKeys = null;
         if ("1".equals(stockPurchaseReceiptReport.getSearchType())) {
-            businessKeys = workflowService.getTaskBusinessKeysByCode("PROCUREMENT-RECEIPT-REPORT");
+            businessKeys = workflowService.getTaskBusinessKeysByCode("STOCK-PROCUREMENT-RECEIPT-REPORT");
         }
         List<String> statusSet = new ArrayList<>();
         List<String> resourceIdList = this.getResourceIdList();
@@ -237,6 +237,17 @@ public class StockPurchaseReceiptReportServiceImpl extends ServiceImpl<StockPurc
         return contractManagementInfoList;
     }
 
+    /**
+     * 查看
+     * @param id
+     * @return
+     */
+    @Override
+    public StockPurchaseReceiptReport getInfo(String id) {
+        StockPurchaseReceiptReport stockPurchaseReceiptReport=this.selectById(id);
+        return stockPurchaseReceiptReport;
+    }
+
 
     private List<String> getResourceIdList() {
         User currentUser = AuthSecurityUtils.getCurrentUserInfo();

+ 10 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockSaleReceiptReportServiceImpl.java

@@ -12,11 +12,8 @@ import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.mapper.StockSaleReceiptReportMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
-import com.yh.saas.plugin.yiliangyiyun.service.IStockSaleReceiptReportService;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -48,6 +45,8 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
     private IContractManagementInfoService contractManagementInfoService;
     @Autowired
     private IWarehouseInOutInfoService warehouseInOutInfoService;
+    @Autowired
+    private IContractGoodsInfoService contractGoodsInfoService;
 
     /**
      * 销售出库统计
@@ -150,6 +149,10 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
         StockSaleReceiptReport stockSaleReceiptReport1 = this.selectById(stockSaleReceiptReport.getId());
         if (stockSaleReceiptReport1 != null) {
             stockSaleReceiptReport1.setSettlementWeight(stockSaleReceiptReport.getSettlementWeight());
+            ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                    .eq("contract_no", stockSaleReceiptReport1.getContractNo()).eq("delete_flag", "0"));
+            stockSaleReceiptReport1.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight()* Float.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
+            stockSaleReceiptReport1.setAmountNotReceivable(stockSaleReceiptReport1.getAmountIngReceivable()-stockSaleReceiptReport1.getAmountEdReceivable());
             //更改销售出库报表信息
             this.updateById(stockSaleReceiptReport1);
             return "OK";
@@ -210,6 +213,9 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
                 .eq("goods_type","1")
                 .orderBy("update_date", false));
         for (ContractManagementInfo contractManagementInfo : contractManagementInfoList) {
+            ContractGoodsInfo contractGoodsInfo = contractGoodsInfoService.selectOne(new EntityWrapper<ContractGoodsInfo>()
+                    .eq("contract_id",contractManagementInfo.getId()));
+            contractManagementInfo.setGoodsName(contractGoodsInfo.getGoodsName());
             Float money = 0.0f;
             //查现货销售出库报表
             List<StockSaleReceiptReport> stockSaleReceiptReportList = this.selectList(new EntityWrapper<StockSaleReceiptReport>()

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

@@ -636,7 +636,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         // 不是退回的单子
                         if (isStartWorkflow) {
                             Workflow workflow = workflowService
-                                    .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "PROCUREMENT-RECEIPT-REPORT");
+                                    .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
                             // 没配置审核流程,直接结束并处理信息
                             if (workflow == null) {
                                 throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
@@ -701,7 +701,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                 // 不是退回的单子
                                 if (isStartWorkflow) {
                                     Workflow workflow = workflowService
-                                            .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "PROCUREMENT-RECEIPT-REPORT");
+                                            .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
                                     // 没配置审核流程,直接结束并处理信息
                                     if (workflow == null) {
                                         throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
@@ -722,6 +722,52 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             }
                         }
                     }
+                    //常用库退库入库类型
+                    else if ("退库".equals(warehouseInOutInfo.getInOutType())) {
+                        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag", "0"));
+                        if (contractManagementInfo == null) {
+                            throw new YException(YExceptionEnum.CONTRACT_NO_NOT_EXSITS_ERROR);
+                        }
+                        //现货销售出库报表
+                        StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                        stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                        stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                        stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                        stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                        stockSaleReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
+                        stockSaleReceiptReport.setTare(warehouseInOutInfo.getTare());
+                        stockSaleReceiptReport.setNetWeight(-warehouseInOutInfo.getNetWeight());
+                        stockSaleReceiptReport.setReturnDate(warehouseInOutInfo.getInOutDate());
+                        stockSaleReceiptReport.setSettlementWeight(-warehouseInOutInfo.getNetWeight());
+                        stockSaleReceiptReport.setReturnFlag("1");
+                        stockSaleReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                        stockSaleReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                        stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                        boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockSaleReceiptReport.getWorkflowId());
+                        // 不是退回的单子
+                        if (isStartWorkflow) {
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(stockSaleReceiptReport.getCompId(), "SALE-RECEIPT-REPORT");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                stockSaleReceiptReport.setWorkflowId(workflow.getId());
+                                stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
+                                workflowService.startInstance(workflow.getId(), stockSaleReceiptReport.getId());
+                            }
+                        }
+                        // 退回的单子 再启用
+                        else {
+                            stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
+                            workflowService.activateInstance(stockSaleReceiptReport.getWorkflowId(), stockSaleReceiptReport.getId());
+                        }
+                    }
                     //更新库存量
                     float original = 0f;
                     //判断是否有库
@@ -1017,7 +1063,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         // 不是退回的单子
                         if (isStartWorkflow) {
                             Workflow workflow = workflowService
-                                    .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "PROCUREMENT-RECEIPT-REPORT");
+                                    .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
                             // 没配置审核流程,直接结束并处理信息
                             if (workflow == null) {
                                 throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);

+ 50 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/workflow/GoodsPurchaseReceiptReportListener.java

@@ -0,0 +1,50 @@
+package com.yh.saas.plugin.yiliangyiyun.workflow;
+
+import com.yh.saas.common.support.workflow.AbstractWorkflowTaskListener;
+import com.yh.saas.common.support.workflow.annotation.WorkflowTaskListener;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.entity.StockPurchaseReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.service.IPurchaseReceiptReportService;
+import com.yh.saas.plugin.yiliangyiyun.service.IStockPurchaseReceiptReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@WorkflowTaskListener(name = "统计报表", group = "采购入库统计(现货)")
+public class GoodsPurchaseReceiptReportListener extends AbstractWorkflowTaskListener {
+
+    private static final long serialVersionUID = 4103656734835351132L;
+
+    @Autowired
+    private IStockPurchaseReceiptReportService stockPurchaseReceiptReportService;
+
+    @Override
+    public void handleStatusChanged(String businessKey, String status, String statusEn, boolean processIsEnd) {
+        StockPurchaseReceiptReport purchaseReceiptReport = stockPurchaseReceiptReportService.selectById(businessKey);
+        if (purchaseReceiptReport == null) {
+            return;
+        }
+        if (processIsEnd) {
+            purchaseReceiptReport.setStatusFlag(StatusEnum.ORDER_PASSED.getFlag());
+            purchaseReceiptReport.setStatus(StatusEnum.ORDER_PASSED.getName());
+            purchaseReceiptReport.setWorkflowId(null);
+            purchaseReceiptReport.setApproveStatus(null);
+        } else {
+            purchaseReceiptReport.setApproveStatus(status);
+        }
+        stockPurchaseReceiptReportService.updateAllColumnById(purchaseReceiptReport);
+    }
+
+    @Override
+    public void handleRejectApplicationRepulsed(String workflowId, String businessKey, boolean needReapply) {
+        StockPurchaseReceiptReport purchaseReceiptReport = stockPurchaseReceiptReportService.selectById(businessKey);
+        if (purchaseReceiptReport == null) {
+            return;
+        }
+        purchaseReceiptReport.setStatusFlag(StatusEnum.TASK_RETURN.getFlag());
+        purchaseReceiptReport.setStatus(StatusEnum.TASK_RETURN.getName());
+        purchaseReceiptReport.setApproveStatus(null);
+        stockPurchaseReceiptReportService.updateAllColumnById(purchaseReceiptReport);
+
+    }
+
+}