From ce64e667815b39efdc2f8bd52be0d43d49db8d84 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 17 七月 2022 00:06:29 +0800
Subject: [PATCH] 优化小区位置
---
service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java | 82 ++++++++++++++++++++++++++++++++---------
1 files changed, 64 insertions(+), 18 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java
index 38273dc..3c14bd3 100644
--- a/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/allocationStorehouse/impl/AllocationStorehouseBMOImpl.java
@@ -4,16 +4,22 @@
import com.java110.api.bmo.ApiBaseBMO;
import com.java110.api.bmo.allocationStorehouse.IAllocationStorehouseBMO;
import com.java110.core.context.DataFlowContext;
+import com.java110.dto.allocationStorehouse.AllocationStorehouseDto;
+import com.java110.dto.purchaseApply.PurchaseApplyDto;
import com.java110.intf.community.IResourceStoreServiceSMO;
import com.java110.intf.store.IAllocationStorehouseInnerServiceSMO;
+import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
import com.java110.po.allocationStorehouse.AllocationStorehousePo;
+import com.java110.po.allocationStorehouseApply.AllocationStorehouseApplyPo;
import com.java110.po.purchase.ResourceStorePo;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.List;
@Service("allocationStorehouseBMOImpl")
@@ -24,6 +30,9 @@
@Autowired
private IResourceStoreServiceSMO resourceStoreServiceSMOImpl;
+
+ @Autowired
+ private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
/**
* 娣诲姞灏忓尯淇℃伅
@@ -58,23 +67,60 @@
* @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
*/
public void deleteAllocationStorehouse(JSONObject paramInJson, DataFlowContext dataFlowContext) {
- AllocationStorehousePo allocationStorehousePo = BeanConvertUtil.covertBean(paramInJson, AllocationStorehousePo.class);
- super.delete(dataFlowContext, allocationStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_ALLOCATION_STOREHOUSE);
- ResourceStorePo resourceStorePo = new ResourceStorePo();
- resourceStorePo.setResId(allocationStorehousePo.getResId());
- //鏌ヨ璧勬簮鐗╁搧琛�
- List<ResourceStorePo> resourceStores = resourceStoreServiceSMOImpl.getResourceStores(resourceStorePo);
- Assert.listOnlyOne(resourceStores, "璧勬簮鐗╁搧淇℃伅閿欒");
- //鑾峰彇搴撳瓨鏁伴噺
- int resourceStoreStock = Integer.parseInt(resourceStores.get(0).getStock());
- //鑾峰彇璋冩嫧鐨勬暟閲�
- int storehouseStock = Integer.parseInt(allocationStorehousePo.getStock());
- //搴撳瓨鏁伴噺
- int stock = resourceStoreStock + storehouseStock;
- /*ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
- resourceStoreDto.setResId(allocationStorehousePo.getResId());
- resourceStoreDto.setStock(String.valueOf(stock));*/
- resourceStorePo.setStock(String.valueOf(stock));
- super.update(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_RESOURCE_STORE);
+
+ AllocationStorehouseDto allocationStorehouseDto = new AllocationStorehouseDto();
+ allocationStorehouseDto.setApplyId(paramInJson.getString("applyId"));
+ allocationStorehouseDto.setStoreId(paramInJson.getString("storeId"));
+
+ List<AllocationStorehouseDto> allocationStorehouseDtos = allocationStorehouseInnerServiceSMOImpl.queryAllocationStorehouses(allocationStorehouseDto);
+
+ for (AllocationStorehouseDto tmpAllocationStorehouseDto : allocationStorehouseDtos) {
+ AllocationStorehousePo allocationStorehousePo = BeanConvertUtil.covertBean(tmpAllocationStorehouseDto, AllocationStorehousePo.class);
+ super.delete(dataFlowContext, allocationStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_ALLOCATION_STOREHOUSE);
+ ResourceStorePo resourceStorePo = new ResourceStorePo();
+ resourceStorePo.setResId(allocationStorehousePo.getResId());
+ //鏌ヨ璧勬簮鐗╁搧琛�
+ List<ResourceStorePo> resourceStores = resourceStoreServiceSMOImpl.getResourceStores(resourceStorePo);
+ Assert.listOnlyOne(resourceStores, "璧勬簮鐗╁搧淇℃伅閿欒");
+ //鑾峰彇搴撳瓨鏁伴噺
+ BigDecimal resourceStoreStock = new BigDecimal(resourceStores.get(0).getStock());
+ //鑾峰彇璋冩嫧鐨勬暟閲�
+ BigDecimal storehouseStock = new BigDecimal(allocationStorehousePo.getStock());
+ //搴撳瓨鏁伴噺
+ BigDecimal stock = resourceStoreStock.add(storehouseStock);
+ resourceStorePo.setStock(String.valueOf(stock));
+ //璁$畻鏈�灏忚閲忔�绘暟
+ if (StringUtil.isEmpty(resourceStores.get(0).getMiniStock())) {
+ throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
+ }
+ BigDecimal miniStock = new BigDecimal(resourceStores.get(0).getMiniStock()); //鑾峰彇鐗╁搧琛ㄧ殑鏈�灏忚閲忔�绘暟
+ if (StringUtil.isEmpty(resourceStores.get(0).getMiniUnitStock())) {
+ throw new IllegalArgumentException("鏈�灏忚閲忓崟浣嶆暟閲忎笉鑳戒负绌猴紒");
+ }
+ BigDecimal miniUnitStock = new BigDecimal(resourceStores.get(0).getMiniUnitStock()); //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
+ BigDecimal stock2 = new BigDecimal(allocationStorehousePo.getStock()); //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
+ BigDecimal nowMiniStock = stock2.multiply(miniUnitStock); //璁$畻褰撳墠鐨勬渶灏忚閲忔�绘暟
+ BigDecimal newMiniStock = miniStock.add(nowMiniStock);
+ resourceStorePo.setMiniStock(String.valueOf(newMiniStock));
+ super.update(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_RESOURCE_STORE);
+
+ //鍙栨秷娴佺▼瀹℃壒
+ //鏌ヨ浠诲姟
+ PurchaseApplyDto purchaseDto = new PurchaseApplyDto();
+ purchaseDto.setBusinessKey(tmpAllocationStorehouseDto.getApplyId());
+ List<PurchaseApplyDto> purchaseApplyDtoList=purchaseApplyInnerServiceSMOImpl.getActRuTaskId(purchaseDto);
+ if(purchaseApplyDtoList!=null && purchaseApplyDtoList.size()>0){
+ PurchaseApplyDto purchaseDto1 = new PurchaseApplyDto();
+ purchaseDto1.setActRuTaskId(purchaseApplyDtoList.get(0).getActRuTaskId());
+ purchaseDto1.setAssigneeUser("999999");
+ purchaseApplyInnerServiceSMOImpl.updateActRuTaskById(purchaseDto1);
+ }
+ }
+
+ AllocationStorehouseApplyPo allocationStorehouseApplyPo = new AllocationStorehouseApplyPo();
+ allocationStorehouseApplyPo.setApplyId(allocationStorehouseDto.getApplyId());
+ allocationStorehouseApplyPo.setStoreId(allocationStorehouseDto.getStoreId());
+ super.update(dataFlowContext, allocationStorehouseApplyPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_ALLOCATION_STOREHOUSE_APPLY);
+
}
}
--
Gitblit v1.8.0