zhangyuewww 2 лет назад
Родитель
Сommit
83e973432d
13 измененных файлов с 607 добавлено и 10 удалено
  1. 1 3
      src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StatusRecord.java
  2. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java
  3. 6 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java
  4. 63 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SpeedWarehouseInOutInfoController.java
  5. 0 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/SpeedPositionInfo.java
  6. 179 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/SpeedWarehouseInOutInfo.java
  7. 1 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java
  8. 22 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/SpeedWarehouseInOutInfoMapper.java
  9. 24 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISpeedWarehouseInOutInfoService.java
  10. 13 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SpeedCustomerInfoServiceImpl.java
  11. 0 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SpeedPositionInfoServiceImpl.java
  12. 204 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SpeedWarehouseInOutInfoServiceImpl.java
  13. 93 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/SpeedWarehouseInOutInfoMapper.xml

+ 1 - 3
src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StatusRecord.java

@@ -1,11 +1,9 @@
 package com.yh.saas.plugin.yiliangyiyun.entity;
 
-import com.baomidou.mybatisplus.activerecord.Model;
-import BaseModel;
 import java.io.Serializable;
 
-import com.baomidou.mybatisplus.annotations.Version;
 
+import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java

@@ -53,7 +53,7 @@ public class GeneratorCodeByTables {
     }
 
     public static void main(String[] args) throws IOException {
-        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","speed_position_info","speed_goods_info","speed_customer_info","speed_expense_info");
+        generateByTables("Gdc", "com.yh.saas.plugin.yiliangyiyun","speed_warehouse_in_out_info");
     }
 
     /**

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -193,6 +193,12 @@ public enum StatusEnum {
     ALREADT_RECEIVED("3", "已接收", "already_receive"),
     ALREADY_REJECTED("5", "已拒收", "already_rejecte"),
 
+    //极速版收付款状态
+    PAY_WAIT("1", "未付", "pay_wait"),
+    PAYED("3", "已付", "payed"),
+    UNCOLLECTED("2", "未收", "uncollected"),
+    COLLECTED("4", "已收", "collected"),
+
     ;
     @Getter
     private String flag;

+ 63 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SpeedWarehouseInOutInfoController.java

@@ -0,0 +1,63 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedWarehouseInOutInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.ISpeedWarehouseInOutInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 记录极速版出入库信息 前端控制器
+ * </p>
+ *
+ * @author Gdc
+ * @since 2023-03-27
+ */
+@RestController
+@RequestMapping("/speedWarehouseInOutInfo")
+public class SpeedWarehouseInOutInfoController {
+    @Autowired
+    private ISpeedWarehouseInOutInfoService speedWarehouseInOutInfoService;
+
+
+    /**
+     * 极速版出入库信息列表
+     * @param speedWarehouseInOutInfo
+     * @return
+     */
+    @GetMapping("/selectInfo")
+    public Page<SpeedWarehouseInOutInfo> selectInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo) {
+        return speedWarehouseInOutInfoService.selectInfo(speedWarehouseInOutInfo);
+    }
+    /**
+     * 添加极速版出入库信息
+     * @param speedWarehouseInOutInfo
+     * @return
+     */
+    @PostMapping("/api/addInfo")
+    public String addInfo(@RequestBody SpeedWarehouseInOutInfo speedWarehouseInOutInfo) {
+        return speedWarehouseInOutInfoService.addInfo(speedWarehouseInOutInfo);
+    }
+    /**
+     * 删除极速版出入库信息
+     * @param speedWarehouseInOutInfo
+     */
+    @PostMapping("/api/deleteInfo")
+    public void deleteInfo(@RequestBody SpeedWarehouseInOutInfo speedWarehouseInOutInfo) {
+        speedWarehouseInOutInfoService.deleteInfo(speedWarehouseInOutInfo.getId());
+    }
+    /**
+     * 编辑极速版出入库信息
+     * @param speedWarehouseInOutInfo
+     * flag 0上传附件 1付款 2收款 3批量付款 4批量收款
+     * @return
+     */
+    @PostMapping("/api/editInfo")
+    public String editInfo(@RequestBody SpeedWarehouseInOutInfo speedWarehouseInOutInfo){
+        return speedWarehouseInOutInfoService.editInfo(speedWarehouseInOutInfo);
+    }
+
+}
+

