From be1b426b7d765a546f4a26b60e80aa49a57079b9 Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期六, 13 一月 2024 16:25:11 +0800
Subject: [PATCH] 1、优化采购模块数量不能为小数点问题2、新增客服巡查巡楼记录功能模块3、新增页面导出功能4、优化记录查询条件新增时间段查询条件5、其他界面性调整
---
service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveAllocationStorehouseCmd.java | 86 ++++++++++++++++++++++++++++++++++---------
1 files changed, 68 insertions(+), 18 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveAllocationStorehouseCmd.java b/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveAllocationStorehouseCmd.java
index 25c4cf9..f68c822 100644
--- a/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveAllocationStorehouseCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveAllocationStorehouseCmd.java
@@ -17,7 +17,6 @@
import com.java110.dto.store.StorehouseDto;
import com.java110.dto.user.UserDto;
import com.java110.dto.user.UserStorehouseDto;
-import com.java110.intf.common.IAllocationStorehouseUserInnerServiceSMO;
import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
import com.java110.intf.store.*;
@@ -26,6 +25,7 @@
import com.java110.po.purchase.AllocationStorehouseApplyPo;
import com.java110.po.purchase.ResourceStorePo;
import com.java110.po.resource.ResourceStoreTimesPo;
+import com.java110.po.resource.ResourceStoreUseRecordPo;
import com.java110.po.user.UserStorehousePo;
import com.java110.store.bmo.allocation.IAllocationBMO;
import com.java110.utils.exception.CmdException;
@@ -38,6 +38,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -49,9 +50,6 @@
@Autowired
private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
-
- @Autowired
- private IAllocationStorehouseUserInnerServiceSMO allocationStorehouseUserInnerServiceSMOImpl;
@Autowired
private IUserStorehouseInnerServiceSMO userStorehouseInnerServiceSMOImpl;
@@ -89,6 +87,9 @@
@Autowired
private IOaWorkflowActivitiInnerServiceSMO oaWorkflowUserInnerServiceSMOImpl;
+ @Autowired
+ private IResourceStoreUseRecordV1InnerServiceSMO resourceStoreUseRecordV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
Assert.hasKeyAndValue(reqJson, "remark", "璇锋眰鎶ユ枃涓湭鍖呭惈鐢宠淇℃伅");
@@ -102,17 +103,19 @@
}
//鑾峰彇璋冩嫧杩旇繕鐘舵�佹爣璇�
String applyType = reqJson.getString("apply_type");
+ List<StorehouseDto> storehouseDtos = new ArrayList<>();
//鏍¢獙 鐗╁搧鏄惁瀛樺湪
for (int resIndex = 0; resIndex < resourceStores.size(); resIndex++) {
//涓昏鐢ㄦ潵鏍¢獙搴撳瓨澶熶笉澶�
validateResoureStore(reqJson, resourceStores, applyType, resIndex);
+ JSONObject param = resourceStores.getJSONObject(resIndex);
+ //todo 鏌ヨ浠撳簱鏄惁瀛樺湪
+ StorehouseDto storehouseDto = new StorehouseDto();
+ storehouseDto.setShId(param.getString("shzId"));
+ storehouseDtos = storehouseV1InnerServiceSMOImpl.queryStorehouses(storehouseDto);
}
- reqJson.put("resourceStores", resourceStores);
- //todo 鏌ヨ浠撳簱鏄惁瀛樺湪
- StorehouseDto storehouseDto = new StorehouseDto();
- storehouseDto.setShId(reqJson.getString("shId"));
- List<StorehouseDto> storehouseDtos = storehouseV1InnerServiceSMOImpl.queryStorehouses(storehouseDto);
Assert.listOnlyOne(storehouseDtos, "浠撳簱涓嶅瓨鍦�");
+ reqJson.put("resourceStores", resourceStores);
if (!StorehouseDto.SWITCH_ON.equals(storehouseDtos.get(0).getAllocationSwitch())) {
return;
}
@@ -338,24 +341,24 @@
UserStorehousePo userStorehousePo = new UserStorehousePo();
//鑾峰彇鍘熸渶灏忚閲忓崟浣嶆暟閲�
if (StringUtil.isEmpty(resObj.getString("miniUnitStock"))) {
- throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
+ throw new IllegalArgumentException("鏈�灏忚閲忓崟浣嶆暟閲忎笉鑳戒负绌猴紒");
}
- BigDecimal miniUnitStock = new BigDecimal(resObj.getString("miniUnitStock"));
+ BigDecimal miniUnitStock = new BigDecimal(resObj.getString("miniUnitStock")); //鑾峰彇鏈�灏忚閲忓崟浣嶆暟閲�
//鑾峰彇鍘熸渶灏忚閲忔�绘暟
if (StringUtil.isEmpty(resObj.getString("miniStock"))) {
throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
}
- BigDecimal miniStock = new BigDecimal(resObj.getString("miniStock"));
+ BigDecimal miniStock = new BigDecimal(resObj.getString("miniStock")); //鑾峰彇鏈�灏忚閲忔�绘暟
//鑾峰彇鐗╁搧鍗曚綅
if (StringUtil.isEmpty(userStorehouseDtos.get(0).getUnitCode())) {
throw new IllegalArgumentException("鐗╁搧鍗曚綅涓嶈兘涓虹┖锛�");
}
- String unitCode = userStorehouseDtos.get(0).getUnitCode();
+ String unitCode = userStorehouseDtos.get(0).getUnitCode(); //鑾峰彇鐗╁搧鍗曚綅
//鑾峰彇鐗╁搧鏈�灏忚閲忓崟浣�
if (StringUtil.isEmpty(userStorehouseDtos.get(0).getMiniUnitCode())) {
throw new IllegalArgumentException("鐗╁搧鏈�灏忚閲忓崟浣嶄笉鑳戒负绌猴紒");
}
- String miniUnitCode = userStorehouseDtos.get(0).getMiniUnitCode();
+ String miniUnitCode = userStorehouseDtos.get(0).getMiniUnitCode(); //鑾峰彇鏈�灏忚閲忓崟浣�
//璁$畻涓汉鐗╁搧鍓╀綑鐨勬渶灏忚閲忔�绘暟
BigDecimal curStockNew = new BigDecimal(resObj.getString("curStock"));
BigDecimal curStock = miniStock.subtract(curStockNew);
@@ -430,12 +433,35 @@
ResourceStoreTimesPo resourceStoreTimesPo = new ResourceStoreTimesPo();
resourceStoreTimesPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId("10"));
resourceStoreTimesPo.setPrice(resourceStoreTimesDtos.get(0).getPrice());
- resourceStoreTimesPo.setStock(resObj.getString("curStock"));
+ if (unitCode1.equals(miniUnitCode1)) { //鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶇浉鍚屾椂锛屽氨涓嶅悜涓婂彇鏁�
+ resourceStoreTimesPo.setStock(resObj.getString("curStock"));
+ } else { //鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶄笉鍚屾椂锛屽氨鍚戜笂鍙栨暣
+ //璁$畻杩旇繕鍚庣墿鍝佽祫婧愬簱瀛�(鍚戜笂鍙栨暣)
+ BigDecimal curStock1 = new BigDecimal(resObj.getString("curStock"));
+ BigDecimal divide = curStock1.divide(miniUnitStock1, 2, BigDecimal.ROUND_HALF_UP);
+ Integer ceil = (int) Math.ceil(Double.valueOf(divide.toString()));
+ resourceStoreTimesPo.setStock(String.valueOf(ceil));
+ }
resourceStoreTimesPo.setResCode(resObj.getString("resCode"));
resourceStoreTimesPo.setStoreId(reqJson.getString("storeId"));
resourceStoreTimesPo.setTimesId(GenerateCodeFactory.getGeneratorId("10"));
resourceStoreTimesPo.setShId(resObj.getString("shzId"));
+ resourceStoreTimesPo.setCommunityId(reqJson.getString("communityId"));
resourceStoreTimesV1InnerServiceSMOImpl.saveOrUpdateResourceStoreTimes(resourceStoreTimesPo);
+ ResourceStoreUseRecordPo resourceStoreUseRecordPo = new ResourceStoreUseRecordPo();
+ resourceStoreUseRecordPo.setRsurId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_rsurId));
+ resourceStoreUseRecordPo.setRepairId("-1");
+ resourceStoreUseRecordPo.setResId(resourceStore.getResId());
+ resourceStoreUseRecordPo.setCommunityId(reqJson.getString("communityId"));
+ resourceStoreUseRecordPo.setStoreId(reqJson.getString("storeId"));
+ resourceStoreUseRecordPo.setQuantity(resObj.getString("curStock"));
+ resourceStoreUseRecordPo.setUnitPrice(resourceStoreTimesDtos.get(0).getPrice());
+ resourceStoreUseRecordPo.setCreateUserId(reqJson.getString("userId"));
+ resourceStoreUseRecordPo.setCreateUserName(reqJson.getString("userName"));
+ resourceStoreUseRecordPo.setRemark("涓汉鐗╁搧閫�杩樹粨搴�");
+ resourceStoreUseRecordPo.setResourceStoreName(resourceStore.getResName());
+ resourceStoreUseRecordPo.setState("4004"); //1001 鎶ュ簾鍥炴敹 2002 宸ュ崟鎹熻�� 3003 鍏敤鎹熻�� 4004 閫�杩樹粨搴�
+ resourceStoreUseRecordV1InnerServiceSMOImpl.saveResourceStoreUseRecord(resourceStoreUseRecordPo);
}
} else { //濡傛灉鐩爣浠撳簱涓嬫病鏈夎繖涓墿鍝佷俊鎭紝灏辨彃鍏ヤ竴鏉$墿鍝佷俊鎭�
ResourceStoreDto resourceStore = new ResourceStoreDto();
@@ -494,12 +520,36 @@
ResourceStoreTimesPo resourceStoreTimesPo = new ResourceStoreTimesPo();
resourceStoreTimesPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId("10"));
resourceStoreTimesPo.setPrice(resourceStoreTimesDtos.get(0).getPrice());
- resourceStoreTimesPo.setStock(resObj.getString("curStock"));
+ if (resourceStorePo.getUnitCode().equals(resourceStorePo.getMiniUnitCode())) { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶇浉鍚岋紝灏变笉鍚戜笂鍙栨暣
+ //鍗曚綅鐩稿悓锛岀墿鍝佸簱瀛樺氨绛変簬鐗╁搧鏈�灏忚閲忔�绘暟
+ resourceStoreTimesPo.setStock(resObj.getString("curStock"));
+ } else { //濡傛灉鐗╁搧鍗曚綅涓庣墿鍝佹渶灏忚閲忓崟浣嶄笉鐩稿悓锛屽氨鍚戜笂鍙栨暣
+ //璁$畻鐗╁搧搴撳瓨
+ BigDecimal curStock1 = new BigDecimal(resObj.getString("curStock"));
+ BigDecimal miniUnitStock1 = new BigDecimal(resourceStorePo.getMiniUnitStock());
+ BigDecimal divide = curStock1.divide(miniUnitStock1, 2, BigDecimal.ROUND_HALF_UP);
+ Integer newStock1 = (int) Math.ceil(divide.doubleValue());
+ resourceStoreTimesPo.setStock(String.valueOf(newStock1));
+ }
resourceStoreTimesPo.setResCode(resourceStoreList.get(0).getResCode());
resourceStoreTimesPo.setStoreId(reqJson.getString("storeId"));
resourceStoreTimesPo.setTimesId(GenerateCodeFactory.getGeneratorId("10"));
resourceStoreTimesPo.setShId(resObj.getString("shzId"));
resourceStoreTimesV1InnerServiceSMOImpl.saveOrUpdateResourceStoreTimes(resourceStoreTimesPo);
+ ResourceStoreUseRecordPo resourceStoreUseRecordPo = new ResourceStoreUseRecordPo();
+ resourceStoreUseRecordPo.setRsurId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_rsurId));
+ resourceStoreUseRecordPo.setRepairId("-1");
+ resourceStoreUseRecordPo.setResId(resourceStoreList.get(0).getResId());
+ resourceStoreUseRecordPo.setCommunityId(reqJson.getString("communityId"));
+ resourceStoreUseRecordPo.setStoreId(reqJson.getString("storeId"));
+ resourceStoreUseRecordPo.setQuantity(resObj.getString("curStock"));
+ resourceStoreUseRecordPo.setUnitPrice(resourceStoreTimesDtos.get(0).getPrice());
+ resourceStoreUseRecordPo.setCreateUserId(reqJson.getString("userId"));
+ resourceStoreUseRecordPo.setCreateUserName(reqJson.getString("userName"));
+ resourceStoreUseRecordPo.setRemark("涓汉鐗╁搧閫�杩樹粨搴�");
+ resourceStoreUseRecordPo.setResourceStoreName(resourceStoreList.get(0).getResName());
+ resourceStoreUseRecordPo.setState("4004"); //1001 鎶ュ簾鍥炴敹 2002 宸ュ崟鎹熻�� 3003 鍏敤鎹熻�� 4004 閫�杩樹粨搴�
+ resourceStoreUseRecordV1InnerServiceSMOImpl.saveResourceStoreUseRecord(resourceStoreUseRecordPo);
}
}
@@ -578,8 +628,8 @@
if (flag < 1) {
throw new CmdException("淇濆瓨璋冩嫧鐗╁搧澶辫触");
}
- int applyCount = Integer.parseInt(allocationStorehouseApplyPo.getApplyCount());
- applyCount += resObj.getIntValue("curStock");
+ double applyCount = Double.parseDouble(allocationStorehouseApplyPo.getApplyCount());
+ applyCount += Double.parseDouble(resObj.getString("curStock"));
allocationStorehouseApplyPo.setApplyCount(applyCount + "");
}
--
Gitblit v1.8.0