package com.consum.base.controller;
|
|
import com.consum.base.BaseController;
|
import com.consum.base.core.utils.CommonUtil;
|
import com.consum.base.pojo.LWhFormOutputExtend;
|
import com.consum.base.pojo.LWhFormOutputInsertParam;
|
import com.consum.base.pojo.LWhFormOutputParam;
|
import com.consum.base.service.LWhFormOutputServiceImpl;
|
import com.consum.base.service.LWhGoodsService;
|
import com.consum.base.service.LWhProcureModelService;
|
import com.consum.model.po.FinSysTenantUser;
|
import com.consum.model.po.LWhFormOutput;
|
import com.consum.model.po.LWhProcureModel;
|
import com.iplatform.model.po.S_user_core;
|
import com.walker.db.page.GenericPager;
|
import com.walker.infrastructure.utils.CollectionUtils;
|
import com.walker.web.ResponseValue;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiOperation;
|
import java.lang.reflect.Field;
|
import java.util.ArrayList;
|
import java.util.List;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @Description 出库单
|
* @Author 卢庆阳
|
* @Date 2023/10/27
|
*/
|
@Api(value = "出库单", tags = "出库单")
|
@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
|
*/
|
@ApiOperation(value = "新增出库单", notes = "新增出库单")
|
// @ApiImplicitParam(name = "param", value = "出库单实体", required = true, dataType = "LWhFormOutputInsertParam", paramType = "body")
|
@PostMapping("/add")
|
public ResponseValue add() {
|
LWhFormOutputInsertParam param = CommonUtil.getObjFromReqBody(LWhFormOutputInsertParam.class);
|
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 列表查询
|
*/
|
@ApiOperation(value = "列表查询", notes = "列表查询")
|
@ApiImplicitParam(name = "param", value = "出库单实体", required = true, dataType = "LWhFormOutputParam", paramType = "query")
|
@GetMapping("/list")
|
public ResponseValue queryFormOutputList() {
|
LWhFormOutputParam param = CommonUtil.getObjFromReq(LWhFormOutputParam.class);
|
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);
|
}
|
|
|
}
|