智慧农业后台管理
tangzy
2022-05-16 f5e7329bfc638dcf686ef25e77172649c8c0f7c6
农资管理
13 files modified
214 ■■■■ changed files
src/main/java/org/springblade/modules/stock/controller/StockController.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stock/mapper/StockMapper.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml 6 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stock/service/IStockService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockfactory/controller/StockfactoryController.java 5 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java 82 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java 41 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/mapper/StockrecordMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/mapper/StockrecordMapper.xml 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/service/IStockrecordService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/service/impl/StockrecordServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stockrecord/vo/StockrecordVO.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/stock/controller/StockController.java
@@ -27,6 +27,8 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.stockrecord.entity.Stockrecord;
import org.springblade.modules.stockrecord.service.IStockrecordService;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.service.IDictBizService;
import org.springframework.web.bind.annotation.*;
@@ -52,7 +54,7 @@
public class StockController extends BladeController {
    private final IStockService stockService;
    private final IDictBizService dictService;
    private final IStockrecordService stockrecordService;
    /**
     * 详情
     */
@@ -104,6 +106,22 @@
        stock.setState("0");
        stock.setSp1("stockSpecs1");
        stock.setSp2("stockSpecs2");
        //农资记录表
        Stockrecord stockrecord =new Stockrecord();
        //农资ID
        stockrecord.setStockId1(stock.getStockId());
        stockrecord.setAmount1(stock.getAmount());
        stockrecord.setTime1(stock.getTime());
        stockrecord.setType1(stock.getType());
        stockrecord.setStockType1(1);
        stockrecord.setPicture1(stock.getPicture());
        stockrecord.setRemarks1(stock.getRemarks());
        stockrecord.setSpecs1(stock.getSpecs());
        stockrecord.setSpecsVal1(stock.getSpecsValue1());
        stockrecord.setSpecsVal2(stock.getSpecsValue2());
        stockrecord.setSp1("stockSpecs1");
        stockrecord.setSp2("stockSpecs2");
        stockrecordService.save(stockrecord);
        return R.status(stockService.save(stock));
    }
src/main/java/org/springblade/modules/stock/mapper/StockMapper.java
@@ -16,6 +16,8 @@
 */
package org.springblade.modules.stock.mapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.farm.entity.Farm;
import org.springblade.modules.stock.entity.Stock;
import org.springblade.modules.stock.vo.StockVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,5 +41,5 @@
     */
    List<StockVO> selectStockPage(IPage page, StockVO stock);
    List<StockVO> selectLists(IPage page, StockVO stock);
    int UpdaeAmountc(@Param("stock") Stock stock);
}
src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
@@ -33,7 +33,7 @@
    <select id="selectLists" resultType="org.springblade.modules.stock.vo.StockVO">
        SELECT st.*,
        stf.agricultural_name AS factoryName,
        stf.factory_name AS factoryName,
        stf.type AS stype,
        d.dict_value AS dic1,
        c.dict_value AS dic2
@@ -62,5 +62,9 @@
            and st.type = #{stock.type}
        </if>
    </select>
    <!--入库出库-->
    <update id="UpdaeAmountc">
        update sys_stock set amount = #{stock.amount} ,state=#{stock.state} where stock_id=#{stock.stockId}
    </update>