+ 0 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/SpeedPositionInfo.java

@@ -36,10 +36,6 @@ public class SpeedPositionInfo extends BaseModel<SpeedPositionInfo> {
      * 公司id
      */
     private String compId;
-    /**
-     * 仓位id
-     */
-    private String positionId;
     /**
      * 仓位号
      */

+ 179 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/SpeedWarehouseInOutInfo.java

@@ -0,0 +1,179 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * <p>
+ * 记录极速版出入库信息
+ * </p>
+ *
+ * @author Gdc
+ * @since 2023-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("speed_warehouse_in_out_info")
+public class SpeedWarehouseInOutInfo extends BaseModel<SpeedWarehouseInOutInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 公司id
+     */
+    private String compId;
+    /**
+     * 业务编号
+     */
+    private String businessNo;
+    /**
+     * 出入库标识(出库1入库2)
+     */
+    private String inOutFlag;
+    /**
+     * 毛重(公斤)
+     */
+    private Float grossWeight;
+    /**
+     * 皮重(公斤)
+     */
+    private Float tare;
+    /**
+     * 净重(公斤)
+     */
+    private Float netWeight;
+    /**
+     * 车牌号
+     */
+    private String carNumber;
+    /**
+     * 货名
+     */
+    private String goodsName;
+    /**
+     * 仓位id
+     */
+    private String positionId;
+    /**
+     * 仓位号
+     */
+    private String positionNo;
+    /**
+     * 单价(元/吨)
+     */
+    private Double unitPrice;
+    /**
+     * 粮款(元)
+     */
+    private Double grainFund;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 附件地址
+     */
+    private String addressUrl;
+    /**
+     * 客户姓名
+     */
+    private String customerName;
+    /**
+     * 客户id
+     */
+    private String customerId;
+    /**
+     * 水分
+     */
+    private String waterContent;
+    /**
+     * 杂质
+     */
+    private String impurity;
+    /**
+     * 霉变粒
+     */
+    private String mildewGrain;
+    /**
+     * 不完善粒
+     */
+    private String imperfectGrain;
+    /**
+     * 容重
+     */
+    private String bulkDensity;
+    /**
+     * 热损伤
+     */
+    private String jiaorenli;
+    /**
+     * 蛋白
+     */
+    private String protein;
+    /**
+     * 状态标识
+     */
+    private String statusFlag;
+    /**
+     * 收付款状态
+     */
+    private String status;
+    /**
+     *查询类型 1入库记录2出库记录
+     */
+    @TableField(exist = false)
+    private String searchType;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date startDate;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date endDate;
+    /**
+     * 操作标识
+     */
+    @TableField(exist = false)
+    private String flag;
+
+    @TableField(exist = false)
+    private List<SpeedWarehouseInOutInfo> speedWarehouseInOutInfoList;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -59,6 +59,7 @@ public enum YExceptionEnum {
 	CLOCK_ERROR("ERROR", "上班时间未打卡"),
 	CARNO_ERROR("ERROR", "当前车牌号有未通过审核的申请,请通过审核后继续添加!"),
 	EXE_ERROR("ERROR", "错误"),
+	PHONE_NO_ERROR("ERROR", "手机号已存在,不可重复!"),
 	;
 	@Getter
 	private String value;

+ 22 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/SpeedWarehouseInOutInfoMapper.java

@@ -0,0 +1,22 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedWarehouseInOutInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录极速版出入库信息 Mapper 接口
+ * </p>
+ *
+ * @author Gdc
+ * @since 2023-03-27
+ */
+public interface SpeedWarehouseInOutInfoMapper extends BaseMapper<SpeedWarehouseInOutInfo> {
+
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    List<SpeedWarehouseInOutInfo> getListByCondition(Map<String, Object> pageView);
+}

+ 24 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISpeedWarehouseInOutInfoService.java

@@ -0,0 +1,24 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedWarehouseInOutInfo;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 记录极速版出入库信息 服务类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2023-03-27
+ */
+public interface ISpeedWarehouseInOutInfoService extends IService<SpeedWarehouseInOutInfo> {
+
+    Page<SpeedWarehouseInOutInfo> selectInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo);
+
+    String addInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo);
+
+    void deleteInfo(String id);
+
+    String editInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo);
+}

