3 files modified
9 files added
| | |
| | | secureRegistry.excludePathPatterns("/soldr/soldr/**"); |
| | | secureRegistry.excludePathPatterns("/machining/machining/**"); |
| | | secureRegistry.excludePathPatterns("/stockrecord/stockrecord/**"); |
| | | secureRegistry.excludePathPatterns("/retrieval/retrieval/**"); |
| | | secureRegistry.excludePathPatterns("/blade-resource/oss/endpoint/**"); |
| | | return secureRegistry; |
| | | } |
| | |
| | | and sfr.strain_id = #{farmingRecord.strainId} |
| | | </if> |
| | | <if test="farmingRecord.farmId!=null and farmingRecord.farmId!=''"> |
| | | and sl.farm_id = #{farm.farmId} |
| | | and sl.farm_id = #{farmingRecord.farmId} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | <if test="farmPlant.endTime!=null and farmPlant.endTime!=''"> |
| | | and sfp.transplan_time <= #{farmPlant.endTime} |
| | | </if> |
| | | <if test="farmPlant.deptId!=null and farmPlant.deptId!=''"> |
| | | and sfp.dept_id = #{farmPlant.deptId} |
| | | <if test="farmPlant.farmId!=null and farmPlant.farmId!=''"> |
| | | and sl.farm_id = #{farmPlant.farmId} |
| | | </if> |
| | | <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''"> |
| | | and sfp.tenant_id = #{farmPlant.tenantId} |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.controller; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import lombok.AllArgsConstructor; |
| | | |
| | | import javax.validation.Valid; |
| | | |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.modules.farmplant.service.FarmProductStockService; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.modules.retrieval.entity.Retrieval; |
| | | import org.springblade.modules.retrieval.vo.RetrievalVO; |
| | | import org.springblade.modules.retrieval.service.IRetrievalService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | |
| | | /** |
| | | * 库存出库记录表 控制器 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("/retrieval/retrieval") |
| | | @Api(value = "库存出库记录表", tags = "库存出库记录表接口") |
| | | public class RetrievalController extends BladeController { |
| | | |
| | | private final IRetrievalService retrievalService; |
| | | private final FarmProductStockService farmProductStockService; |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiOperation(value = "详情", notes = "传入retrieval") |
| | | public R<Retrieval> detail(Retrieval retrieval) { |
| | | Retrieval detail = retrievalService.getOne(Condition.getQueryWrapper(retrieval)); |
| | | return R.data(detail); |
| | | } |
| | | |
| | | /** |
| | | * 分页 库存出库记录表 |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "分页", notes = "传入retrieval") |
| | | public R<IPage<Retrieval>> list(Retrieval retrieval, Query query) { |
| | | IPage<Retrieval> pages = retrievalService.page(Condition.getPage(query), Condition.getQueryWrapper(retrieval)); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 自定义分页 库存出库记录表 |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiOperation(value = "分页", notes = "传入retrieval") |
| | | public R<IPage<RetrievalVO>> page(RetrievalVO retrieval, Query query) { |
| | | IPage<RetrievalVO> pages = retrievalService.selectRetrievalPage(Condition.getPage(query), retrieval); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 新增 库存出库记录表 |
| | | */ |
| | | @PostMapping("/save") |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "新增", notes = "传入retrieval") |
| | | public R save(@Valid @RequestBody Retrieval retrieval) { |
| | | return R.status(retrievalService.save(retrieval)); |
| | | } |
| | | |
| | | /** |
| | | * 修改 库存出库记录表 |
| | | */ |
| | | @PostMapping("/update") |
| | | @ApiOperationSupport(order = 5) |
| | | @ApiOperation(value = "修改", notes = "传入retrieval") |
| | | public R update(@Valid @RequestBody Retrieval retrieval) { |
| | | return R.status(retrievalService.updateById(retrieval)); |
| | | } |
| | | |
| | | /** |
| | | * 新增或修改 库存出库记录表 |
| | | */ |
| | | @PostMapping("/submit") |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入retrieval") |
| | | public R submit(@Valid @RequestBody RetrievalVO retrieval) { |
| | | boolean res = farmProductStockService.stockCompare(retrieval.getSaleNum(), retrieval.getProid()); |
| | | if (!res) { |
| | | throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足!")); |
| | | } else { |
| | | //库存充足,减去相应库存 |
| | | farmProductStockService.stockReduce(retrieval.getSaleNum(), retrieval.getProid()); |
| | | } |
| | | return R.status(retrievalService.saveOrUpdate(retrieval)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除 库存出库记录表 |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "逻辑删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | return R.status(retrievalService.deleteLogic(Func.toLongList(ids))); |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.dto; |
| | | |
| | | import org.springblade.modules.retrieval.entity.Retrieval; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * 库存出库记录表数据传输对象实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class RetrievalDTO extends Retrieval { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import org.springblade.core.mp.base.BaseEntity; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * 库存出库记录表实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | @Data |
| | | @TableName("sys_retrieval") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class Retrieval extends BaseEntity { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 品种id |
| | | */ |
| | | private String strainId; |
| | | /** |
| | | * 出库时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date saleTime; |
| | | /** |
| | | * 出库数量 |
| | | */ |
| | | private Double saleNum; |
| | | /** |
| | | * 出库去向(省) |
| | | */ |
| | | private Integer saleDestination; |
| | | /** |
| | | * 具体出库去向 |
| | | */ |
| | | private String saleDestination1; |
| | | /** |
| | | * 出库备注 |
| | | */ |
| | | private String remarks; |
| | | /** |
| | | * 出库去向(市) |
| | | */ |
| | | private String city; |
| | | /** |
| | | * 出库去向(县) |
| | | */ |
| | | private String county; |
| | | /** |
| | | * 地块id |
| | | */ |
| | | private String landId; |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.mapper; |
| | | |
| | | import org.springblade.modules.retrieval.entity.Retrieval; |
| | | import org.springblade.modules.retrieval.vo.RetrievalVO; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 库存出库记录表 Mapper 接口 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | public interface RetrievalMapper extends BaseMapper<Retrieval> { |
| | | |
| | | /** |
| | | * 自定义分页 |
| | | * |
| | | * @param page |
| | | * @param retrieval |
| | | * @return |
| | | */ |
| | | List<RetrievalVO> selectRetrievalPage(IPage page, RetrievalVO retrieval); |
| | | |
| | | } |
| New file |
| | |
| | | <?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="org.springblade.modules.retrieval.mapper.RetrievalMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="retrievalResultMap" type="org.springblade.modules.retrieval.entity.Retrieval"> |
| | | <result column="id" property="id"/> |
| | | <result column="create_user" property="createUser"/> |
| | | <result column="create_dept" property="createDept"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_user" property="updateUser"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="status" property="status"/> |
| | | <result column="is_deleted" property="isDeleted"/> |
| | | <result column="strain_id" property="strainId"/> |
| | | <result column="sale_time" property="saleTime"/> |
| | | <result column="sale_num" property="saleNum"/> |
| | | <result column="sale_destination" property="saleDestination"/> |
| | | <result column="sale_destination1" property="saleDestination1"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="city" property="city"/> |
| | | <result column="county" property="county"/> |
| | | <result column="land_id" property="landId"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="selectRetrievalPage" resultMap="retrievalResultMap"> |
| | | select * from sys_retrieval where is_deleted = 0 |
| | | </select> |
| | | |
| | | </mapper> |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.service; |
| | | |
| | | import org.springblade.modules.retrieval.entity.Retrieval; |
| | | import org.springblade.modules.retrieval.vo.RetrievalVO; |
| | | import org.springblade.core.mp.base.BaseService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | /** |
| | | * 库存出库记录表 服务类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | public interface IRetrievalService extends BaseService<Retrieval> { |
| | | |
| | | /** |
| | | * 自定义分页 |
| | | * |
| | | * @param page |
| | | * @param retrieval |
| | | * @return |
| | | */ |
| | | IPage<RetrievalVO> selectRetrievalPage(IPage<RetrievalVO> page, RetrievalVO retrieval); |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.service.impl; |
| | | |
| | | import org.springblade.modules.retrieval.entity.Retrieval; |
| | | import org.springblade.modules.retrieval.vo.RetrievalVO; |
| | | import org.springblade.modules.retrieval.mapper.RetrievalMapper; |
| | | import org.springblade.modules.retrieval.service.IRetrievalService; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | |
| | | /** |
| | | * 库存出库记录表 服务实现类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | @Service |
| | | public class RetrievalServiceImpl extends BaseServiceImpl<RetrievalMapper, Retrieval> implements IRetrievalService { |
| | | |
| | | @Override |
| | | public IPage<RetrievalVO> selectRetrievalPage(IPage<RetrievalVO> page, RetrievalVO retrieval) { |
| | | return page.setRecords(baseMapper.selectRetrievalPage(page, retrieval)); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
| | | * |
| | | * Redistribution and use in source and binary forms, with or without |
| | | * modification, are permitted provided that the following conditions are met: |
| | | * |
| | | * Redistributions of source code must retain the above copyright notice, |
| | | * this list of conditions and the following disclaimer. |
| | | * Redistributions in binary form must reproduce the above copyright |
| | | * notice, this list of conditions and the following disclaimer in the |
| | | * documentation and/or other materials provided with the distribution. |
| | | * Neither the name of the dreamlu.net developer nor the names of its |
| | | * contributors may be used to endorse or promote products derived from |
| | | * this software without specific prior written permission. |
| | | * Author: Chill 庄骞 (smallchill@163.com) |
| | | */ |
| | | package org.springblade.modules.retrieval.vo; |
| | | |
| | | import org.springblade.modules.retrieval.entity.Retrieval; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * 库存出库记录表视图实体类 |
| | | * |
| | | * @author BladeX |
| | | * @since 2022-07-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class RetrievalVO extends Retrieval { |
| | | private static final long serialVersionUID = 1L; |
| | | /** |
| | | * 库存量主键id |
| | | */ |
| | | private String proid; |
| | | } |
| New file |
| | |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1548193077838049282', 1123598815738675201, 'retrieval', '出库', 'menu', '/retrieval/retrieval', NULL, 1, 1, 0, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1548193077838049283', '1548193077838049282', 'retrieval_add', '新增', 'add', '/retrieval/retrieval/add', 'plus', 1, 2, 1, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1548193077838049284', '1548193077838049282', 'retrieval_edit', '修改', 'edit', '/retrieval/retrieval/edit', 'form', 2, 2, 2, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1548193077838049285', '1548193077838049282', 'retrieval_delete', '删除', 'delete', '/api/retrieval/retrieval/remove', 'delete', 3, 2, 3, 1, NULL, 0); |
| | | INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`) |
| | | VALUES ('1548193077838049286', '1548193077838049282', 'retrieval_view', '查看', 'view', '/retrieval/retrieval/view', 'file-text', 4, 2, 2, 1, NULL, 0); |