huangfuli 4 سال پیش
والد
کامیت
9edd3cfe49

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

@@ -19,6 +19,8 @@ public class NumberConstant {
 
 	public static final String CONSTANT_TRAN = "TRAN";
 
+	public static final String CONSTANT_PURCHASE = "PURCHASE";
+
 	public static final String PURCHASE_WAREHOUSING = "采购入库";
 	private NumberConstant() {
 

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

@@ -59,7 +59,9 @@ public enum StatusEnum {
     TASK_DO("5", "执行中", "Under implementation"),
     TASK_COMPLETED("7", "已完成", "Completed"),
 
-
+    // 采购订单显示标识
+    PURCHASE_HIDE("0","隐藏",""),
+    PURCHASE_SHOW("1","显示",""),
     ;
     @Getter
     private String flag;

+ 34 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/ProcurementPlanInfoController.java

@@ -1,6 +1,8 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ProcurementPlanInfo;
 import com.yh.saas.plugin.yiliangyiyun.service.IProcurementPlanInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,9 +49,40 @@ public class ProcurementPlanInfoController {
      * @return
      */
     @PostMapping("/api/deleteProcurementPlan")
-    public void deleteProcurementPlan(@RequestBody ProcurementPlanInfo procurementPlanInfo){
+    public void deleteProcurementPlan(@RequestBody ProcurementPlanInfo procurementPlanInfo) {
         procurementPlanInfoService.deleteProcurementPlan(procurementPlanInfo.getId());
     }
 
+    /**
+     * 采购计划列表
+     * @param procurementPlanInfo
+     * @return
+     */
+    @GetMapping("/selectProcurementPlanInfo")
+    public Page<ProcurementPlanInfo> selectProcurementPlanInfo(ProcurementPlanInfo procurementPlanInfo) {
+        return procurementPlanInfoService.selectProcurementPlanInfo(procurementPlanInfo);
+    }
+
+    /**
+     * 添加采购计划
+     * @param procurementPlanInfo
+     * @return
+     */
+    @PostMapping("/api/insertProcurementPlanInfo")
+    public String insertProcurementPlanInfo(@RequestBody ProcurementPlanInfo procurementPlanInfo) {
+        return procurementPlanInfoService.insertProcurementPlanInfo(procurementPlanInfo);
+    }
+
+    /**
+     * 更改状态
+     * @param procurementPlanInfo
+     * @return
+     */
+    @PostMapping("/api/editStatus")
+    public String editStatus(@RequestBody ProcurementPlanInfo procurementPlanInfo){
+        return procurementPlanInfoService.editStatus(procurementPlanInfo.getId());
+
+    }
+
 }
 

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

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
@@ -211,6 +212,14 @@ public class ProcurementPlanInfo extends BaseModel<ProcurementPlanInfo> {
      */
     private String statusEn;
 
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+
+
+
 
     @Override
     protected Serializable pkVal() {

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

@@ -2,6 +2,10 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 
 import com.yh.saas.plugin.yiliangyiyun.entity.ProcurementPlanInfo;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +17,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  */
 public interface ProcurementPlanInfoMapper extends BaseMapper<ProcurementPlanInfo> {
 
+    /**
+     * 根据条件查询采购订单总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询采购订单列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<ProcurementPlanInfo> getListByCondition(Map<String, Object> pageView);
 }

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

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ProcurementPlanInfo;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -12,6 +13,7 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2021-07-20
  */
 public interface IProcurementPlanInfoService extends IService<ProcurementPlanInfo> {
+
     /**
      * 查看采购计划
      * @param id
@@ -29,4 +31,26 @@ public interface IProcurementPlanInfoService extends IService<ProcurementPlanInf
      * @param id
      */
     void deleteProcurementPlan(String id);
+
+    /**
+     * 采购计划列表
+     * @param procurementPlanInfo
+     * @return
+     */
+    Page<ProcurementPlanInfo> selectProcurementPlanInfo(ProcurementPlanInfo procurementPlanInfo);
+
+    /**
+     * 添加采购计划
+     * @param procurementPlanInfo
+     * @return
+     */
+    String insertProcurementPlanInfo(ProcurementPlanInfo procurementPlanInfo);
+
+    /**
+     * 更改状态
+     * @param id
+     * @return
+     */
+    String editStatus(String id);
+
 }

+ 93 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ProcurementPlanInfoServiceImpl.java

@@ -1,15 +1,23 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
-import com.baomidou.mybatisplus.toolkit.CollectionUtils;
-import com.yh.saas.common.support.util.StringUtils;
+
+
+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.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.ProcurementPlanInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ProcurementPlanInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IProcurementPlanInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
-import static com.yh.saas.common.support.util.StringUtils.*;
 
 /**
  * <p>
@@ -21,6 +29,9 @@ import static com.yh.saas.common.support.util.StringUtils.*;
  */
 @Service
 public class ProcurementPlanInfoServiceImpl extends ServiceImpl<ProcurementPlanInfoMapper, ProcurementPlanInfo> implements IProcurementPlanInfoService {
+    @Autowired
+    private ICommonBillOperateHisService billOperateHisService;
+
     /**
      * 查看采购计划
      * @param id
@@ -49,6 +60,7 @@ public class ProcurementPlanInfoServiceImpl extends ServiceImpl<ProcurementPlanI
         return procurementPlanInfos.getId();
     }
 
+
     /**
      * 删除采购计划
      *  @param id
@@ -63,4 +75,82 @@ public class ProcurementPlanInfoServiceImpl extends ServiceImpl<ProcurementPlanI
             this.deleteById(procurementPlanInfo.getId());
         }
     }
+
+    /**
+     * 采购计划列表
+     * @param procurementPlanInfo
+     * @return
+     */
+    @Override
+    public Page<ProcurementPlanInfo> selectProcurementPlanInfo(ProcurementPlanInfo procurementPlanInfo){
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (procurementPlanInfo.getCurrentPage() - 1)
+                * procurementPlanInfo.getPageSize());
+        //公司id
+        pageView.put("compId",procurementPlanInfo.getCompId());
+        pageView.put("searchKeyWord",procurementPlanInfo.getSearchKeyWord());
+        pageView.put("pageSize",procurementPlanInfo.getPageSize());
+        pageView.put("currentPage",procurementPlanInfo.getCurrentPage());
+        // 查询采购订单总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<ProcurementPlanInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<ProcurementPlanInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(procurementPlanInfo.getCurrentPage());
+        page.setSize(procurementPlanInfo.getPageSize());
+        return page;
+    }
+
+    /**
+     * 添加采购计划
+     * @param procurementPlanInfo
+     * @return
+     */
+    @Override
+    public String insertProcurementPlanInfo(ProcurementPlanInfo procurementPlanInfo){
+        //新增主键id
+        procurementPlanInfo.setId(IdGenerator.generateUUID());
+        procurementPlanInfo.setStatus(StatusEnum.PURCHASE_SHOW.getName());
+        procurementPlanInfo.setStatusFlag(StatusEnum.PURCHASE_SHOW.getFlag());
+        // 操作主表数据
+        this.insert(procurementPlanInfo);
+        // 插入操作历史
+        String staffName = this.billOperateHisService.getStaffAndName();
+        // 插入操作历史
+        this.billOperateHisService.saveBillOperateHis(procurementPlanInfo.getId(), NumberConstant.CONSTANT_PURCHASE, staffName, null,
+                procurementPlanInfo.getStatus(), null, "");
+        return procurementPlanInfo.getId();
+    }
+
+    /**
+     * 更改状态
+     * @param id
+     * @return
+     */
+    @Override
+    public String editStatus(String id){
+        //查询采购订单信息
+        ProcurementPlanInfo procurementPlanInfo = this.selectById(id);
+        //更改状态
+        if (procurementPlanInfo != null ){
+            if (StatusEnum.PURCHASE_HIDE.getFlag().equals(procurementPlanInfo.getStatusFlag())) {
+                procurementPlanInfo.setStatusFlag(StatusEnum.PURCHASE_SHOW.getFlag());
+                procurementPlanInfo.setStatus(StatusEnum.PURCHASE_SHOW.getName());
+            } else {
+                procurementPlanInfo.setStatusFlag(StatusEnum.PURCHASE_HIDE.getFlag());
+                procurementPlanInfo.setStatus(StatusEnum.PURCHASE_HIDE.getName());
+            }
+            //更改运输任务信息
+            this.updateById(procurementPlanInfo);
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(procurementPlanInfo.getId(), NumberConstant.CONSTANT_PURCHASE, staffName, null,
+                    procurementPlanInfo.getStatus(), null, "");
+            return "OK";
+        }
+        return "NG";
+
+    }
 }

+ 40 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ProcurementPlanInfoMapper.xml

@@ -1,5 +1,44 @@
 <?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.ProcurementPlanInfoMapper">
-
+    <!-- 获得采购订单总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM procurement_plan_info
+        WHERE
+        comp_id = #{compId}
+        and delete_flag = '0'
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(procurement_plan_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(title) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+    </select>
+    <!-- 获得出入库任务列表 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.ProcurementPlanInfo">
+        SELECT
+        id,
+        procurement_plan_no as procurementPlanNo,
+        title as title,
+        goods_name as goodsName,
+        weight as weight,
+        basis_price as basisPrice,
+        unit_price as unitPrice,
+        receive_warehouse as receiveWarehouse,
+        status as status,
+        update_date as updateDate
+        FROM procurement_plan_info
+        WHERE
+        comp_id = #{compId}
+        and delete_flag = '0'
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(procurement_plan_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(title) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        ORDER BY status DESC , update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>