+ 13 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SpeedCustomerInfoServiceImpl.java

@@ -1,14 +1,17 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.yh.saas.common.support.util.IdGenerator;
-import com.yh.saas.plugin.yiliangyiyun.entity.SalePlanInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.SpeedCustomerInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.SpeedCustomerInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.ISpeedCustomerInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.HashMap;
 import java.util.List;
@@ -46,9 +49,18 @@ public class SpeedCustomerInfoServiceImpl extends ServiceImpl<SpeedCustomerInfoM
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public String addInfo(SpeedCustomerInfo speedCustomerInfo) {
         //新增主键id
         speedCustomerInfo.setId(IdGenerator.generateUUID());
+        //判断手机号是否唯一
+        List<SpeedCustomerInfo> speedCustomerInfoList =
+                this.selectList(new EntityWrapper<SpeedCustomerInfo>()
+                        .eq("comp_id", speedCustomerInfo.getCompId())
+                        .eq("customer_phone", speedCustomerInfo.getCustomerPhone()));
+        if (speedCustomerInfoList.size() > 0) {
+            throw new YException(YExceptionEnum.PHONE_NO_ERROR);
+        }
         this.insert(speedCustomerInfo);
         return "ok";
     }

+ 0 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SpeedPositionInfoServiceImpl.java

@@ -32,7 +32,6 @@ public class SpeedPositionInfoServiceImpl extends ServiceImpl<SpeedPositionInfoM
     public String addInfo(SpeedPositionInfo speedPositionInfo) {
         //新增主键id
         speedPositionInfo.setId(IdGenerator.generateUUID());
-        speedPositionInfo.setPositionId(IdGenerator.generateUUID());
         this.insert(speedPositionInfo);
         return "ok";
     }

+ 204 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SpeedWarehouseInOutInfoServiceImpl.java

