Browse Source

添加销售出库

yzc 1 year ago
parent
commit
8b6851328e

+ 0 - 1
hx-mes/src/main/java/com/fjhx/mes/controller/production/ProduceOrderController.java

@@ -70,5 +70,4 @@ public class ProduceOrderController {
     public void editProduceTime(@RequestBody ProduceOrderSelectDto dto) {
         produceOrderService.editProduceTime(dto);
     }
-
 }

+ 8 - 8
hx-mes/src/main/java/com/fjhx/mes/entity/production/po/ProductionOrder.java

@@ -29,15 +29,15 @@ public class ProductionOrder extends BasePo {
      */
     private String code;
 
-	/**
-	 * 交期
-	 */
-	private Date deliveryPeriod;
+    /**
+     * 交期
+     */
+    private Date deliveryPeriod;
 
-	/**
-	 * 生产公司
-	 */
-	private Long produceCompanyId;
+    /**
+     * 生产公司
+     */
+    private Long produceCompanyId;
 
     /**
      * 生产状态 0未开始 1进行中 2已完成

+ 0 - 1
hx-mes/src/main/java/com/fjhx/mes/service/production/ProduceOrderService.java

@@ -44,5 +44,4 @@ public interface ProduceOrderService extends BaseService<ProductionOrder> {
      * 修改投产时间
      */
     void editProduceTime(ProduceOrderSelectDto dto);
-
 }

+ 0 - 8
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderServiceImpl.java

@@ -13,7 +13,6 @@ import com.fjhx.common.utils.Assert;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.enums.ProductAvailableRecordType;
 import com.fjhx.item.service.product.ProductInfoService;
-import com.fjhx.item.service.product.ProductStockInfoService;
 import com.fjhx.mes.entity.material.po.MaterialPreparation;
 import com.fjhx.mes.entity.production.dto.ProduceOrderSelectDto;
 import com.fjhx.mes.entity.production.dto.ProductionOrderDto;
@@ -29,7 +28,6 @@ import com.fjhx.mes.service.material.MaterialPreparationService;
 import com.fjhx.mes.service.production.ProduceOrderDetailService;
 import com.fjhx.mes.service.production.ProduceOrderService;
 import com.fjhx.mes.service.production.ProductionTaskProgressService;
-import com.fjhx.mes.service.work.WorkOrderService;
 import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
 import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
 import com.fjhx.sale.entity.contract.po.Contract;
@@ -81,8 +79,6 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
     @Autowired
     private ProductInfoService productInfoService;
     @Autowired
-    private WorkOrderService workOrderService;
-    @Autowired
     private MaterialPreparationService materialPreparationService;
     @Autowired
     private ProductionProcessesMapper productionProcessesMapper;
@@ -91,11 +87,7 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
     @Autowired
     private ContractProductBomService contractProductBomService;
     @Autowired
-    private ISysDeptService deptService;
-    @Autowired
     private SubscribeDetailService subscribeDetailService;
-    @Autowired
-    private ProductStockInfoService productStockInfoService;
 
     @Override
     public Page<ProductionOrderVo> getPage(ProduceOrderSelectDto dto) {

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java

@@ -346,4 +346,13 @@ public class ContractController {
         contractService.updateProductionTag(dto);
     }
 
+    /**
+     * 销售出库
+     */
+    @PostMapping("/saleOutbound")
+    public void saleOutbound(@RequestBody ContractSelectDto dto) {
+        contractService.saleOutbound(dto.getId());
+    }
+
+
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/Contract.java

@@ -453,4 +453,9 @@ public class Contract extends BasePo {
      */
     private String prodRemark;
 
+    /**
+     * 销售出库状态 0未出库 1已出库
+     */
+    private Integer outboundStatus;
+
 }

+ 0 - 6
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractVo.java

@@ -164,12 +164,6 @@ public class ContractVo extends Contract {
      */
     private String shroffAccountName;
 
-
-    /**
-     * 合同类型
-     */
-    private String type;
-
     /**
      * 定金
      */

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractService.java

@@ -246,4 +246,9 @@ public interface ContractService extends BaseService<Contract> {
      * 修改合同生产标签
      */
     void updateProductionTag(ContractDto dto);
+
+    /**
+     * 销售出库
+     */
+    void saleOutbound(Long id);
 }

+ 42 - 5
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -71,7 +71,6 @@ import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
-import com.fjhx.sale.flow.ContractFlow;
 import com.fjhx.sale.mapper.contract.ContractMapper;
 import com.fjhx.sale.mapper.contract.ContractProductBomMapper;
 import com.fjhx.sale.service.claim.ClaimContractService;
@@ -85,6 +84,11 @@ import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
 import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.fjhx.tenant.utils.DictUtils;
+import com.fjhx.wms.entity.stock.emums.JournalType;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.po.StockWaitDetails;
+import com.fjhx.wms.service.stock.StockWaitDetailsService;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.ruoyi.common.annotation.TenantIgnore;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
@@ -213,11 +217,10 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     private SubscribeDetailMapper subscribeDetailMapper;
     @Autowired
     private ContractProductBomMapper contractProductBomMapper;
-    //
-//    @Autowired
-//    private ProduceOrderService produceOrderService;
     @Autowired
-    private ContractFlow contractFlow;
+    private StockWaitService stockWaitService;
+    @Autowired
+    private StockWaitDetailsService stockWaitDetailsService;
 
     /**
      * 合同和样品单 下拉分页
@@ -2931,4 +2934,38 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         }
     }
 
+    @DSTransactional
+    @Override
+    public void saleOutbound(Long id) {
+        //修改订单出库状态
+        this.update(q -> q
+                .eq(Contract::getId, id)
+                .set(Contract::getOutboundStatus, 1)
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+                .set(BasePo::getUpdateTime, new Date())
+        );
+
+        List<ContractProduct> productionOrderDetailList = contractProductService
+                .list(q -> q.eq(ContractProduct::getContractId, id));
+
+        //生成待出库数据
+        StockWait stockWait = new StockWait();
+        stockWait.setType(2);
+        stockWait.setBusinessType(JournalType.SALE_OUT.getDetailType());
+        stockWait.setBusinessId(id);
+        stockWait.setStatus(0);
+        stockWaitService.save(stockWait);
+
+        List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
+        for (ContractProduct contractProduct : productionOrderDetailList) {
+            StockWaitDetails stockWaitDetails = new StockWaitDetails();
+            stockWaitDetails.setStockWaitId(stockWait.getId());
+            stockWaitDetails.setProductId(contractProduct.getProductId());
+            stockWaitDetails.setQuantity(contractProduct.getQuantity());
+            stockWaitDetails.setReceiptQuantity(BigDecimal.ZERO);
+            stockWaitDetailsList.add(stockWaitDetails);
+        }
+        stockWaitDetailsService.saveBatch(stockWaitDetailsList);
+    }
+
 }