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/collection/ResourceOutCmd.java | 61 ++++++++++++++----------------
1 files changed, 29 insertions(+), 32 deletions(-)
diff --git a/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java b/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java
index 7bfd823..3f8ede1 100644
--- a/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/collection/ResourceOutCmd.java
@@ -34,7 +34,6 @@
import java.util.ArrayList;
import java.util.List;
-
/**
* 閲囪喘浜哄憳鍏ュ簱 鍔熻兘
* 璇锋眰鍦板潃涓�/app/purchase/resourceEnter
@@ -53,7 +52,7 @@
@Java110ParamsDoc(params = {
@Java110ParamDoc(name = "applyOrderId", length = 30, remark = "閲囪喘鐢宠鍗曡鍗旾D"),
@Java110ParamDoc(name = "purchaseApplyDetailVo", type = "Array", length = 30, remark = "閲囪喘鐗╁搧淇℃伅"),
- @Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "purchaseQuantity", type = "Int", length = 30, remark = "鏁伴噺"),
+ @Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "purchaseQuantity", type = "Double", length = 30, remark = "鏁伴噺"),
@Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "id", type = "String", length = 30, remark = "閲囪喘鏄庣粏ID"),
@Java110ParamDoc(parentNodeName = "purchaseApplyDetailVo", name = "resId", type = "String", length = 30, remark = "鐗╁搧ID"),
})
@@ -66,7 +65,7 @@
)
@Java110ExampleDoc(
- reqBody = "{'applyOrderId':'123123','purchaseApplyDetailVo':[{'purchaseQuantity':'10','id':'123123','resId':'343434'}]}",
+ reqBody = "{'applyOrderId':'123123','purchaseApplyDetailVo':[{'purchaseQuantity':'10.00','id':'123123','resId':'343434'}]}",
resBody = "{'code':0,'msg':'鎴愬姛'}"
)
@@ -80,7 +79,7 @@
private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
@Autowired
- private IPurchaseApplyDetailInnerServiceSMO purchaseApplyDetailInnerServiceSMOImpl;
+ private IPurchaseApplyDetailV1InnerServiceSMO purchaseApplyDetailV1InnerServiceSMOImpl;
@Autowired
private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
@@ -98,34 +97,27 @@
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
Assert.hasKeyAndValue(reqJson, "applyOrderId", "璁㈠崟ID涓虹┖");
JSONArray purchaseApplyDetails = reqJson.getJSONArray("purchaseApplyDetailVo");
-
-
if (purchaseApplyDetails == null || purchaseApplyDetails.size() < 1) {
throw new CmdException("鏈寘鍚鐢ㄧ墿鍝�");
}
-
String storeId = CmdContextUtils.getStoreId(context);
- int quanitity = 0;
- int stock = 0;
+ double quanitity = 0;
+ double stock = 0;
for (int detailIndex = 0; detailIndex < purchaseApplyDetails.size(); detailIndex++) {
JSONObject purchaseApplyDetail = purchaseApplyDetails.getJSONObject(detailIndex);
Assert.hasKeyAndValue(purchaseApplyDetail, "purchaseQuantity", "閲囪喘鏁伴噺鏈~鍐�");
Assert.hasKeyAndValue(purchaseApplyDetail, "id", "鏄庣粏ID涓虹┖");
Assert.hasKeyAndValue(purchaseApplyDetail, "timesId", "浠锋牸涓虹┖");
- quanitity = purchaseApplyDetail.getIntValue("quantity");
-
+ quanitity = Double.parseDouble(purchaseApplyDetail.getString("quantity"));
ResourceStoreTimesDto resourceStoreTimesDto = new ResourceStoreTimesDto();
resourceStoreTimesDto.setTimesId(purchaseApplyDetail.getString("timesId"));
resourceStoreTimesDto.setStoreId(storeId);
List<ResourceStoreTimesDto> resourceStoreTimesDtos = resourceStoreTimesV1InnerServiceSMOImpl.queryResourceStoreTimess(resourceStoreTimesDto);
-
Assert.listOnlyOne(resourceStoreTimesDtos, "浠锋牸涓嶅瓨鍦�");
-
if (quanitity < 1) {
throw new CmdException("鐢宠鏁伴噺涓嶆纭�");
}
- stock = Integer.parseInt(resourceStoreTimesDtos.get(0).getStock());
-
+ stock = Double.parseDouble(resourceStoreTimesDtos.get(0).getStock());
if (quanitity > stock) {
throw new CmdException(resourceStoreTimesDtos.get(0).getResCode() + "鍑哄簱涓嶈冻,搴撳瓨涓�=" + stock + ",鐢宠鏁颁负=" + quanitity);
}
@@ -134,16 +126,16 @@
/**
* 鐗╁搧棰嗙敤-鐗╁搧棰嗙敤鐗╁搧鍙戞斁
- * @param event 浜嬩欢瀵硅薄
+ *
+ * @param event 浜嬩欢瀵硅薄
* @param context 鏁版嵁涓婃枃瀵硅薄
- * @param reqJson 璇锋眰鎶ユ枃
+ * @param reqJson 璇锋眰鎶ユ枃
* @throws CmdException
* @throws ParseException
*/
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
-
JSONArray purchaseApplyDetails = reqJson.getJSONArray("purchaseApplyDetailVo");
List<PurchaseApplyDetailDto> purchaseApplyDetailPos = new ArrayList<>();
for (int detailIndex = 0; detailIndex < purchaseApplyDetails.size(); detailIndex++) {
@@ -153,13 +145,11 @@
}
PurchaseApplyPo purchaseApplyPo = new PurchaseApplyPo();
purchaseApplyPo.setApplyOrderId(reqJson.getString("applyOrderId"));
- // purchaseApplyPo.setPurchaseApplyDetailPos(purchaseApplyDetailPos);
-
+ // purchaseApplyPo.setPurchaseApplyDetailPos(purchaseApplyDetailPos);
PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto();
purchaseApplyDto.setApplyOrderId(purchaseApplyPo.getApplyOrderId());
List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(purchaseApplyDto);
Assert.listOnlyOne(purchaseApplyDtos, "鍑哄簱鍗曚笉瀛樺湪");
-
for (PurchaseApplyDetailDto tmpPurchaseApplyDetailDto : purchaseApplyDetailPos) {
ResourceStorePo resourceStorePo = new ResourceStorePo();
resourceStorePo.setResId(tmpPurchaseApplyDetailDto.getResId());
@@ -180,6 +170,15 @@
if (StringUtil.isEmpty(resourceStoreDtos.get(0).getMiniStock())) {
throw new IllegalArgumentException("鏈�灏忚閲忔�绘暟涓嶈兘涓虹┖锛�");
}
+ //鑾峰彇棰嗙敤鎷ㄦ斁鐨勬暟閲�
+ BigDecimal quantity = new BigDecimal(tmpPurchaseApplyDetailDto.getQuantity());
+ //鍘熷簱瀛樻�绘暟
+ BigDecimal stock = new BigDecimal(resourceStoreDtos.get(0).getStock());
+ //璁$畻棰嗙敤鎴愬姛鍚庡墿浣欑殑搴撳瓨鎬绘暟
+ BigDecimal newStock = stock.subtract(quantity);
+ //璁$畻棰嗙敤鎴愬姛鍚庡墿浣欑殑鏈�灏忚閲忔�绘暟
+ BigDecimal nowMiniStock = newStock.multiply(miniUnitStock);
+ resourceStorePo.setMiniStock(String.valueOf(nowMiniStock));
// //鑾峰彇閲囪喘鍓嶇墿鍝佹渶灏忚閲忔�绘暟
// BigDecimal miniStock = new BigDecimal(resourceStoreDtos.get(0).getMiniStock());
// //璁$畻閲囪喘鐨勭墿鍝佹渶灏忚閲忔�绘暟
@@ -190,9 +189,8 @@
// if (nowMiniStock.compareTo(BigDecimal.ZERO) == -1) {
// throw new IllegalArgumentException("鐗╁搧搴撳瓨宸茬粡涓嶈冻锛岃纭鐗╁搧搴撳瓨锛�");
// }
- // resourceStorePo.setMiniStock(String.valueOf(nowMiniStock));
+ // resourceStorePo.setMiniStock(String.valueOf(nowMiniStock));
resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
-
// 淇濆瓨鑷� 鐗╁搧 times琛�
ResourceStoreTimesPo resourceStoreTimesPo = new ResourceStoreTimesPo();
resourceStoreTimesPo.setApplyOrderId(tmpPurchaseApplyDetailDto.getApplyOrderId());
@@ -205,31 +203,31 @@
resourceStoreTimesV1InnerServiceSMOImpl.saveOrUpdateResourceStoreTimes(resourceStoreTimesPo);
//todo 涓汉浠撳簱涓坊鍔�
addPersonStorehouse(purchaseApplyDtos.get(0), resourceStoreDtos, tmpPurchaseApplyDetailDto);
+ //棰嗙敤鏄庣粏琛ㄩ噷鐨勯鐢ㄦ暟閲忔洿鏂颁负瀹為檯棰嗙敤鏁伴噺
+ PurchaseApplyDetailPo purchaseApplyDetailPo = new PurchaseApplyDetailPo();
+ purchaseApplyDetailPo.setApplyOrderId(tmpPurchaseApplyDetailDto.getApplyOrderId());
+ purchaseApplyDetailPo.setPurchaseQuantity(tmpPurchaseApplyDetailDto.getPurchaseQuantity());
+ purchaseApplyDetailV1InnerServiceSMOImpl.updatePurchaseApplyDetail(purchaseApplyDetailPo);
}
-
- //
//鑾峰彇璁㈠崟鍙�
String applyOrderId = purchaseApplyPo.getApplyOrderId();
PurchaseApplyPo purchaseApply = new PurchaseApplyPo();
purchaseApply.setApplyOrderId(applyOrderId);
-
- if(reqJson.containsKey("taskId")) {
+ if (reqJson.containsKey("taskId")) {
reqJson.put("auditCode", "1100");
reqJson.put("auditMessage", "鍏ュ簱鎴愬姛");
reqJson.put("id", reqJson.getString("applyOrderId"));
reqJson.put("storeId", CmdContextUtils.getStoreId(context));
reqJson.put("nextUserId", reqJson.getString("staffId"));
boolean isLastTask = oaWorkflowUserInnerServiceSMOImpl.completeTask(reqJson);
-
if (isLastTask) {
purchaseApply.setState(PurchaseApplyDto.STATE_END);
} else {
purchaseApply.setState(PurchaseApplyDto.STATE_DEALING);
}
- }else{
+ } else {
purchaseApply.setState(PurchaseApplyDto.STATE_AUDITED);
}
-
purchaseApply.setStatusCd("0");
purchaseApplyInnerServiceSMOImpl.updatePurchaseApply(purchaseApply);
context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_OK, "鍑哄簱鎴愬姛"));
@@ -241,7 +239,6 @@
* @param resourceStoreDtos
*/
private void addPersonStorehouse(PurchaseApplyDto purchaseApplyDto, List<ResourceStoreDto> resourceStoreDtos, PurchaseApplyDetailDto purchaseApplyDetailDto) {
-
//鑾峰彇鐗╁搧鍗曚綅
String unitCode = resourceStoreDtos.get(0).getUnitCode();
//鑾峰彇鐗╁搧鏈�灏忚閲忓崟浣�
@@ -281,7 +278,7 @@
BigDecimal purchaseQuantity3 = new BigDecimal(purchaseApplyDetailDto.getPurchaseQuantity());
BigDecimal stock3 = new BigDecimal(userStorehouseDtos.get(0).getStock());
BigDecimal total = purchaseQuantity3.add(stock3);
- userStorehousePo.setStock(total.toString());
+ userStorehousePo.setStock(String.valueOf(total));
userStorehousePo.setUsId(userStorehouseDtos.get(0).getUsId());
if (!StringUtil.isEmpty(unitCode) && !StringUtil.isEmpty(miniUnitCode) && !StringUtil.isEmpty(miniUnitStock) && !unitCode.equals(miniUnitCode)) {
//鑾峰彇鏈棰嗗彇鏁伴噺
--
Gitblit v1.8.0