@@ -0,0 +1,204 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedExpenseInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedGoodsInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedPositionInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.SpeedWarehouseInOutInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.SpeedWarehouseInOutInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录极速版出入库信息 服务实现类
+ * </p>
+ *
+ * @author Gdc
+ * @since 2023-03-27
+ */
+@Service
+public class SpeedWarehouseInOutInfoServiceImpl extends ServiceImpl<SpeedWarehouseInOutInfoMapper, SpeedWarehouseInOutInfo> implements ISpeedWarehouseInOutInfoService {
+    @Autowired
+    private ISpeedPositionInfoService speedPositionInfoService;
+    @Autowired
+    private ISpeedGoodsInfoService speedGoodsInfoService;
+    @Override
+    public Page<SpeedWarehouseInOutInfo> selectInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (speedWarehouseInOutInfo.getCurrentPage() - 1)
+                * speedWarehouseInOutInfo.getPageSize());
+        //公司id
+        pageView.put("compId", speedWarehouseInOutInfo.getCompId());
+        pageView.put("searchKeyWord", speedWarehouseInOutInfo.getSearchKeyWord());
+        pageView.put("searchType", speedWarehouseInOutInfo.getSearchType());
+        pageView.put("status", speedWarehouseInOutInfo.getStatus());
+        pageView.put("startDate", speedWarehouseInOutInfo.getStartDate());
+        pageView.put("endDate", speedWarehouseInOutInfo.getEndDate());
+        pageView.put("pageSize", speedWarehouseInOutInfo.getPageSize());
+        pageView.put("currentPage", speedWarehouseInOutInfo.getCurrentPage());
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<SpeedWarehouseInOutInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<SpeedWarehouseInOutInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(speedWarehouseInOutInfo.getCurrentPage());
+        page.setSize(speedWarehouseInOutInfo.getPageSize());
+        return page;
+    }
+
+    @Override
+    public String addInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo) {
+        // 根据传参id判断是否是新增
+        //  空是新增
+        if (StringUtils.isEmpty(speedWarehouseInOutInfo.getId())) {
+            speedWarehouseInOutInfo.setId(IdGenerator.generateUUID());
+            //出库
+            if ("1".equals(speedWarehouseInOutInfo.getInOutFlag())) {
+                //默认未收
+                speedWarehouseInOutInfo.setStatusFlag(StatusEnum.UNCOLLECTED.getFlag());
+                speedWarehouseInOutInfo.setStatus(StatusEnum.UNCOLLECTED.getName());
+                //净重不为空,操作库存
+                if (speedWarehouseInOutInfo.getNetWeight()!=null){
+                    SpeedPositionInfo speedPositionInfo=speedPositionInfoService.selectById(speedWarehouseInOutInfo.getPositionId());
+                    if (speedPositionInfo!=null){
+                        speedPositionInfo.setStorage(speedPositionInfo.getStorage()-speedWarehouseInOutInfo.getNetWeight());
+                        speedPositionInfoService.updateById(speedPositionInfo);
+                    }
+                    SpeedGoodsInfo speedGoodsInfo=speedGoodsInfoService.selectOne(new EntityWrapper<SpeedGoodsInfo>()
+                            .eq("comp_id",speedWarehouseInOutInfo.getCompId())
+                            .eq("goods_name",speedWarehouseInOutInfo.getGoodsName()));
+                    if (speedGoodsInfo!=null){
+                        speedGoodsInfo.setStorage(speedGoodsInfo.getStorage()-speedWarehouseInOutInfo.getNetWeight());
+                        speedGoodsInfoService.updateById(speedGoodsInfo);
+                    }
+                }
+            }
+            //入库
+            else {
+                //默认未付
+                speedWarehouseInOutInfo.setStatusFlag(StatusEnum.PAY_WAIT.getFlag());
+                speedWarehouseInOutInfo.setStatus(StatusEnum.PAY_WAIT.getName());
+                //净重不为空,操作库存
+                if (speedWarehouseInOutInfo.getNetWeight()!=null){
+                    SpeedPositionInfo speedPositionInfo=speedPositionInfoService.selectById(speedWarehouseInOutInfo.getPositionId());
+                    if (speedPositionInfo!=null){
+                        speedPositionInfo.setStorage(speedPositionInfo.getStorage()+speedWarehouseInOutInfo.getNetWeight());
+                        speedPositionInfoService.updateById(speedPositionInfo);
+                    }
+                    SpeedGoodsInfo speedGoodsInfo=speedGoodsInfoService.selectOne(new EntityWrapper<SpeedGoodsInfo>()
+                            .eq("comp_id",speedWarehouseInOutInfo.getCompId())
+                            .eq("goods_name",speedWarehouseInOutInfo.getGoodsName()));
+                    if (speedGoodsInfo!=null){
+                        speedGoodsInfo.setStorage(speedGoodsInfo.getStorage()+speedWarehouseInOutInfo.getNetWeight());
+                        speedGoodsInfoService.updateById(speedGoodsInfo);
+                    }
+                }
+            }
+            this.insert(speedWarehouseInOutInfo);
+        }
+        else{
+            //出库
+            if ("1".equals(speedWarehouseInOutInfo.getInOutFlag())) {
+                //净重不为空,操作库存
+                if (speedWarehouseInOutInfo.getNetWeight()!=null){
+                    //取原净重
+                    SpeedWarehouseInOutInfo speedWarehouseInOutInfo1=this.selectById(speedWarehouseInOutInfo.getId());
+                    SpeedPositionInfo speedPositionInfo=speedPositionInfoService.selectById(speedWarehouseInOutInfo.getPositionId());
+                    if (speedPositionInfo!=null){
+                        //加上原净重再减去新净重
+                        speedPositionInfo.setStorage(speedPositionInfo.getStorage()+speedWarehouseInOutInfo1.getNetWeight()-speedWarehouseInOutInfo.getNetWeight());
+                        speedPositionInfoService.updateById(speedPositionInfo);
+                    }
+                    SpeedGoodsInfo speedGoodsInfo=speedGoodsInfoService.selectOne(new EntityWrapper<SpeedGoodsInfo>()
+                            .eq("comp_id",speedWarehouseInOutInfo.getCompId())
+                            .eq("goods_name",speedWarehouseInOutInfo.getGoodsName()));
+                    if (speedGoodsInfo!=null){
+                        //加上原净重再减去新净重
+                        speedGoodsInfo.setStorage(speedGoodsInfo.getStorage()+speedWarehouseInOutInfo1.getNetWeight()-speedWarehouseInOutInfo.getNetWeight());
+                        speedGoodsInfoService.updateById(speedGoodsInfo);
+                    }
+                }
+            }
+            //入库
+            else {
+                //净重不为空,操作库存
+                if (speedWarehouseInOutInfo.getNetWeight()!=null){
+                    //取原净重
+                    SpeedWarehouseInOutInfo speedWarehouseInOutInfo1=this.selectById(speedWarehouseInOutInfo.getId());
+                    SpeedPositionInfo speedPositionInfo=speedPositionInfoService.selectById(speedWarehouseInOutInfo.getPositionId());
+                    if (speedPositionInfo!=null){
+                        //减去原净重再加上新净重
+                        speedPositionInfo.setStorage(speedPositionInfo.getStorage()-speedWarehouseInOutInfo1.getNetWeight()+speedWarehouseInOutInfo.getNetWeight());
+                        speedPositionInfoService.updateById(speedPositionInfo);
+                    }
+                    SpeedGoodsInfo speedGoodsInfo=speedGoodsInfoService.selectOne(new EntityWrapper<SpeedGoodsInfo>()
+                            .eq("comp_id",speedWarehouseInOutInfo.getCompId())
+                            .eq("goods_name",speedWarehouseInOutInfo.getGoodsName()));
+                    if (speedGoodsInfo!=null){
+                        //减去原净重再加上新净重
+                        speedGoodsInfo.setStorage(speedGoodsInfo.getStorage()-speedWarehouseInOutInfo1.getNetWeight()+speedWarehouseInOutInfo.getNetWeight());
+                        speedGoodsInfoService.updateById(speedGoodsInfo);
+                    }
+                }
+            }
+        }
+        return "ok";
+    }
+
+    @Override
+    public void deleteInfo(String id) {
+        SpeedWarehouseInOutInfo speedWarehouseInOutInfo = this.selectById(id);
+        this.deleteById(speedWarehouseInOutInfo.getId());
+    }
+
+    @Override
+    public String editInfo(SpeedWarehouseInOutInfo speedWarehouseInOutInfo) {
+        //付款
+        if ("1".equals(speedWarehouseInOutInfo.getFlag())){
+            speedWarehouseInOutInfo.setStatusFlag(StatusEnum.PAYED.getFlag());
+            speedWarehouseInOutInfo.setStatus(StatusEnum.PAYED.getName());
+        }
+        //收款
+        else if ("2".equals(speedWarehouseInOutInfo.getFlag())){
+            speedWarehouseInOutInfo.setStatusFlag(StatusEnum.COLLECTED.getFlag());
+            speedWarehouseInOutInfo.setStatus(StatusEnum.COLLECTED.getName());
+        }
+        //批量付款
+        else if ("3".equals(speedWarehouseInOutInfo.getFlag())){
+            List<SpeedWarehouseInOutInfo> speedWarehouseInOutInfoList=speedWarehouseInOutInfo.getSpeedWarehouseInOutInfoList();
+            if (!CollectionUtils.isEmpty(speedWarehouseInOutInfoList)){
+                for (SpeedWarehouseInOutInfo speedWarehouseInOutInfo1:speedWarehouseInOutInfoList){
+                    speedWarehouseInOutInfo.setStatusFlag(StatusEnum.PAYED.getFlag());
+                    speedWarehouseInOutInfo.setStatus(StatusEnum.PAYED.getName());
+                    this.updateById(speedWarehouseInOutInfo1);
+                }
+            }
+        }
+        //批量收款
+        else if ("4".equals(speedWarehouseInOutInfo.getFlag())){
+            List<SpeedWarehouseInOutInfo> speedWarehouseInOutInfoList=speedWarehouseInOutInfo.getSpeedWarehouseInOutInfoList();
+            if (!CollectionUtils.isEmpty(speedWarehouseInOutInfoList)){
+                for (SpeedWarehouseInOutInfo speedWarehouseInOutInfo1:speedWarehouseInOutInfoList){
+                    speedWarehouseInOutInfo.setStatusFlag(StatusEnum.COLLECTED.getFlag());
+                    speedWarehouseInOutInfo.setStatus(StatusEnum.COLLECTED.getName());
+                    this.updateById(speedWarehouseInOutInfo1);
+                }
+            }
+        }
+        this.updateById(speedWarehouseInOutInfo);
+        return "OK";
+    }
+}

