【admin】优化#1、调拨库存审核 2、审核状态

dev
renfan 2024-08-05 21:11:31 +08:00
parent 0fe7614e66
commit af4b4276c0
15 changed files with 156 additions and 32 deletions

View File

@ -14,6 +14,7 @@ import com.hcy.common.dto.UserDto;
import com.hcy.common.entity.activity.Activity;
import com.hcy.common.entity.sparePart.SparePart;
import com.hcy.common.entity.warehouse.Warehouse;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.sparePart.SparePartMapper;
import com.hcy.common.mapper.warehouse.WarehouseMapper;
import com.hcy.common.utils.StringUtil;
@ -135,6 +136,16 @@ public class SparePartServiceImpl implements ISparePartService {
@Override
public void add(SparePartParam sparePartParam) {
SparePart model = new SparePart();
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("spare_parts_code", sparePartParam.getSparePartsCode())
.eq("warehouse_id", sparePartParam.getWarehouseId())
.eq("is_delete", 0)
.last("limit 1"));
if(sparePart != null){
throw new OperateException("当前仓库下的备件编码不可重复!");
}
model.setSparePartsCode(sparePartParam.getSparePartsCode());
model.setSparePartsName(sparePartParam.getSparePartsName());
model.setWarehouseId(sparePartParam.getWarehouseId());
@ -162,6 +173,16 @@ public class SparePartServiceImpl implements ISparePartService {
Assert.notNull(model, "数据不存在!");
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("spare_parts_code", sparePartParam.getSparePartsCode())
.eq("warehouse_id", sparePartParam.getWarehouseId())
.eq("is_delete", 0)
.last("limit 1"));
if(sparePart != null){
throw new OperateException("当前仓库下的备件编码不可重复!");
}
model.setId(sparePartParam.getId());
model.setSparePartsCode(sparePartParam.getSparePartsCode());
model.setSparePartsName(sparePartParam.getSparePartsName());

View File

@ -206,6 +206,12 @@ public class SpareParAllotServiceImpl implements ISparePartAllotService {
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件调拨数量
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
insertSparePartAudit.setCreateTime(System.currentTimeMillis() / 1000);
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("id", sparePartAudit.getId())
.eq("is_delete", 0)
.last("limit 1"));
insertSparePartAudit.setSparePartsCode(sparePart.getSparePartsCode()); //备件编码
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
}
sb.deleteCharAt(sb.length() - 1); // 删除最后一个逗号
@ -244,21 +250,43 @@ public class SpareParAllotServiceImpl implements ISparePartAllotService {
.eq("stock_audit_id", model.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(delectSparePartAudit, "数据不存在!");
if(delectSparePartAudit != null){
delectSparePartAudit.setIsDelete(1);
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
sparePartAuditMapper.updateById(delectSparePartAudit);
}
}
for (SparePartAudit sparePartAudit : sparePartAuditList) {
//插入新的备件审核信息
SparePartAudit insertSparePartAudit = new SparePartAudit();
if(sparePartAudit.getSparePartsId() != null){
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
}else {
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
}
sb.append(sparePartAudit.getId()).append(",");
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件调拨数量
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("id", insertSparePartAudit.getSparePartsId())
.eq("is_delete", 0)
.last("limit 1"));
insertSparePartAudit.setSparePartsCode(sparePart.getSparePartsCode()); //备件编码
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); // 删除最后一个逗号
model.setSparePartAuditId(String.valueOf(sb));// 备件审核id
model.setUpdateTime(System.currentTimeMillis() / 1000);

View File

@ -198,6 +198,12 @@ public class SparePartInWarehouseServiceImpl implements ISparePartInWarehouseSer
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件入库数量
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
insertSparePartAudit.setCreateTime(System.currentTimeMillis() / 1000);
SparePart sparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("id", sparePartAudit.getId())
.eq("is_delete", 0)
.last("limit 1"));
insertSparePartAudit.setSparePartsCode(sparePart.getSparePartsCode()); //备件编码
sparePartAuditMapper.insert(insertSparePartAudit);//插入备件审核信息
}
@ -239,21 +245,39 @@ public class SparePartInWarehouseServiceImpl implements ISparePartInWarehouseSer
.eq("stock_audit_id", model.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(delectSparePartAudit, "数据不存在!");
if(delectSparePartAudit != null){
delectSparePartAudit.setIsDelete(1);
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
sparePartAuditMapper.updateById(delectSparePartAudit);
}
}
for (SparePartAudit sparePartAudit : sparePartAuditList) {
//插入新的备件审核信息
SparePartAudit insertSparePartAudit = new SparePartAudit();
if(sparePartAudit.getSparePartsId() != null){
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
}else {
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
}
sb.append(sparePartAudit.getId()).append(",");
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件入库数量
insertSparePartAudit.setStockAuditId(model.getId()); // 出入库审核id
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
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); // 删除最后一个逗号
model.setSparePartAuditId(String.valueOf(sb));// 备件审核id
model.setUpdateTime(System.currentTimeMillis() / 1000);

View File

@ -234,14 +234,20 @@ public class SparePartOutWarehouseServiceImpl implements ISparePartOutWarehouseS
.eq("stock_audit_id", model.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(delectSparePartAudit, "数据不存在!");
if(delectSparePartAudit != null){
delectSparePartAudit.setIsDelete(1);
delectSparePartAudit.setDeleteTime(System.currentTimeMillis() / 1000);
sparePartAuditMapper.updateById(delectSparePartAudit);
}
}
for (SparePartAudit sparePartAudit : sparePartAuditList) {
//插入新的备件审核信息
SparePartAudit insertSparePartAudit = new SparePartAudit();
if(sparePartAudit.getSparePartsId() != null){
insertSparePartAudit.setSparePartsId(sparePartAudit.getSparePartsId()); //备件id
}else {
insertSparePartAudit.setSparePartsId(sparePartAudit.getId());
}
sb.append(sparePartAudit.getId()).append(",");
insertSparePartAudit.setCount(sparePartAudit.getCount()); //备件出库数量
@ -249,6 +255,16 @@ public class SparePartOutWarehouseServiceImpl implements ISparePartOutWarehouseS
insertSparePartAudit.setUpdateTime(System.currentTimeMillis() / 1000);
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); // 删除最后一个逗号
model.setSparePartAuditId(String.valueOf(sb));// 备件审核id
model.setUpdateTime(System.currentTimeMillis() / 1000);