</mapper>
src/main/java/org/springblade/modules/stock/service/IStockService.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.stock.service;
import org.springblade.modules.farm.entity.Farm;
import org.springblade.modules.stock.entity.Stock;
import org.springblade.modules.stock.vo.StockVO;
import org.springblade.core.mp.base.BaseService;
@@ -38,5 +39,5 @@
     */
    IPage<StockVO> selectStockPage(IPage<StockVO> page, StockVO stock);
    IPage<StockVO> selectLists(IPage<StockVO> page, StockVO stock);
    boolean UpdaeAmountc(Stock stock);
}
src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java
@@ -43,4 +43,14 @@
        return page.setRecords(baseMapper.selectLists(page,stock));
    }
    @Override
    public boolean UpdaeAmountc(Stock stock) {
        //更新
        int i = baseMapper.UpdaeAmountc(stock);
        if (i>0){
            return true;
        }
        return false;
    }
}
src/main/java/org/springblade/modules/stockfactory/controller/StockfactoryController.java
@@ -123,7 +123,10 @@
        return R.status(stockfactoryService.deleteLogic(Func.toLongList(ids)));
    }
    /**
     * 农资列表
     * @return
     */
    @GetMapping("/selectStockFa")
    public R selectStockFa() {
        return R.data(stockfactoryService.selectStockFa());
src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
@@ -21,12 +21,17 @@
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.modules.stock.entity.Stock;
import org.springblade.modules.stock.service.IStockService;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.service.IDictBizService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -34,6 +39,8 @@
import org.springblade.modules.stockrecord.vo.StockrecordVO;
import org.springblade.modules.stockrecord.service.IStockrecordService;
import org.springblade.core.boot.ctrl.BladeController;
import java.util.List;
/**
 * 出入库记录 控制器
@@ -48,6 +55,8 @@
public class StockrecordController extends BladeController {
    private final IStockrecordService stockrecordService;
    private final IStockService stockService;
    private final IDictBizService dictService;
    /**
     * 详情
@@ -78,7 +87,42 @@
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入stockrecord")
    public R<IPage<StockrecordVO>> page(StockrecordVO stockrecord, Query query) {
        IPage<StockrecordVO> pages = stockrecordService.selectStockrecordPage(Condition.getPage(query), stockrecord);
        IPage<StockrecordVO> pages = stockrecordService.seletStockRecordList(Condition.getPage(query), stockrecord);
        for (int i = 0; i < pages.getRecords().size(); i++) {
            String specs = pages.getRecords().get(i).getSpecs1();
            String dic1 = pages.getRecords().get(i).getDic1();
            String dic2 = pages.getRecords().get(i).getDic2();
            String s = specs + dic1 + "/" + dic2;
            //出库
            if (pages.getRecords().get(i).getStockType1() == 0) {
                String count = "-" + pages.getRecords().get(i).getAmount1() + dic2;
                pages.getRecords().get(i).setCount(count);
            } else {
                String count = "+" + pages.getRecords().get(i).getAmount1() + dic2;
                pages.getRecords().get(i).setCount(count);
            }
            pages.getRecords().get(i).setSpn(s);
            //获取农资出入库类型 0:出库 1:入库
            Integer stockType1 = pages.getRecords().get(i).getStockType1();
            String type1 = pages.getRecords().get(i).getType1();
            if (stockType1 == 0) {
                List<DictBiz> tree = dictService.getList("stockPurchase1");
                for (int j = 0; j < tree.size(); j++) {
                    if (tree.get(j).getDictKey().equals(type1)) {
                        pages.getRecords().get(i).setType1(tree.get(j).getDictValue());
                    }
                }
            } else {
                List<DictBiz> tree = dictService.getList("stockPurchase");
                for (int j = 0; j < tree.size(); j++) {
                    if (tree.get(j).getDictKey().equals(type1)) {
                        pages.getRecords().get(i).setType1(tree.get(j).getDictValue());
                    }
                }
            }
        }
        return R.data(pages);
    }
@@ -88,7 +132,41 @@
    @PostMapping("/save")
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入stockrecord")
    public R save(@Valid @RequestBody Stockrecord stockrecord) {
    public R save(@Valid @RequestBody StockrecordVO stockrecord) {
        Integer stockType1 = stockrecord.getStockType1();
        //出库
        if (stockType1 == 0) {
            //库存量
            Integer num = stockrecord.getNum();
            //出库量
            Integer amount1 = stockrecord.getAmount1();
            //当前总量
            int i = num - amount1;
            Stock stock = new Stock();
            stock.setStockId(stockrecord.getStockId1());
            stock.setAmount(i);
            if (i == 0) {
                stock.setState("1");
                stockService.UpdaeAmountc(stock);
            } else {
                stock.setState("0");
                stockService.UpdaeAmountc(stock);
            }
        }
        //入库
        else {
            //库存量
            Integer num = stockrecord.getNum();
            //入库量
            Integer amount1 = stockrecord.getAmount1();
            //当前总量
            int i = num + amount1;
            Stock stock = new Stock();
            stock.setStockId(stockrecord.getStockId1());
            stock.setAmount(i);
            stock.setState("0");
            stockService.UpdaeAmountc(stock);
        }
        return R.status(stockrecordService.save(stockrecord));
    }
src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java
@@ -19,9 +19,13 @@
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;
/**
 * 出入库记录实体类
@@ -43,27 +47,17 @@
    /**
    * 数量
    */
        private String amount1;
        private Integer amount1;
    /**
    * 时间
    */
        private LocalDateTime time1;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date time1;
    /**
    * 类型 (0:出库 1:入库)
    * 采购类型 (0:采购入库 1:调拨入库)
    */
        private String type1;
    /**
    * 操作人
    */
        private String operator1;
    /**
    * 规格
    */
        private String spn1;
    /**
    * 农资类型
    */
        private String stockType1;
    /**
    * 图片
    */
@@ -72,6 +66,19 @@
    * 备注
    */
        private String remarks1;
    /**
     * 规格
     */
    private String specs1;
    /**
     * 规格值(0:克 1:斤 2:公斤 3:吨 4:毫升 5:升 )
     */
    private Integer specsVal1;
    /**
     * 规格值2( 0:袋 1:包 2:瓶 3:盒 4:箱 5:桶 6:支)
     */
    private Integer specsVal2;
    private Integer stockType1;
    private String sp1;
    private String sp2;
}
src/main/java/org/springblade/modules/stockrecord/mapper/StockrecordMapper.java
@@ -38,5 +38,6 @@
     * @return
     */
    List<StockrecordVO> selectStockrecordPage(IPage page, StockrecordVO stockrecord);
    List<StockrecordVO> seletStockRecordList(IPage page, StockrecordVO stockrecord);
}
src/main/java/org/springblade/modules/stockrecord/mapper/StockrecordMapper.xml
@@ -18,7 +18,9 @@
    <select id="selectStockrecordPage" resultMap="stockrecordResultMap">
        select * from sys_stockrecord where is_deleted = 0
        select *
        from sys_stockrecord
        where is_deleted = 0
    </select>
    <select id="seletList" resultType="org.springblade.modules.stock.vo.StockVO">
        SELECT st.*,
