【admin】优化#1、配件采购暂存草稿 2、优化配件采购发货、收货功能
parent
e811bb95ec
commit
376e5eaf9e
|
@ -95,4 +95,58 @@ public class sparePartPurchaseController {
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件采购审核
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Log(title = "备件采购审核")
|
||||||
|
@PostMapping("/purchaseAudit")
|
||||||
|
public Object purchaseAudit(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
|
iSparePartPurchaseService.purchaseAudit(sparePartStockAuditParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配件采购订单列表:不查填写中状态的数据
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param params 搜索参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@GetMapping("/purchaseOrderlist")
|
||||||
|
public Object purchaseOrderlist(@Validated PageParam pageParam,
|
||||||
|
@RequestParam Map<String, String> params) {
|
||||||
|
PageResult<SparePartPurchaseListVo> list = iSparePartPurchaseService.purchaseOrderlist(pageParam, params);
|
||||||
|
return AjaxResult.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件物流发送
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param sparePartStockAuditParam 参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@Log(title = "备件物流发送")
|
||||||
|
@PostMapping("/logisticsSending")
|
||||||
|
public Object logisticsSending(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
|
iSparePartPurchaseService.logisticsSending(sparePartStockAuditParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件采购收货
|
||||||
|
*
|
||||||
|
* @author hcy
|
||||||
|
* @param sparePartStockAuditParam 参数
|
||||||
|
* @return Object
|
||||||
|
*/
|
||||||
|
@Log(title = "备件采购收货")
|
||||||
|
@PostMapping("/receiving")
|
||||||
|
public Object receiving(@RequestBody SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
|
iSparePartPurchaseService.receiving(sparePartStockAuditParam);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -251,6 +251,7 @@ public class SettingDictTypeServiceImpl implements ISettingDictTypeService {
|
||||||
new QueryWrapper<DictData>()
|
new QueryWrapper<DictData>()
|
||||||
.eq("type_id", dictType.getId())
|
.eq("type_id", dictType.getId())
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
|
.orderByDesc("sort")
|
||||||
);
|
);
|
||||||
//获取字典数据
|
//获取字典数据
|
||||||
List<DictDataVo> listVo = new ArrayList<>();
|
List<DictDataVo> listVo = new ArrayList<>();
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam;
|
||||||
import com.hcy.admin.vo.sparePartPurchase.SparePartPurchaseListVo;
|
import com.hcy.admin.vo.sparePartPurchase.SparePartPurchaseListVo;
|
||||||
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
import com.hcy.admin.vo.sparePartReceive.SparePartReceiveListVo;
|
||||||
import com.hcy.common.core.PageResult;
|
import com.hcy.common.core.PageResult;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -56,4 +57,31 @@ public interface ISparePartPurchaseService {
|
||||||
*/
|
*/
|
||||||
void del(Integer id);
|
void del(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配件采购订单列表:不查填写中状态的数据
|
||||||
|
*
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param params 搜索参数
|
||||||
|
* @return PageResult<SparePartPurchaseListVo>
|
||||||
|
* @author hcy
|
||||||
|
*/
|
||||||
|
PageResult<SparePartPurchaseListVo> purchaseOrderlist(PageParam pageParam, Map<String, String> params);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件采购审核
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
*/
|
||||||
|
void purchaseAudit(SparePartStockAuditParam sparePartStockAuditParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件物流发送
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
*/
|
||||||
|
void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件采购收货
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
*/
|
||||||
|
void receiving(SparePartStockAuditParam sparePartStockAuditParam);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import com.hcy.common.entity.sparePart.SparePart;
|
||||||
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
import com.hcy.common.entity.sparePartStockAudit.SparePartStockAudit;
|
||||||
import com.hcy.common.entity.warehouse.Warehouse;
|
import com.hcy.common.entity.warehouse.Warehouse;
|
||||||
import com.hcy.common.enums.Audit.AuditStateEnum;
|
import com.hcy.common.enums.Audit.AuditStateEnum;
|
||||||
|
import com.hcy.common.exception.OperateException;
|
||||||
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
import com.hcy.common.mapper.SparePartAudit.SparePartAuditMapper;
|
||||||
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
import com.hcy.common.mapper.sparePart.SparePartMapper;
|
||||||
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
import com.hcy.common.mapper.sparePartStockAudit.SparePartStockAuditMapper;
|
||||||
|
@ -131,18 +132,20 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
.eq("id", id)
|
.eq("id", id)
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
|
|
||||||
Assert.notNull(model, "数据不存在");
|
Assert.notNull(model, "数据不存在");
|
||||||
|
|
||||||
SparePartPurchaseListVo vo = new SparePartPurchaseListVo();
|
SparePartPurchaseListVo vo = new SparePartPurchaseListVo();
|
||||||
BeanUtils.copyProperties(model, vo);
|
BeanUtils.copyProperties(model, vo);
|
||||||
|
vo.setCreateTime(TimeUtil.timestampToDate(model.getCreateTime()));
|
||||||
Warehouse warehouseName = warehouseMapper.selectOne(
|
Warehouse warehouseName = warehouseMapper.selectOne(
|
||||||
new QueryWrapper<Warehouse>()
|
new QueryWrapper<Warehouse>()
|
||||||
.eq("id", model.getWarehouseId())
|
.eq("id", model.getWarehouseId())
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
vo.setWarehouseName(warehouseName.getWarehouseName());
|
if(warehouseName != null){
|
||||||
|
vo.setWarehouseName(warehouseName.getWarehouseName());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//获取待审核备件信息
|
//获取待审核备件信息
|
||||||
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||||
|
@ -172,7 +175,10 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
.eq("id", sparePart.getWarehouseId())
|
.eq("id", sparePart.getWarehouseId())
|
||||||
.eq("is_delete", 0)
|
.eq("is_delete", 0)
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
sparePartAudit1.setWarehouseName(warehouse.getWarehouseName());
|
if(warehouse != null){
|
||||||
|
sparePartAudit1.setWarehouseName(warehouse.getWarehouseName());
|
||||||
|
}
|
||||||
|
|
||||||
listVo.add(sparePartAudit1);
|
listVo.add(sparePartAudit1);
|
||||||
}
|
}
|
||||||
vo.setSparePartAuditList(listVo);
|
vo.setSparePartAuditList(listVo);
|
||||||
|
@ -206,6 +212,7 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||||
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
||||||
|
model.setRemark(sparePartStockAuditParam.getRemark()); //备注
|
||||||
|
|
||||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||||
|
@ -213,7 +220,14 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||||
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||||
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
//配件采购还有个暂存草稿的功能,操作后这个单还是填写中状态,不是未审核
|
||||||
|
System.out.println(sparePartStockAuditParam.getPurchaseStatus());
|
||||||
|
if(sparePartStockAuditParam.getPurchaseStatus() != null){
|
||||||
|
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus());
|
||||||
|
}else {
|
||||||
|
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 获取当前的用户
|
// 获取当前的用户
|
||||||
|
@ -222,8 +236,6 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
model.setConsignee((String) username); // 收货单位(人员)
|
model.setConsignee((String) username); // 收货单位(人员)
|
||||||
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
model.setHandlingTime(System.currentTimeMillis() / 1000); //经办时间
|
||||||
|
|
||||||
// 审核状态
|
|
||||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
|
||||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||||
model.setReceiptType(AuditStateEnum.OUTWAREHOUSE.getStatus());
|
model.setReceiptType(AuditStateEnum.OUTWAREHOUSE.getStatus());
|
||||||
|
|
||||||
|
@ -267,6 +279,7 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
model.setPhone(sparePartStockAuditParam.getPhone()); // 联系电话
|
||||||
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
model.setReceiptNumber(generateOrderNumber()); // 单据编号
|
||||||
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
model.setShippingAddress(sparePartStockAuditParam.getShippingAddress()); //收货地址
|
||||||
|
model.setRemark(sparePartStockAuditParam.getRemark()); //备注
|
||||||
|
|
||||||
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||||
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||||
|
@ -274,15 +287,17 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||||
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||||
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
model.setDeliveryMethod(sparePartStockAuditParam.getDeliveryMethod()); //配送方式(0=物流快递,1=上门取件,2=送货上门)
|
||||||
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
//配件采购还有个暂存草稿的功能,操作后这个单还是填写中状态,不是未审核
|
||||||
|
if(sparePartStockAuditParam.getPurchaseStatus() != null){
|
||||||
|
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus());
|
||||||
|
}else {
|
||||||
|
model.setPurchaseStatus(AuditStateEnum.UNREVIEWED.getStatus()); //状态 未审核
|
||||||
|
}
|
||||||
// 获取当前的用户
|
// 获取当前的用户
|
||||||
Object username = AdminThreadLocal.get("username");
|
Object username = AdminThreadLocal.get("username");
|
||||||
model.setResponsiblePerson((String) username); // 经办人
|
model.setResponsiblePerson((String) username); // 经办人
|
||||||
model.setConsignee((String) username); // 收货单位(人员)
|
model.setConsignee((String) username); // 收货单位(人员)
|
||||||
|
|
||||||
// 审核状态
|
|
||||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
|
||||||
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
//单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||||
model.setReceiptType(AuditStateEnum.OUTWAREHOUSE.getStatus());
|
model.setReceiptType(AuditStateEnum.OUTWAREHOUSE.getStatus());
|
||||||
|
|
||||||
|
@ -321,16 +336,7 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
|
||||||
}
|
}
|
||||||
//如果是已取消状态编辑改成未审核
|
|
||||||
if(model.getAuditState() == AuditStateEnum.CANCELED.getStatus()){
|
|
||||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
|
||||||
}
|
|
||||||
//已审核,但不通过的,重新编辑之后状态也要变成未审核,审核结果改成空
|
|
||||||
if(model.getAuditState() == AuditStateEnum.AUDITED.getStatus()
|
|
||||||
&& model.getAuditResult() == AuditStateEnum.NOTPASS.getStatus()){
|
|
||||||
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
|
||||||
model.setAuditResult(null);
|
|
||||||
}
|
|
||||||
sb.deleteCharAt(sb.length() - 1); // 删除最后一个逗号
|
sb.deleteCharAt(sb.length() - 1); // 删除最后一个逗号
|
||||||
model.setSparePartAuditId(String.valueOf(sb));// 备件审核id
|
model.setSparePartAuditId(String.valueOf(sb));// 备件审核id
|
||||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
|
@ -358,6 +364,170 @@ public class SparePartPurchaseServiceImpl implements ISparePartPurchaseService {
|
||||||
sparePartStockAuditMapper.updateById(model);
|
sparePartStockAuditMapper.updateById(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 配件采购订单列表:不查填写中状态的数据
|
||||||
|
*
|
||||||
|
* @param pageParam 分页参数
|
||||||
|
* @param params 搜索参数
|
||||||
|
* @return PageResult<SparePartPurchaseListVo>
|
||||||
|
* @author hcy
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public PageResult<SparePartPurchaseListVo> purchaseOrderlist(PageParam pageParam, Map<String, String> params) {
|
||||||
|
Integer page = pageParam.getPageNo();
|
||||||
|
Integer limit = pageParam.getPageSize();
|
||||||
|
|
||||||
|
QueryWrapper<SparePartStockAudit> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("receipt_type",1);
|
||||||
|
queryWrapper.eq("is_delete", 0);
|
||||||
|
queryWrapper.ne("purchase_status", 6);
|
||||||
|
queryWrapper.orderByDesc("id");
|
||||||
|
|
||||||
|
sparePartStockAuditMapper.setSearch(queryWrapper, params, new String[]{
|
||||||
|
"like:receiptNumber@receipt_number:str",
|
||||||
|
"=:deliveryMethod@delivery_method:int",
|
||||||
|
"like:responsiblePerson@responsible_person:str",
|
||||||
|
"=:purchaseStatus@purchase_status:int",
|
||||||
|
"datetime:createTimeStart-createTimeEnd@create_time:str",
|
||||||
|
});
|
||||||
|
|
||||||
|
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||||
|
List<SparePartPurchaseListVo> list = new LinkedList<>();
|
||||||
|
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||||
|
SparePartPurchaseListVo vo = new SparePartPurchaseListVo();
|
||||||
|
BeanUtils.copyProperties(item, vo);
|
||||||
|
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
|
||||||
|
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
|
||||||
|
|
||||||
|
vo.setHandlingTime(TimeUtil.timestampToDate(item.getHandlingTime())); //经办时间
|
||||||
|
vo.setResponsiblePersonPhone(vo.getResponsiblePerson() + "/" + vo.getPhone()); //采购人/联系电话
|
||||||
|
|
||||||
|
//获取待审核备件信息
|
||||||
|
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||||
|
new QueryWrapper<SparePartAudit>()
|
||||||
|
.eq("stock_audit_id", item.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
);
|
||||||
|
//获取备件信息
|
||||||
|
List<SparePartAuditListVo> listVo = new ArrayList<>();
|
||||||
|
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||||
|
SparePart sparePart = sparePartMapper.selectOne(
|
||||||
|
new QueryWrapper<SparePart>()
|
||||||
|
.eq("id", sparePartAudit.getSparePartsId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
SparePartAuditListVo sparePartAudit1 = new SparePartAuditListVo();
|
||||||
|
BeanUtils.copyProperties(sparePart, sparePartAudit1);
|
||||||
|
sparePartAudit1.setId(sparePartAudit.getId());
|
||||||
|
sparePartAudit1.setSparePartsId(sparePart.getId());
|
||||||
|
sparePartAudit1.setStockAuditId(sparePartAudit.getStockAuditId());
|
||||||
|
sparePartAudit1.setCount(sparePartAudit.getCount()); // 出库数量
|
||||||
|
|
||||||
|
listVo.add(sparePartAudit1);
|
||||||
|
}
|
||||||
|
vo.setSparePartAuditList(listVo);
|
||||||
|
list.add(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件采购审核
|
||||||
|
*
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void purchaseAudit(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
|
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||||
|
new QueryWrapper<SparePartStockAudit>()
|
||||||
|
.eq("id", sparePartStockAuditParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
|
||||||
|
model.setPurchaseStatus(sparePartStockAuditParam.getPurchaseStatus()); // 配件领用状态 1=未通过,2=待管理员审核
|
||||||
|
model.setPurchaseIdea(sparePartStockAuditParam.getPurchaseIdea()); // 采购意见
|
||||||
|
|
||||||
|
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||||
|
//获取待审核备件信息
|
||||||
|
List<SparePartAudit> stockAuditId = sparePartAuditMapper.selectList(
|
||||||
|
new QueryWrapper<SparePartAudit>()
|
||||||
|
.eq("stock_audit_id", model.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
);
|
||||||
|
if(model.getReceiptType() == AuditStateEnum.OUTWAREHOUSE.getStatus()
|
||||||
|
&& model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){
|
||||||
|
model.setAuditState(AuditStateEnum.UNREVIEWED.getStatus());
|
||||||
|
// 通过审核的出库单
|
||||||
|
//获取备件信息
|
||||||
|
for (SparePartAudit sparePartAudit : stockAuditId) {
|
||||||
|
SparePart sparePart = sparePartMapper.selectOne(
|
||||||
|
new QueryWrapper<SparePart>()
|
||||||
|
.eq("id", sparePartAudit.getSparePartsId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||||
|
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
|
||||||
|
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
|
||||||
|
}else{
|
||||||
|
throw new OperateException("备件库存数量不足,请联系客服人员!");
|
||||||
|
}
|
||||||
|
sparePartMapper.updateById(sparePart);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sparePartStockAuditMapper.updateById(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件物流发送
|
||||||
|
*
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void logisticsSending(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
|
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||||
|
new QueryWrapper<SparePartStockAudit>()
|
||||||
|
.eq("id", sparePartStockAuditParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
|
||||||
|
model.setConsigner(sparePartStockAuditParam.getConsigner()); //发货人
|
||||||
|
model.setConsignerPhone(sparePartStockAuditParam.getConsignerPhone()); //发货人联系电话
|
||||||
|
model.setShipAddress(sparePartStockAuditParam.getShipAddress()); //发货地址
|
||||||
|
model.setLogisticsCompany(sparePartStockAuditParam.getLogisticsCompany()); //物流公司
|
||||||
|
model.setTrackingNumber(sparePartStockAuditParam.getTrackingNumber()); //物流编号
|
||||||
|
model.setPurchaseStatus(AuditStateEnum.WAITFORRECEIVING.getStatus()); // 采购状态 4=待收货
|
||||||
|
|
||||||
|
sparePartStockAuditMapper.updateById(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备件采购收货
|
||||||
|
*
|
||||||
|
* @param sparePartStockAuditParam
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void receiving(SparePartStockAuditParam sparePartStockAuditParam) {
|
||||||
|
SparePartStockAudit model = sparePartStockAuditMapper.selectOne(
|
||||||
|
new QueryWrapper<SparePartStockAudit>()
|
||||||
|
.eq("id", sparePartStockAuditParam.getId())
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
Assert.notNull(model, "数据不存在!");
|
||||||
|
|
||||||
|
model.setPurchaseStatus(AuditStateEnum.DONE.getStatus()); // 采购状态 5=已完成
|
||||||
|
|
||||||
|
sparePartStockAuditMapper.updateById(model);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统自动生成订单号:年月日+6位流水号
|
* 系统自动生成订单号:年月日+6位流水号
|
||||||
|
|
|
@ -79,6 +79,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
|
|
||||||
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
IPage<SparePartStockAudit> iPage = sparePartStockAuditMapper.selectPage(new Page<>(page, limit), queryWrapper);
|
||||||
List<SparePartStockAuditListVo> list = new LinkedList<>();
|
List<SparePartStockAuditListVo> list = new LinkedList<>();
|
||||||
|
long total = 0;//总查询数
|
||||||
for(SparePartStockAudit item : iPage.getRecords()) {
|
for(SparePartStockAudit item : iPage.getRecords()) {
|
||||||
SparePartStockAuditListVo vo = new SparePartStockAuditListVo();
|
SparePartStockAuditListVo vo = new SparePartStockAuditListVo();
|
||||||
BeanUtils.copyProperties(item, vo);
|
BeanUtils.copyProperties(item, vo);
|
||||||
|
@ -112,10 +113,22 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
if(exportWarehouseName != null){
|
if(exportWarehouseName != null){
|
||||||
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
|
||||||
}
|
}
|
||||||
list.add(vo);
|
|
||||||
|
//采购单状态是待管理员审核才能显示
|
||||||
|
if(item.getPurchaseStatus() != null && item.getPurchaseStatus() == AuditStateEnum.UNREVIEWED.getStatus()){
|
||||||
|
System.out.println("采购单状态是未审核不显示");
|
||||||
|
}else if (item.getPurchaseStatus() != null && item.getPurchaseStatus() == AuditStateEnum.NOTPASSSTATE.getStatus()){
|
||||||
|
System.out.println("采购单状态是审核未通过不显示");
|
||||||
|
}else if(item.getPurchaseStatus() != null && item.getPurchaseStatus() == AuditStateEnum.FILLINGOUT.getStatus()){
|
||||||
|
System.out.println("采购单状态是填写中不显示");
|
||||||
|
}else {
|
||||||
|
list.add(vo);
|
||||||
|
total = total + 1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
|
return PageResult.iPageHandle(total, iPage.getCurrent(), iPage.getSize(), list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -339,6 +352,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
|
||||||
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
// 出库时需要判断库存数量是否大于出库数量,大于才允许出库;反之,提示备件库存数量不足
|
||||||
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
|
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
|
||||||
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
|
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
|
||||||
|
if(model.getPurchaseStatus() == AuditStateEnum.CHECKPENDING.getStatus()){
|
||||||
|
model.setPurchaseStatus(AuditStateEnum.WAITDELIVER.getStatus()); //审核通过改成待发货
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new OperateException("备件库存数量不足,请联系客服人员!");
|
throw new OperateException("备件库存数量不足,请联系客服人员!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,4 +100,5 @@ public class SparePartStockAuditParam implements Serializable {
|
||||||
private String recipientPhone; //领用员工联系电话
|
private String recipientPhone; //领用员工联系电话
|
||||||
private Integer recipientNumber; //领用数量
|
private Integer recipientNumber; //领用数量
|
||||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
||||||
|
private String purchaseIdea; //采购意见
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ public class SparePartPurchaseListVo implements Serializable {
|
||||||
|
|
||||||
private Long id; // 主键id
|
private Long id; // 主键id
|
||||||
private String receiptNumber; // 单据编号
|
private String receiptNumber; // 单据编号
|
||||||
|
private Integer receiptType; // 单据类型(0=入库单,1=出库单,2=仓库调拨单)
|
||||||
private Long warehouseId; // 所属仓库
|
private Long warehouseId; // 所属仓库
|
||||||
private String consignee; // 收货单位(人员)
|
private String consignee; // 收货单位(人员)
|
||||||
private String phone; // 联系电话
|
private String phone; // 联系电话
|
||||||
|
@ -32,9 +33,10 @@ public class SparePartPurchaseListVo implements Serializable {
|
||||||
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
private List<SparePartAuditListVo> sparePartAuditList; //待入库的备件
|
||||||
private String warehouseName; // 所属仓库名
|
private String warehouseName; // 所属仓库名
|
||||||
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
private Long outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
|
||||||
|
private String remark; // 备注
|
||||||
|
|
||||||
private String orderId; //订单编号
|
|
||||||
private Integer purchaseStatus; //配件状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
private Integer purchaseStatus; //配件状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成,6=填写中,7=收货超期)
|
||||||
private String shippingAddress; //收货地址
|
private String shippingAddress; //收货地址
|
||||||
private String consigner; //发货人
|
private String consigner; //发货人
|
||||||
private String consignerPhone; //发货人联系电话
|
private String consignerPhone; //发货人联系电话
|
||||||
|
@ -45,4 +47,6 @@ public class SparePartPurchaseListVo implements Serializable {
|
||||||
private String responsiblePersonPhone; //采购人/联系电话
|
private String responsiblePersonPhone; //采购人/联系电话
|
||||||
private String createTimeStart;
|
private String createTimeStart;
|
||||||
private String createTimeEnd;
|
private String createTimeEnd;
|
||||||
|
private String purchaseIdea; //采购意见
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,5 +54,7 @@ public class SparePartStockAudit implements Serializable {
|
||||||
private String recipient; //领用员工
|
private String recipient; //领用员工
|
||||||
private String recipientPhone; //领用员工联系电话
|
private String recipientPhone; //领用员工联系电话
|
||||||
private Integer recipientNumber; //领用数量
|
private Integer recipientNumber; //领用数量
|
||||||
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
private Integer purchaseStatus; //配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成,6=填写中,7=收货超期)
|
||||||
|
private String purchaseIdea; //采购意见
|
||||||
|
|
||||||
}
|
}
|
|
@ -11,7 +11,7 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public enum AuditStateEnum {
|
public enum AuditStateEnum {
|
||||||
//配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成)
|
//配件领用状态(0=待审核,1=未通过,2=待管理员审核,3=待发货,4=待收货,5=已完成,6=填写中,7=收货超期)
|
||||||
UNREVIEWED(0, "待审核"),
|
UNREVIEWED(0, "待审核"),
|
||||||
AUDITED(1, "已审核"),
|
AUDITED(1, "已审核"),
|
||||||
CANCELED(2,"已取消"),
|
CANCELED(2,"已取消"),
|
||||||
|
@ -20,8 +20,10 @@ public enum AuditStateEnum {
|
||||||
WAITDELIVER(3, "待发货"),
|
WAITDELIVER(3, "待发货"),
|
||||||
WAITFORRECEIVING(4, "待收货"),
|
WAITFORRECEIVING(4, "待收货"),
|
||||||
DONE(5, "已完成"),
|
DONE(5, "已完成"),
|
||||||
|
FILLINGOUT(6, "填写中"),
|
||||||
|
OVERDUE(7, "收货超期"),
|
||||||
|
|
||||||
//审核结果(0=已通过,1=未通过)
|
//审核结果(0=已通过,1=未通过)
|
||||||
NOTPASS(1,"未通过"),
|
NOTPASS(1,"未通过"),
|
||||||
ALREADYPASSED(0, "已通过"),
|
ALREADYPASSED(0, "已通过"),
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue