资源管理 后台接口完成

parent 0c9af13e
package cn.wise.sc.cement.business.controller;
import cn.wise.sc.cement.business.entity.Consumables;
import cn.wise.sc.cement.business.entity.Standard;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.ChangeStockQuery;
import cn.wise.sc.cement.business.model.query.ChangeValidDateQuery;
import cn.wise.sc.cement.business.model.query.StandardQuery;
import cn.wise.sc.cement.business.service.IStandardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Api(tags="资源管理-标样管理")
@RestController
@RequestMapping("/business/standard")
public class StandardController {
private static final Logger log = LoggerFactory.getLogger("StandardController");
@Autowired
private IStandardService standardService;
@ApiOperation(value = "标样分页列表")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "name", value = "易耗品名称", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "supplierName", value = "购买厂商名称", paramType = "query", dataType = "String")
})
@GetMapping("/getPage")
public BaseResponse getPage(PageQuery pageQuery, String name, String supplierName) {
try {
return standardService.getPage(pageQuery, name, supplierName);
} catch (Exception e) {
log.debug("标样分页列表{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "新增标样")
@PostMapping("/create")
public BaseResponse create(@RequestBody StandardQuery query) {
try {
return standardService.create(query);
}catch (Exception e) {
log.debug("新增标样{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "修改标样")
@PostMapping("/update")
public BaseResponse update(@RequestBody StandardQuery query) {
try {
return standardService.update(query);
}catch (Exception e) {
log.debug("修改标样{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "标样详情")
@GetMapping("/{id}")
public BaseResponse getById(@PathVariable Integer id){
try {
return standardService.getDetail(id);
}catch (Exception e){
log.debug("标样详情{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "标样列表")
@GetMapping("/getList")
public BaseResponse getList(){
try {
List<Standard> list = standardService.list();
return BaseResponse.okData(list);
}catch (Exception e){
log.debug("标样列表{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "删除标样")
@PostMapping("/delete/{id}")
public BaseResponse delete(@PathVariable Integer id){
try {
standardService.removeById(id);
return BaseResponse.okData("删除成功");
}catch (Exception e){
log.debug("删除标样{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "新增入库")
@PostMapping("/enter")
public BaseResponse enter(@RequestBody ChangeStockQuery query) {
try {
return standardService.enter(query);
}catch (Exception e) {
log.debug("新增入库{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "领用出库")
@PostMapping("/out")
public BaseResponse out(@RequestBody ChangeStockQuery query) {
try {
return standardService.out(query);
}catch (Exception e) {
log.debug("领用出库{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "变更有效期")
@PostMapping("/changeValidDate")
public BaseResponse changeValidDate(@RequestBody ChangeValidDateQuery query) {
try {
return standardService.changeValidDate(query);
}catch (Exception e) {
log.debug("变更有效期{}",e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "过期处置")
@PostMapping("/overdue")
public BaseResponse overdue(Integer id) {
try {
return standardService.overdue(id);
}catch (Exception e) {
log.debug("过期处置{}",e);
}
return BaseResponse.errorMsg("失败!");
}
}
package cn.wise.sc.cement.business.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Standard implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("标准样品名称")
private String name;
@ApiModelProperty("标准样品代号")
private String code;
@ApiModelProperty("供应商表id")
private Integer supplierId;
@ApiModelProperty("购买厂商(经销单位)")
private String supplierName;
@ApiModelProperty("进样日期")
private LocalDate purchaseDate;
@ApiModelProperty("有效日期")
private LocalDate validDate;
@ApiModelProperty("存储位置")
private String position;
@ApiModelProperty("库存数量")
private BigDecimal stockNum;
@ApiModelProperty("库存提醒数量(少于多少进行提醒)")
private BigDecimal leastNum;
@ApiModelProperty("状态(0已作废,1启用中)")
private Integer status;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("备注")
private String remark;
}
package cn.wise.sc.cement.business.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class StandardEnter implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("标样表id")
private Integer standardId;
@ApiModelProperty("操作人id")
private Integer userId;
@ApiModelProperty("新增数量")
private BigDecimal enterNum;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("备注")
private String remark;
}
package cn.wise.sc.cement.business.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class StandardOut implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("标样表id")
private Integer standardId;
@ApiModelProperty("领用人id")
private Integer userId;
@ApiModelProperty("领用量")
private BigDecimal collectNum;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("备注")
private String remark;
}
package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class StandardValue implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("标样表id")
private Integer standardId;
@ApiModelProperty("元素名称")
private String elementName;
@ApiModelProperty("元素各项值 json串")
private String elementValue;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("备注")
private String remark;
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.StandardEnter;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface StandardEnterMapper extends BaseMapper<StandardEnter> {
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.Standard;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface StandardMapper extends BaseMapper<Standard> {
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.StandardOut;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface StandardOutMapper extends BaseMapper<StandardOut> {
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.StandardValue;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface StandardValueMapper extends BaseMapper<StandardValue> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wise.sc.cement.business.mapper.StandardEnterMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wise.sc.cement.business.mapper.StandardMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wise.sc.cement.business.mapper.StandardOutMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wise.sc.cement.business.mapper.StandardValueMapper">
</mapper>
package cn.wise.sc.cement.business.model.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* @description:
* @author: ztw
* @create: 2020-08-07 14:58
**/
@Data
@ApiModel("职务请求")
public class StandardQuery {
private Integer id;
@ApiModelProperty("标准样品名称")
private String name;
@ApiModelProperty("标准样品代号")
private String code;
@ApiModelProperty("供应商表id")
private Integer supplierId;
@ApiModelProperty("购买厂商(经销单位)")
private String supplierName;
@ApiModelProperty("进样日期")
private LocalDate purchaseDate;
@ApiModelProperty("有效日期")
private LocalDate validDate;
@ApiModelProperty("存储位置")
private String position;
@ApiModelProperty("库存数量")
private BigDecimal stockNum;
@ApiModelProperty("库存提醒数量(少于多少进行提醒)")
private BigDecimal leastNum;
@ApiModelProperty("备注")
private String remark;
private String enclosure;
@ApiModelProperty("标样材料信息")
private List<EnclosureQuery> enclosureQueryList;
@ApiModelProperty("标准值")
private List<StandardValueQuery> standardValueQueryList;
}
package cn.wise.sc.cement.business.model.query;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @description:
* @author: ztw
* @create: 2020-08-07 14:58
**/
@Data
@ApiModel("标样管理-标准值请求")
public class StandardValueQuery {
@ApiModelProperty("元素名称")
private String elementName;
@ApiModelProperty("元素各项值 json串")
private String elementValue;
}
package cn.wise.sc.cement.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: ztw
* @create: 2020-08-07 14:58
**/
@Data
@ApiModel("标样管理-标准值请求Vo")
public class StandardValueVo {
@ApiModelProperty("元素表id")
private Integer id;
@ApiModelProperty("元素名称")
private String elementName;
@ApiModelProperty("元素各项值 json串")
private String elementValue;
}
package cn.wise.sc.cement.business.model.vo;
import cn.wise.sc.cement.business.entity.StandardValue;
import cn.wise.sc.cement.business.model.query.EnclosureQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* @description:
* @author: ztw
* @create: 2020-08-07 15:09
**/
@Data
@ApiModel("标样Vo")
public class StandardVo {
/**
* 主键
*/
@ApiModelProperty("标准样品表id")
private Integer id;
@ApiModelProperty("标准样品名称")
private String name;
@ApiModelProperty("标准样品代号")
private String code;
@ApiModelProperty("供应商表id")
private Integer supplierId;
@ApiModelProperty("购买厂商(经销单位)")
private String supplierName;
@ApiModelProperty("进样日期")
private LocalDate purchaseDate;
@ApiModelProperty("有效日期")
private LocalDate validDate;
@ApiModelProperty("存储位置")
private String position;
@ApiModelProperty("库存数量")
private BigDecimal stockNum;
@ApiModelProperty("库存提醒数量(少于多少进行提醒)")
private BigDecimal leastNum;
@ApiModelProperty("状态(0已作废,1启用中)")
private Integer status;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("标样材料信息")
private List<EnclosureQuery> enclosureQueryList;
@ApiModelProperty("标准值")
private List<StandardValue> standardValueList;
}
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.StandardEnter;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface IStandardEnterService extends IService<StandardEnter> {
}
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.StandardOut;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface IStandardOutService extends IService<StandardOut> {
}
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.Standard;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.ChangeStockQuery;
import cn.wise.sc.cement.business.model.query.ChangeValidDateQuery;
import cn.wise.sc.cement.business.model.query.StandardQuery;
import cn.wise.sc.cement.business.model.vo.StandardVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface IStandardService extends IService<Standard> {
BaseResponse<IPage<Standard>> getPage(PageQuery pageQuery, String name, String supplierName);
BaseResponse<Standard> create(StandardQuery query);
BaseResponse<Standard> update(StandardQuery query);
BaseResponse<StandardVo> getDetail(Integer id);
BaseResponse<String> enter(ChangeStockQuery query);
BaseResponse<String> out(ChangeStockQuery query);
BaseResponse<String> changeValidDate(ChangeValidDateQuery query);
BaseResponse<String> overdue(Integer id);
}
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.StandardValue;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
public interface IStandardValueService extends IService<StandardValue> {
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.StandardEnter;
import cn.wise.sc.cement.business.mapper.StandardEnterMapper;
import cn.wise.sc.cement.business.service.IStandardEnterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Service
public class StandardEnterServiceImpl extends ServiceImpl<StandardEnterMapper, StandardEnter> implements IStandardEnterService {
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.StandardOut;
import cn.wise.sc.cement.business.mapper.StandardOutMapper;
import cn.wise.sc.cement.business.service.IStandardOutService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Service
public class StandardOutServiceImpl extends ServiceImpl<StandardOutMapper, StandardOut> implements IStandardOutService {
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.*;
import cn.wise.sc.cement.business.mapper.StandardEnterMapper;
import cn.wise.sc.cement.business.mapper.StandardMapper;
import cn.wise.sc.cement.business.mapper.StandardOutMapper;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.LoginUser;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.*;
import cn.wise.sc.cement.business.model.vo.StandardVo;
import cn.wise.sc.cement.business.service.IStandardEnterService;
import cn.wise.sc.cement.business.service.IStandardService;
import cn.wise.sc.cement.business.service.IStandardValueService;
import cn.wise.sc.cement.business.service.ISysUserService;
import cn.wise.sc.cement.business.wrapper.page.Query;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Service
public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> implements IStandardService {
@Resource
private StandardMapper standardMapper;
@Autowired
private ISysUserService userService;
@Resource
private StandardEnterMapper standardEnterMapper;
@Resource
private StandardOutMapper standardOutMapper;
@Autowired
private IStandardValueService standardValueService;
@Autowired
private CommonServiceImpl commonService;
/**
* 分页查询
* @param pageQuery
* @param name
* @param supplierName
* @return
*/
@Override
public BaseResponse<IPage<Standard>> getPage(PageQuery pageQuery, String name, String supplierName) {
QueryWrapper<Standard> qw = new QueryWrapper<>();
if(StringUtils.isNotEmpty(name)){
qw.like("name", name);
}
if(StringUtils.isNotEmpty(supplierName)){
qw.like("supplier_name", supplierName);
}
qw.orderByDesc("create_time");
IPage<Standard> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
page = standardMapper.selectPage(page, qw);
return BaseResponse.okData(page);
}
/**
* 新增标样
* @param query
* @return
*/
@Transactional
@Override
public BaseResponse<Standard> create(StandardQuery query) {
if (StringUtils.isEmpty(query.getName())) {
return BaseResponse.errorMsg("标样名称不能为空!");
}
QueryWrapper<Standard> qw = new QueryWrapper<>();
qw.eq("name", query.getName());
int count = standardMapper.selectCount(qw);
if (count > 0) {
return BaseResponse.errorMsg(query.getName() + "已存在");
}
Standard standard = new Standard();
BeanUtils.copyProperties(query, standard);
standard.setStatus(1)
.setCreateTime(LocalDateTime.now());
standardMapper.insert(standard);
//添加标准值
if(query.getStandardValueQueryList() != null && query.getStandardValueQueryList().size()>0){
List<StandardValueQuery> standardValueQueryList = query.getStandardValueQueryList();
List<StandardValue> standardValueList = new ArrayList<>();
for(StandardValueQuery standardValueQuery : standardValueQueryList){
StandardValue standardValue = new StandardValue();
standardValue.setStandardId(standard.getId())
.setElementName(standardValueQuery.getElementName())
.setElementValue(standardValueQuery.getElementValue())
.setCreateTime(LocalDateTime.now());
standardValueList.add(standardValue);
}
standardValueService.saveBatch(standardValueList);
}
//标样入库记录添加
LoginUser loginUser = userService.getLoginUser();
StandardEnter enter = new StandardEnter();
enter.setStandardId(query.getId())
.setUserId(loginUser.getId())
.setEnterNum(query.getStockNum())
.setCreateTime(LocalDateTime.now())
.setRemark("新增标样");
standardEnterMapper.insert(enter);
//保存标样材料信息
Boolean ref = commonService.saveEntityEnclosure(EntityEnclosure.EntityType.STANDARD_SAMPLE, standard.getId(), query.getEnclosureQueryList());
if(!ref){
return BaseResponse.errorMsg("保存保存校核附件失败!");
}
return BaseResponse.okData(standard);
}
/**
* 修改标样
* @param query
* @return
*/
@Transactional
@Override
public BaseResponse<Standard> update(StandardQuery query) {
if (StringUtils.isEmpty(query.getName())) {
return BaseResponse.errorMsg("标样名称不能为空!");
}
QueryWrapper<Standard> qw = new QueryWrapper<>();
qw.eq("name", query.getName());
qw.ne("id", query.getId());
int count = standardMapper.selectCount(qw);
if (count > 0) {
return BaseResponse.errorMsg(query.getName() + "已存在");
}
Standard standard = new Standard();
BeanUtils.copyProperties(query, standard);
standardMapper.updateById(standard);
//添加标准值
if(query.getStandardValueQueryList() != null && query.getStandardValueQueryList().size()>0){
//删除之前的标准值信息
QueryWrapper<StandardValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("standard_id", standard.getId());
standardValueService.remove(queryWrapper);
//添加新的标准值
List<StandardValueQuery> standardValueQueryList = query.getStandardValueQueryList();
List<StandardValue> standardValueList = new ArrayList<>();
for(StandardValueQuery standardValueQuery : standardValueQueryList){
StandardValue standardValue = new StandardValue();
standardValue.setStandardId(standard.getId())
.setElementName(standardValueQuery.getElementName())
.setElementValue(standardValueQuery.getElementValue())
.setCreateTime(LocalDateTime.now());
standardValueList.add(standardValue);
}
standardValueService.saveBatch(standardValueList);
}
//保存标样材料信息
Boolean ref = commonService.saveEntityEnclosure(EntityEnclosure.EntityType.STANDARD_SAMPLE, standard.getId(), query.getEnclosureQueryList());
if(!ref){
return BaseResponse.errorMsg("保存保存校核附件失败!");
}
return BaseResponse.okData(standard);
}
/**
* 标样详情
* @param id 标样表id
* @return
*/
@Override
public BaseResponse<StandardVo> getDetail(Integer id){
Standard standard = standardMapper.selectById(id);
if(standard == null ){
return BaseResponse.errorMsg("信息错误!");
}
StandardVo standardVo = new StandardVo();
BeanUtils.copyProperties(standard, standardVo);
List<EntityEnclosure> entityEnclosureList = commonService.getEnclosureList
(EntityEnclosure.EntityType.STANDARD_SAMPLE, standard.getId());
List<EnclosureQuery> enclosureQueryList = new ArrayList<>();
for(EntityEnclosure entityEnclosure : entityEnclosureList){
EnclosureQuery enclosureQuery = new EnclosureQuery();
enclosureQuery.setAlias(entityEnclosure.getAlias())
.setEnclosureUrl(entityEnclosure.getEnclosureUrl())
.setExtName(entityEnclosure.getExtName());
enclosureQueryList.add(enclosureQuery);
}
standardVo.setEnclosureQueryList(enclosureQueryList);
QueryWrapper<StandardValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("standard_id", standard.getId());
List<StandardValue> standardValueList = standardValueService.list(queryWrapper);
standardVo.setStandardValueList(standardValueList);
return BaseResponse.okData(standardVo);
}
/**
*新增入库
* @param query
* @return
*/
@Transactional
@Override
public BaseResponse<String> enter(ChangeStockQuery query) {
if (query == null || query.getId() == null ) {
return BaseResponse.errorMsg("参数错误!");
}
Standard standard = standardMapper.selectById(query.getId());
if(standard == null){
return BaseResponse.errorMsg("数据错误!");
}
StandardEnter enter = new StandardEnter();
enter.setStandardId(standard.getId())
.setUserId(userService.getLoginUser().getId())
.setEnterNum(query.getChangeNum())
.setCreateTime(LocalDateTime.now())
.setRemark(query.getRemark());
standardEnterMapper.insert(enter);
standard.setStockNum(standard.getStockNum().add(enter.getEnterNum()));
standardMapper.updateById(standard);
return BaseResponse.okData("新增入库完成");
}
/**
* 领用出库
* @param query
* @return
*/
@Transactional
@Override
public BaseResponse<String> out(ChangeStockQuery query) {
if (query == null || query.getId() == null ) {
return BaseResponse.errorMsg("参数错误!");
}
Standard standard = standardMapper.selectById(query.getId());
if(standard == null){
return BaseResponse.errorMsg("数据错误!");
}
StandardOut out = new StandardOut();
out.setStandardId(standard.getId())
.setUserId(userService.getLoginUser().getId())
.setCollectNum(query.getChangeNum())
.setCreateTime(LocalDateTime.now())
.setRemark(query.getRemark());
standardOutMapper.insert(out);
standard.setStockNum(standard.getStockNum().subtract(out.getCollectNum()));
standardMapper.updateById(standard);
return BaseResponse.okData("领用出库完成");
}
/**
* 变更有效期
* @param query
* @return
*/
@Transactional
@Override
public BaseResponse<String> changeValidDate(ChangeValidDateQuery query) {
if (query == null || query.getId() == null ) {
return BaseResponse.errorMsg("参数错误!");
}
Standard standard = standardMapper.selectById(query.getId());
if(standard == null){
return BaseResponse.errorMsg("数据错误!");
}
standard.setValidDate(query.getValidDate());
standardMapper.updateById(standard);
return BaseResponse.okData("变更有效期完成");
}
/**
* 过期处置
* @param id
* @return
*/
@Transactional
@Override
public BaseResponse<String> overdue(Integer id) {
if (id == null) {
return BaseResponse.errorMsg("参数错误!");
}
Standard standard = standardMapper.selectById(id);
if(standard == null){
return BaseResponse.errorMsg("数据错误!");
}
standard.setStatus(0);
standardMapper.updateById(standard);
return BaseResponse.okData("过期处置完成");
}
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.StandardValue;
import cn.wise.sc.cement.business.mapper.StandardValueMapper;
import cn.wise.sc.cement.business.service.IStandardValueService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-09-04
*/
@Service
public class StandardValueServiceImpl extends ServiceImpl<StandardValueMapper, StandardValue> implements IStandardValueService {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment