xiaogang 5 年 前
コミット
579fe10fa3

+ 1 - 3
java110-bean/src/main/java/com/java110/dto/user/UserDto.java

@@ -52,13 +52,13 @@ public class UserDto extends PageDto implements Serializable {
     private String staffId;
 
     private String openId;
+
     private String statusCd;
 
     private String token;
 
     private String key;//临时登录秘钥,每次登录后重置
 
-
     private String parentOrgName;
 
     private List<UserAttrDto> userAttrs;
@@ -71,8 +71,6 @@ public class UserDto extends PageDto implements Serializable {
 
     private String relCd;
 
-
-
     public String getUserId() {
         return userId;
     }

+ 10 - 0
java110-bean/src/main/java/com/java110/po/purchase/ResourceStorePo.java

@@ -35,6 +35,7 @@ public class ResourceStorePo implements Serializable {
     private String warningStock;
     private String averagePrice;
     private String purchasePrice;
+    private String resOrderType;
 
     public String getResId() {
         return resId;
@@ -211,4 +212,13 @@ public class ResourceStorePo implements Serializable {
     public void setPurchasePrice(String purchasePrice) {
         this.purchasePrice = purchasePrice;
     }
+
+
+    public String getResOrderType() {
+        return resOrderType;
+    }
+
+    public void setResOrderType(String resOrderType) {
+        this.resOrderType = resOrderType;
+    }
 }

+ 14 - 4
service-store/src/main/java/com/java110/store/api/CollectionApi.java

@@ -5,10 +5,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.resourceStore.ResourceStoreDto;
+import com.java110.dto.user.UserDto;
 import com.java110.dto.userStorehouse.UserStorehouseDto;
 import com.java110.entity.audit.AuditUser;
 import com.java110.intf.store.IResourceStoreInnerServiceSMO;
 import com.java110.intf.store.IUserStorehouseInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.purchase.PurchaseApplyDetailPo;
 import com.java110.po.purchase.PurchaseApplyPo;
 import com.java110.po.purchase.ResourceStorePo;
@@ -46,17 +48,18 @@ public class CollectionApi {
     @Autowired
     private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
 
-
     @Autowired
     private IUserStorehouseInnerServiceSMO userStorehouseInnerServiceSMOImpl;
 
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
 
     /**
      * 物品领用 接口类
      *
      * @param reqJson
      * @param userId
-     * @param userName
      * @param storeId
      * @return {"resourceStores":[{"resId":"852020070239060001","resName":"水性笔","resCode":"002","price":"2.00","stock":"2",
      * "description":"黑色","quantity":"1"}],"description":"123123","endUserName":"1","endUserTel":"17797173942","file":"",
@@ -65,10 +68,16 @@ public class CollectionApi {
     @RequestMapping(value = "/goodsCollection", method = RequestMethod.POST)
     public ResponseEntity<String> goodsCollection(@RequestBody JSONObject reqJson,
                                                   @RequestHeader(value = "user-id") String userId,
-                                                  @RequestHeader(value = "user-name") String userName,
                                                   @RequestHeader(value = "store-id") String storeId) {
         Assert.hasKeyAndValue(reqJson, "resourceStores", "必填,请填写物品领用的物资");
         Assert.hasKeyAndValue(reqJson, "description", "必填,请填写采购申请说明");
+        //查询用户名
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        userDto.setStatusCd("0");
+        List<UserDto> users = userInnerServiceSMOImpl.getUsers(userDto);
+        Assert.listOnlyOne(users, "查询用户信息错误");
+        String userName = users.get(0).getName();
         PurchaseApplyPo purchaseApplyPo = new PurchaseApplyPo();
         purchaseApplyPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId));
         purchaseApplyPo.setDescription(reqJson.getString("description"));
@@ -161,7 +170,7 @@ public class CollectionApi {
         purchaseApplyPo.setEndUserTel(reqJson.getString("endUserTel"));
         purchaseApplyPo.setStoreId(storeId);
         purchaseApplyPo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_OUT);
-        purchaseApplyPo.setState(PurchaseApplyDto.STATE_AUDITED);
+        purchaseApplyPo.setState(PurchaseApplyDto.STATE_END);
         purchaseApplyPo.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
         purchaseApplyPo.setCreateUserId(userId);
         purchaseApplyPo.setCreateUserName(userName);
@@ -181,6 +190,7 @@ public class CollectionApi {
             ResourceStorePo resourceStorePo = new ResourceStorePo();
             resourceStorePo.setResId(purchaseApplyDetailPo.getResId());
             resourceStorePo.setStock("-" + purchaseApplyDetailPo.getPurchaseQuantity());
+            resourceStorePo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_OUT);
             resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
             //查询资源
             ResourceStoreDto resourceStoreDto = new ResourceStoreDto();

+ 1 - 1
service-store/src/main/java/com/java110/store/api/PurchaseApi.java

@@ -18,7 +18,6 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
 @RestController
@@ -145,6 +144,7 @@ public class PurchaseApi {
             resourceStorePo.setPurchasePrice(purchaseApplyDetailPo.getPrice());
             resourceStorePo.setResId(purchaseApplyDetailPo.getResId());
             resourceStorePo.setStock(purchaseApplyDetailPo.getPurchaseQuantity());
+            resourceStorePo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_ENTER);
             resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
         }
         purchaseApplyPo.setPurchaseApplyDetailPos(purchaseApplyDetailPos);

+ 1 - 0
service-store/src/main/java/com/java110/store/bmo/collection/impl/ResourceOutBMOImpl.java

@@ -52,6 +52,7 @@ public class ResourceOutBMOImpl implements IResourceOutBMO {
             ResourceStorePo resourceStorePo = new ResourceStorePo();
             resourceStorePo.setResId(purchaseApplyDetailPo.getResId());
             resourceStorePo.setStock("-" + purchaseApplyDetailPo.getPurchaseQuantity());
+            resourceStorePo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_OUT);
             resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
             ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
             resourceStoreDto.setResId(purchaseApplyDetailPo.getResId());

+ 1 - 0
service-store/src/main/java/com/java110/store/bmo/purchase/impl/ResourceEnterBMOImpl.java

@@ -38,6 +38,7 @@ public class ResourceEnterBMOImpl implements IResourceEnterBMO {
             resourceStorePo.setResId(purchaseApplyDetailPo.getResId());
             resourceStorePo.setPurchasePrice(purchaseApplyDetailPo.getPrice());
             resourceStorePo.setStock(purchaseApplyDetailPo.getPurchaseQuantity());
+            resourceStorePo.setResOrderType(PurchaseApplyDto.RES_ORDER_TYPE_ENTER);
             resourceStoreInnerServiceSMOImpl.updateResourceStore(resourceStorePo);
         }
         //获取订单号

+ 17 - 13
service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreInnerServiceSMOImpl.java

@@ -3,6 +3,7 @@ package com.java110.store.smo.impl;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.file.FileRelDto;
+import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.resourceStore.ResourceStoreDto;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.store.IResourceStoreInnerServiceSMO;
@@ -97,20 +98,23 @@ public class ResourceStoreInnerServiceSMOImpl extends BaseServiceSMO implements
             if (totalStock < 0) {
                 throw new IllegalArgumentException("库存不足,参数有误");
             }
-            //获取原均价
-            Object averageOldPrice = stores.get(0).get("averagePrice");
-            Double price = 0.0;
-            if (averageOldPrice != null) {
-                price = Double.parseDouble(averageOldPrice.toString());
+            //入库操作 对物品进行加权平均
+            if(resourceStorePo.getResOrderType().equals(PurchaseApplyDto.RES_ORDER_TYPE_ENTER)){
+                //获取原均价
+                Object averageOldPrice = stores.get(0).get("averagePrice");
+                Double price = 0.0;
+                if (averageOldPrice != null) {
+                    price = Double.parseDouble(averageOldPrice.toString());
+                }
+                //获取现在采购的价格
+                Double newPrice = Double.parseDouble(resourceStorePo.getPurchasePrice());
+                //获取均价
+                double averagePrice = ((newPrice * newStock) + (price * stock)) / totalStock;
+                BigDecimal b0 = new BigDecimal(averagePrice);
+                //四舍五入保留两位
+                double f0 = b0.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+                resourceStorePo.setAveragePrice(String.valueOf(f0));
             }
-            //获取现在采购的价格
-            Double newPrice = Double.parseDouble(resourceStorePo.getPurchasePrice());
-            //获取均价
-            double averagePrice = ((newPrice * newStock) + (price * stock)) / totalStock;
-            BigDecimal b0 = new BigDecimal(averagePrice);
-            //四舍五入保留两位
-            double f0 = b0.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
-            resourceStorePo.setAveragePrice(String.valueOf(f0));
             resourceStorePo.setStock(totalStock + "");
             resourceStorePo.setStatusCd("0");
             return resourceResourceStoreServiceDaoImpl.updateResourceStoreInfoInstance(BeanConvertUtil.beanCovertMap(resourceStorePo));