@@ -50,4 +52,27 @@
        </if>
    </select>
    <!--农资记录查询-->
    <select id="seletStockRecordList" resultType="org.springblade.modules.stockrecord.vo.StockrecordVO">
        SELECT st.*,
               stf.type         AS stype,
               stf.factory_name AS factoryName,
               d.dict_value     AS dic1,
               c.dict_value     AS dic2,
               a.name           as czr
        FROM `sys_stockrecord` st
                 LEFT JOIN sys_stockfactory stf
                           ON st.stock_id1 = stf.id
                 LEFT JOIN (SELECT dict_key, dict_value
                            FROM blade_dict_biz
                            WHERE `code` = 'stockSpecs1'
                              AND is_deleted = 0) d ON d.dict_key = st.specs_val1
                 LEFT JOIN (SELECT dict_key, dict_value
                            FROM blade_dict_biz
                            WHERE `code` = 'stockSpecs2'
                              AND is_deleted = 0) c ON c.dict_key = st.specs_val2
                 LEFT JOIN (SELECT name, id FROM blade_user WHERE is_deleted = 0) a ON a.id = st.create_user
        WHERE st.is_deleted = 0
    </select>
</mapper>
src/main/java/org/springblade/modules/stockrecord/service/IStockrecordService.java
@@ -37,5 +37,6 @@
     * @return
     */
    IPage<StockrecordVO> selectStockrecordPage(IPage<StockrecordVO> page, StockrecordVO stockrecord);
    IPage<StockrecordVO> seletStockRecordList(IPage<StockrecordVO> page, StockrecordVO stockrecord);
}
src/main/java/org/springblade/modules/stockrecord/service/impl/StockrecordServiceImpl.java
@@ -38,4 +38,9 @@
        return page.setRecords(baseMapper.selectStockrecordPage(page, stockrecord));
    }
    @Override
    public IPage<StockrecordVO> seletStockRecordList(IPage<StockrecordVO> page, StockrecordVO stockrecord) {
        return page.setRecords(baseMapper.seletStockRecordList(page,stockrecord));
    }
}
src/main/java/org/springblade/modules/stockrecord/vo/StockrecordVO.java
@@ -30,5 +30,12 @@
@EqualsAndHashCode(callSuper = true)
public class StockrecordVO extends Stockrecord {
    private static final long serialVersionUID = 1L;
    Integer num;
    String stype;
    String factoryName;
    String dic1;
    String dic2;
    String spn;
    String czr;
    String count;
}