View File

@ -94,7 +94,24 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
if (warehouse != null){
vo.setWarehouseName(warehouse.getWarehouseName());
}
// 调入仓库名
Warehouse importWarehouseName = warehouseMapper.selectOne(
new QueryWrapper<Warehouse>()
.eq("id", item.getImportWarehouse())
.eq("is_delete", 0)
.last("limit 1"));
if(importWarehouseName != null){
vo.setImportWarehouseName(importWarehouseName.getWarehouseName());
}
// 调出仓库名
Warehouse exportWarehouseName = warehouseMapper.selectOne(
new QueryWrapper<Warehouse>()
.eq("id", item.getExportWarehouse())
.eq("is_delete", 0)
.last("limit 1"));
if(exportWarehouseName != null){
vo.setExportWarehouseName(exportWarehouseName.getWarehouseName());
}
list.add(vo);
}
@ -323,7 +340,7 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
}else{
throw new OperateException("备件库存数量不足");
throw new OperateException("备件库存数量不足,请联系客服人员!");
}
sparePartMapper.updateById(sparePart);
}
@ -344,19 +361,33 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
if(sparePart.getQuantity() >= sparePartAudit.getCount()){
sparePart.setQuantity(sparePart.getQuantity() - sparePartAudit.getCount());
}else{
throw new OperateException("备件库存数量不足");
throw new OperateException("备件库存数量不足,请联系客服人员!");
}
sparePartMapper.updateById(sparePart);
/*//调入仓库
//调入仓库
SparePart inSparePart = sparePartMapper.selectOne(
new QueryWrapper<SparePart>()
.eq("id", sparePartAudit.getSparePartsId())
.eq("spare_parts_code", sparePartAudit.getSparePartsCode())
.eq("warehouse_id", model.getImportWarehouse())
.eq("is_delete", 0)
.last("limit 1"));
//入库时判断入库仓库是否有该备件,没有就新增新的配件
if(inSparePart != null){
inSparePart.setQuantity(inSparePart.getQuantity() + sparePartAudit.getCount());
sparePartMapper.updateById(inSparePart);*/
sparePartMapper.updateById(inSparePart);
}else{
SparePart addSparePart = new SparePart();
addSparePart.setSparePartsCode(sparePart.getSparePartsCode());//备件编码
addSparePart.setSparePartsName(sparePart.getSparePartsName());//备件名称
addSparePart.setWarehouseId(model.getImportWarehouse());//所属仓库
addSparePart.setSpecificationsModel(sparePart.getSpecificationsModel());//规格型号
addSparePart.setUnit(sparePart.getUnit());//单位
addSparePart.setQuantity(sparePartAudit.getCount());//库存数量
addSparePart.setUnitPrice(sparePart.getUnitPrice());//单价
sparePartMapper.insert(addSparePart);
}
}
}

View File

@ -22,7 +22,7 @@ public class SparePartOutWarehouseListVo implements Serializable {
private String responsiblePerson; // 经办人
private String handlingTime; // 经办时间
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private Long auditTime; // 审核时间
private String auditIdea; // 审核意见
private String createTime; // 创建时间

View File

@ -22,7 +22,7 @@ public class SparePartAllotListVo implements Serializable {
private String responsiblePerson; // 经办人
private String handlingTime; // 经办时间
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private Long auditTime; // 审核时间
private String auditIdea; // 审核意见
private String createTime; // 创建时间

View File

@ -22,7 +22,7 @@ public class SparePartInWarehouseListVo implements Serializable {
private String responsiblePerson; // 经办人
private String handlingTime; // 经办时间
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private Long auditTime; // 审核时间
private String auditIdea; // 审核意见
private String createTime; // 创建时间

View File

@ -26,7 +26,7 @@ public class SparePartStockAuditDetailVo implements Serializable {
private String handlingTime; // 经办时间
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private String auditTime; // 审核时间
private String auditIdea; // 审核意见
private String phone; // 联系电话

View File

@ -25,7 +25,7 @@ public class SparePartStockAuditListVo implements Serializable {
private String handlingTime; // 经办时间
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private String auditTime; // 审核时间
private String createTime; // 创建时间
private String updateTime; // 更新时间

View File

@ -1,6 +1,8 @@
package com.hcy.common.entity.sparePartStockAudit;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@ -26,7 +28,8 @@ public class SparePartStockAudit implements Serializable {
private Long handlingTime; // 经办时间
private String consignee; // 收货单位(人员)
private Integer auditState; // 审核状态0=未审核1=已审核2=已取消)
private Integer auditResult; // 审核结果0=未通过1=已通过)
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer auditResult; // 审核结果0=已通过1=未通过)
private Long auditTime; // 审核时间
private String auditIdea; // 审核意见
private String phone; // 联系电话

View File

@ -13,8 +13,9 @@ import java.util.Map;
public enum AuditStateEnum {
UNREVIEWED(0, "未审核"),
AUDITED(1, "已审核"),
CANCELED(2,"已取消"),
//审核结果0=已通过1=未通过)
NOTPASS(1,"未通过"),
ALREADYPASSED(0, "已通过"),