ezhizao_zx 10 月之前
父節點
當前提交
84c4a0154c

+ 20 - 1
src/main/java/cn/ezhizao/project/business/controller/BizOutsourceBalanceAccountController.java

@@ -11,6 +11,10 @@ import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.page.TableDataInfo;
+import cn.ezhizao.project.business.domain.BizOutsourceBalanceMonth;
+import cn.ezhizao.project.business.service.IBizOutsourceBalanceMonthService;
+import cn.hutool.core.date.DateTime;
+import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -35,6 +39,8 @@ public class BizOutsourceBalanceAccountController extends BaseController
 {
     @Resource
     private IBizOutsourceBalanceAccountService bizOutsourceBalanceAccountService;
+    @Resource
+    private IBizOutsourceBalanceMonthService bizOutsourceBalanceMonthService;
 
     /**
      * 查询外协结算列表
@@ -117,7 +123,7 @@ public class BizOutsourceBalanceAccountController extends BaseController
     {
         bizOutsourceBalanceAccounts.forEach(l ->{
             l.setStatus(1);
-            l.setCheckoutDate(new Date());
+//            l.setCheckoutDate(new Date());
         });
         bizOutsourceBalanceAccountService.updateBatchById(bizOutsourceBalanceAccounts);
         return success();
@@ -130,6 +136,12 @@ public class BizOutsourceBalanceAccountController extends BaseController
     @PostMapping("/cancel")
     public AjaxResult cancel(@RequestBody List<BizOutsourceBalanceAccount> bizOutsourceBalanceAccounts)
     {
+        // 判断是否在外协结算期间内结算的
+        // 获取当前结算期
+        BizOutsourceBalanceMonth bizOutsourceBalanceMonth = bizOutsourceBalanceMonthService.query().isNull("stop_date").one();
+        if (bizOutsourceBalanceAccounts.stream().anyMatch(v -> v.getCheckoutDate().before(bizOutsourceBalanceMonth.getStartDate()))) {
+            return error("结算日期小于" + new DateTime(bizOutsourceBalanceMonth.getStartDate()).toString("yyyy-MM-dd") + ",不允许取消结算");
+        }
         bizOutsourceBalanceAccounts.forEach(l ->{
             l.setStatus(0);
             l.setCheckoutDate(null);
@@ -137,4 +149,11 @@ public class BizOutsourceBalanceAccountController extends BaseController
         bizOutsourceBalanceAccountService.updateBatchById(bizOutsourceBalanceAccounts);
         return success();
     }
+
+    @PreAuthorize("@ss.hasPermi('business:balanceAccount:save')")
+    @Log(title = "外协结算保存", businessType = BusinessType.UPDATE)
+    @PostMapping("/saveBatch")
+    public AjaxResult saveBatch(@RequestBody List<BizOutsourceBalanceAccount> bizOutsourceBalanceAccounts) {
+        return toAjax(bizOutsourceBalanceAccountService.saveOrUpdateBatch(bizOutsourceBalanceAccounts));
+    }
 }

+ 2 - 0
src/main/java/cn/ezhizao/project/business/domain/BizOutsourceBalanceAccount.java

@@ -356,4 +356,6 @@ public class BizOutsourceBalanceAccount extends BaseEntity
     private BizSupplier supplier;
     @TableField(exist = false)
     private BizProduct product;
+    @TableField(exist = false)
+    private Date endDate;
 }

+ 46 - 0
src/main/java/cn/ezhizao/project/business/domain/BizOutsourceBalanceMonth.java

@@ -0,0 +1,46 @@
+package cn.ezhizao.project.business.domain;
+
+import java.util.Date;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 外协结算月设置对象 biz_outsource_balance_month
+ *
+ * @author ezhizao
+ * @date 2024-08-13
+ */
+@Data
+@TableName(value = "biz_outsource_balance_month")
+public class BizOutsourceBalanceMonth extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 开始日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "开始日期")
+    private Date startDate;
+
+    /** 结束日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "结束日期")
+    private Date endDate;
+
+    /** 设置人 */
+    @ApiModelProperty(value = "结束日期")
+    private Long userId;
+
+    /** 停用时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "停用时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "停用时间")
+    private Date stopDate;
+
+}

+ 29 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizOutsourceBalanceMonthMapper.java

@@ -0,0 +1,29 @@
+package cn.ezhizao.project.business.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import cn.ezhizao.project.business.domain.BizOutsourceBalanceMonth;
+
+/**
+ * 外协结算月设置Mapper接口
+ *
+ * @author ezhizao
+ * @date 2024-08-13
+ */
+public interface BizOutsourceBalanceMonthMapper extends BaseMapper<BizOutsourceBalanceMonth>
+{
+    /**
+     * 查询外协结算月设置列表
+     *
+     * @param bizOutsourceBalanceMonth 外协结算月设置
+     * @return 外协结算月设置集合
+     */
+    public List<BizOutsourceBalanceMonth> getList(BizOutsourceBalanceMonth bizOutsourceBalanceMonth);
+
+    /**
+     * 物理删除
+     * @param bizOutsourceBalanceMonth
+     * @return 删除结果
+    */
+    public int physicalDelete(BizOutsourceBalanceMonth bizOutsourceBalanceMonth);
+}

