库存日志

This commit is contained in:
sxu 2024-08-06 17:05:54 +08:00
parent c8dc02fc99
commit 9a338f9513
33 changed files with 301 additions and 282 deletions

View File

@ -1,4 +1,4 @@
package com.bonus.sgzb.material.domain;
package com.bonus.sgzb.base.api.domain;
import java.math.BigDecimal;
import java.util.List;
@ -39,6 +39,12 @@ public class MaInputRecord extends BaseEntity
@ApiModelProperty(value = "入库类型(1新购入库2退料入库3修试后入库)")
private String inputType;
/**
* 库存数量
*/
@ApiModelProperty(value = "库存数量")
private Double num;
/** 入库数量 */
@ApiModelProperty(value = "入库数量")
private BigDecimal inputNum;
@ -104,7 +110,16 @@ public class MaInputRecord extends BaseEntity
{
return inputType;
}
public void setInputNum(BigDecimal inputNum)
public Double getNum() {
return num;
}
public void setNum(Double num) {
this.num = num;
}
public void setInputNum(BigDecimal inputNum)
{
this.inputNum = inputNum;
}

View File

@ -1,6 +1,6 @@
package com.bonus.sgzb.material.vo;
package com.bonus.sgzb.base.api.domain;
import com.bonus.sgzb.material.domain.MaInputRecord;
import com.bonus.sgzb.base.api.domain.MaInputRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.bonus.sgzb.material.domain;
package com.bonus.sgzb.base.api.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,5 +1,6 @@
package com.bonus.sgzb.material.domain;
package com.bonus.sgzb.base.api.domain;
import com.bonus.sgzb.base.api.domain.MachIneDto;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

View File

