【admin】新增#出入库审核管理

dev
renfan 2024-08-01 18:56:05 +08:00
parent 593d6d486f
commit af1f20052b
38 changed files with 1555 additions and 179 deletions

View File

@ -0,0 +1,97 @@
package com.hcy.admin.controller.SparePartAudit;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.SparePartAudit.ISparePartAuditService;
import com.hcy.admin.validate.SparePartAudit.SparePartAuditParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
import com.hcy.admin.vo.SparePartAudit.SparePartAuditDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/SparePartAudit")
public class SparePartAuditController {
@Resource
ISparePartAuditService iSparePartAuditService;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<SparePartAuditListVo> list = iSparePartAuditService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author hcy
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
SparePartAuditDetailVo detail = iSparePartAuditService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @author hcy
* @param sparePartAuditParam
* @return Object
*/
@Log(title = "备件审核新增")
@PostMapping("/add")
public Object add(@Validated(value = SparePartAuditParam.create.class) @RequestBody SparePartAuditParam sparePartAuditParam) {
iSparePartAuditService.add(sparePartAuditParam);
return AjaxResult.success();
}
/**
*
*
* @author hcy
* @param sparePartAuditParam
* @return Object
*/
@Log(title = "备件审核编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = SparePartAuditParam.update.class) @RequestBody SparePartAuditParam sparePartAuditParam) {
iSparePartAuditService.edit(sparePartAuditParam);
return AjaxResult.success();
}
/**
*
*
* @author hcy
* @param sparePartAuditParam
* @return Object
*/
@Log(title = "备件审核删除")
@PostMapping("/del")
public Object del(@Validated(value = SparePartAuditParam.delete.class) @RequestBody SparePartAuditParam sparePartAuditParam) {
iSparePartAuditService.del(Math.toIntExact(sparePartAuditParam.getId()));
return AjaxResult.success();
}
}

View File

@ -1,164 +0,0 @@
package com.hcy.admin.controller;
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult;
import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryV3Result;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.hcy.admin.service.order.IOrderService;
import com.hcy.admin.service.refund.IOrderRefundService;
import com.hcy.common.entity.order.Order;
import com.hcy.common.utils.WxPayServiceUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @author panweiliang
*/
@Slf4j
@RestController
@RequestMapping("/api/pay/wx")
public class WxPayController {
@Resource
private IOrderService orderService;
@Resource
private IOrderRefundService refundService;
/**
* <pre>
* (https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2)
*
*
*
*
* APIUSERPAYING
* API
* https://api.mch.weixin.qq.com/pay/orderquery
* </pre>
* <p>
*
*
* @param transactionId
* @param outTradeNo transactionId
*/
@GetMapping("/queryOrder")
public WxPayOrderQueryV3Result queryOrder(@RequestParam(required = false) String transactionId,
@RequestParam(required = false) String outTradeNo)
throws WxPayException {
Order order = orderService.getBySn(outTradeNo);
return WxPayServiceUtils.wxPayService(order.getPayChannel()).queryOrderV3(transactionId, outTradeNo);
}
/*@PostMapping("/queryOrder")
public WxPayOrderQueryV3Result queryOrder(@RequestBody WxPayOrderQueryV3Request wxPayOrderQueryV3Request) throws WxPayException {
return this.wxService.queryOrderV3(wxPayOrderQueryV3Request);
}*/
/**
* <pre>
*
*
*
* 1.
* 2. 退
* 5
* https://api.mch.weixin.qq.com/pay/closeorder
*
* </pre>
*
* @param outTradeNo
*
*/
@GetMapping("/closeOrder")
public void closeOrder(@RequestParam("outTradeNo") String outTradeNo) throws Exception {
Order order = orderService.getBySn(outTradeNo);
WxPayServiceUtils.wxPayService(order.getPayChannel()).closeOrderV3(outTradeNo);
}
/* //关闭订单
@Deprecated
@PostMapping("/closeOrder")
public void closeOrder(@RequestBody WxPayOrderCloseRequest wxPayOrderCloseRequest) throws WxPayException {
this.wxService.closeOrder(wxPayOrderCloseRequest);
}*/
/* *//**
* <pre>
* -退
* https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4
* https://api.mch.weixin.qq.com/secapi/pay/refund
* </pre>
*
* @param request
* @return 退
*//*
@PostMapping("/refund")
public WxPayRefundV3Result refund(@RequestBody WxPayRefundV3Request request) throws WxPayException {
return this.wxService.refundV3(request);
}*/
/* */
/**
* <pre>
* -退
*
* 退退退退20
* 退3退
* https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5
* https://api.mch.weixin.qq.com/pay/refundquery
* </pre>
*
*
* @param outRefundNo 退
* @return 退
*//*
@GetMapping("/refundQuery")
public WxPayRefundQueryV3Result refundQuery(@RequestParam(required = false) String outRefundNo)
throws WxPayException {
return this.wxService.refundQueryV3(outRefundNo);
}*/
/* @PostMapping("/refundQuery")
public WxPayRefundQueryResult refundQuery(@RequestBody WxPayRefundQueryRequest wxPayRefundQueryRequest) throws WxPayException {
return this.wxService.refundQuery(wxPayRefundQueryRequest);
}*/
// 支付回调通知处理
@PostMapping("/notify/order")
public String parseOrderNotifyResult(@RequestBody String xmlData) throws Exception {
log.info("支付回调通知处理,原生xml数据,xmlData:{}", xmlData);
final WxPayOrderNotifyResult notifyResult = WxPayServiceUtils.wxPayService(null).parseOrderNotifyResult(xmlData);
log.info("支付回调通知处理,解析后数据,parseOrderNotifyResult:{}", notifyResult);
String transactionId = notifyResult.getTransactionId();
String outTradeNo = notifyResult.getOutTradeNo();
boolean flag = this.orderService.updateOrderStatusToPaid(outTradeNo, transactionId);
return flag ? WxPayNotifyResponse.success("成功") : WxPayNotifyResponse.fail("失败");
}
// 退款回调通知处理
@PostMapping("/notify/refund")
public String parseRefundNotifyResult(@RequestBody String xmlData) throws WxPayException {
log.info("退款回调通知处理原生数据,xmlData:{}", xmlData);
final WxPayRefundNotifyResult result = WxPayServiceUtils.wxPayService(null).parseRefundNotifyResult(xmlData);
log.info("退款回调通知处理,parseRefundNotifyResult:{}", result);
boolean flag = refundService.updateOrderStatusToPaid(result.getReqInfo());
return flag ? WxPayNotifyResponse.success("成功") : WxPayNotifyResponse.fail("失败");
}
// 扫码支付回调通知处理
@PostMapping("/notify/scanpay")
public String parseScanPayNotifyResult(String xmlData) throws WxPayException {
final WxScanPayNotifyResult result = WxPayServiceUtils.wxPayService(null).parseScanPayNotifyResult(xmlData);
// TODO 根据自己业务场景需要构造返回对象
return WxPayNotifyResponse.success("成功");
}
}