+ 93 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/SpeedWarehouseInOutInfoMapper.xml

@@ -0,0 +1,93 @@
+<?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="com.yh.saas.plugin.yiliangyiyun.mapper.SpeedWarehouseInOutInfoMapper">
+
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM speed_warehouse_in_out_info
+        WHERE delete_flag = '0'
+        and comp_id= #{compId}
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(customer_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(car_number) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(goods_name) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="status != null and status != ''">
+            AND status = #{status}
+        </if>
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND in_out_flag ='2'
+            </if>
+            <if test="searchType == 2">
+                AND in_out_flag ='1'
+            </if>
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(update_date ,"%Y%m%d") >=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(update_date ,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+    </select>
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.SpeedWarehouseInOutInfo">
+        SELECT
+        id,
+        business_no as businessNo,
+        in_out_flag as inOutFlag,
+        gross_weight as grossWeight,
+        tare,
+        net_weight as netWeight,
+        car_number as carNumber,
+        goods_name as goodsName,
+        position_id as positionId,
+        position_no as positioNo,
+        unit_price as unitPrice,
+        grain_fund as grainFund,
+        remark,
+        address_url as addressUrl,
+        customer_name as customer_name,
+        customer_id as customerId,
+        imperfect_grain as imperfectGrain,
+        bulk_density as bulkDensity,
+        jiaorenli,
+        impurity,
+        protein,
+        mildew_grain as mildewGrain,
+        water_content as waterContent,
+        status_flag as statusFlag,
+        status,
+        update_date as updateDate
+        FROM speed_warehouse_in_out_info
+        WHERE delete_flag = '0'
+        and comp_id= #{compId}
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(customer_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(car_number) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(goods_name) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="status != null and status != ''">
+            AND status = #{status}
+        </if>
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND in_out_flag ='2'
+            </if>
+            <if test="searchType == 2">
+                AND in_out_flag ='1'
+            </if>
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(update_date ,"%Y%m%d") >=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(update_date ,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+    </select>
+</mapper>