@ -1,6 +1,7 @@
package com.bonus.sgzb.system.api.factory;
import com.bonus.sgzb.system.api.domain.BmNumLogs;
import com.bonus.sgzb.base.api.domain.BmStorageLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@ -10,6 +11,8 @@ import com.bonus.sgzb.system.api.RemoteLogService;
import com.bonus.sgzb.system.api.domain.SysLogininfor;
import com.bonus.sgzb.system.api.domain.SysOperLog;
import java.util.List;
/**
* 日志服务降级处理
*
@ -37,6 +40,11 @@ public class RemoteLogFallbackFactory implements FallbackFactory<RemoteLogServic
return R.fail("保存物资库存日志失败:" + throwable.getMessage());
}
@Override
public R<Boolean> batchInsert(List<BmStorageLog> bmStorageLogList, String source) throws Exception {
return R.fail("保存物资库存日志失败:" + throwable.getMessage());
}
@Override
public R<Boolean> saveLogininfor(SysLogininfor sysLogininfor, String source)
{

View File

@ -4,9 +4,7 @@ import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.bonus.sgzb.base.api.domain.BmStorageLog;
import com.bonus.sgzb.base.api.domain.HttpResult;
import com.bonus.sgzb.base.api.domain.LeaseOutDetails;
import com.bonus.sgzb.base.api.domain.*;
import com.bonus.sgzb.common.core.constant.SecurityConstants;
import com.bonus.sgzb.common.core.domain.R;
import com.bonus.sgzb.common.log.annotation.Log;
@ -244,32 +242,32 @@ public class LogAspect
Map<?, ?> paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest());
if (StringUtils.isEmpty(paramsMap) && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) {
// 盘点入库操作
// if (joinPoint.getArgs()[0] instanceof SavePutInfoDto) {
// SavePutInfoDto savePutInfoDto = (SavePutInfoDto) joinPoint.getArgs()[0];
// for (MachIneDto machineDto : savePutInfoDto.getMachIneDtoList()) {
// BmStorageLog bmStorageLog = new BmStorageLog();
// bmStorageLog.setTypeId(Integer.parseInt(machineDto.getTypeId()));
// bmStorageLog.setTypeName(machineDto.getMaCode());
// bmStorageLog.setPreStoreNum(Objects.isNull(machineDto.getNum()) ? 0 : machineDto.getNum().intValue());
// bmStorageLog.setInNum(Objects.isNull(machineDto.getPutInStoreNum()) ? 0 : machineDto.getPutInStoreNum().intValue());
// bmStorageLog.setPostStoreNum(bmStorageLog.getPreStoreNum() + bmStorageLog.getInNum());
// bmStorageLogList.add(bmStorageLog);
// }
// }
if (joinPoint.getArgs()[0] instanceof SavePutInfoDto) {
SavePutInfoDto savePutInfoDto = (SavePutInfoDto) joinPoint.getArgs()[0];
for (MachIneDto machineDto : savePutInfoDto.getMachIneDtoList()) {
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTypeId(Integer.parseInt(machineDto.getTypeId()));
bmStorageLog.setTypeName(machineDto.getMaCode());
bmStorageLog.setPreStoreNum(Objects.isNull(machineDto.getNum()) ? 0 : machineDto.getNum().intValue());
bmStorageLog.setInNum(Objects.isNull(machineDto.getPutInStoreNum()) ? 0 : machineDto.getPutInStoreNum().intValue());
bmStorageLog.setPostStoreNum(bmStorageLog.getPreStoreNum() + bmStorageLog.getInNum());
bmStorageLogList.add(bmStorageLog);
}
}
// 新购验收任务 PurchaseMacodeInfoController.modifyManageStatus
// if (joinPoint.getArgs()[0] instanceof MaInputVO) {
// MaInputVO maInputVO = (MaInputVO) joinPoint.getArgs()[0];
// for (MaInputRecord maInputRecord : maInputVO.getInputRecordList()) {
// BmStorageLog bmStorageLog = new BmStorageLog();
// bmStorageLog.setTypeId(Objects.isNull(maInputRecord.getTypeId()) ? 0 : maInputRecord.getTypeId().intValue());
// bmStorageLog.setTypeName(maInputRecord.getMaCode());
// bmStorageLog.setPreStoreNum(Objects.isNull(maInputRecord.getNum()) ? 0: maInputRecord.getNum().intValue());
// bmStorageLog.setInNum(Objects.isNull(maInputRecord.getInputNum()) ? 0: maInputRecord.getInputNum().intValue());
// bmStorageLog.setPostStoreNum(bmStorageLog.getPreStoreNum() + bmStorageLog.getInNum());
// bmStorageLog.setTaskId(String.valueOf(maInputRecord.getTaskId()));
// bmStorageLogList.add(bmStorageLog);
// }
// }
if (joinPoint.getArgs()[0] instanceof MaInputVO) {
MaInputVO maInputVO = (MaInputVO) joinPoint.getArgs()[0];
for (MaInputRecord maInputRecord : maInputVO.getInputRecordList()) {
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTypeId(Objects.isNull(maInputRecord.getTypeId()) ? 0 : maInputRecord.getTypeId().intValue());
bmStorageLog.setTypeName(maInputRecord.getMaCode());
bmStorageLog.setPreStoreNum(Objects.isNull(maInputRecord.getNum()) ? 0: maInputRecord.getNum().intValue());
bmStorageLog.setInNum(Objects.isNull(maInputRecord.getInputNum()) ? 0: maInputRecord.getInputNum().intValue());
bmStorageLog.setPostStoreNum(bmStorageLog.getPreStoreNum() + bmStorageLog.getInNum());
bmStorageLog.setTaskId(String.valueOf(maInputRecord.getTaskId()));
bmStorageLogList.add(bmStorageLog);
}
}
// 新购配件入库审核 PurchaseAccessoryController.checkInput, 因为没有出入库闭环暂时不加库存监控日志
// if (joinPoint.getArgs()[0] instanceof MaInputVO) {
// MaInputVO maInputVO = (MaInputVO) joinPoint.getArgs()[0];

View File

@ -1,13 +1,11 @@
package com.bonus.sgzb.app.controller;
import com.bonus.sgzb.app.domain.BackApplyInfo;
import com.bonus.sgzb.app.domain.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import com.bonus.sgzb.app.domain.PurchaseCheckInfo;
import com.bonus.sgzb.app.domain.PurchaseMacodeInfo;
import com.bonus.sgzb.app.service.PurchaseInputService;
import com.bonus.sgzb.common.core.web.controller.BaseController;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.core.web.page.TableDataInfo;
import com.bonus.sgzb.common.log.annotation.Log;
import com.bonus.sgzb.common.log.enums.BusinessType;
import com.bonus.sgzb.common.security.utils.SecurityUtils;

View File

@ -1,168 +0,0 @@
package com.bonus.sgzb.app.domain;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 入库记录ma_input_record对象 ma_input_record
*
* @author bonus
* @date 2023-12-15
*/
public class MaInputRecord extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
@ApiModelProperty(value = "主键id")
private Long id;
/** 任务ID */
@ApiModelProperty(value = "任务ID")
private Long taskId;
/** 类型ID */
@ApiModelProperty(value = "类型ID")
private Long typeId;
/** 机具ID */
@ApiModelProperty(value = "机具ID")
private Long maId;
/** 入库类型(1新购入库2退料入库3修试后入库) */
@ApiModelProperty(value = "入库类型(1新购入库2退料入库3修试后入库)")
private String inputType;
/** 入库数量 */
@ApiModelProperty(value = "入库数量")
private BigDecimal inputNum;
/** 状态0删除1正常 */
@ApiModelProperty(value = "状态 0=删除1正常")
private String status;
/** 数据所属组织 */
@ApiModelProperty(value = "数据所属组织")
private Long companyId;
@ApiModelProperty(value = "验收结论")
private String checkResult;
@ApiModelProperty(value = "机具编号")
private String maCode;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setTaskId(Long taskId)
{
this.taskId = taskId;
}
public Long getTaskId()
{
return taskId;
}
public void setTypeId(Long typeId)
{
this.typeId = typeId;
}
public Long getTypeId()
{
return typeId;
}
public void setMaId(Long maId)
{
this.maId = maId;
}
public Long getMaId()
{
return maId;
}
public void setInputType(String inputType)
{
this.inputType = inputType;
}
public String getInputType()
{
return inputType;
}
public void setInputNum(BigDecimal inputNum)
{
this.inputNum = inputNum;
}
public BigDecimal getInputNum()
{
return inputNum;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setCompanyId(Long companyId)
{
this.companyId = companyId;
}
public Long getCompanyId()
{
return companyId;
}
public String getCheckResult() {
return checkResult;
}
public void setCheckResult(String checkResult) {
this.checkResult = checkResult;
}
public String getMaCode() {
return maCode;
}
public void setMaCode(String maCode) {
this.maCode = maCode;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("taskId", getTaskId())
.append("typeId", getTypeId())
.append("maId", getMaId())
.append("inputType", getInputType())
.append("inputNum", getInputNum())
.append("status", getStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("companyId", getCompanyId())
.toString();
}
}

View File

@ -1,24 +0,0 @@
package com.bonus.sgzb.app.domain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class MaInputVO {
/** 任务ID */
@ApiModelProperty(value = "任务ID")
private Long taskId;
@ApiModelProperty(value = "验收结论")
private String checkResult;
/**
* 入库记录
*/
private List<MaInputRecord> inputRecordList;
}

View File

@ -1,6 +1,7 @@
package com.bonus.sgzb.app.mapper;
import com.bonus.sgzb.app.domain.*;
import com.bonus.sgzb.base.api.domain.MaInputRecord;
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MaType;
import org.apache.ibatis.annotations.Mapper;

View File

@ -1,7 +1,6 @@
package com.bonus.sgzb.app.service;
import com.bonus.sgzb.app.domain.BackApplyInfo;
import com.bonus.sgzb.app.domain.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import com.bonus.sgzb.app.domain.PurchaseCheckInfo;
import com.bonus.sgzb.app.domain.PurchaseMacodeInfo;

View File

@ -3,6 +3,8 @@ package com.bonus.sgzb.app.service.impl;
import com.bonus.sgzb.app.domain.*;
import com.bonus.sgzb.app.mapper.PurchaseInputMapper;
import com.bonus.sgzb.app.service.PurchaseInputService;
import com.bonus.sgzb.base.api.domain.MaInputRecord;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.common.core.utils.DateUtils;

View File

@ -47,7 +47,7 @@
<if test="companyId != null">#{companyId},</if>
</trim>
</insert>
<insert id="insertMaInputRecord" parameterType="com.bonus.sgzb.app.domain.MaInputRecord" useGeneratedKeys="true" keyProperty="id">
<insert id="insertMaInputRecord" parameterType="com.bonus.sgzb.base.api.domain.MaInputRecord" useGeneratedKeys="true" keyProperty="id">
insert into ma_input_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskId != null">task_id,</if>

View File

@ -6,7 +6,7 @@ import com.bonus.sgzb.common.core.web.page.TableDataInfo;
import com.bonus.sgzb.common.log.annotation.Log;
import com.bonus.sgzb.common.log.enums.BusinessType;
import com.bonus.sgzb.material.domain.PutInStorageBean;
import com.bonus.sgzb.material.domain.SavePutInfoDto;
import com.bonus.sgzb.base.api.domain.SavePutInfoDto;
import com.bonus.sgzb.material.service.InventoryAndWarehousingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@ -8,7 +8,6 @@ import com.bonus.sgzb.common.log.annotation.Log;
import com.bonus.sgzb.common.log.enums.BusinessType;
import com.bonus.sgzb.material.domain.*;
import com.bonus.sgzb.material.service.IPurchaseAccessoryService;
import com.bonus.sgzb.material.vo.MaInputVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -10,12 +10,8 @@ import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.material.domain.PurchaseCheckInfo;
import com.bonus.sgzb.material.domain.PurchaseInput;
import com.bonus.sgzb.material.domain.PurchaseMacodeInfo;
import com.bonus.sgzb.material.service.IPurchaseCheckInfoService;
import com.bonus.sgzb.material.service.PurchaseCheckServiceCenterService;
import com.bonus.sgzb.material.vo.MaInputVO;
import com.bonus.sgzb.material.vo.NoticeInfoVO;
import com.bonus.sgzb.system.api.domain.SysUser;
import com.bonus.sgzb.system.api.model.LoginUser;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -5,13 +5,9 @@ import javax.servlet.http.HttpServletResponse;
import com.bonus.sgzb.common.log.annotation.Log;
import com.bonus.sgzb.common.log.enums.BusinessType;
import com.bonus.sgzb.material.domain.LeaseApplyInfo;
import com.bonus.sgzb.material.domain.MaInputRecord;
import com.bonus.sgzb.material.service.IPurchaseMacodeInfoService;
import com.bonus.sgzb.material.domain.PurchaseMacodeInfo;
import com.bonus.sgzb.material.service.LeaseRecordService;
import com.bonus.sgzb.material.vo.EquipmentNumberVO;
import com.bonus.sgzb.material.vo.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -33,6 +33,12 @@ public class PurchaseMacodeInfo extends BaseEntity
@ApiModelProperty(value = "类型ID")
private Long typeId;
/**
* 库存数量
*/
@ApiModelProperty(value = "库存数量")
private Double num;
/** 机具编号 */
@ApiModelProperty(value = "机具编号")
private String maCode;
@ -173,7 +179,16 @@ public class PurchaseMacodeInfo extends BaseEntity
{
return typeId;
}
public void setMaCode(String maCode)
public Double getNum() {
return num;
}
public void setNum(Double num) {
this.num = num;
}
public void setMaCode(String maCode)
{
this.maCode = maCode;
}

View File

@ -1,6 +1,6 @@
package com.bonus.sgzb.material.mapper;
import com.bonus.sgzb.material.domain.MachIneDto;
import com.bonus.sgzb.base.api.domain.MachIneDto;
import com.bonus.sgzb.material.domain.PutInStorageBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

View File

@ -1,5 +1,6 @@
package com.bonus.sgzb.material.mapper;
import com.bonus.sgzb.base.api.domain.MaInputRecord;
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.material.domain.*;

View File

@ -6,7 +6,7 @@ import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MaMachineLabel;
import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.material.domain.InputApplyDetails;
import com.bonus.sgzb.material.domain.MaInputRecord;
import com.bonus.sgzb.base.api.domain.MaInputRecord;
import com.bonus.sgzb.material.domain.MachinePart;
import com.bonus.sgzb.material.domain.PurchaseMacodeInfo;
import org.apache.ibatis.annotations.Mapper;

View File

@ -2,10 +2,8 @@ package com.bonus.sgzb.material.service;
import com.bonus.sgzb.base.api.domain.MaMachineLabel;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.MaInputRecord;
import com.bonus.sgzb.material.domain.PurchaseMacodeInfo;
import com.bonus.sgzb.material.vo.EquipmentNumberVO;
import com.bonus.sgzb.material.vo.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import java.util.List;

View File

@ -3,7 +3,7 @@ package com.bonus.sgzb.material.service;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.PutInStorageBean;
import com.bonus.sgzb.material.domain.SavePutInfoDto;
import com.bonus.sgzb.base.api.domain.SavePutInfoDto;
import java.util.List;

View File

@ -3,7 +3,7 @@ package com.bonus.sgzb.material.service;
import com.bonus.sgzb.material.domain.PurchaseCheckInfo;
import com.bonus.sgzb.material.domain.PurchaseInput;
import com.bonus.sgzb.material.domain.PurchaseMacodeInfo;
import com.bonus.sgzb.material.vo.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import com.bonus.sgzb.material.vo.NoticeInfoVO;
import java.util.List;

View File

@ -7,9 +7,9 @@ import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.material.config.ExceptionEnum;
import com.bonus.sgzb.material.config.FieldGenerator;
import com.bonus.sgzb.material.domain.MachIneDto;
import com.bonus.sgzb.base.api.domain.MachIneDto;
import com.bonus.sgzb.material.domain.PutInStorageBean;
import com.bonus.sgzb.material.domain.SavePutInfoDto;
import com.bonus.sgzb.base.api.domain.SavePutInfoDto;
import com.bonus.sgzb.material.mapper.InventoryAndWarehousingMapper;
import com.bonus.sgzb.material.service.InventoryAndWarehousingService;
import com.bonus.sgzb.material.vo.GlobalContants;

View File

@ -1,26 +1,22 @@
package com.bonus.sgzb.material.service.impl;
import com.bonus.sgzb.base.api.domain.MaMachine;
import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.base.api.domain.MaInputRecord;
import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.utils.StringHelper;
import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.material.domain.*;
import com.bonus.sgzb.material.mapper.PurchaseCheckDetailsMapper;
import com.bonus.sgzb.material.mapper.PurchaseCheckInfoMapper;
import com.bonus.sgzb.material.mapper.PurchaseCheckServiceCenterMapper;
import com.bonus.sgzb.material.mapper.TaskMapper;
import com.bonus.sgzb.material.service.IPurchaseCheckInfoService;
import com.bonus.sgzb.material.service.PurchaseCheckServiceCenterService;
import com.bonus.sgzb.material.vo.GlobalContants;
import com.bonus.sgzb.material.vo.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import com.bonus.sgzb.material.vo.NoticeInfoVO;
import com.bonus.sgzb.system.api.RemoteUserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

View File

@ -15,7 +15,7 @@ import com.bonus.sgzb.material.service.IPurchaseCheckInfoService;
import com.bonus.sgzb.material.service.IPurchaseMacodeInfoService;
import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.material.vo.GlobalContants;
import com.bonus.sgzb.material.vo.MaInputVO;
import com.bonus.sgzb.base.api.domain.MaInputVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@ -224,7 +224,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select count(*) from purchase_check_details where task_id = #{taskId} and status ='1'
</select>
<insert id="insertMaInputRecord" parameterType="com.bonus.sgzb.material.domain.MaInputRecord" useGeneratedKeys="true" keyProperty="id">
<insert id="insertMaInputRecord" parameterType="com.bonus.sgzb.base.api.domain.MaInputRecord" useGeneratedKeys="true" keyProperty="id">
insert into ma_input_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="taskId != null">task_id,</if>
@ -361,6 +361,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pcd.type_id typeId,
pcd.task_id taskId,
mt.code specsCode,
mt.num num,
mt1.code typeCode,
CASE
WHEN pmi.ma_code is null THEN

View File

@ -90,7 +90,7 @@
<!-- )-->
<!-- </insert>-->
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="com.bonus.sgzb.system.api.domain.BmStorageLog" useGeneratedKeys="true">
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="com.bonus.sgzb.base.api.domain.BmStorageLog" useGeneratedKeys="true">
insert into bm_storage_log (model_title, `method`, task_id, type_id,
create_time, creator, remark, out_num, manage_type,
type_name, type_model_name, pre_store_num, in_num,
@ -109,7 +109,7 @@
</foreach>
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.bonus.sgzb.system.api.domain.BmStorageLog" useGeneratedKeys="true">
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.bonus.sgzb.base.api.domain.BmStorageLog" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into bm_storage_log
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -178,7 +178,7 @@
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.bonus.sgzb.system.api.domain.BmStorageLog">
<update id="updateByPrimaryKeySelective" parameterType="com.bonus.sgzb.base.api.domain.BmStorageLog">
<!--@mbg.generated-->
update bm_storage_log
<set>
@ -213,7 +213,7 @@
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.bonus.sgzb.system.api.domain.BmStorageLog">
<update id="updateByPrimaryKey" parameterType="com.bonus.sgzb.base.api.domain.BmStorageLog">
<!--@mbg.generated-->
update bm_storage_log
set model_title = #{modelTitle,jdbcType=VARCHAR},

View File

@ -3,16 +3,16 @@ import request from '@/utils/request'
/* 日志列表 */
export const getLogsListApi = (params) => {
return request.get('/system/bm_num_logs/list', {
return request.get('/system/bm_storage_logs/list', {
params:params
})
}
/* 日志详情 */
export const getLogsDetailsApi = (id) => {
return request.get(`/system/bm_num_logs/selectByPrimaryKey`, {
return request.get(`/system/bm_storage_logs/selectByPrimaryKey`, {
params: {
id
}
})
}
}

View File

@ -0,0 +1,169 @@
<template>
<!-- 库存日志 -->
<div class="app-container">
<el-row>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="模块名称" prop="modelTitle">
<el-input
v-model="queryParams.modelTitle"
placeholder="请输入模块名称"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="机具类型" prop="typeName">
<el-cascader
placeholder="请选择机具类型"
:options="deviceTypeTree"
:props="{ checkStrictly: true, value: 'label' }"
@change="handleBaseValue"
clearable
filterable
:show-all-levels="false"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</el-row>
<el-table :data="tableList" border>
<el-table-column align="center" label="序号" type="index" width="60" />
<el-table-column align="center" prop="modelTitle" label="模块名称" show-overflow-tooltip />
<el-table-column show-overflow-tooltip align="center" prop="method" label="请求方式" />
<el-table-column show-overflow-tooltip align="center" prop="requestMethod" label="请求地址" />
<el-table-column show-overflow-tooltip align="center" prop="task" label="实例" />
<el-table-column show-overflow-tooltip align="center" prop="typeParentName" label="机具类型" />
<el-table-column show-overflow-tooltip align="center" prop="typeName" label="机具规格" />
<el-table-column show-overflow-tooltip align="center" prop="description" label="描述" />
<el-table-column show-overflow-tooltip align="center" prop="time" label="日期" />
<el-table-column align="center" label="状态">
<template slot-scope="{ row }">
<el-tag size="mini" type="success" v-if="row.status == 0">正常</el-tag>
<el-tag size="mini" type="warning" v-else>异常</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="creator" label="创建人" />
<el-table-column align="center" prop="remark" label="备注" />
<el-table-column align="center" label="操作">
<template slot-scope="{ row }">
<el-button size="mini" type="text" @click="previewLogsDetails(row)">详情</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 详情弹框 -->
<el-dialog title="日志详情" :visible.sync="logsDetailsDialogVisible" width="60%">
<el-descriptions
class="margin-top"
:column="3"
size="medium"
border
:labelStyle="commonStyle"
:contentStyle="commonStyle"
>
<el-descriptions-item v-for="(item, v) in detailsLabelList" :key="v">
<template slot="label">{{ item.label }}</template>
{{ logsDetailsInfo[item.content] || '' }}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</div>
</template>
<script>
import { getLogsListApi, getLogsDetailsApi } from '@/api/inventoryLogs'
import { getDeviceTypeTree } from '@/api/claimAndRefund/receive'
export default {
name: 'myInventoryLogs',
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
modelTitle: '', //
typeName: '', //
},
tableList: [],
total: 5,
logsDetailsInfo: null /* 日志详情 */,
logsDetailsDialogVisible: false,
commonStyle: {
'text-align': 'center',
},
/* 日志详情label以及内容 */
detailsLabelList: [
{ label: '创建人', content: 'creator' },
{ label: '请求方式', content: 'method' },
{ label: '模块名称', content: 'modelTitle' },
{ label: '请求地址', content: 'requestMethod' },
{ label: '机具名称', content: 'typeParentName' },
{ label: '机具规格', content: 'typeName' },
{ label: '日期', content: 'time' },
{ label: '实例', content: 'task' },
],
logsDetailsInfo: {},
deviceTypeTree: [], //
}
},
methods: {
/* 查询列表 */
async getList() {
const res = await getLogsListApi(this.queryParams)
this.tableList = res.rows
this.total = res.total
},
/* 搜索按钮 */
handleQuery() {
this.getList()
},
/* 重置按钮 */
resetQuery() {
this.resetForm('queryForm')
this.queryParams.pageNum = 1
this.queryParams.pageSize = 10
this.queryParams.typeName = ''
this.getList()
},
/* 查看详情 */
async previewLogsDetails(row) {
console.log(row, '列表id')
const res = await getLogsDetailsApi(row.id)
this.logsDetailsInfo = res
this.logsDetailsDialogVisible = true
},
async GetDeviceTypeTree() {
const params = {
level: 4,
}
const res = await getDeviceTypeTree(params)
this.deviceTypeTree = res.data
},
/* 获取最后一级 */
handleBaseValue(val) {
this.queryParams.typeName = val[val.length - 1]
}
},
created() {
this.getList()
this.GetDeviceTypeTree()
},
}
</script>
<style scoped>
.margin-top {
margin-top: -15px;
}
</style>

View File

@ -33,21 +33,28 @@
<el-table :data="tableList" border>
<el-table-column align="center" label="序号" type="index" width="60" />
<el-table-column align="center" prop="modelTitle" label="模块名称" show-overflow-tooltip />
<el-table-column show-overflow-tooltip align="center" prop="method" label="请求方式" />
<el-table-column show-overflow-tooltip align="center" prop="requestMethod" label="请求地址" />
<el-table-column show-overflow-tooltip align="center" prop="task" label="实例" />
<!-- <el-table-column show-overflow-tooltip align="center" prop="method" label="请求方式" />-->
<!-- <el-table-column show-overflow-tooltip align="center" prop="method" label="请求地址" />-->
<!-- <el-table-column show-overflow-tooltip align="center" prop="taskId" label="任务ID" />-->
<el-table-column show-overflow-tooltip align="center" prop="typeParentName" label="机具类型" />
<el-table-column show-overflow-tooltip align="center" prop="typeName" label="机具规格" />
<el-table-column show-overflow-tooltip align="center" prop="description" label="描述" />
<el-table-column show-overflow-tooltip align="center" prop="time" label="日期" />
<el-table-column show-overflow-tooltip align="center" prop="preStoreNum" label="操作前库存" />
<el-table-column show-overflow-tooltip align="center" prop="inNum" label="入库数量" />
<el-table-column show-overflow-tooltip align="center" prop="outNum" label="出库数量" />
<el-table-column show-overflow-tooltip align="center" prop="passNum" label="(退库)合格数量" />
<el-table-column show-overflow-tooltip align="center" prop="maintenanceNum" label="(退库)维修数量" />
<el-table-column show-overflow-tooltip align="center" prop="scrapNum" label="(退库)报废数量" />
<!-- <el-table-column show-overflow-tooltip align="center" prop="description" label="描述" />-->
<el-table-column show-overflow-tooltip align="center" prop="postStoreNum" label="操作后库存" />
<el-table-column show-overflow-tooltip align="center" prop="createTime" label="日期" />
<el-table-column align="center" label="状态">
<template slot-scope="{ row }">
<el-tag size="mini" type="success" v-if="row.status == 0">正常</el-tag>
<el-tag size="mini" type="warning" v-else>异常</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="creator" label="创建人" />
<el-table-column align="center" prop="remark" label="备注" />
<!-- <el-table-column align="center" prop="creator" label="创建人" />-->
<!-- <el-table-column align="center" prop="remark" label="备注" />-->
<el-table-column align="center" label="操作">
<template slot-scope="{ row }">
<el-button size="mini" type="text" @click="previewLogsDetails(row)">详情</el-button>
@ -105,13 +112,22 @@ export default {
/* 日志详情label以及内容 */
detailsLabelList: [
{ label: '创建人', content: 'creator' },
{ label: '请求方式', content: 'method' },
{ label: '模块名称', content: 'modelTitle' },
{ label: '请求地址', content: 'requestMethod' },
{ label: '机具名称', content: 'typeParentName' },
{ label: '机具规格', content: 'typeName' },
{ label: '日期', content: 'time' },
{ label: '实例', content: 'task' },
{ label: '任务ID', content: 'taskId' },
{ label: '机具类型', content: 'typeParentName' },
{ label: '机具规格', content: 'typeName' },
{ label: '日期', content: 'createTime' },
// { label: '', content: 'preNum' },
// { label: '', content: 'auditNum' },
{ label: '操作前库存', content: 'preStoreNum' },
{ label: '入库数量', content: 'inNum' },
{ label: '出库数量', content: 'outNum' },
{ label: '(退库)总数量', content: 'backNum' },
{ label: '(退库)合格数量', content: 'passNum' },
{ label: '(退库)维修数量', content: 'maintenanceNum' },
{ label: '(退库)报废数量', content: 'scrapNum' },
{ label: '操作后库存', content: 'postStoreNum' },
{ label: '请求地址', content: 'method' },
],
logsDetailsInfo: {},
deviceTypeTree: [], //
@ -167,3 +183,4 @@ export default {
margin-top: -15px;
}
</style>

View File

@ -718,6 +718,7 @@ export default {
inputNum: row.checkNum,
maCode: row.maCode,
typeId: row.typeId,
num: row.num,
}
let param = {