入库修改
This commit is contained in:
@@ -18,12 +18,13 @@ import com.czg.validator.group.DefaultGroup;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
@@ -68,11 +69,10 @@ public class ConsStockFlowController {
|
||||
@OperationLog("耗材入库")
|
||||
//@SaStaffCheckPermission("yun_xu_hao_cai_ru_ku")
|
||||
//@SaAdminCheckPermission("consStockFlow:in")
|
||||
public CzgResult<Void> inStock(@RequestBody ConsInOutStockHeadParam param) {
|
||||
public CzgResult<Map<String, Serializable>> inStock(@RequestBody ConsInOutStockHeadParam param) {
|
||||
ValidatorUtil.validateEntity(param, DefaultGroup.class);
|
||||
ValidatorUtil.validateEntity(param.getBodyList(), DefaultGroup.class);
|
||||
consStockFlowService.inStock(param);
|
||||
return CzgResult.success();
|
||||
return CzgResult.success(consStockFlowService.inStock(param));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,7 +11,9 @@ import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 耗材库存变动记录
|
||||
@@ -25,8 +27,9 @@ public interface ConsStockFlowService extends IService<ConsStockFlow> {
|
||||
* 手动入库
|
||||
*
|
||||
* @param param 手动出库入参
|
||||
* @return
|
||||
*/
|
||||
void inStock(ConsInOutStockHeadParam param);
|
||||
Map<String, Serializable> inStock(ConsInOutStockHeadParam param);
|
||||
|
||||
/**
|
||||
* 手动出库
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void inStock(ConsInOutStockHeadParam param) {
|
||||
public Map<String, Serializable> inStock(ConsInOutStockHeadParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
Long createUserId = StpKit.USER.getLoginIdAsLong();
|
||||
String createUserName = StpKit.USER.getAccount();
|
||||
@@ -87,7 +87,12 @@
|
||||
List<ConsStockFlow> entityList = BeanUtil.copyToList(param.getBodyList(), ConsStockFlow.class);
|
||||
List<ConsStockFlow> insertList = new ArrayList<>();
|
||||
List<ConsInfo> updateStockList = new ArrayList<>();
|
||||
ArrayList<ConsStockFlow> unInConList = new ArrayList<>();
|
||||
for (ConsStockFlow entity : entityList) {
|
||||
if (entity.getId() == null) {
|
||||
unInConList.add(entity);
|
||||
continue;
|
||||
}
|
||||
BeanUtil.copyProperties(head, entity, CopyOptions.create().ignoreNullValue());
|
||||
entity.setShopId(shopId);
|
||||
entity.setInOutType(InOutTypeEnum.IN.value());
|
||||
@@ -97,7 +102,8 @@
|
||||
Long conId = entity.getConId();
|
||||
ConsInfo consInfo = consInfoMapper.selectOneById(conId);
|
||||
if (consInfo == null) {
|
||||
throw new CzgException(StrUtil.format("耗材{}不存在", entity.getConName()));
|
||||
unInConList.add(entity);
|
||||
continue;
|
||||
}
|
||||
entity.setBeforeNumber(consInfo.getStockNumber());
|
||||
entity.setAfterNumber(NumberUtil.add(entity.getBeforeNumber(), entity.getInOutNumber()));
|
||||
@@ -109,6 +115,11 @@
|
||||
for (ConsInfo consInfo : updateStockList) {
|
||||
consInfoMapper.update(consInfo);
|
||||
}
|
||||
|
||||
return Map.of(
|
||||
"reason", "成功入库" + (entityList.size() - unInConList.size()) + "个耗材, " + unInConList.size() + "个耗材未入库",
|
||||
"unInConList", unInConList
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -300,18 +311,18 @@
|
||||
}
|
||||
ArrayList<SaleOrderDTO.Item> unInCons = new ArrayList<>();
|
||||
for (SaleOrderDTO.Item item : saleOrderDTO.getItems()) {
|
||||
ConsInfo consInfo = consInfoMap.get(item.getConName());
|
||||
if (consInfo == null) {
|
||||
unInCons.add(item);
|
||||
continue;
|
||||
}
|
||||
bodyList.add(new ConsInOutStockBodyParam()
|
||||
.setConId(consInfo.getId().toString())
|
||||
.setConName(consInfo.getConName())
|
||||
ConsInOutStockBodyParam bodyParam = new ConsInOutStockBodyParam()
|
||||
.setConName(item.getConName())
|
||||
.setPurchasePrice(new BigDecimal(item.getPurchasePrice()))
|
||||
.setUnitName(item.getUnitName())
|
||||
.setSubTotal(new BigDecimal(item.getSubTotal()))
|
||||
.setInOutNumber(new BigDecimal(item.getInOutNumber())));
|
||||
.setInOutNumber(new BigDecimal(item.getInOutNumber()));
|
||||
ConsInfo consInfo = consInfoMap.get(item.getConName());
|
||||
if (consInfo != null) {
|
||||
unInCons.add(item);
|
||||
bodyParam.setConId(consInfo.getId().toString());
|
||||
}
|
||||
bodyList.add(bodyParam);
|
||||
}
|
||||
|
||||
ConsInOutStockHeadParam headParam = new ConsInOutStockHeadParam();
|
||||
|
||||
Reference in New Issue
Block a user