From 0f51855b9046632aef8b517eb35b9116e5ea8b72 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 30 May 2022 14:50:27 +0800
Subject: [PATCH] 农资管理
---
src/main/java/org/springblade/modules/stock/vo/StockVO.java | 2
src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java | 10
src/main/java/org/springblade/modules/soldrecord/entity/Soldrecord.java | 1
src/main/java/org/springblade/modules/soldrecord/service/ISoldrecordService.java | 3
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml | 28 +
src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java | 51 +++
src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml | 67 ++++
src/main/java/org/springblade/modules/stock/controller/StockController.java | 7
src/main/java/sql/soldr.menu.sql | 10
src/main/java/org/springblade/modules/soldr/dto/SoldrDTO.java | 34 ++
src/main/java/org/springblade/modules/soldrecord/vo/SoldrecordVO.java | 3
src/main/java/org/springblade/modules/soldr/entity/Soldr.java | 67 +++++
src/main/java/org/springblade/modules/stock/mapper/StockMapper.java | 1
src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.java | 3
src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java | 41 +++
src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java | 36 ++
src/main/java/org/springblade/modules/soldrecord/controller/SoldrecordController.java | 19 +
src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml | 60 ++++
src/main/java/org/springblade/modules/soldrecord/service/impl/SoldrecordServiceImpl.java | 15 +
src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java | 1
src/main/java/org/springblade/modules/soldr/controller/SoldrController.java | 175 +++++++++++++
src/main/java/org/springblade/modules/stock/service/IStockService.java | 1
src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java | 45 +++
src/main/java/org/springblade/modules/soldr/service/ISoldrService.java | 42 +++
src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml | 19 +
25 files changed, 713 insertions(+), 28 deletions(-)
diff --git a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
index fef14ac..9c3815c 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -17,19 +17,25 @@
<select id="selectLandPage" resultMap="landResultMap">
SELECT l.land_name,
- l.land_area ,
- ST_ASTEXT(land_range) as land_range,
- l.url,
- d.dict_value as dic,
- c.dict_value as dica
+ l.land_area ,
+ ST_ASTEXT(land_range) as land_range,
+ l.url,
+ d.dict_value as dic,
+ c.dict_value as dica
FROM `sys_land` l
- LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'land' AND is_deleted = 0) d
- ON d.dict_key = l.land_type
- LEFT JOIN (SELECT dict_key, dict_value
- FROM blade_dict_biz
- WHERE CODE = 'landunit'
- AND is_deleted = 0) c ON c.dict_key = l.type
+ LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'land' AND is_deleted = 0) d
+ ON d.dict_key = l.land_type
+ LEFT JOIN (SELECT dict_key, dict_value
+ FROM blade_dict_biz
+ WHERE CODE = 'landunit'
+ AND is_deleted = 0) c ON c.dict_key = l.type
where l.is_deleted = 0
+ <if test="land.landType!=null and land.landType != ''">
+ and l.land_type = #{land.landType}
+ </if>
+ <if test="land.landName!=null and land.landName != ''">
+ and l.land_name like concat('%', #{land.landName},'%')
+ </if>
</select>
<insert id="saveLandInfo">
diff --git a/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java b/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java
new file mode 100644
index 0000000..3aed84d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java
@@ -0,0 +1,175 @@
+/*
+ * 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.soldr.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.modules.soldrecord.service.ISoldrecordService;
+import org.springblade.modules.stock.entity.Stock;
+import org.springblade.modules.stock.service.IStockService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestParam;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.soldr.entity.Soldr;
+import org.springblade.modules.soldr.vo.SoldrVO;
+import org.springblade.modules.soldr.service.ISoldrService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 已出库存数量记录表 控制器
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/soldr/soldr")
+@Api(value = "已出库存数量记录表", tags = "已出库存数量记录表接口")
+public class SoldrController extends BladeController {
+
+ private final ISoldrService soldrService;
+ private final ISoldrecordService soldrecordService;
+ private final IStockService stockService;
+
+ /**
+ * 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入soldr")
+ public R<Soldr> detail(Soldr soldr) {
+ Soldr detail = soldrService.getOne(Condition.getQueryWrapper(soldr));
+ return R.data(detail);
+ }
+
+ /**
+ * 分页 已出库存数量记录表
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入soldr")
+ public R<IPage<Soldr>> list(Soldr soldr, Query query) {
+ IPage<Soldr> pages = soldrService.page(Condition.getPage(query), Condition.getQueryWrapper(soldr));
+ return R.data(pages);
+ }
+
+ /**
+ * 自定义分页 已出库存数量记录表
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入soldr")
+ public R<IPage<SoldrVO>> page(SoldrVO soldr, Query query) {
+ IPage<SoldrVO> pages = soldrService.selectLists(Condition.getPage(query), soldr);
+ for (int i = 0; i < pages.getRecords().size(); i++) {
+ String specs = pages.getRecords().get(i).getSpecs1();
+ Integer amount = pages.getRecords().get(i).getAmount1();
+ Integer num = Integer.parseInt(specs);
+ String dic1 = pages.getRecords().get(i).getDic1();
+ String dic2 = pages.getRecords().get(i).getDic2();
+ String s = specs + dic1 + "/" + dic2;
+ pages.getRecords().get(i).setSpn(s);
+ pages.getRecords().get(i).setCnum(num * amount);
+
+ }
+ return R.data(pages);
+ }
+
+ /**
+ * 新增 已出库存数量记录表
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入soldr")
+ public R save(@Valid @RequestBody Soldr soldr) {
+ return R.status(soldrService.save(soldr));
+ }
+
+ /**
+ * 修改 已出库存数量记录表
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入soldr")
+ public R update(@Valid @RequestBody Soldr soldr) {
+ return R.status(soldrService.updateById(soldr));
+ }
+
+ /**
+ * 新增或修改 已出库存数量记录表
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入soldr")
+ public R submit(@Valid @RequestBody Soldr soldr) {
+ return R.status(soldrService.saveOrUpdate(soldr));
+ }
+
+
+ /**
+ * 删除 已出库存数量记录表
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(soldrService.deleteLogic(Func.toLongList(ids)));
+ }
+
+
+ @PostMapping("/out")
+ public R out(Integer num, Long id, Integer type) {
+ //如果等于就修改并删除
+ if (type == 0) {
+ Stock stock = new Stock();
+ stock.setId(id);
+ Stock detail1 = stockService.getOne(Condition.getQueryWrapper(stock));
+ Integer amount = detail1.getAmount();
+ stock.setAmount(amount + num);
+ stockService.Updaet(stock);
+ //删除
+ soldrService.del(id);
+ }
+ //如果小于就修改
+ else {
+ Soldr soldr = new Soldr();
+ soldr.setSid(id);
+ Soldr detail = soldrService.getOne(Condition.getQueryWrapper(soldr));
+ Integer amount1 = detail.getAmount1();
+ soldrecordService.updateSold(amount1 - num, id);
+ Stock stock = new Stock();
+ stock.setId(id);
+ Stock detail1 = stockService.getOne(Condition.getQueryWrapper(stock));
+ Integer amount = detail1.getAmount();
+ stock.setAmount(amount + num);
+ stockService.Updaet(stock);
+ }
+ return R.success("退回成功");
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/soldr/dto/SoldrDTO.java b/src/main/java/org/springblade/modules/soldr/dto/SoldrDTO.java
new file mode 100644
index 0000000..56efe5c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/dto/SoldrDTO.java
@@ -0,0 +1,34 @@
+/*
+ * 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.soldr.dto;
+
+import org.springblade.modules.soldr.entity.Soldr;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 已出库存数量记录表数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SoldrDTO extends Soldr {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/soldr/entity/Soldr.java b/src/main/java/org/springblade/modules/soldr/entity/Soldr.java
new file mode 100644
index 0000000..93603fd
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/entity/Soldr.java
@@ -0,0 +1,67 @@
+/*
+ * 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.soldr.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+
+import org.springblade.core.mp.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 已出库存数量记录表实体类
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+@Data
+@TableName("sys_soldr")
+@EqualsAndHashCode(callSuper = true)
+public class Soldr extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 农资id
+ */
+ private String stockId1;
+ /**
+ * 数量
+ */
+ private Integer amount1;
+ private Integer tenantId1;
+ /**
+ * 规格
+ */
+ private String specs1;
+ /**
+ * 规格值(0:克 1:斤 2:公斤 3:吨 4:毫升 5:升 )
+ */
+ private Integer specsVal1;
+ /**
+ * 规格值2( 0:袋 1:包 2:瓶 3:盒 4:箱 5:桶 6:支)
+ */
+ private Integer specsVal2;
+ /**
+ * 出库类型
+ */
+ private String type;
+ private Long sid;
+
+}
diff --git a/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java
new file mode 100644
index 0000000..24bb325
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java
@@ -0,0 +1,45 @@
+/*
+ * 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.soldr.mapper;
+
+import org.springblade.modules.soldr.entity.Soldr;
+import org.springblade.modules.soldr.vo.SoldrVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.soldrecord.vo.SoldrecordVO;
+
+import java.util.List;
+
+/**
+ * 已出库存数量记录表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+public interface SoldrMapper extends BaseMapper<Soldr> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param soldr
+ * @return
+ */
+ List<SoldrVO> selectSoldrPage(IPage page, SoldrVO soldr);
+ List<SoldrVO> selectLists(IPage page, SoldrVO soldr);
+ void del(Long id);
+}
diff --git a/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml
new file mode 100644
index 0000000..473a723
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml
@@ -0,0 +1,60 @@
+<?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.soldr.mapper.SoldrMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="soldrResultMap" type="org.springblade.modules.soldr.entity.Soldr">
+ <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="stock_id1" property="stockId1"/>
+ <result column="amount1" property="amount1"/>
+ <result column="tenant_id1" property="tenantId1"/>
+ <result column="specs1" property="specs1"/>
+ <result column="specs_val1" property="specsVal1"/>
+ <result column="specs_val2" property="specsVal2"/>
+ <result column="type" property="type"/>
+ </resultMap>
+
+
+ <select id="selectSoldrPage" resultMap="soldrResultMap">
+ select * from sys_soldr where is_deleted = 0
+ </select>
+
+ <select id="selectLists" resultType="org.springblade.modules.soldr.vo.SoldrVO">
+ SELECT st.stock_id1,
+ st.specs1,
+ st.amount1 AS amount1,
+ stf.factory_name AS factoryName,
+ a.dict_value AS stype,
+ d.dict_value AS dic1,
+ c.dict_value AS dic2,
+ stf.agricultural_name as agrname
+ FROM sys_soldr st
+ LEFT JOIN sys_stockfactory stf ON stf.id = st.stock_id1
+ 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 dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockType' AND is_deleted = 0 ) a ON
+ a.dict_key = stf.type
+ WHERE st.is_deleted = 0
+ <if test="soldr.stype!=null and soldr.stype != ''">
+ and stf.type = #{soldr.stype}
+ </if>
+ <if test="soldr.stockId1!=null and soldr.stockId1 != ''">
+ and st.stock_id1 = #{soldr.stockId1}
+ </if>
+ </select>
+
+ <delete id="del">
+ delete from sys_soldr where sid=#{id}
+ </delete>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java b/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java
new file mode 100644
index 0000000..70ce9c2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java
@@ -0,0 +1,42 @@
+/*
+ * 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.soldr.service;
+
+import org.springblade.modules.soldr.entity.Soldr;
+import org.springblade.modules.soldr.vo.SoldrVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 已出库存数量记录表 服务类
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+public interface ISoldrService extends BaseService<Soldr> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param soldr
+ * @return
+ */
+ IPage<SoldrVO> selectSoldrPage(IPage<SoldrVO> page, SoldrVO soldr);
+ IPage<SoldrVO> selectLists(IPage<SoldrVO> page, SoldrVO soldr);
+ void del(Long id);
+}
diff --git a/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java b/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java
new file mode 100644
index 0000000..76eb487
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java
@@ -0,0 +1,51 @@
+/*
+ * 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.soldr.service.impl;
+
+import org.springblade.modules.soldr.entity.Soldr;
+import org.springblade.modules.soldr.vo.SoldrVO;
+import org.springblade.modules.soldr.mapper.SoldrMapper;
+import org.springblade.modules.soldr.service.ISoldrService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 已出库存数量记录表 服务实现类
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+@Service
+public class SoldrServiceImpl extends BaseServiceImpl<SoldrMapper, Soldr> implements ISoldrService {
+
+ @Override
+ public IPage<SoldrVO> selectSoldrPage(IPage<SoldrVO> page, SoldrVO soldr) {
+ return page.setRecords(baseMapper.selectSoldrPage(page, soldr));
+ }
+
+ @Override
+ public IPage<SoldrVO> selectLists(IPage<SoldrVO> page, SoldrVO soldr) {
+ return page.setRecords(baseMapper.selectLists(page, soldr));
+ }
+
+ @Override
+ public void del(Long id) {
+ baseMapper.del(id);
+ }
+
+}
diff --git a/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java b/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java
new file mode 100644
index 0000000..3a93b8a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java
@@ -0,0 +1,41 @@
+/*
+ * 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.soldr.vo;
+
+import org.springblade.modules.soldr.entity.Soldr;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 已出库存数量记录表视图实体类
+ *
+ * @author BladeX
+ * @since 2022-05-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SoldrVO extends Soldr {
+ private static final long serialVersionUID = 1L;
+ String stype;
+ String factoryName;
+ String dic1;
+ String dic2;
+ String dic3;
+ String spn;
+ String agrname;
+ Integer cnum;
+}
diff --git a/src/main/java/org/springblade/modules/soldrecord/controller/SoldrecordController.java b/src/main/java/org/springblade/modules/soldrecord/controller/SoldrecordController.java
index 3282b6b..b61a888 100644
--- a/src/main/java/org/springblade/modules/soldrecord/controller/SoldrecordController.java
+++ b/src/main/java/org/springblade/modules/soldrecord/controller/SoldrecordController.java
@@ -82,16 +82,35 @@
IPage<SoldrecordVO> pages = soldrecordService.selectLists(Condition.getPage(query), soldrecord);
for (int i=0;i<pages.getRecords().size();i++){
String specs = pages.getRecords().get(i).getSpecs1();
+ Integer amount = pages.getRecords().get(i).getAmount1();
+ Integer num=Integer.parseInt(specs);
String dic1 = pages.getRecords().get(i).getDic1();
String dic2 = pages.getRecords().get(i).getDic2();
String s = specs+dic1 +"/"+ dic2;
pages.getRecords().get(i).setSpn(s);
+ pages.getRecords().get(i).setCnum(num*amount);
}
return R.data(pages);
}
/**
+ * 查看变更明细
+ */
+ @GetMapping("/pagebg")
+ public R<IPage<SoldrecordVO>> pagebg(SoldrecordVO soldrecord, Query query) {
+ IPage<SoldrecordVO> pages = soldrecordService.selectListbg(Condition.getPage(query), soldrecord);
+ 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;
+ pages.getRecords().get(i).setSpn(s);
+ }
+ return R.data(pages);
+ }
+
+ /**
* 新增 已出库存记录表
*/
@PostMapping("/save")
diff --git a/src/main/java/org/springblade/modules/soldrecord/entity/Soldrecord.java b/src/main/java/org/springblade/modules/soldrecord/entity/Soldrecord.java
index 7072b1a..ee539ad 100644
--- a/src/main/java/org/springblade/modules/soldrecord/entity/Soldrecord.java
+++ b/src/main/java/org/springblade/modules/soldrecord/entity/Soldrecord.java
@@ -59,6 +59,7 @@
* 规格值2( 0:袋 1:包 2:瓶 3:盒 4:箱 5:桶 6:支)
*/
private Integer specsVal2;
+ private String type;
}
diff --git a/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.java b/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.java
index 217044d..ebc3536 100644
--- a/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.java
+++ b/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.java
@@ -41,4 +41,7 @@
*/
List<SoldrecordVO> selectSoldrecordPage(IPage page, SoldrecordVO soldrecord);
List<SoldrecordVO> selectLists(IPage page, SoldrecordVO soldrecord);
+ List<SoldrecordVO> selectListbg(IPage page, SoldrecordVO soldrecord);
+ void updateSold(Integer amount,Long id);
+ void delc(String id);
}
diff --git a/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml b/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml
index 04871ec..8874abc 100644
--- a/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml
+++ b/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml
@@ -25,15 +25,56 @@
<select id="selectSoldrecordPage" resultMap="soldrecordResultMap">
- select * from sys_soldrecord where is_deleted = 0
+ select *
+ from sys_soldrecord
+ where is_deleted = 0
</select>
<select id="selectLists" resultType="org.springblade.modules.soldrecord.vo.SoldrecordVO">
- SELECT st.*,
- stf.factory_name AS factoryName,
- stf.type AS stype,
- d.dict_value AS dic1,
- c.dict_value AS dic2
+ SELECT st.stock_id1,
+ st.specs1,
+ SUM(st.amount1 ) AS amount1,
+ stf.factory_name AS factoryName,
+ a.dict_value AS stype,
+ d.dict_value AS dic1,
+ c.dict_value AS dic2,
+ stf.agricultural_name as agrname
+ FROM sys_soldrecord st
+ LEFT JOIN sys_stockfactory stf ON stf.id = st.stock_id1
+ 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 dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockType' AND is_deleted = 0 ) a ON
+ a.dict_key = stf.type
+ WHERE st.is_deleted = 0
+ <if test="soldrecord.stype!=null and soldrecord.stype != ''">
+ and stf.type = #{soldrecord.stype}
+ </if>
+ <if test="soldrecord.stockId1!=null and soldrecord.stockId1 != ''">
+ and st.stock_id1 = #{soldrecord.stockId1}
+ </if>
+ GROUP BY
+ st.stock_id1,
+ st.specs1,
+ stf.factory_name,
+ a.dict_value,
+ d.dict_value,
+ c.dict_value
+ </select>
+ <!--查看变更明细-->
+ <select id="selectListbg" resultType="org.springblade.modules.soldrecord.vo.SoldrecordVO">
+ SELECT st.stock_id1,
+ st.specs1,
+ st.amount1,
+ stf.factory_name AS factoryName,
+ stf.type as stype,
+ d.dict_value AS dic1,
+ c.dict_value AS dic2,
+ b.dict_value AS dic3,
+ stf.agricultural_name AS agrname
FROM sys_soldrecord st
LEFT JOIN sys_stockfactory stf ON stf.id = st.stock_id1
LEFT JOIN (SELECT dict_key, dict_value
@@ -42,13 +83,21 @@
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 dict_key, dict_value
+ FROM blade_dict_biz
+ WHERE CODE = 'stockPurchase1' AND is_deleted = 0) b ON b.dict_key = st.type
WHERE st.is_deleted = 0
- <if test="soldrecord.stype!=null and soldrecord.stype != ''">
- and stf.type = #{soldrecord.stype}
- </if>
<if test="soldrecord.stockId1!=null and soldrecord.stockId1 != ''">
and st.stock_id1 = #{soldrecord.stockId1}
</if>
</select>
+ <update id="updateSold">
+ update sys_soldr set amount1=#{amount} where sid = #{id}
+ </update>
+
+ <delete id="delc">
+ delete from sys_soldrecord where stock_id1 = #{id}
+ </delete>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/soldrecord/service/ISoldrecordService.java b/src/main/java/org/springblade/modules/soldrecord/service/ISoldrecordService.java
index cd9d822..5ee2623 100644
--- a/src/main/java/org/springblade/modules/soldrecord/service/ISoldrecordService.java
+++ b/src/main/java/org/springblade/modules/soldrecord/service/ISoldrecordService.java
@@ -39,4 +39,7 @@
*/
IPage<SoldrecordVO> selectSoldrecordPage(IPage<SoldrecordVO> page, SoldrecordVO soldrecord);
IPage<SoldrecordVO> selectLists(IPage<SoldrecordVO> page, SoldrecordVO soldrecord);
+ IPage<SoldrecordVO> selectListbg(IPage<SoldrecordVO> page, SoldrecordVO soldrecord);
+ void updateSold(Integer amount,Long id);
+ void delc(String id);
}
diff --git a/src/main/java/org/springblade/modules/soldrecord/service/impl/SoldrecordServiceImpl.java b/src/main/java/org/springblade/modules/soldrecord/service/impl/SoldrecordServiceImpl.java
index 1b55af1..af38085 100644
--- a/src/main/java/org/springblade/modules/soldrecord/service/impl/SoldrecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/soldrecord/service/impl/SoldrecordServiceImpl.java
@@ -43,4 +43,19 @@
return page.setRecords(baseMapper.selectLists(page,soldrecord));
}
+ @Override
+ public IPage<SoldrecordVO> selectListbg(IPage<SoldrecordVO> page, SoldrecordVO soldrecord) {
+ return page.setRecords(baseMapper.selectListbg(page,soldrecord));
+ }
+
+ @Override
+ public void updateSold(Integer amount,Long id) {
+ baseMapper.updateSold(amount,id);
+ }
+
+ @Override
+ public void delc(String id) {
+ baseMapper.delc(id);
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/soldrecord/vo/SoldrecordVO.java b/src/main/java/org/springblade/modules/soldrecord/vo/SoldrecordVO.java
index c54900e..a040b22 100644
--- a/src/main/java/org/springblade/modules/soldrecord/vo/SoldrecordVO.java
+++ b/src/main/java/org/springblade/modules/soldrecord/vo/SoldrecordVO.java
@@ -34,5 +34,8 @@
String factoryName;
String dic1;
String dic2;
+ String dic3;
String spn;
+ String agrname;
+ Integer cnum;
}
diff --git a/src/main/java/org/springblade/modules/stock/controller/StockController.java b/src/main/java/org/springblade/modules/stock/controller/StockController.java
index 36b6034..23dbb2f 100644
--- a/src/main/java/org/springblade/modules/stock/controller/StockController.java
+++ b/src/main/java/org/springblade/modules/stock/controller/StockController.java
@@ -87,10 +87,13 @@
IPage<StockVO> pages = stockService.selectLists(Condition.getPage(query), stock);
for (int i=0;i<pages.getRecords().size();i++){
String specs = pages.getRecords().get(i).getSpecs();
+ Integer amount = pages.getRecords().get(i).getAmount();
+ Integer num=Integer.parseInt(specs);
String dic1 = pages.getRecords().get(i).getDic1();
String dic2 = pages.getRecords().get(i).getDic2();
String s = specs+dic1 +"/"+ dic2;
pages.getRecords().get(i).setSpn(s);
+ pages.getRecords().get(i).setCnum(num*amount);
}
return R.data(pages);
@@ -106,9 +109,11 @@
stock.setState("0");
stock.setSp1("stockSpecs1");
stock.setSp2("stockSpecs2");
+ boolean save = stockService.save(stock);
//农资记录表
Stockrecord stockrecord =new Stockrecord();
//农资ID
+ stockrecord.setSid(stock.getId());
stockrecord.setStockId1(stock.getStockId());
stockrecord.setAmount1(stock.getAmount());
stockrecord.setTime1(stock.getTime());
@@ -122,7 +127,7 @@
stockrecord.setSp1("stockSpecs1");
stockrecord.setSp2("stockSpecs2");
stockrecordService.save(stockrecord);
- return R.status(stockService.save(stock));
+ return R.status(save);
}
/**
diff --git a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.java b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.java
index b95e6f6..5e11822 100644
--- a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.java
+++ b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.java
@@ -42,4 +42,5 @@
List<StockVO> selectStockPage(IPage page, StockVO stock);
List<StockVO> selectLists(IPage page, StockVO stock);
int UpdaeAmountc(@Param("stock") Stock stock);
+ int Updaet(@Param("stock") Stock stock);
}
diff --git a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
index 09909f5..d77ff70 100644
--- a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
+++ b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
@@ -34,9 +34,10 @@
<select id="selectLists" resultType="org.springblade.modules.stock.vo.StockVO">
SELECT st.*,
stf.factory_name AS factoryName,
- stf.type AS stype,
+ a.dict_value AS stype,
d.dict_value AS dic1,
- c.dict_value AS dic2
+ c.dict_value AS dic2,
+ stf.agricultural_name as agrname
FROM sys_stock st
LEFT JOIN sys_stockfactory stf ON stf.id = st.stock_id
LEFT JOIN (SELECT dict_key, dict_value
@@ -45,7 +46,9 @@
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_value2
- WHERE st.is_deleted = 0
+ LEFT JOIN ( SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'stockType' AND is_deleted = 0 ) a ON
+ a.dict_key = stf.type
+ WHERE st.is_deleted = 0 and state=0
<if test="stock.stype!=null and stock.stype != ''">
and stf.type = #{stock.stype}
</if>
@@ -61,10 +64,18 @@
<if test="stock.type!=null and stock.type != ''">
and st.type = #{stock.type}
</if>
+ <if test="stock.agrname!=null and stock.agrname != ''">
+ and stf.agricultural_name like concat('%', #{stock.agrname},'%')
+ </if>
</select>
<!--入库出库-->
<update id="UpdaeAmountc">
- update sys_stock set amount = #{stock.amount} ,state=#{stock.state} where stock_id=#{stock.stockId}
+ update sys_stock set amount = #{stock.amount} ,state=#{stock.state} where id=#{stock.id}
+ </update>
+
+ <!--入库出库-->
+ <update id="Updaet">
+ update sys_stock set amount = #{stock.amount} where id=#{stock.id}
</update>
</mapper>
diff --git a/src/main/java/org/springblade/modules/stock/service/IStockService.java b/src/main/java/org/springblade/modules/stock/service/IStockService.java
index 059536e..2145f4b 100644
--- a/src/main/java/org/springblade/modules/stock/service/IStockService.java
+++ b/src/main/java/org/springblade/modules/stock/service/IStockService.java
@@ -40,4 +40,5 @@
IPage<StockVO> selectStockPage(IPage<StockVO> page, StockVO stock);
IPage<StockVO> selectLists(IPage<StockVO> page, StockVO stock);
boolean UpdaeAmountc(Stock stock);
+ boolean Updaet(Stock stock);
}
diff --git a/src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java b/src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java
index 44ded4a..7432bd6 100644
--- a/src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java
+++ b/src/main/java/org/springblade/modules/stock/service/impl/StockServiceImpl.java
@@ -53,4 +53,14 @@
return false;
}
+ @Override
+ public boolean Updaet(Stock stock) {
+ //更新
+ int i = baseMapper.Updaet(stock);
+ if (i>0){
+ return true;
+ }
+ return false;
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/stock/vo/StockVO.java b/src/main/java/org/springblade/modules/stock/vo/StockVO.java
index a476d49..31eed84 100644
--- a/src/main/java/org/springblade/modules/stock/vo/StockVO.java
+++ b/src/main/java/org/springblade/modules/stock/vo/StockVO.java
@@ -35,5 +35,7 @@
String dic1;
String dic2;
String spn;
+ String agrname;
+ Integer cnum;
}
diff --git a/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java b/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
index 4f4c7e9..4513540 100644
--- a/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
+++ b/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
@@ -28,6 +28,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.soldr.entity.Soldr;
+import org.springblade.modules.soldr.service.ISoldrService;
import org.springblade.modules.soldrecord.entity.Soldrecord;
import org.springblade.modules.soldrecord.service.ISoldrecordService;
import org.springblade.modules.stock.entity.Stock;
@@ -60,6 +62,8 @@
private final IStockService stockService;
private final IDictBizService dictService;
private final ISoldrecordService soldrecordService;
+ private final ISoldrService soldrService;
+
/**
* 详情
*/
@@ -145,11 +149,14 @@
//当前总量
int i = num - amount1;
Stock stock = new Stock();
- stock.setStockId(stockrecord.getStockId1());
+ stock.setId(stockrecord.getSid());
stock.setAmount(i);
if (i == 0) {
stock.setState("1");
stockService.UpdaeAmountc(stock);
+ //同时删除所有农资记录
+ soldrecordService.delc(stockrecord.getStockId1());
+ soldrService.del(stockrecord.getSid());
} else {
stock.setState("0");
stockService.UpdaeAmountc(stock);
@@ -161,7 +168,30 @@
soldrecord.setSpecs1(stockrecord.getSpecs1());
soldrecord.setSpecsVal1(stockrecord.getSpecsVal1());
soldrecord.setSpecsVal2(stockrecord.getSpecsVal2());
- soldrecordService.save(soldrecord);
+ soldrecord.setType(stockrecord.getType1());
+ String type1 = stockrecord.getType1();
+ if (type1.equals("0")) {
+ //已出库农资数量记录
+ Soldr soldr = new Soldr();
+ soldr.setSid(stockrecord.getSid());
+ soldr.setStockId1(stockrecord.getStockId1());
+ soldr.setStockId1(stockrecord.getStockId1());
+ soldr.setAmount1(amount1);
+ soldr.setSpecs1(stockrecord.getSpecs1());
+ soldr.setSpecsVal1(stockrecord.getSpecsVal1());
+ soldr.setSpecsVal2(stockrecord.getSpecsVal2());
+ soldr.setType(stockrecord.getType1());
+ //已出库农资数量
+ Soldr detail = soldrService.getOne(Condition.getQueryWrapper(soldr));
+ if (null != detail) {
+ Integer amount11 = detail.getAmount1();
+ soldrecordService.updateSold(amount11 + amount1, detail.getSid());
+ } else {
+ soldrService.save(soldr);
+ }
+ //已出库农资
+ soldrecordService.save(soldrecord);
+ }
}
//入库
else {
@@ -172,7 +202,7 @@
//当前总量
int i = num + amount1;
Stock stock = new Stock();
- stock.setStockId(stockrecord.getStockId1());
+ stock.setId(stockrecord.getSid());
stock.setAmount(i);
stock.setState("0");
stockService.UpdaeAmountc(stock);
diff --git a/src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java b/src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java
index 9c67edf..ddb8fe0 100644
--- a/src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java
+++ b/src/main/java/org/springblade/modules/stockrecord/entity/Stockrecord.java
@@ -81,4 +81,5 @@
private Integer stockType1;
private String sp1;
private String sp2;
+ private Long sid;
}
diff --git a/src/main/java/sql/soldr.menu.sql b/src/main/java/sql/soldr.menu.sql
new file mode 100644
index 0000000..e7047b1
--- /dev/null
+++ b/src/main/java/sql/soldr.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1530028300817145857', 1123598815738675201, 'soldr', '出入库农资数量管理', 'menu', '/soldr/soldr', 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 ('1530028300817145858', '1530028300817145857', 'soldr_add', '新增', 'add', '/soldr/soldr/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 ('1530028300817145859', '1530028300817145857', 'soldr_edit', '修改', 'edit', '/soldr/soldr/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 ('1530028300817145860', '1530028300817145857', 'soldr_delete', '删除', 'delete', '/api/soldr/soldr/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 ('1530028300817145861', '1530028300817145857', 'soldr_view', '查看', 'view', '/soldr/soldr/view', 'file-text', 4, 2, 2, 1, NULL, 0);
--
Gitblit v1.9.3