+ 30 - 0
src/main/java/cn/ezhizao/project/business/service/IBizOutsourceBalanceMonthService.java

@@ -0,0 +1,30 @@
+package cn.ezhizao.project.business.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import cn.ezhizao.project.business.domain.BizOutsourceBalanceMonth;
+
+/**
+ * 外协结算月设置Service接口
+ *
+ * @author ezhizao
+ * @date 2024-08-13
+ */
+public interface IBizOutsourceBalanceMonthService extends IService<BizOutsourceBalanceMonth>
+{
+    /**
+     * 查询外协结算月设置列表
+     *
+     * @param bizOutsourceBalanceMonth 外协结算月设置
+     * @return 外协结算月设置集合
+     */
+    public List<BizOutsourceBalanceMonth> getList(BizOutsourceBalanceMonth bizOutsourceBalanceMonth);
+
+    /**
+     * 物理删除
+     * @param bizOutsourceBalanceMonth
+     * @return 删除结果
+     */
+    public int physicalDelete(BizOutsourceBalanceMonth bizOutsourceBalanceMonth);
+
+}

+ 43 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizOutsourceBalanceMonthServiceImpl.java

@@ -0,0 +1,43 @@
+package cn.ezhizao.project.business.service.impl;
+
+import java.util.List;
+import javax.annotation.Resource;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import cn.ezhizao.project.business.mapper.BizOutsourceBalanceMonthMapper;
+import cn.ezhizao.project.business.domain.BizOutsourceBalanceMonth;
+import cn.ezhizao.project.business.service.IBizOutsourceBalanceMonthService;
+
+/**
+ * 外协结算月设置Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2024-08-13
+ */
+@Service
+public class BizOutsourceBalanceMonthServiceImpl  extends ServiceImpl<BizOutsourceBalanceMonthMapper, BizOutsourceBalanceMonth> implements IBizOutsourceBalanceMonthService
+{
+    @Resource
+    private BizOutsourceBalanceMonthMapper bizOutsourceBalanceMonthMapper;
+
+    /**
+     * 查询外协结算月设置列表
+     *
+     * @param bizOutsourceBalanceMonth 外协结算月设置
+     * @return 外协结算月设置
+     */
+    @Override
+    public List<BizOutsourceBalanceMonth> getList(BizOutsourceBalanceMonth bizOutsourceBalanceMonth)
+    {
+        return bizOutsourceBalanceMonthMapper.getList(bizOutsourceBalanceMonth);
+    }
+
+    /**
+     * 物理删除
+     * @param bizOutsourceBalanceMonth
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizOutsourceBalanceMonth bizOutsourceBalanceMonth){ return bizOutsourceBalanceMonthMapper.physicalDelete(bizOutsourceBalanceMonth); };
+
+}

+ 2 - 1
src/main/resources/mybatis/business/BizOutsourceBalanceAccountMapper.xml

@@ -64,7 +64,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="density != null "> AND density = #{density}</if>
             <if test="shape != null  and shape != ''"> AND shape = #{shape}</if>
             <if test="type != null  and type != ''"> AND type = #{type}</if>
-            <if test="status != null  and status != ''"> AND status = #{status}</if>
+            <if test="status != null "> AND status = #{status}</if>
+            <if test="endDate != null"> AND date_format(audit_date,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')</if>
         </trim>
     </select>
 

+ 31 - 0
src/main/resources/mybatis/business/BizOutsourceBalanceMonthMapper.xml

@@ -0,0 +1,31 @@
+<?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="cn.ezhizao.project.business.mapper.BizOutsourceBalanceMonthMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizOutsourceBalanceMonth" id="BizOutsourceBalanceMonthResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizOutsourceBalanceMonth" resultMap="BizOutsourceBalanceMonthResult">
+        SELECT * FROM biz_outsource_balance_month
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="startDate != null "> AND start_date = #{startDate}</if>
+            <if test="endDate != null "> AND end_date = #{endDate}</if>
+            <if test="stopDate != null "> AND stop_date = #{stopDate}</if>
+        </trim>
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_outsource_balance_month
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>