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/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java | 357 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 284 insertions(+), 73 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
index 0ab44b7..f469884 100644
--- a/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
@@ -2,27 +2,43 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.ApiBaseBMO;
import com.java110.api.bmo.allocationUserStorehouse.IAllocationUserStorehouseBMO;
+import com.java110.api.listener.AbstractServiceApiPlusListener;
import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.resourceStore.ResourceStoreDto;
import com.java110.dto.userStorehouse.UserStorehouseDto;
+import com.java110.entity.center.AppService;
+import com.java110.intf.store.IResourceStoreInnerServiceSMO;
import com.java110.intf.store.IUserStorehouseInnerServiceSMO;
import com.java110.po.allocationUserStorehouse.AllocationUserStorehousePo;
+import com.java110.po.resourceStoreUseRecord.ResourceStoreUseRecordPo;
import com.java110.po.userStorehouse.UserStorehousePo;
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.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.text.ParseException;
import java.util.Date;
import java.util.List;
+import java.util.Map;
@Service("allocationUserStorehouseBMOImpl")
-public class AllocationUserStorehouseBMOImpl extends ApiBaseBMO implements IAllocationUserStorehouseBMO {
+public class AllocationUserStorehouseBMOImpl extends AbstractServiceApiPlusListener implements IAllocationUserStorehouseBMO {
@Autowired
private IUserStorehouseInnerServiceSMO userStorehouseInnerServiceSMOImpl;
+
+ @Autowired
+ private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
/**
* 娣诲姞灏忓尯淇℃伅
@@ -36,77 +52,223 @@
JSONArray json = JSONArray.parseArray(resourceStores);
if (json.size() > 0) {
Object[] objects = json.toArray();
- for (int i = 0; i < objects.length; i++) {
- Object object = objects[i];
- JSONObject paramIn = JSONObject.parseObject(String.valueOf(object));
- //鑾峰彇搴撳瓨鏁伴噺
- String stock = paramIn.getString("stock");
- //鑾峰彇杞鏁伴噺
- String giveQuantity = paramIn.getString("giveQuantity");
- //鑾峰彇鐗╁搧id
- String resId = paramIn.getString("resId");
- String resName = paramIn.getString("resName");
- //鑾峰彇褰撳墠鐢ㄦ埛id
- String userId = paramInJson.getString("userId");
- //鑾峰彇鎺ュ彈杞鐢ㄦ埛id
- String acceptUserId = paramInJson.getString("acceptUserId");
- String acceptUserName = paramInJson.getString("acceptUserName");
- String storeId = paramInJson.getString("storeId");
- JSONObject allocationUserStorehouseJson = new JSONObject();
- allocationUserStorehouseJson.put("ausId", "-1");
- allocationUserStorehouseJson.put("resId", resId);
- allocationUserStorehouseJson.put("resName", resName);
- allocationUserStorehouseJson.put("storeId", storeId);
- allocationUserStorehouseJson.put("stock", stock);
- allocationUserStorehouseJson.put("giveQuantity", giveQuantity);
- allocationUserStorehouseJson.put("startUserId", userId);
- allocationUserStorehouseJson.put("startUserName", paramInJson.getString("userName"));
- allocationUserStorehouseJson.put("acceptUserId", acceptUserId);
- allocationUserStorehouseJson.put("acceptUserName", acceptUserName);
- allocationUserStorehouseJson.put("createTime", new Date());
- allocationUserStorehouseJson.put("remark", paramInJson.getString("description"));
- AllocationUserStorehousePo allocationUserStorehousePo = BeanConvertUtil.covertBean(allocationUserStorehouseJson, AllocationUserStorehousePo.class);
- super.insert(dataFlowContext, allocationUserStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ALLOCATION_USER_STOREHOUSE);
- UserStorehouseDto userStorehouseDto = new UserStorehouseDto();
- userStorehouseDto.setUserId(userId);
- userStorehouseDto.setResId(resId);
- List<UserStorehouseDto> userStorehouseDtos = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouseDto);
- Assert.listOnlyOne(userStorehouseDtos, "鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
- //鑾峰彇涓汉鐗╁搧淇℃伅id
- String usId = userStorehouseDtos.get(0).getUsId();
- UserStorehousePo userStorehousePo = new UserStorehousePo();
- userStorehousePo.setUsId(usId);
- //鑾峰彇杞鍚庣殑搴撳瓨鏁伴噺
- int newStock = Integer.parseInt(stock) - Integer.parseInt(giveQuantity);
- userStorehousePo.setStock(String.valueOf(newStock));
- //鏇存柊褰撳墠鐢ㄦ埛搴撳瓨鏁�
- super.update(dataFlowContext, userStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
- UserStorehouseDto userStorehouse = new UserStorehouseDto();
- userStorehouse.setUserId(acceptUserId);
- userStorehouse.setResId(resId);
- List<UserStorehouseDto> userStorehouses = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouse);
- if (userStorehouses != null && userStorehouses.size() == 1) {
- //鑾峰彇鎺ュ彈鐢ㄦ埛搴撳瓨鏁�
- String userStock = userStorehouses.get(0).getStock();
- //鑾峰彇杞鍚庣殑搴撳瓨鏁伴噺
- int myStock = Integer.parseInt(userStock) + Integer.parseInt(giveQuantity);
- UserStorehousePo userStorePo = new UserStorehousePo();
- userStorePo.setUsId(userStorehouses.get(0).getUsId());
- userStorePo.setStock(String.valueOf(myStock));
- //鏇存柊褰撳墠鐢ㄦ埛鐨勫簱瀛樻暟閲�
- super.update(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
- } else if (userStorehouses != null && userStorehouses.size() > 1) {
- throw new IllegalArgumentException("鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
- } else {
- UserStorehousePo userStorePo = new UserStorehousePo();
- userStorePo.setUsId("-1");
- userStorePo.setResId(resId);
- userStorePo.setResName(resName);
- userStorePo.setStoreId(storeId);
- userStorePo.setStock(giveQuantity);
- userStorePo.setUserId(acceptUserId);
- //淇濆瓨鎺ュ彈杞鐢ㄦ埛涓汉鐗╁搧淇℃伅
- super.insert(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_STOREHOUSE);
+ String flag = paramInJson.getString("flag");
+ if (!StringUtil.isEmpty(flag) && flag.equals("1")) { //鎹熻��
+ for (int i = 0; i < objects.length; i++) {
+ Object object = objects[i];
+ JSONObject paramIn = JSONObject.parseObject(String.valueOf(object));
+ ResourceStoreUseRecordPo resourceStoreUseRecordPo = new ResourceStoreUseRecordPo();
+ resourceStoreUseRecordPo.setRsurId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_rsurId));
+ resourceStoreUseRecordPo.setRepairId("-1"); //鎶ヤ慨璁板綍
+ resourceStoreUseRecordPo.setResId(paramIn.getString("resId")); //鐗╁搧璧勬簮id
+ resourceStoreUseRecordPo.setCommunityId(paramInJson.getString("communityId")); //灏忓尯id
+ resourceStoreUseRecordPo.setStoreId(paramInJson.getString("storeId")); //鍟嗘埛id
+ resourceStoreUseRecordPo.setQuantity(paramIn.getString("giveQuantity")); //鎹熻�楁暟閲�
+ //鏍规嵁鐗╁搧璧勬簮id鏌ヨ鐗╁搧璧勬簮淇℃伅
+ ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
+ resourceStoreDto.setResId(paramIn.getString("resId"));
+ List<ResourceStoreDto> resourceStoreDtos = resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto);
+ Assert.listOnlyOne(resourceStoreDtos, "鏌ヨ鎴垮眿淇℃伅閿欒锛�");
+ resourceStoreUseRecordPo.setUnitPrice(resourceStoreDtos.get(0).getPrice()); //鐗╁搧璧勬簮鍗曚环
+ resourceStoreUseRecordPo.setCreateUserId(paramInJson.getString("userId")); //鍒涘缓浜篿d
+ resourceStoreUseRecordPo.setCreateUserName(paramInJson.getString("userName")); //鍒涘缓浜哄悕绉�
+ resourceStoreUseRecordPo.setRemark(paramIn.getString("purchaseRemark")); //澶囨敞
+ resourceStoreUseRecordPo.setResourceStoreName(paramIn.getString("resName")); //鐗╁搧鍚嶇О
+ resourceStoreUseRecordPo.setState(paramIn.getString("state")); //1001 鎶ュ簾鍥炴敹 2002 宸ュ崟鎹熻�� 3003 鍏敤鎹熻��
+ super.insert(dataFlowContext, resourceStoreUseRecordPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_RESOURCE_STORE_USE_RECORD);
+ //涓汉鐗╁搧澶勭悊
+ UserStorehouseDto userStorehouseDto = new UserStorehouseDto();
+ userStorehouseDto.setUserId(paramInJson.getString("userId"));
+ userStorehouseDto.setResId(paramIn.getString("resId"));
+ //鏌ヨ涓汉鐗╁搧淇℃伅
+ List<UserStorehouseDto> userStorehouseDtos = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouseDto);
+ Assert.listOnlyOne(userStorehouseDtos, "鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
+ //鑾峰彇涓汉鐗╁搧淇℃伅id
+ String usId = userStorehouseDtos.get(0).getUsId();
+ //鑾峰彇鐗╁搧鍗曚綅
+ if (StringUtil.isEmpty(userStorehouseDtos.get(0).getUnitCode())) {
+ throw new IllegalArgumentException("鐗╁搧鍗曚綅涓嶈兘涓虹┖");
+ }
+ String unitCode = userStorehouseDtos.get(0).getUnitCode(); //鐗╁搧鍗曚綅
+ //鑾峰彇鐗╁搧鏈�灏忚閲忓崟浣�
+ if (StringUtil.isEmpty(userStorehouseDtos.get(0).getMiniUnitCode())) {
+ throw new IllegalArgumentException("鐗╁搧鏈�灏忚閲忓崟浣嶄笉鑳戒负绌�");
+ }
+ String miniUnitCode = userStorehouseDtos.get(0).getMiniUnitCode(); //鐗╁搧鏈�灏忚閲忓崟浣�
+ UserStorehousePo userStorehousePo = new UserStorehousePo();
+ userStorehousePo.setUsId(usId); //涓汉鐗╁搧id
+ //鑾峰彇鏈�灏忓崟浣嶈閲忔�绘暟
+ String miniStock = userStorehouseDtos.get(0).getMiniStock();
+ //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
+ String miniUnitStock = paramIn.getString("miniUnitStock");
+ //鑾峰彇鎶ュ簾鏁伴噺
+ String giveQuantity = paramIn.getString("giveQuantity");
+ //闄ゅ幓鎶ュ簾涓汉鐗╁搧鍓╀綑鐨勬渶灏忓崟浣嶈閲忔�绘暟
+ BigDecimal num1 = new BigDecimal(miniStock);
+ BigDecimal num2 = new BigDecimal(giveQuantity);
+ BigDecimal quantity = num1.subtract(num2);
+ if (quantity.doubleValue() == 0.0) { //濡傛灉鍑忓幓鎶ュ簾鍚庡墿浣�0涓紝閭d箞鏈�灏忚閲忓崟浣嶆�绘暟鍜岀墿鍝佹暟閲忛兘鍙樹负0
+ userStorehousePo.setMiniStock("0");
+ userStorehousePo.setStock("0");
+ } else {
+ userStorehousePo.setMiniStock(String.valueOf(quantity)); //鍑忓幓鎶ュ簾鍚庡墿浣欑殑鏈�灏忚閲忓崟浣嶆�绘暟
+ BigDecimal reduceNum = num1.subtract(num2);
+ if (unitCode.equals(miniUnitCode)) { //濡傛灉鐗╁搧鍗曚綅涓庢渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
+ userStorehousePo.setStock(String.valueOf(reduceNum));
+ } else { //濡傛灉鐗╁搧鏈�灏忚閲忓崟浣嶄笌鐗╁搧鍗曚綅涓嶅悓锛屽氨鍚戜笂鍙栨暣
+ //鐢ㄨ浆璧犲悗鏈�灏忚閲忔�绘暟闄や互鏈�灏忚閲忓崟浣嶆暟閲忥紝骞跺悜涓婂彇鏁达紝鑾峰彇杞禒鍚庣殑搴撳瓨鏁�
+ BigDecimal num3 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = reduceNum.divide(num3, 2, BigDecimal.ROUND_HALF_UP);
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
+ userStorehousePo.setStock(String.valueOf(stockNumber)); //鍑忓幓鎶ュ簾鍚庡墿浣欑殑涓汉鐗╁搧鏁伴噺
+ }
+ }
+ //鏇存柊褰撳墠鐢ㄦ埛涓汉鐗╁搧搴撳瓨鏁�
+ super.update(dataFlowContext, userStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
+ commit(dataFlowContext);
+ }
+ } else { //閫�杩�
+ for (int i = 0; i < objects.length; i++) {
+ Object object = objects[i];
+ JSONObject paramIn = JSONObject.parseObject(String.valueOf(object));
+ String stock = paramIn.getString("stock");
+ //鑾峰彇鏈�灏忚閲忔�绘暟
+ String miniStock = paramIn.getString("miniStock");
+ //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
+ String miniUnitStock = paramIn.getString("miniUnitStock");
+ //鑾峰彇杞禒鏁伴噺
+ String giveQuantity = paramIn.getString("giveQuantity");
+ //鑾峰彇鐗╁搧id
+ String resId = paramIn.getString("resId");
+ //鑾峰彇鐗╁搧id
+ String resCode = paramIn.getString("resCode");
+ //鑾峰彇鐗╁搧鍚嶇О
+ String resName = paramIn.getString("resName");
+ //鑾峰彇褰撳墠鐢ㄦ埛id
+ String userId = paramInJson.getString("userId");
+ //鑾峰彇鎺ュ彈杞禒鐢ㄦ埛id
+ String acceptUserId = paramInJson.getString("acceptUserId");
+ //鑾峰彇鎺ュ彈杞禒鐢ㄦ埛鍚嶇О
+ String acceptUserName = paramInJson.getString("acceptUserName");
+ //鑾峰彇鍟嗘埛id
+ String storeId = paramInJson.getString("storeId");
+ JSONObject allocationUserStorehouseJson = new JSONObject();
+ allocationUserStorehouseJson.put("ausId", "-1");
+ allocationUserStorehouseJson.put("resId", resId);
+ allocationUserStorehouseJson.put("resCode", resCode);
+ allocationUserStorehouseJson.put("resName", resName);
+ allocationUserStorehouseJson.put("storeId", storeId);
+ allocationUserStorehouseJson.put("stock", stock);
+ allocationUserStorehouseJson.put("giveQuantity", giveQuantity);
+ allocationUserStorehouseJson.put("startUserId", userId);
+ allocationUserStorehouseJson.put("startUserName", paramInJson.getString("userName"));
+ allocationUserStorehouseJson.put("acceptUserId", acceptUserId);
+ allocationUserStorehouseJson.put("acceptUserName", acceptUserName);
+ allocationUserStorehouseJson.put("createTime", new Date());
+ allocationUserStorehouseJson.put("remark", paramInJson.getString("description"));
+ AllocationUserStorehousePo allocationUserStorehousePo = BeanConvertUtil.covertBean(allocationUserStorehouseJson, AllocationUserStorehousePo.class);
+ super.insert(dataFlowContext, allocationUserStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ALLOCATION_USER_STOREHOUSE);
+ UserStorehouseDto userStorehouseDto = new UserStorehouseDto();
+ userStorehouseDto.setUserId(userId);
+ userStorehouseDto.setResId(resId);
+ List<UserStorehouseDto> userStorehouseDtos = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouseDto);
+ Assert.listOnlyOne(userStorehouseDtos, "鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
+ //鑾峰彇涓汉鐗╁搧淇℃伅id
+ String usId = userStorehouseDtos.get(0).getUsId();
+ //鑾峰彇鐗╁搧鍗曚綅
+ if (StringUtil.isEmpty(userStorehouseDtos.get(0).getUnitCode())) {
+ throw new IllegalArgumentException("鐗╁搧鍗曚綅涓嶈兘涓虹┖");
+ }
+ String unitCode = userStorehouseDtos.get(0).getUnitCode();
+ //鑾峰彇鐗╁搧鏈�灏忚閲忓崟浣�
+ if (StringUtil.isEmpty(userStorehouseDtos.get(0).getMiniUnitCode())) {
+ throw new IllegalArgumentException("鐗╁搧鏈�灏忚閲忓崟浣嶄笉鑳戒负绌�");
+ }
+ String miniUnitCode = userStorehouseDtos.get(0).getMiniUnitCode();
+ UserStorehousePo userStorehousePo = new UserStorehousePo();
+ userStorehousePo.setUsId(usId);
+ //杞禒鍚庝釜浜虹墿鍝佹渶灏忚閲忔�绘暟
+ BigDecimal num1 = new BigDecimal(miniStock);
+ BigDecimal num2 = new BigDecimal(giveQuantity);
+ BigDecimal quantity = num1.subtract(num2);
+ if (quantity.doubleValue() == 0.0) {
+ userStorehousePo.setMiniStock("0");
+ userStorehousePo.setStock("0");
+ } else {
+ userStorehousePo.setMiniStock(String.valueOf(quantity));
+ BigDecimal reduceNum = num1.subtract(num2);
+ if (unitCode.equals(miniUnitCode)) { //濡傛灉鐗╁搧鍗曚綅涓庢渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
+ userStorehousePo.setStock(String.valueOf(reduceNum));
+ } else { //濡傛灉鐗╁搧鏈�灏忚閲忓崟浣嶄笌鐗╁搧鍗曚綅涓嶅悓锛屽氨鍚戜笂鍙栨暣
+ //鐢ㄨ浆璧犲悗鏈�灏忚閲忔�绘暟闄や互鏈�灏忚閲忓崟浣嶆暟閲忥紝骞跺悜涓婂彇鏁达紝鑾峰彇杞禒鍚庣殑搴撳瓨鏁�
+ BigDecimal num3 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = reduceNum.divide(num3, 2, BigDecimal.ROUND_HALF_UP);
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
+ userStorehousePo.setStock(String.valueOf(stockNumber));
+ }
+ }
+ //鏇存柊褰撳墠鐢ㄦ埛搴撳瓨鏁�
+ super.update(dataFlowContext, userStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
+ UserStorehouseDto userStorehouse = new UserStorehouseDto();
+ userStorehouse.setUserId(acceptUserId);
+ userStorehouse.setResCode(resCode);
+ //鏌ヨ鎺ュ彈杞禒浜虹殑涓汉鐗╁搧淇℃伅
+ List<UserStorehouseDto> userStorehouses = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouse);
+ if (userStorehouses != null && userStorehouses.size() == 1) {
+ UserStorehousePo userStorePo = new UserStorehousePo();
+ //璁$畻鎺ュ彈鐢ㄦ埛鐨勬渶灏忚閲忔�绘暟
+ BigDecimal num4 = new BigDecimal(userStorehouses.get(0).getMiniStock());
+ BigDecimal num5 = new BigDecimal(giveQuantity);
+ BigDecimal addNum = num4.add(num5);
+ BigDecimal acceptMiniStock = num4.add(num5);
+ userStorePo.setMiniStock(String.valueOf(acceptMiniStock));
+ //鑾峰彇鐗╁搧鍗曚綅
+ if (StringUtil.isEmpty(userStorehouses.get(0).getUnitCode())) {
+ throw new IllegalArgumentException("鐗╁搧鍗曚綅涓嶈兘涓虹┖");
+ }
+ String unitCode1 = userStorehouses.get(0).getUnitCode();
+ //鑾峰彇鐗╁搧鏈�灏忚閲忓崟浣�
+ if (StringUtil.isEmpty(userStorehouses.get(0).getMiniUnitCode())) {
+ throw new IllegalArgumentException("鐗╁搧鏈�灏忚閲忓崟浣嶄笉鑳戒负绌�");
+ }
+ String miniUnitCode1 = userStorehouses.get(0).getMiniUnitCode();
+ //璁$畻鎺ュ彈鐢ㄦ埛鐨勫簱瀛樻暟閲�
+ BigDecimal num6 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = addNum.divide(num6, 2, BigDecimal.ROUND_HALF_UP);
+ if (unitCode1.equals(miniUnitCode1)) { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
+ //濡傛灉鐗╁搧鍗曚綅涓庢渶灏忚閲忓崟浣嶇浉鍚岋紝鐗╁搧搴撳瓨灏辩瓑浜庢渶灏忚閲忔�绘暟
+ userStorePo.setStock(String.valueOf(acceptMiniStock));
+ } else { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶄笉鍚岋紝灏卞悜涓婂彇鏁�
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
+ userStorePo.setStock(String.valueOf(stockNumber));
+ }
+ userStorePo.setUsId(userStorehouses.get(0).getUsId());
+ //鏇存柊褰撳墠鐢ㄦ埛鐨勫簱瀛樻暟閲�
+ super.update(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
+ } else if (userStorehouses != null && userStorehouses.size() > 1) {
+ throw new IllegalArgumentException("鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
+ } else {
+ //璁$畻杞禒鍚庡簱瀛樻暟閲�
+ BigDecimal num7 = new BigDecimal(giveQuantity);
+ BigDecimal num8 = new BigDecimal(miniUnitStock);
+ BigDecimal unitStock = num7.divide(num8, 2, BigDecimal.ROUND_HALF_UP);
+ UserStorehousePo userStorePo = new UserStorehousePo();
+ userStorePo.setUsId("-1");
+ userStorePo.setResId(resId);
+ userStorePo.setResName(resName);
+ userStorePo.setStoreId(storeId);
+ userStorePo.setResCode(resCode);
+ if (unitCode.equals(miniUnitCode)) { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
+ userStorePo.setStock(String.valueOf(num7));
+ } else { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶄笉鍚岋紝灏卞悜涓婂彇鏁�
+ Integer stockNumber = (int) Math.ceil(unitStock.doubleValue());
+ userStorePo.setStock(String.valueOf(stockNumber));
+ }
+ userStorePo.setMiniStock(giveQuantity);
+ userStorePo.setUserId(acceptUserId);
+ //淇濆瓨鎺ュ彈杞禒鐢ㄦ埛涓汉鐗╁搧淇℃伅
+ super.insert(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_STOREHOUSE);
+ }
}
}
}
@@ -139,4 +301,53 @@
super.update(dataFlowContext, allocationUserStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_ALLOCATION_USER_STOREHOUSE);
}
+ @Override
+ public String getServiceCode() {
+ return null;
+ }
+
+ @Override
+ public HttpMethod getHttpMethod() {
+ return null;
+ }
+
+ @Override
+ public ResponseEntity<String> callService(ServiceDataFlowEvent event) {
+ return null;
+ }
+
+ @Override
+ public ResponseEntity<String> callService(DataFlowContext context, String serviceCode, JSONArray businesses) {
+ return null;
+ }
+
+ @Override
+ public ResponseEntity<String> callService(DataFlowContext context, String serviceCode, JSONObject businesses) {
+ return null;
+ }
+
+ @Override
+ public ResponseEntity<String> callService(DataFlowContext context, AppService appService, Map paramIn) {
+ return null;
+ }
+
+ @Override
+ public JSONObject restToCenterProtocol(JSONObject businesses, Map<String, String> headers) {
+ return null;
+ }
+
+ @Override
+ public void freshHttpHeader(HttpHeaders httpHeaders, Map<String, String> headers) {
+
+ }
+
+ @Override
+ protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) throws ParseException {
+
+ }
+
+ @Override
+ protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) throws ParseException {
+
+ }
}
--
Gitblit v1.8.0