View File

@ -0,0 +1,97 @@
package com.hcy.admin.controller.sparePartInWarehouse;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.sparePartInWarehouse.ISparePartInWarehouseService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/sparePartInWarehouse")
public class SparePartInWarehouseController {
@Resource
ISparePartInWarehouseService iSparePartInWarehouseService;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<SparePartStockAuditListVo> list = iSparePartInWarehouseService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author hcy
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
SparePartStockAuditDetailVo detail = iSparePartInWarehouseService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
* @return Object
*/
@Log(title = "备件出入库审核新增")
@PostMapping("/add")
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartInWarehouseService.add(sparePartStockAuditParam);
return AjaxResult.success();
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
* @return Object
*/
@Log(title = "备件出入库审核编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartInWarehouseService.edit(sparePartStockAuditParam);
return AjaxResult.success();
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
* @return Object
*/
@Log(title = "备件出入库审核删除")
@PostMapping("/del")
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartInWarehouseService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
return AjaxResult.success();
}
}

View File

@ -0,0 +1,97 @@
package com.hcy.admin.controller.sparePartStockAudit;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.sparePartStockAudit.ISparePartStockAuditService;
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
*/
@RestController
@RequestMapping("api/sparePartStockAudit")
public class SparePartStockAuditController {
@Resource
ISparePartStockAuditService iSparePartStockAuditService;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/list")
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<SparePartStockAuditListVo> list = iSparePartStockAuditService.list(pageParam, params);
return AjaxResult.success(list);
}
/**
*
*
* @author hcy
* @param id ID
* @return Object
*/
@GetMapping("/detail")
public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) {
SparePartStockAuditDetailVo detail = iSparePartStockAuditService.detail(id);
return AjaxResult.success(detail);
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
* @return Object
*/
@Log(title = "备件出入库审核新增")
@PostMapping("/add")
public Object add(@Validated(value = SparePartStockAuditParam.create.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartStockAuditService.add(sparePartStockAuditParam);
return AjaxResult.success();
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
* @return Object
*/
@Log(title = "备件出入库审核编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = SparePartStockAuditParam.update.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartStockAuditService.edit(sparePartStockAuditParam);
return AjaxResult.success();
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
* @return Object
*/
@Log(title = "备件出入库审核删除")
@PostMapping("/del")
public Object del(@Validated(value = SparePartStockAuditParam.delete.class) @RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
iSparePartStockAuditService.del(Math.toIntExact(sparePartStockAuditParam.getId()));
return AjaxResult.success();
}
}

View File

@ -3,9 +3,14 @@ package com.hcy.admin.controller.warehouse;
import com.alibaba.fastjson.JSONArray;
import com.hcy.admin.config.aop.Log;
import com.hcy.admin.service.warehouse.IWarehouseService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.warehouse.WarehouseParam;
import com.hcy.admin.vo.sparePart.SparePartListVo;
import com.hcy.admin.vo.warehouse.WarehouseDetailVo;
import com.hcy.admin.vo.warehouse.WarehouseListVo;
import com.hcy.admin.vo.warehouse.WarehouseVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
import com.hcy.common.validator.annotation.IDMust;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -31,7 +36,8 @@ public class WarehouseController {
* @return Object
*/
@GetMapping("/list")
public Object list(@RequestParam Map<String, String> params) {
public Object list(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
JSONArray list = iWarehouseService.list(params);
return AjaxResult.success(list);
}
@ -90,4 +96,14 @@ public class WarehouseController {
return AjaxResult.success();
}
//新增接口传入仓库id时查询仓库下的所有子仓库及子仓库的内容
/**
* id
*/
@GetMapping("/selectWarehouseData")
public Object selectSubcolumnData(WarehouseVo warehouseVo) {
WarehouseVo warehouseVo1 = iWarehouseService.selectWarehouseData(warehouseVo);
return AjaxResult.success(warehouseVo1);
}
}

View File

@ -0,0 +1,59 @@
package com.hcy.admin.service.SparePartAudit;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.SparePartAudit.SparePartAuditParam;
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
import com.hcy.admin.vo.SparePartAudit.SparePartAuditDetailVo;
import com.hcy.common.core.PageResult;
import java.util.Map;
/**
*
*/
public interface ISparePartAuditService {
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return PageResult<SparePartAuditVo>
*/
PageResult<SparePartAuditListVo> list(PageParam pageParam, Map<String, String> params);
/**
*
*
* @author hcy
* @param id ID
* @return SparePartAudit
*/
SparePartAuditDetailVo detail(Integer id);
/**
*
*
* @author hcy
* @param sparePartAuditParam
*/
void add(SparePartAuditParam sparePartAuditParam);
/**
*
*
* @author hcy
* @param sparePartAuditParam
*/
void edit(SparePartAuditParam sparePartAuditParam);
/**
*
*
* @author hcy
* @param id ID
*/
void del(Integer id);
}

View File

@ -0,0 +1,165 @@
package com.hcy.admin.service.SparePartAudit.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
import com.hcy.admin.service.SparePartAudit.ISparePartAuditService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.SparePartAudit.SparePartAuditParam;
import com.hcy.admin.vo.SparePartAudit.SparePartAuditListVo;
import com.hcy.admin.vo.SparePartAudit.SparePartAuditDetailVo;
import com.hcy.common.core.PageResult;
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
import com.hcy.common.utils.ArrayUtil;
import com.hcy.common.utils.TimeUtil;
import com.hcy.common.utils.UrlUtil;
import com.hcy.common.config.GlobalConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.*;
/**
*
*/
@Service
public class SparePartAuditServiceImpl implements ISparePartAuditService {
@Resource
SparePartAuditMapper sparePartAuditMapper;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return PageResult<SparePartAuditListVo>
*/
@Override
public PageResult<SparePartAuditListVo> list(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
QueryWrapper<SparePartAudit> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("id");
sparePartAuditMapper.setSearch(queryWrapper, params, new String[]{
"=:stockAuditId@stock_audit_id:long",
"=:sparePartsCode@spare_parts_code:str",
"like:sparePartsName@spare_parts_name:str",
"=:warehouseId@warehouse_id:long",
"=:specificationsModel@specifications_model:str",
});
IPage<SparePartAudit> iPage = sparePartAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<SparePartAuditListVo> list = new LinkedList<>();
for(SparePartAudit item : iPage.getRecords()) {
SparePartAuditListVo vo = new SparePartAuditListVo();
BeanUtils.copyProperties(item, vo);
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
*
*
* @author hcy
* @param id
* @return SparePartAudit
*/
@Override
public SparePartAuditDetailVo detail(Integer id) {
SparePartAudit model = sparePartAuditMapper.selectOne(
new QueryWrapper<SparePartAudit>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在");
SparePartAuditDetailVo vo = new SparePartAuditDetailVo();
BeanUtils.copyProperties(model, vo);
return vo;
}
/**
*
*
* @author hcy
* @param sparePartAuditParam
*/
@Override
public void add(SparePartAuditParam sparePartAuditParam) {
SparePartAudit model = new SparePartAudit();
model.setStockAuditId(sparePartAuditParam.getStockAuditId());
model.setSparePartsCode(sparePartAuditParam.getSparePartsCode());
model.setSparePartsName(sparePartAuditParam.getSparePartsName());
model.setWarehouseId(sparePartAuditParam.getWarehouseId());
model.setSpecificationsModel(sparePartAuditParam.getSpecificationsModel());
model.setUnit(sparePartAuditParam.getUnit());
model.setQuantity(sparePartAuditParam.getQuantity());
model.setUnitPrice(sparePartAuditParam.getUnitPrice());
sparePartAuditMapper.insert(model);
}
/**
*
*
* @author hcy
* @param sparePartAuditParam
*/
@Override
public void edit(SparePartAuditParam sparePartAuditParam) {
SparePartAudit model = sparePartAuditMapper.selectOne(
new QueryWrapper<SparePartAudit>()
.eq("id", sparePartAuditParam.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setId(sparePartAuditParam.getId());
model.setStockAuditId(sparePartAuditParam.getStockAuditId());
model.setSparePartsCode(sparePartAuditParam.getSparePartsCode());
model.setSparePartsName(sparePartAuditParam.getSparePartsName());
model.setWarehouseId(sparePartAuditParam.getWarehouseId());
model.setSpecificationsModel(sparePartAuditParam.getSpecificationsModel());
model.setUnit(sparePartAuditParam.getUnit());
model.setQuantity(sparePartAuditParam.getQuantity());
model.setUnitPrice(sparePartAuditParam.getUnitPrice());
sparePartAuditMapper.updateById(model);
}
/**
*
*
* @author hcy
* @param id ID
*/
@Override
public void del(Integer id) {
SparePartAudit model = sparePartAuditMapper.selectOne(
new QueryWrapper<SparePartAudit>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setIsDelete(1);
model.setDeleteTime(System.currentTimeMillis() / 1000);
sparePartAuditMapper.updateById(model);
}
}

View File

@ -10,9 +10,11 @@ import com.hcy.admin.vo.sparePart.SparePartListVo;
import com.hcy.admin.vo.sparePart.SparePartDetailVo;
import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.core.PageResult;
import com.hcy.common.dto.UserDto;
import com.hcy.common.entity.activity.Activity;
import com.hcy.common.entity.sparePart.SparePart;
import com.hcy.common.mapper.sparePart.SparePartMapper;
import com.hcy.common.utils.StringUtil;
import com.hcy.common.utils.TimeUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -44,14 +46,28 @@ public class SparePartServiceImpl implements ISparePartService {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
// 取得查询页的条件
SparePartListVo pageDto = new SparePartListVo();
/*if (StringUtil.isNotEmpty(params.get("likeWork"))) {
pageDto.setLikeWork(params.get("likeWork"));
}*/
QueryWrapper<SparePart> queryWrapper = new QueryWrapper<>();
// 取得查询页的条件
if (StringUtil.isNotEmpty(params.get("likeWork"))) {
pageDto.setLikeWork(params.get("likeWork"));
queryWrapper.like("spare_parts_code", pageDto.getLikeWork());
queryWrapper.or();
queryWrapper.like("spare_parts_name", pageDto.getLikeWork());
}
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("id");
sparePartMapper.setSearch(queryWrapper, params, new String[]{
"=:sparePartsCode@spare_parts_code:str",
"like:sparePartsName@spare_parts_name:str",
"=:owningWarehouse@owning_warehouse:long",
/*"=:sparePartsCode@spare_parts_code:str",
"like:sparePartsName@spare_parts_name:str",*/
"=:warehouseId@warehouse_id:long",
"=:specificationsModel@specifications_model:str",
"=:unit:str",
"=:quantity:long",
@ -104,7 +120,7 @@ public class SparePartServiceImpl implements ISparePartService {
SparePart model = new SparePart();
model.setSparePartsCode(sparePartParam.getSparePartsCode());
model.setSparePartsName(sparePartParam.getSparePartsName());
model.setOwningWarehouse(sparePartParam.getOwningWarehouse());
model.setWarehouseId(sparePartParam.getWarehouseId());
model.setSpecificationsModel(sparePartParam.getSpecificationsModel());
model.setUnit(sparePartParam.getUnit());
model.setQuantity(sparePartParam.getQuantity());
@ -132,7 +148,7 @@ public class SparePartServiceImpl implements ISparePartService {
model.setId(sparePartParam.getId());
model.setSparePartsCode(sparePartParam.getSparePartsCode());
model.setSparePartsName(sparePartParam.getSparePartsName());
model.setOwningWarehouse(sparePartParam.getOwningWarehouse());
model.setWarehouseId(sparePartParam.getWarehouseId());
model.setSpecificationsModel(sparePartParam.getSpecificationsModel());
model.setUnit(sparePartParam.getUnit());
model.setQuantity(sparePartParam.getQuantity());

View File

@ -0,0 +1,59 @@
package com.hcy.admin.service.sparePartInWarehouse;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
import com.hcy.common.core.PageResult;
import java.util.Map;
/**
*
*/
public interface ISparePartInWarehouseService {
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return PageResult<SparePartStockAuditVo>
*/
PageResult<SparePartStockAuditListVo> list(PageParam pageParam, Map<String, String> params);
/**
*
*
* @author hcy
* @param id ID
* @return SparePartStockAudit
*/
SparePartStockAuditDetailVo detail(Integer id);
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
void add(SparePartStockAuditParam sparePartStockAuditParam);
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
void edit(SparePartStockAuditParam sparePartStockAuditParam);
/**
*
*
* @author hcy
* @param id ID
*/
void del(Integer id);
}

View File

@ -0,0 +1,173 @@
package com.hcy.admin.service.sparePartInWarehouse.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hcy.admin.service.sparePartInWarehouse.ISparePartInWarehouseService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
import com.hcy.common.core.PageResult;
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
import com.hcy.common.utils.TimeUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
*
*/
@Service
public class SparePartInWarehouseServiceImpl implements ISparePartInWarehouseService {
@Resource
SparePartStockAuditMapper sparePartStockAuditMapper;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return PageResult<SparePartStockAuditListVo>
*/
@Override
public PageResult<SparePartStockAuditListVo> list(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("id");
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
"=:receiptNumber@receipt_number:str",
"=:warehouseId@warehouse_id:long",
"=:inWarehouseType@in_warehouse_type:long",
"=:auditState@audit_state:int",
});
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<SparePartStockAuditListVo> list = new LinkedList<>();
for(SparePartStockAudit item : iPage.getRecords()) {
SparePartStockAuditListVo vo = new SparePartStockAuditListVo();
BeanUtils.copyProperties(item, vo);
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
*
*
* @author hcy
* @param id
* @return SparePartStockAudit
*/
@Override
public SparePartStockAuditDetailVo detail(Integer id) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在");
SparePartStockAuditDetailVo vo = new SparePartStockAuditDetailVo();
BeanUtils.copyProperties(model, vo);
return vo;
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
@Override
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = new SparePartStockAudit();
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId()); // 入库仓库
model.setInWarehouseType(sparePartStockAuditParam.getInWarehouseType()); //入库类别
model.setSupplier(sparePartStockAuditParam.getSupplier()); //供应商
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
model.setSparePartAuditId(sparePartStockAuditParam.getSparePartAuditId()); // 备件审核id
List<SparePartAudit> sparePartAuditList = sparePartStockAuditParam.getSparePartAuditList();
for (SparePartAudit sparePartAudit : sparePartAuditList) {
}
sparePartStockAuditMapper.insert(model);
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
@Override
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", sparePartStockAuditParam.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setId(sparePartStockAuditParam.getId());
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber());
model.setReceiptType(sparePartStockAuditParam.getReceiptType());
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId());
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse());
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse());
model.setInWarehouseType(sparePartStockAuditParam.getInWarehouseType());
model.setSupplier(sparePartStockAuditParam.getSupplier());
model.setOutWarehouseType(sparePartStockAuditParam.getOutWarehouseType());
model.setResponsiblePerson(sparePartStockAuditParam.getResponsiblePerson());
model.setHandlingTime(sparePartStockAuditParam.getHandlingTime().getTime());
model.setAllotType(sparePartStockAuditParam.getAllotType());
model.setConsignee(sparePartStockAuditParam.getConsignee());
model.setAuditState(sparePartStockAuditParam.getAuditState());
model.setAuditResult(sparePartStockAuditParam.getAuditResult());
model.setAuditTime(sparePartStockAuditParam.getAuditTime().getTime());
model.setAuditIdea(sparePartStockAuditParam.getAuditIdea());
model.setPhone(sparePartStockAuditParam.getPhone());
model.setRemark(sparePartStockAuditParam.getRemark());
sparePartStockAuditMapper.updateById(model);
}
/**
*
*
* @author hcy
* @param id ID
*/
@Override
public void del(Integer id) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setIsDelete(1);
model.setDeleteTime(System.currentTimeMillis() / 1000);
sparePartStockAuditMapper.updateById(model);
}
}

View File

@ -0,0 +1,59 @@
package com.hcy.admin.service.sparePartStockAudit;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.core.PageResult;
import java.util.Map;
/**
*
*/
public interface ISparePartStockAuditService {
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return PageResult<SparePartStockAuditVo>
*/
PageResult<SparePartStockAuditListVo> list(PageParam pageParam, Map<String, String> params);
/**
*
*
* @author hcy
* @param id ID
* @return SparePartStockAudit
*/
SparePartStockAuditDetailVo detail(Integer id);
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
void add(SparePartStockAuditParam sparePartStockAuditParam);
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
void edit(SparePartStockAuditParam sparePartStockAuditParam);
/**
*
*
* @author hcy
* @param id ID
*/
void del(Integer id);
}

View File

@ -0,0 +1,195 @@
package com.hcy.admin.service.sparePartStockAudit.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
import com.hcy.admin.service.sparePartStockAudit.ISparePartStockAuditService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
import com.hcy.admin.vo.sparePart.SparePartListVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditListVo;
import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
import com.hcy.common.core.PageResult;
import com.hcy.common.entity.sparePart.SparePart;
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
import com.hcy.common.utils.ArrayUtil;
import com.hcy.common.utils.TimeUtil;
import com.hcy.common.utils.UrlUtil;
import com.hcy.common.config.GlobalConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.*;
/**
*
*/
@Service
public class SparePartStockAuditServiceImpl implements ISparePartStockAuditService {
@Resource
SparePartStockAuditMapper sparePartStockAuditMapper;
/**
*
*
* @author hcy
* @param pageParam
* @param params
* @return PageResult<SparePartStockAuditListVo>
*/
@Override
public PageResult<SparePartStockAuditListVo> list(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("id");
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
"=:receiptNumber@receipt_number:str",
"=:receiptType@receipt_type:long",
"=:warehouseId@warehouse_id:long",
"=:importWarehouse@import_warehouse:long",
"=:exportWarehouse@export_warehouse:long",
"=:inWarehouseType@in_warehouse_type:long",
"=:supplier:str",
"=:outWarehouseType@out_warehouse_type:long",
"=:responsiblePerson@responsible_person:str",
"=:handlingTime@handling_time:long",
"=:allotType@allot_type:long",
"=:consignee:str",
"=:auditState@audit_state:int",
"=:auditResult@audit_result:int",
});
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<SparePartStockAuditListVo> list = new LinkedList<>();
for(SparePartStockAudit item : iPage.getRecords()) {
SparePartStockAuditListVo vo = new SparePartStockAuditListVo();
BeanUtils.copyProperties(item, vo);
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
*
*
* @author hcy
* @param id
* @return SparePartStockAudit
*/
@Override
public SparePartStockAuditDetailVo detail(Integer id) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在");
SparePartStockAuditDetailVo vo = new SparePartStockAuditDetailVo();
BeanUtils.copyProperties(model, vo);
return vo;
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
@Override
public void add(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = new SparePartStockAudit();
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber());
model.setReceiptType(sparePartStockAuditParam.getReceiptType());
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId());
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse());
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse());
model.setInWarehouseType(sparePartStockAuditParam.getInWarehouseType());
model.setSupplier(sparePartStockAuditParam.getSupplier());
model.setOutWarehouseType(sparePartStockAuditParam.getOutWarehouseType());
model.setResponsiblePerson(sparePartStockAuditParam.getResponsiblePerson());
model.setHandlingTime(sparePartStockAuditParam.getHandlingTime().getTime());
model.setAllotType(sparePartStockAuditParam.getAllotType());
model.setConsignee(sparePartStockAuditParam.getConsignee());
model.setAuditState(sparePartStockAuditParam.getAuditState());
model.setAuditResult(sparePartStockAuditParam.getAuditResult());
model.setAuditTime(sparePartStockAuditParam.getAuditTime().getTime());
model.setAuditIdea(sparePartStockAuditParam.getAuditIdea());
model.setPhone(sparePartStockAuditParam.getPhone());
model.setRemark(sparePartStockAuditParam.getRemark());
sparePartStockAuditMapper.insert(model);
}
/**
*
*
* @author hcy
* @param sparePartStockAuditParam
*/
@Override
public void edit(SparePartStockAuditParam sparePartStockAuditParam) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", sparePartStockAuditParam.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setId(sparePartStockAuditParam.getId());
model.setReceiptNumber(sparePartStockAuditParam.getReceiptNumber());
model.setReceiptType(sparePartStockAuditParam.getReceiptType());
model.setWarehouseId(sparePartStockAuditParam.getWarehouseId());
model.setImportWarehouse(sparePartStockAuditParam.getImportWarehouse());
model.setExportWarehouse(sparePartStockAuditParam.getExportWarehouse());
model.setInWarehouseType(sparePartStockAuditParam.getInWarehouseType());
model.setSupplier(sparePartStockAuditParam.getSupplier());
model.setOutWarehouseType(sparePartStockAuditParam.getOutWarehouseType());
model.setResponsiblePerson(sparePartStockAuditParam.getResponsiblePerson());
model.setHandlingTime(sparePartStockAuditParam.getHandlingTime().getTime());
model.setAllotType(sparePartStockAuditParam.getAllotType());
model.setConsignee(sparePartStockAuditParam.getConsignee());
model.setAuditState(sparePartStockAuditParam.getAuditState());
model.setAuditResult(sparePartStockAuditParam.getAuditResult());
model.setAuditTime(sparePartStockAuditParam.getAuditTime().getTime());
model.setAuditIdea(sparePartStockAuditParam.getAuditIdea());
model.setPhone(sparePartStockAuditParam.getPhone());
model.setRemark(sparePartStockAuditParam.getRemark());
sparePartStockAuditMapper.updateById(model);
}
/**
*
*
* @author hcy
* @param id ID
*/
@Override
public void del(Integer id) {
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
new QueryWrapper<SparePartStockAudit>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setIsDelete(1);
model.setDeleteTime(System.currentTimeMillis() / 1000);
sparePartStockAuditMapper.updateById(model);
}
}

View File

@ -5,6 +5,7 @@ import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.warehouse.WarehouseParam;
import com.hcy.admin.vo.warehouse.WarehouseListVo;
import com.hcy.admin.vo.warehouse.WarehouseDetailVo;
import com.hcy.admin.vo.warehouse.WarehouseVo;
import com.hcy.common.core.PageResult;
import java.util.Map;
@ -56,4 +57,6 @@ public interface IWarehouseService {
*/
void del(Long[] ids);
WarehouseVo selectWarehouseData(WarehouseVo warehouseVo);
}

View File

@ -1,6 +1,7 @@
package com.hcy.admin.service.warehouse.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -8,14 +9,18 @@ import com.github.yulichang.query.MPJQueryWrapper;
import com.hcy.admin.service.warehouse.IWarehouseService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.warehouse.WarehouseParam;
import com.hcy.admin.vo.sparePart.SparePartDetailVo;
import com.hcy.admin.vo.sparePart.SparePartListVo;
import com.hcy.admin.vo.system.SystemAuthDeptVo;
import com.hcy.admin.vo.warehouse.WarehouseListVo;
import com.hcy.admin.vo.warehouse.WarehouseDetailVo;
import com.hcy.admin.vo.warehouse.WarehouseVo;
import com.hcy.common.constant.GlobalConstant;
import com.hcy.common.core.PageResult;
import com.hcy.common.entity.sparePart.SparePart;
import com.hcy.common.entity.system.SystemAuthDept;
import com.hcy.common.entity.warehouse.Warehouse;
import com.hcy.common.mapper.sparePart.SparePartMapper;
import com.hcy.common.mapper.warehouse.WarehouseMapper;
import com.hcy.common.utils.ArrayUtil;
import com.hcy.common.utils.TimeUtil;
@ -37,6 +42,9 @@ public class WarehouseServiceImpl implements IWarehouseService {
@Resource
WarehouseMapper warehouseMapper;
@Resource
SparePartMapper sparePartMapper;
/**
*
*
@ -54,7 +62,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
warehouseMapper.setSearch(queryWrapper, params, new String[]{
"=:parentId@parent_id:long",
"like:warehouseName@warehouse_name:str",
"=:warehouseCoding@warehouse_coding:str",
"like:warehouseCoding@warehouse_coding:str",
"=:warehouseAddress@warehouse_address:str",
});
@ -157,7 +165,7 @@ public class WarehouseServiceImpl implements IWarehouseService {
.eq("is_delete", 0)
.last("limit 1"));
Assert.isNull(pModel, "请先删除子级部门");
Assert.isNull(pModel, "请先删除子级仓库");
}
@ -171,4 +179,81 @@ public class WarehouseServiceImpl implements IWarehouseService {
}
}
/**
*
* @param pid id
* @return warehousesVo
*/
private List<WarehouseVo> getChildrenWarehouseVo(Long pid){
LambdaQueryWrapper<Warehouse> lambdaQueryWrapper = new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getPid, pid)
.eq(Warehouse::getIsDelete,"0");
List<Warehouse> warehouses = warehouseMapper.selectList(lambdaQueryWrapper);
//将实体类数据转到vo
List<WarehouseVo> list = new LinkedList<>();
for(Warehouse item : warehouses) {
WarehouseVo vo = new WarehouseVo();
BeanUtils.copyProperties(item, vo);
list.add(vo);
}
//
for (WarehouseVo item : list) {
item.setWarehouseVoList(getChildrenWarehouseVo(item.getId()));
//获取栏目的内容信息
LambdaQueryWrapper<SparePart> sparePartLqw = new LambdaQueryWrapper<>();
sparePartLqw.eq(SparePart::getWarehouseId, item.getId());
//sparePartLqw.orderByDesc(AbContent::getReleaseDate);
List<SparePart> sparePartVos = sparePartMapper.selectList(sparePartLqw);
//将实体类数据转到vo
List<SparePartDetailVo> sparePartList = new LinkedList<>();
for(SparePart sparePartItem : sparePartVos) {
SparePartDetailVo vo = new SparePartDetailVo();
BeanUtils.copyProperties(sparePartItem, vo);
sparePartList.add(vo);
}
if(sparePartVos != null){
item.setSparePartVos(sparePartList);
}
}
return list;
}
/**
* id
*
* @param warehouseVo
* @return
*/
public WarehouseVo selectWarehouseData(WarehouseVo warehouseVo) {
Warehouse warehouse = warehouseMapper.selectById(warehouseVo.getId());
WarehouseVo abWarehouseVo = new WarehouseVo();
BeanUtils.copyProperties(warehouse, abWarehouseVo);
//查询子仓库信息
abWarehouseVo.setWarehouseVoList(getChildrenWarehouseVo(abWarehouseVo.getId()));
//获取仓库的备件信息
LambdaQueryWrapper<SparePart> sparePartLqw = new LambdaQueryWrapper<>();
sparePartLqw.eq(SparePart::getWarehouseId, warehouseVo.getId());
//sparePartLqw.orderByDesc(SparePart::getReleaseDate);
List<SparePart> abSparePartVos = sparePartMapper.selectList(sparePartLqw);
//将实体类数据转到vo
List<SparePartDetailVo> sparePartList = new LinkedList<>();
for(SparePart sparePartItem : abSparePartVos) {
SparePartDetailVo vo = new SparePartDetailVo();
BeanUtils.copyProperties(sparePartItem, vo);
sparePartList.add(vo);
}
if(abSparePartVos != null){
abWarehouseVo.setSparePartVos(sparePartList);
}
return abWarehouseVo;
}
}

View File

@ -0,0 +1,59 @@
package com.hcy.admin.validate.SparePartAudit;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SparePartAuditParam implements Serializable {
private static final long serialVersionUID = 1L;
public interface create{}
public interface update{}
public interface delete{}
private Long id;
@NotNull(message = "stockAuditId参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "stockAuditId参数值不能少于0", groups = {create.class, update.class})
private Long stockAuditId;
@NotNull(message = "sparePartsCode参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "sparePartsCode参数不能超出255个字符", groups = {create.class, update.class})
private String sparePartsCode;
@NotNull(message = "sparePartsName参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "sparePartsName参数不能超出255个字符", groups = {create.class, update.class})
private String sparePartsName;
@NotNull(message = "warehouseId参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "warehouseId参数值不能少于0", groups = {create.class, update.class})
private Long warehouseId;
@NotNull(message = "specificationsModel参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "specificationsModel参数不能超出255个字符", groups = {create.class, update.class})
private String specificationsModel;
@NotNull(message = "unit参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "unit参数值不能少于0", groups = {create.class, update.class})
private Long unit;
@NotNull(message = "quantity参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "quantity参数值不能少于0", groups = {create.class, update.class})
private Long quantity;
@NotNull(message = "unitPrice参数缺失", groups = {create.class, update.class})
private BigDecimal unitPrice;
}

View File

@ -37,9 +37,9 @@ public class SparePartParam implements Serializable {
@Length(max = 255, message = "sparePartsName参数不能超出255个字符", groups = {create.class, update.class})
private String sparePartsName;
@NotNull(message = "owningWarehouse参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "owningWarehouse参数值不能少于0", groups = {create.class, update.class})
private Long owningWarehouse;
@NotNull(message = "warehouseId参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "warehouseId参数值不能少于0", groups = {create.class, update.class})
private Long warehouseId;
@NotNull(message = "specificationsModel参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "specificationsModel参数不能超出255个字符", groups = {create.class, update.class})

View File

@ -0,0 +1,99 @@
package com.hcy.admin.validate.sparePartStockAudit;
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SparePartStockAuditParam implements Serializable {
private static final long serialVersionUID = 1L;
public interface create{}
public interface update{}
public interface delete{}
private Long id;
@NotNull(message = "receiptNumber参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "receiptNumber参数不能超出255个字符", groups = {create.class, update.class})
private String receiptNumber;
@NotNull(message = "receiptType参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "receiptType参数值不能少于0", groups = {create.class, update.class})
private Long receiptType;
@NotNull(message = "warehouseId参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "warehouseId参数值不能少于0", groups = {create.class, update.class})
private Long warehouseId;
@NotNull(message = "importWarehouse参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "importWarehouse参数值不能少于0", groups = {create.class, update.class})
private Long importWarehouse;
@NotNull(message = "exportWarehouse参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "exportWarehouse参数值不能少于0", groups = {create.class, update.class})
private Long exportWarehouse;
@NotNull(message = "inWarehouseType参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "inWarehouseType参数值不能少于0", groups = {create.class, update.class})
private Long inWarehouseType;
@NotNull(message = "supplier参数缺失", groups = {create.class, update.class})
@Length(max = 32, message = "supplier参数不能超出32个字符", groups = {create.class, update.class})
private String supplier;
@NotNull(message = "outWarehouseType参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "outWarehouseType参数值不能少于0", groups = {create.class, update.class})
private Long outWarehouseType;
@NotNull(message = "responsiblePerson参数缺失", groups = {create.class, update.class})
@Length(max = 32, message = "responsiblePerson参数不能超出32个字符", groups = {create.class, update.class})
private String responsiblePerson;
@NotNull(message = "handlingTime参数缺失", groups = {create.class, update.class})
private Date handlingTime;
@NotNull(message = "allotType参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "allotType参数值不能少于0", groups = {create.class, update.class})
private Long allotType;
@NotNull(message = "consignee参数缺失", groups = {create.class, update.class})
@Length(max = 255, message = "consignee参数不能超出255个字符", groups = {create.class, update.class})
private String consignee;
@NotNull(message = "auditState参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "auditState参数值不能少于0", groups = {create.class, update.class})
private Integer auditState;
@NotNull(message = "auditResult参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "auditResult参数值不能少于0", groups = {create.class, update.class})
private Integer auditResult;
private Date auditTime;
@Length(max = 255, message = "auditIdea参数不能超出255个字符", groups = {create.class, update.class})
private String auditIdea;
@Length(max = 32, message = "phone参数不能超出32个字符", groups = {create.class, update.class})
private String phone;
@Length(max = 255, message = "remark参数不能超出255个字符", groups = {create.class, update.class})
private String remark;
private String sparePartAuditId; // 备件审核id
private List<SparePartAudit> sparePartAuditList; //待入库的备件
}

View File

@ -0,0 +1,26 @@
package com.hcy.admin.vo.SparePartAudit;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* SparePartAuditVo
*/
@Data
public class SparePartAuditDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private Long stockAuditId; // 出入库审核id
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long warehouseId; // 所属仓库
private String specificationsModel; // 规格型号
private Long unit; // 单位
private Long quantity; // 库存数量
private BigDecimal unitPrice; // 单价(元)
}

View File

@ -0,0 +1,28 @@
package com.hcy.admin.vo.SparePartAudit;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* SparePartAuditVo
*/
@Data
public class SparePartAuditListVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private Long stockAuditId; // 出入库审核id
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long warehouseId; // 所属仓库
private String specificationsModel; // 规格型号
private Long unit; // 单位
private Long quantity; // 库存数量
private BigDecimal unitPrice; // 单价(元)
private String createTime; // 创建时间
private String updateTime; // 更新时间
}

View File

@ -16,7 +16,7 @@ public class SparePartDetailVo implements Serializable {
private Integer id; // 主键id
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long owningWarehouse; // 所属仓库
private Long warehouseId; // 所属仓库
private String specificationsModel; // 规格型号
private String unit; // 单位
private Long quantity; // 库存数量

View File

@ -16,11 +16,15 @@ public class SparePartListVo implements Serializable {
private Integer id; // 主键id
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long owningWarehouse; // 所属仓库
private Long warehouseId; // 所属仓库
private String specificationsModel; // 规格型号
private String unit; // 单位
private Long quantity; // 库存数量
private String createTime; // 创建时间
private String updateTime; // 更新时间
private BigDecimal unitPrice; // 单价
// 备件模糊关键字
private String likeWork;
}

View File

@ -0,0 +1,35 @@
package com.hcy.admin.vo.sparePartStockAudit;
import lombok.Data;
import java.io.Serializable;
/**
* SparePartStockAuditVo
*/
@Data
public class SparePartStockAuditDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private String receiptNumber; // 单据编号
private Long receiptType; // 单据类型0=入库单1=出库单2=仓库调拨单)
private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库
private Long exportWarehouse; // 调出仓库
private Long inWarehouseType; // 入库类别0=采购入库)
private String supplier; // 供应商
private Long outWarehouseType; // 出库类别0=调拨出库)
private String responsiblePerson; // 经办人
private Long handlingTime; // 经办时间
private Long allotType; // 调拨类别
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Long auditTime; // 审核时间
private String auditIdea; // 审核意见
private String phone; // 联系电话
private String remark; // 备注
private String sparePartAuditId; // 备件审核id
}

View File

@ -0,0 +1,35 @@
package com.hcy.admin.vo.sparePartStockAudit;
import lombok.Data;
import java.io.Serializable;
/**
* SparePartStockAuditVo
*/
@Data
public class SparePartStockAuditListVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private String receiptNumber; // 单据编号
private Long receiptType; // 单据类型0=入库单1=出库单2=仓库调拨单)
private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库
private Long exportWarehouse; // 调出仓库
private Long inWarehouseType; // 入库类别0=采购入库)
private String supplier; // 供应商
private Long outWarehouseType; // 出库类别0=调拨出库)
private String responsiblePerson; // 经办人
private Long handlingTime; // 经办时间
private Long allotType; // 调拨类别
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Long auditTime; // 审核时间
private String createTime; // 创建时间
private String updateTime; // 更新时间
private String deleteTime; // 删除时间
private String sparePartAuditId; // 备件审核id
}

View File

@ -1,8 +1,10 @@
package com.hcy.admin.vo.warehouse;
import com.hcy.admin.vo.sparePart.SparePartDetailVo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* WarehouseVo

View File

@ -1,8 +1,10 @@
package com.hcy.admin.vo.warehouse;
import com.hcy.admin.vo.sparePart.SparePartDetailVo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* WarehouseVo
@ -17,5 +19,4 @@ public class WarehouseListVo implements Serializable {
private String warehouseName; // 仓库名称(唯一)
private String warehouseCoding; // 仓库编码
private String warehouseAddress; // 仓库地址
}

View File

@ -0,0 +1,28 @@
package com.hcy.admin.vo.warehouse;
import com.hcy.admin.vo.sparePart.SparePartDetailVo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class WarehouseVo implements Serializable {
private Long id; // 主键id
private Long pid; // 上级仓库
private String warehouseName; // 仓库名称(唯一)
private String warehouseCoding; // 仓库编码
private String warehouseAddress; // 仓库地址
private String createTime; // 创建时间
private String updateTime; // 更新时间
/**
*
*/
private List<WarehouseVo> warehouseVoList;
/**
*
*/
private List<SparePartDetailVo> sparePartVos;
}

View File

@ -244,6 +244,7 @@
<artifactId>hutool-core</artifactId>
<version>5.8.16</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,33 @@
package com.hcy.common.entity.SparePartAudit;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
*
*/
@Data
public class SparePartAudit implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value="id", type= IdType.AUTO)
private Long id; // 主键id
private Long stockAuditId; // 出入库审核id
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long warehouseId; // 所属仓库
private String specificationsModel; // 规格型号
private Long unit; // 单位
private Long quantity; // 库存数量
private BigDecimal unitPrice; // 单价(元)
private Integer isDelete; // 是否删除: [0=否, 1=是]
private Long createTime; // 创建时间
private Long updateTime; // 更新时间
private Long deleteTime; // 删除时间
}

View File

@ -20,7 +20,7 @@ public class SparePart implements Serializable {
private Integer id; // 主键id
private String sparePartsCode; // 备件编码
private String sparePartsName; // 备件名称
private Long owningWarehouse; // 所属仓库
private Long warehouseId; // 所属仓库
private String specificationsModel; // 规格型号
private String unit; // 单位
private Long quantity; // 库存数量

View File

@ -0,0 +1,42 @@
package com.hcy.common.entity.sparePartStockAudit;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
/**
*
*/
@Data
public class SparePartStockAudit implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value="id", type= IdType.AUTO)
private Long id; // 主键id
private String receiptNumber; // 单据编号
private Long receiptType; // 单据类型0=入库单1=出库单2=仓库调拨单)
private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库
private Long exportWarehouse; // 调出仓库
private Long inWarehouseType; // 入库类别0=采购入库)
private String supplier; // 供应商
private Long outWarehouseType; // 出库类别0=调拨出库)
private String responsiblePerson; // 经办人
private Long handlingTime; // 经办时间
private Long allotType; // 调拨类别
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Long auditTime; // 审核时间
private String auditIdea; // 审核意见
private String phone; // 联系电话
private String remark; // 备注
private Integer isDelete; // 是否删除: [0=否, 1=是]
private Long createTime; // 创建时间
private Long updateTime; // 更新时间
private Long deleteTime; // 删除时间
private String sparePartAuditId; // 备件审核id
}

View File

@ -0,0 +1,13 @@
package com.hcy.common.mapper.SparePartAudit;
import com.hcy.common.core.basics.IBaseMapper;
import com.hcy.common.entity.SparePartAudit.SparePartAudit;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*/
@Mapper
public interface SparePartAuditMapper extends IBaseMapper<SparePartAudit> {
}

View File

@ -0,0 +1,13 @@
package com.hcy.common.mapper.sparePartStockAudit;
import com.hcy.common.core.basics.IBaseMapper;
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*/
@Mapper
public interface SparePartStockAuditMapper extends IBaseMapper<SparePartStockAudit> {
}