package com.consum.base.controller;
|
|
import com.consum.base.BaseController;
|
import com.consum.base.pojo.*;
|
import com.consum.base.service.BaseCategoryServiceImpl;
|
import com.consum.base.service.LWhFormOutputServiceImpl;
|
import com.consum.base.service.LWhGoodsService;
|
import com.consum.base.service.LWhProcureModelService;
|
import com.consum.model.po.*;
|
import com.iplatform.model.po.S_user_core;
|
import com.walker.db.page.GenericPager;
|
import com.walker.infrastructure.utils.CollectionUtils;
|
import com.walker.infrastructure.utils.StringUtils;
|
import com.walker.web.ResponseValue;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.lang.reflect.Field;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Description 出库单
|
* @Author 卢庆阳
|
* @Date 2023/10/27
|
*/
|
@RestController
|
@RequestMapping("/pc/l/wh/form/output")
|
public class LWhFormOutputController extends BaseController {
|
|
@Autowired
|
private LWhFormOutputServiceImpl lWhFormOutputService;
|
@Autowired
|
private LWhProcureModelService lWhProcureModelService;
|
@Autowired
|
private LWhGoodsService lWhGoodsService;
|
|
/**
|
* @Description 新增出库单
|
* @Author 卢庆阳
|
* @Date 2023/10/27
|
*/
|
@PostMapping("/add")
|
public ResponseValue add(@RequestBody LWhFormOutputInsertParam param) {
|
S_user_core currentUser = this.getCurrentUser();
|
if (currentUser == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
int result = this.lWhFormOutputService.add(param, currentUser,this.getSysInfo());
|
if (result > 0) return ResponseValue.success(1);
|
return ResponseValue.error("新增失败!");
|
}
|
|
/**
|
* @Description 列表查询
|
*/
|
@GetMapping("/list")
|
public ResponseValue queryFormOutputList(LWhFormOutputParam param) {
|
S_user_core currentUser = this.getCurrentUser();
|
if (currentUser == null) {
|
return ResponseValue.error("登录用户信息不存在");
|
}
|
FinSysTenantUser sysInfo = getSysInfo();
|
|
//只能查询本级 及以下机构的出库单
|
//??????
|
|
GenericPager genericPager = lWhFormOutputService.queryFormOutputList(param);
|
List<LWhFormOutput> datas = genericPager.getDatas();
|
ArrayList<LWhFormOutputExtend> newDatas = new ArrayList<>();
|
if (!CollectionUtils.isEmpty(datas)) {
|
datas.forEach(item -> {
|
// 查询型号数量
|
LWhProcureModel lWhProcureModel = new LWhProcureModel();
|
lWhProcureModel.setBusinessType(3);
|
lWhProcureModel.setBusinessId(item.getId());
|
List<LWhProcureModel> models = lWhProcureModelService.select(lWhProcureModel);
|
LWhFormOutputExtend formProcureExtend = new LWhFormOutputExtend();
|
BeanUtils.copyProperties(item, formProcureExtend);
|
formProcureExtend.setModels(models);
|
newDatas.add(formProcureExtend);
|
});
|
}
|
try {
|
Field fieldDatas = GenericPager.class.getDeclaredField("datas");
|
fieldDatas.setAccessible(true);
|
fieldDatas.set(genericPager, newDatas);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
// genericPager.setDatas(newDatas);
|
return ResponseValue.success(genericPager);
|
}
|
|
/**
|
* 根据id查询详情
|
*/
|
@GetMapping("/detail")
|
public ResponseValue getById(Long id) throws IllegalAccessException {
|
if (id == null) {
|
return ResponseValue.error("出库单id为空");
|
}
|
LWhFormOutput lWhFormOutput = lWhFormOutputService.get(new LWhFormOutput(id));
|
LWhFormOutputExtend formOutputExtend = new LWhFormOutputExtend();
|
BeanUtils.copyProperties(lWhFormOutput, formOutputExtend);
|
|
// 查询型号数量
|
LWhProcureModel lWhProcureModel = new LWhProcureModel();
|
lWhProcureModel.setBusinessType(3);
|
lWhProcureModel.setBusinessId(id);
|
List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
|
formOutputExtend.setModels(models);
|
|
return ResponseValue.success("查询成功!", formOutputExtend);
|
}
|
|
/**
|
* @Description 根据仓库id和型号id 查询库存
|
* @Author 卢庆阳
|
* @Date 2023/11/2
|
*/
|
@GetMapping("/select/number")
|
public ResponseValue selectNumber(Long warehouseId,Long baseGoodsModelsId) {
|
if (warehouseId == null || baseGoodsModelsId == null) {
|
return ResponseValue.error("参数错误");
|
}
|
int num = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1,null);
|
return ResponseValue.success(num);
|
}
|
|
|
|
|
|
|
|
}
|