Browse Source

Merge branch '陈航-护理员补贴-完成版' of sckj/mz-cloud into master

953954216 1 year ago
parent
commit
93bed3487a

+ 47 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/DateUtils.java

@@ -157,6 +157,53 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         return day + "天" + hour + "小时" + min + "分钟";
     }
 
+    /** 计算两个时间差,返回是否大于一个月 */
+    public static boolean isMoreThanOneMonth(String startDateStr, String endDateStr) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        try {
+            Date d1 = sdf.parse(startDateStr);
+            Date d2 = sdf.parse(endDateStr);
+            long diff = Math.abs(d1.getTime() - d2.getTime());
+            int days = (int)(diff / (1000 * 60 * 60 * 24)) +1;
+            int StartDateMonthDats;
+
+            int startYear = Integer.parseInt(startDateStr.substring(0, 4));
+            int startMonth = Integer.parseInt(startDateStr.substring(4, 6));
+            // 根据传入的月份判断该月应有多少天
+            switch (startMonth) {
+                case 2: // 二月份
+                    // 判断当前年份是否为闰年
+                    if (isLeapYear(startYear)) {
+                        StartDateMonthDats = 29; // 闰年二月份有29天
+                        break;
+                    } else {
+                        StartDateMonthDats = 28; // 非闰年二月份有28天
+                        break;
+                    }
+                case 4: // 四月
+                case 6: // 六月
+                case 9: // 九月
+                case 11: // 十一月
+                    StartDateMonthDats = 30;
+                    break;
+                default:
+                    StartDateMonthDats = 31;
+            }
+            boolean isOneMonthDays = false;
+            if(days>=StartDateMonthDats) isOneMonthDays = true;
+            return isOneMonthDays;
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    /**判断是否闰年*/
+    public static boolean isLeapYear(int year) {
+        return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
+    }
+
     public static long checkDays(String end)
     {
         Date endDate = dateTime(YYYYMMDDHHMMSS, end);

+ 29 - 0
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/domain/YljgYgHtxx.java

@@ -79,4 +79,33 @@ public class YljgYgHtxx extends BaseEntity
 
     private String bz;
 
+    /** 津贴发放状态 */
+    @TableField(exist = false)
+    private String jtffzt;
+
+    /** 岗位津贴开始发放年月 */
+    @TableField(exist = false)
+    private String gwStart;
+    /** 第一年津贴 */
+    @TableField(exist = false)
+    private String gwYear1;
+    /** 第二年津贴 */
+    @TableField(exist = false)
+    private String gwYear2;
+    /** 第三年津贴 */
+    @TableField(exist = false)
+    private String gwYear3;
+    /** 第四年津贴 */
+    @TableField(exist = false)
+    private String gwYear4;
+    /** 第五年津贴 */
+    @TableField(exist = false)
+    private String gwYear5;
+    /** 发放月数 */
+    @TableField(exist = false)
+    private String gwFfys;
+    /** 岗位津贴发放总钱数 */
+    @TableField(exist = false)
+    private String gwTotalMoney;
+
 }

+ 14 - 0
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/domain/YljgYgJbxx.java

@@ -305,6 +305,20 @@ public class YljgYgJbxx extends BaseEntity
     @EncryptionV
     private String hlyJtffShrxm;
 
+    @ApiModelProperty(value = "补贴开始时间")
+    private String btkssj;
+
+    @ApiModelProperty(value = "补贴结束时间")
+    private String btjssj;
+
+    @ApiModelProperty(value = "合同结束时间")
+    @TableField(exist = false)
+    private String htkssj;
+
+    @ApiModelProperty(value = "合同结束时间")
+    @TableField(exist = false)
+    private String htjssj;
+
     @ApiModelProperty(value = "入职奖励类型")
     @TableField(exist = false)
     private String rzjtLx;

+ 6 - 1
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/mapper/YljgYgHtxxMapper.java

@@ -1,15 +1,20 @@
 package com.ruoyi.organization.mapper;
 
 import java.util.List;
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.ruoyi.organization.domain.YljgYgHtxx;
 import com.ruoyi.common.datascope.utils.BaseMapperPlus;
 
 /**
  * 养老机构_员工_合同信息Mapper接口
- * 
+ *
  * @author CH
  * @date 2023-02-14
  */
 public interface YljgYgHtxxMapper extends BaseMapperPlus<YljgYgHtxx> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    public YljgYgHtxx selectHtxxByCyryId(YljgYgHtxx ygHtxx);
+    public List<YljgYgHtxx> selectHtxxListByCyryId(YljgYgHtxx ygHtxx);
+
 }

+ 4 - 0
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/mapper/YljgYgJbxxMapper.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.ruoyi.common.datascope.handler.DataColumn;
 import com.ruoyi.common.datascope.handler.DataPermission;
 import com.ruoyi.common.datascope.utils.BaseMapperPlus;
+import com.ruoyi.organization.domain.YljgYgHtxx;
 import com.ruoyi.organization.domain.YljgYgJbxx;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -31,6 +33,8 @@ public interface YljgYgJbxxMapper extends BaseMapperPlus<YljgYgJbxx>
      */
     public YljgYgJbxx selectYljgYgJbxxById(String id);
     public Map<String,Object> selectYljgHlyJtjlById(String id);
+    @InterceptorIgnore(tenantLine = "true")
+    public List<YljgYgHtxx> selectYljgHtxxById(@Param("id") String id, @Param("jgId") String jgId);
 
     @InterceptorIgnore(tenantLine = "true")
     public YljgYgJbxx selectCheckYgxxById(String id);

+ 4 - 4
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/service/IYljgYgHtxxService.java

@@ -2,8 +2,8 @@ package com.ruoyi.organization.service;
 
 import java.util.List;
 
-import com.ruoyi.organization.domain.YljgYgBtxx;
 import com.ruoyi.organization.domain.YljgYgHtxx;
+import com.ruoyi.organization.domain.YljgYgJbxx;
 
 /**
  * 养老机构_员工_合同信息Service接口
@@ -35,8 +35,8 @@ public interface IYljgYgHtxxService
      * @param yljgYgHtxx 养老机构_员工_合同信息
      * @return 结果
      */
-    public int insertYljgYgHtxx(YljgYgHtxx yljgYgHtxx);
-    public void checkParentIdExist(YljgYgHtxx yljgYgHtxx);
+    public int insertYljgYgHtxx(YljgYgHtxx yljgYgHtxx,YljgYgJbxx yljgYgJbxx);
+    public YljgYgJbxx checkParentIdExist(YljgYgHtxx yljgYgHtxx);
 
     /**
      * 修改养老机构_员工_合同信息
@@ -44,7 +44,7 @@ public interface IYljgYgHtxxService
      * @param yljgYgHtxx 养老机构_员工_合同信息
      * @return 结果
      */
-    public int updateYljgYgHtxx(YljgYgHtxx yljgYgHtxx);
+    public int updateYljgYgHtxx(YljgYgHtxx yljgYgHtxx,YljgYgJbxx yljgYgJbxx);
 
     /**
      * 批量删除养老机构_员工_合同信息

+ 145 - 7
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/service/impl/YljgYgHtxxServiceImpl.java

@@ -1,8 +1,12 @@
 package com.ruoyi.organization.service.impl;
 
+import java.text.ParseException;
 import java.util.List;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
@@ -15,6 +19,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.organization.mapper.YljgYgHtxxMapper;
 import com.ruoyi.organization.domain.YljgYgHtxx;
 import com.ruoyi.organization.service.IYljgYgHtxxService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 养老机构_员工_合同信息Service业务层处理
@@ -52,7 +57,7 @@ public class YljgYgHtxxServiceImpl implements IYljgYgHtxxService
     @Override
     public List<YljgYgHtxx> selectYljgYgHtxxList(YljgYgHtxx yljgYgHtxx)
     {
-        return yljgYgHtxxMapper.selectList(new LambdaQueryWrapper<>(yljgYgHtxx));
+        return yljgYgHtxxMapper.selectList(new LambdaQueryWrapper<>(yljgYgHtxx).orderByAsc(YljgYgHtxx::getHtkssj));
     }
 
     /**
@@ -62,21 +67,58 @@ public class YljgYgHtxxServiceImpl implements IYljgYgHtxxService
      * @return 结果
      */
     @Override
-    public int insertYljgYgHtxx(YljgYgHtxx yljgYgHtxx)
+    @Transactional
+    public int insertYljgYgHtxx(YljgYgHtxx yljgYgHtxx,YljgYgJbxx yljgYgJbxx)
     {
+        boolean isUpdateYgXx = false;
+        if(StringUtils.isNotNull(yljgYgHtxx.getHtkssj()) || StringUtils.isNotNull(yljgYgHtxx.getHtjssj())){
+            isUpdateYgXx = true;
+        }
+
+        // 校验合同时间准确性
+        checkHtsj(yljgYgHtxx);
+
+        YljgYgHtxx htxx = new YljgYgHtxx();
+        htxx.setCyryId(yljgYgHtxx.getCyryId());
+        htxx.setJgId(SecurityUtils.getJgId());
+        YljgYgHtxx htxxResult = yljgYgHtxxMapper.selectHtxxByCyryId(htxx);
+        if(StringUtils.isNotNull(htxxResult)){
+            if(Integer.parseInt(htxxResult.getHtjssj()) > Integer.parseInt(yljgYgHtxx.getHtkssj())){
+                throw new ServiceException("新增合同开始时间必须大于上一份的合同结束时间!");
+            }
+        }
+
+        if(isUpdateYgXx){
+            YljgYgJbxx yg = new YljgYgJbxx();
+            yg.setId(yljgYgHtxx.getCyryId());
+            if(StringUtils.isNull(htxxResult)){ // 没历史合同,直接更新
+                yg.setBtkssj(yljgYgHtxx.getHtkssj());
+                yg.setBtjssj(yljgYgHtxx.getHtjssj());
+                yljgYgJbxxMapper.updateYljgYgJbxx(yg);
+            }else{ // 有历史合同,且合同连续,只更新结束日期.
+                if(Integer.parseInt(htxxResult.getHtjssj()) == Integer.parseInt(yljgYgHtxx.getHtkssj())){
+                    yg.setBtjssj(yljgYgHtxx.getHtjssj());
+                    yljgYgJbxxMapper.updateYljgYgJbxx(yg);
+                }
+            }
+        }
+
         yljgYgHtxx.setId(IdUtils.simpleUUID());
         yljgYgHtxx.setJgId(SecurityUtils.getJgId());
         return yljgYgHtxxMapper.insert(yljgYgHtxx);
     }
 
-    public void checkParentIdExist(YljgYgHtxx yljgYgHtxx){
+    public YljgYgJbxx checkParentIdExist(YljgYgHtxx yljgYgHtxx){
         if(StringUtils.isNotBlank(yljgYgHtxx.getCyryId())){
             YljgYgJbxx yg = new YljgYgJbxx();
             yg.setId(yljgYgHtxx.getCyryId());
-
-            if(yljgYgJbxxMapper.selectYljgYgJbxxList(yg).size()!=1){
+            List<YljgYgJbxx> ygList = yljgYgJbxxMapper.selectYljgYgJbxxList(yg);
+            if(ygList.size()!=1){
                 throw new ServiceException("父级信息不存在/失效,操作失败,请检查其信息");
             }
+            return ygList.get(0);
+        }else {
+            throw new ServiceException("内部调用失败,请检查是否传入从业人员id!");
         }
     }
 
@@ -87,9 +129,68 @@ public class YljgYgHtxxServiceImpl implements IYljgYgHtxxService
      * @return 结果
      */
     @Override
-    public int updateYljgYgHtxx(YljgYgHtxx yljgYgHtxx)
+    @Transactional
+    public int updateYljgYgHtxx(YljgYgHtxx yljgYgHtxx,YljgYgJbxx yljgYgJbxx)
     {
-        return yljgYgHtxxMapper.updateById(yljgYgHtxx);
+        // 非[上级审批通过]和[发放津贴],才可以修改合同
+        // 且只能修改最后一条
+        // 前端页面,只有最后一个条有[修改]按钮,其他修改隐藏;
+        if("03".equals(yljgYgJbxx.getJtffZt()) || "05".equals(yljgYgJbxx.getJtffZt())){
+            throw new ServiceException("上级已确认的信息无法修改合同,如想继续修改合同请联系管理员");
+        }
+
+        boolean isUpdateYgXx = false;
+        if(StringUtils.isNotNull(yljgYgHtxx.getHtkssj()) || StringUtils.isNotNull(yljgYgHtxx.getHtjssj())){
+            isUpdateYgXx = true;
+        }
+        YljgYgHtxx htxx = new YljgYgHtxx();
+        htxx.setCyryId(yljgYgHtxx.getCyryId());
+        htxx.setJgId(SecurityUtils.getJgId());
+        List<YljgYgHtxx> orgHtList = yljgYgHtxxMapper.selectHtxxListByCyryId(htxx);
+        YljgYgHtxx orgHtXx = orgHtList.get(orgHtList.size()-1);
+        String newHtKssj = orgHtXx.getHtkssj();
+        BeanUtil.copyProperties(yljgYgHtxx,orgHtXx,new CopyOptions().ignoreNullValue());
+        // 校验合同时间准确性
+        checkHtsj(orgHtXx);
+
+        if(orgHtList.size()>1){
+            if(!StringUtils.equals(orgHtList.get(orgHtList.size()-1).getId(),orgHtXx.getId())){
+                throw new ServiceException("只能修改最后一条合同信息!");
+            }
+            if(Integer.parseInt(orgHtList.get(orgHtList.size()-2).getHtjssj()) > Integer.parseInt(orgHtXx.getHtkssj())){
+                throw new ServiceException("合同开始时间必须大于上一份的合同结束时间!");
+            }
+        }
+
+        if(isUpdateYgXx){
+            YljgYgJbxx yg = new YljgYgJbxx();
+            yg.setId(orgHtXx.getCyryId());
+            if(orgHtList.size()==1){ // 有历史合同,只更新结束日期
+                yg.setBtkssj(orgHtXx.getHtkssj());
+                yg.setBtjssj(orgHtXx.getHtjssj());
+                yljgYgJbxxMapper.updateYljgYgJbxx(yg);
+            } else {
+                if(Integer.parseInt(orgHtList.get(orgHtList.size()-2).getHtjssj()) == Integer.parseInt(newHtKssj)){
+                    yg.setBtjssj(orgHtXx.getHtjssj());
+                    yljgYgJbxxMapper.updateYljgYgJbxx(yg);
+                }
+            }
+        }
+
+        return yljgYgHtxxMapper.updateById(orgHtXx);
+    }
+
+    private void checkHtsj(YljgYgHtxx yljgYgHtxx) {
+        if( Integer.parseInt(yljgYgHtxx.getHtjssj()) < Integer.parseInt(yljgYgHtxx.getHtkssj()) ){
+            throw new ServiceException("合同结束时间必须大于等于开始时间!");
+        }
+        try {
+            if(!DateUtils.isMoreThanOneMonth(yljgYgHtxx.getHtkssj(),yljgYgHtxx.getHtjssj())){
+                throw new ServiceException("合同签订时间必须超过一个月!");
+            }
+        } catch (ParseException e) {
+            throw new ServiceException("合同时间类型错误!");
+        }
     }
 
     /**
@@ -99,8 +200,45 @@ public class YljgYgHtxxServiceImpl implements IYljgYgHtxxService
      * @return 结果
      */
     @Override
+    @Transactional
     public int deleteYljgYgHtxxByIds(String[] ids)
     {
+        // 非[上级审批通过]和[发放津贴],才可以删除合同
+           //且只能删除最后一条
+           //前端页面,只有最后一个条有[删除]按钮,其他修改隐藏;
+        // 如果员工只有一份合同,删除后将 员工表合同时间置为NULL
+        // 有多份合同,删除最后一条后,更新合同结束时间。
+
+        String removeId = ids[0];
+        YljgYgHtxx htOne = yljgYgHtxxMapper.selectById(removeId);
+
+        YljgYgHtxx htxx = new YljgYgHtxx();
+        htxx.setCyryId(htOne.getCyryId());
+        htxx.setJgId(SecurityUtils.getJgId());
+
+        YljgYgJbxx ygxx = checkParentIdExist(htxx); // 取员工信息
+
+        if("02".equals(ygxx.getJtffZt())){
+            throw new ServiceException("该员工已确认资格,请前去[护理员津贴资格确认]页面取消资格");
+        }else if ("03".equals(ygxx.getJtffZt()) || "05".equals(ygxx.getJtffZt())){
+            throw new ServiceException("上级已确认的信息无法删除合同,如想继续删除合同请联系管理员");
+        }
+
+        List<YljgYgHtxx> orgHtList = yljgYgHtxxMapper.selectHtxxListByCyryId(htxx);
+
+        YljgYgJbxx yg = new YljgYgJbxx();
+        yg.setId(htOne.getCyryId());
+        if(orgHtList.size()>1){ // 有历史合同
+            if(!StringUtils.equals(orgHtList.get(orgHtList.size()-1).getId(),removeId)){
+                throw new ServiceException("只能删除最后一条合同信息!");
+            }
+            // 有历史合同,删除最后一条后,更新员工表的合同结束时间为上一条的结束时间
+            yg.setBtjssj(orgHtList.get(orgHtList.size()-2).getHtjssj());
+        }else{
+            yg.setBtkssj("empty");
+            yg.setBtjssj("empty");
+        }
+        yljgYgJbxxMapper.updateYljgYgJbxx(yg);
         return yljgYgHtxxMapper.deleteBatchIds(Arrays.asList(ids));
     }
 

+ 49 - 31
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/service/impl/YljgYgJbxxServiceImpl.java

@@ -74,6 +74,7 @@ public class YljgYgJbxxServiceImpl implements IYljgYgJbxxService
     {
         Map<String,Object> oldYg = yljgYgJbxxMapper.selectYljgHlyJtjlById(id);
         if (!ObjectUtil.isNull(oldYg)){
+            // 1.入职津贴奖励
             if (ObjectUtils.isNotEmpty(oldYg.get("rzjtLx"))) { // 1.入职津贴
                 String rzjlLx = oldYg.get("rzjtLx").toString();
                 switch (rzjlLx) {
@@ -109,8 +110,8 @@ public class YljgYgJbxxServiceImpl implements IYljgYgJbxxService
                         break;
                 }
             }
-            if(ObjectUtils.isNotEmpty(oldYg.get("isHlyyzs"))){ // 2.技能等级奖励津贴
-
+            // 2.技能等级奖励
+            if(ObjectUtils.isNotEmpty(oldYg.get("isHlyyzs")) && StringUtils.isNotNull(oldYg.get("hlydj"))){ // 2.技能等级奖励津贴
                 String  hlydj = oldYg.get("hlydj").toString();
                 switch (hlydj) {
                     case "00":
@@ -132,42 +133,59 @@ public class YljgYgJbxxServiceImpl implements IYljgYgJbxxService
                         oldYg.put("hlydjJtjl",500);
                         break;
                 }
-
             }
-            if (ObjectUtils.isNotEmpty(oldYg.get("hlyCynx"))){ // 3.岗位津贴
-                String hlyCynx = oldYg.get("hlyCynx").toString();
-                oldYg.put("gwYear1", 1200);
-                oldYg.put("gwYear2", 1800);
-                switch (hlyCynx) {
-                    case "0":
-                        oldYg.put("gwTotalMoney", 3000);
-                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("yearNow").toString())+3);
+
+
+            // // 3.岗位津贴奖励(以签订合同时间为准)
+            if (ObjectUtils.isNotEmpty(oldYg.get("ffYear"))){
+
+                String ffYear = oldYg.get("ffYear").toString();
+                String year1 = oldYg.get("gwbt").toString().split(",")[0];
+                String year2 = oldYg.get("gwbt").toString().split(",")[1];
+                String year3 = oldYg.get("gwbt").toString().split(",")[2];
+                String year4 = oldYg.get("gwbt").toString().split(",")[3];
+                String year5 = oldYg.get("gwbt").toString().split(",")[4];
+               int gwTotalMoney = Integer.parseInt(year1) + Integer.parseInt(year2) + Integer.parseInt(year3)
+                        + Integer.parseInt(year4) + Integer.parseInt(year5);
+                switch (ffYear) {
+                    case "2023":
+                        oldYg.put("gwYear1", year1);
+                        oldYg.put("gwYear2", year2);
+                        oldYg.put("gwYear3", year3);
+                        oldYg.put("gwYear4", year4);
+                        oldYg.put("gwYear5", year5);
+                        oldYg.put("gwTotalMoney", gwTotalMoney);
+                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("ffYear").toString()));
                         break;
-                    case "1":
-                        oldYg.put("gwYear3", 2400);
-                        oldYg.put("gwTotalMoney", 5400);
-                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("yearNow").toString())+2);
+                    case "2024":
+                        oldYg.put("gwYear1", year1);
+                        oldYg.put("gwYear2", year2);
+                        oldYg.put("gwYear3", year3);
+                        oldYg.put("gwYear4", year4);
+                        oldYg.put("gwTotalMoney", gwTotalMoney);
+                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("ffYear").toString()));
                         break;
-                    case "2":
-                        oldYg.put("gwYear3", 2400);
-                        oldYg.put("gwYear4", 3000);
-                        oldYg.put("gwTotalMoney", 8400);
-                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("yearNow").toString())+1);
+                    case "2025":
+                        oldYg.put("gwYear1", year1);
+                        oldYg.put("gwYear2", year2);
+                        oldYg.put("gwYear3", year3);
+                        oldYg.put("gwTotalMoney", gwTotalMoney);
+                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("ffYear").toString()));
                         break;
-                    default:
-                        oldYg.put("gwYear3", 2400);
-                        oldYg.put("gwYear4", 3000);
-                        oldYg.put("gwYear5", 3600);
-                        oldYg.put("gwTotalMoney", 12000);
-//                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("gwStart").toString()));
-                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("yearNow").toString()));
+                    case "2026":
+                        oldYg.put("gwYear1", year1);
+                        oldYg.put("gwYear2", year2);
+                        oldYg.put("gwTotalMoney", gwTotalMoney);
+                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("ffYear").toString()));
+                        break;
+                    case "2027":
+                        oldYg.put("gwYear1", year1);
+                        oldYg.put("gwTotalMoney", gwTotalMoney);
+                        oldYg.put("gwStart", Integer.parseInt(oldYg.get("ffYear").toString()));
                         break;
                 }
-                if ("0".equals(hlyCynx)){
-                    oldYg.put("hlyCynx", "不满一");
-                }
-
             }
+
             if (ObjectUtils.isNotEmpty(oldYg.get("jtffZt"))){ // 4.获得荣誉(【护理员职业技能大赛】中获得证书)
                 String jtffZt = oldYg.get("jtffZt").toString();
                 if (!"03,05".contains(jtffZt)){ // 只有是上级审批通过,或已经发放津贴才能看到上级的奖励说明.(上级驳回看不到 获得荣誉已填写的奖励说明)

+ 14 - 0
ruoyi-modules/mz-organization-yggl/src/main/resources/mapper/organization/YljgYgHtxxMapper.xml

@@ -29,6 +29,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateUnit"    column="update_unit"    />
         <result property="updateUnitName"    column="update_unit_name"    />
         <result property="state"    column="state"    />
+        <result property="jtffzt"    column="jtffzt"    />
     </resultMap>
 
+
+    <select id="selectHtxxByCyryId" parameterType="YljgYgHtxx" resultMap="YljgYgHtxxResult">
+        select htkssj,htjssj , (select jtff_zt from yljg_yg_jbxx where id = #{cyryId}) as jtffzt
+        from yljg_yg_htxx where cyry_id = #{cyryId} AND jg_id = #{jgId}
+        ORDER BY htjssj DESC limit 1
+    </select>
+
+    <select id="selectHtxxListByCyryId" parameterType="YljgYgHtxx" resultMap="YljgYgHtxxResult">
+        select id,htkssj,htjssj
+        from yljg_yg_htxx where cyry_id = #{cyryId} AND jg_id = #{jgId}
+        ORDER BY htjssj
+    </select>
+
 </mapper>

+ 168 - 22
ruoyi-modules/mz-organization-yggl/src/main/resources/mapper/organization/YljgYgJbxxMapper.xml

@@ -45,9 +45,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateUnit"    column="update_unit"    />
         <result property="updateUnitName"    column="update_unit_name"    />
         <result property="zzmc"    column="zzmc"    />
+        <result property="btkssj"    column="btkssj"    />
+        <result property="btjssj"    column="btjssj"    />
     </resultMap>
 
-
     <resultMap type="YljgYgJbxx" id="YljgHlyYgResult">
         <result property="id"    column="id"    />
         <result property="jgId"    column="jg_id"    />
@@ -99,6 +100,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateUnitName"    column="update_unit_name"    />
         <result property="zzmc"    column="zzmc"    />
         <result property="htxxUrl"    column="htxx_url"    />
+        <result property="btkssj"    column="btkssj"    />
+        <result property="btjssj"    column="btjssj"    />
+    </resultMap>
+
+    <resultMap type="YljgYgHtxx" id="YljgYgHtxxResult">
+        <result property="id"    column="id"    />
+        <result property="cyryId"    column="cyry_id"    />
+        <result property="jgId"    column="jg_id"    />
+        <result property="htmc"    column="htmc"    />
+        <result property="htkssj"    column="htkssj"    />
+        <result property="htjssj"    column="htjssj"    />
+        <result property="htxxUrl"    column="htxx_url"    />
+        <result property="bz"    column="bz"    />
+        <result property="createTimeStr"    column="create_time_str"    />
+        <result property="createUserId"    column="create_user_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createUserType"    column="create_user_type"    />
+        <result property="createUnit"    column="create_unit"    />
+        <result property="createTounit"    column="create_tounit"    />
+        <result property="createBmjsc"    column="create_bmjsc"    />
+        <result property="createQhjsc"    column="create_qhjsc"    />
+        <result property="createUnitName"    column="create_unit_name"    />
+        <result property="createAreaCode"    column="create_area_code"    />
+        <result property="updateTimeStr"    column="update_time_str"    />
+        <result property="updateUserId"    column="update_user_id"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateUnit"    column="update_unit"    />
+        <result property="updateUnitName"    column="update_unit_name"    />
+        <result property="state"    column="state"    />
+        <result property="gwStart"    column="gwStart"    />
+        <result property="gwYear1"    column="gwYear1"    />
+        <result property="gwYear2"    column="gwYear2"    />
+        <result property="gwFfys"    column="gwFfys"    />
     </resultMap>
 
     <sql id="selectYljgYgJbxxVo">
@@ -108,7 +142,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         a.is_hlyyzs, a.is_jnsb, a.hlydj, a.gq_hlydj, a.jg_id, a.zw, a.sfzhm_url, a.whcd_url,
         a.create_time_str, a.create_user_id, a.create_by, a.create_unit,a.create_tounit,a.create_bmjsc,a.create_qhjsc, a.create_unit_name,
         a.update_time_str, a.update_user_id, a.update_by, a.update_unit, a.update_unit_name,
-        b.zzmc
+        a.jtff_zt, b.zzmc
         from yljg_yg_jbxx a
         LEFT JOIN yljg_bmxx b ON a.shbn = b.id
     </sql>
@@ -140,6 +174,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select
         a.id, xm, a.sfzlx, a.sfzhm, a.xb, a.lxdh, a.whcd, a.shbn,
         a.zylx, a.zylx_qt, a.gwlx,
+        a.btkssj, a.btjssj ,
+        (SELECT MIN(htkssj) FROM YLJG_YG_HTXX WHERE cyry_id = a.id) AS htkssj,
+        (SELECT MAX(htjssj) FROM YLJG_YG_HTXX WHERE cyry_id = a.id) AS htjssj,
         a.is_hlyyzs, a.hlydj, a.gq_hlydj, a.jg_id, a.zw, a.hly_jtff_shyj,
         a.create_time_str, a.create_user_id, a.create_by, a.create_unit,a.create_tounit,a.create_bmjsc,a.create_qhjsc, a.create_unit_name,
         a.update_time_str, a.update_user_id, a.update_by, a.update_unit, a.update_unit_name,
@@ -150,6 +187,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             zylx = '01'
             AND a.is_jnsb = '01'
             AND a.is_sybz = '0'
+            AND a.btkssj IS NOT NULL
             AND a.state = '1'
             AND a.zzzt = '1'
             AND a.jg_id in (
@@ -186,34 +224,138 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where a.id = #{id}
     </select>
 
-    <!-- 护理员津贴奖励信息-->
-<!--    IFNULL(-->
-<!--    (TIMESTAMPDIFF(YEAR,-->
-<!--    (SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id),-->
-<!--    (SELECT MAX(htjssj) FROM yljg_yg_htxx WHERE cyry_id = A.id))),0) AS hlyCynx,-->
+
     <select id="selectYljgHlyJtjlById" parameterType="String" resultType="java.util.Map">
-        select
-        YEAR(NOW()) AS yearNow,
-        IFNULL(DATE_FORMAT((SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id),'%Y'),DATE_FORMAT(NOW(),'%Y')) as gwStart,
-        IFNULL((YEAR(NOW()) - YEAR((SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id))),0) AS hlyCynx,
-        (SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id) AS htkssj,
-        (SELECT MAX(htjssj) FROM yljg_yg_htxx WHERE cyry_id = A.id) AS htjssj,
+        SELECT
+        ffrq,ffyf, ffYear, htStartYear, rzjtLx, isHlyyzs, hlydj,
+        get_hly_btje_gw(ffrq,ffyf) as gwbt
+        FROM
+        (
+        SELECT
+        (
+        CASE
+        WHEN TIMESTAMPDIFF(MONTH, if(btkssj &lt;= 20200101,'20230101',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y-%m-%d')), DATE_FORMAT(btjssj,'%Y-%m-%d')) &lt;= 0
+        THEN 0
+        WHEN TIMESTAMPDIFF(MONTH, if(btkssj &lt;= 20200101,'20230101',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y-%m-%d')), DATE_FORMAT(btjssj,'%Y-%m-%d')) > 0
+        AND TIMESTAMPDIFF(MONTH, if(btkssj &lt;= 20200101,'20230101',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y-%m-%d')), DATE_FORMAT(btjssj,'%Y-%m-%d')) &lt;=60
+        THEN TIMESTAMPDIFF(MONTH, if(btkssj &lt;= 20200101,'20230101',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y-%m-%d')), DATE_FORMAT(btjssj,'%Y-%m-%d')) + 1
+        WHEN TIMESTAMPDIFF(MONTH, if(btkssj &lt;= 20200101,'20230101',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y-%m-%d')), DATE_FORMAT(btjssj,'%Y-%m-%d')) >60
+        THEN 60
+        ELSE 0
+        END
+        ) as ffyf, is_hlyyzs as isHlyyzs,
+        if(btkssj &lt;= 20200101,'2023',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y')) as ffYear,
+        if(btkssj &lt;= 20200101,'202301',DATE_FORMAT(DATE_ADD(btkssj, INTERVAL 3 YEAR),'%Y%m')) as ffrq,
+        DATE_FORMAT(btkssj,'%Y') AS htStartYear, hlydj, IFNULL(a.hdyr_jlms,'暂无信息') as hdyrJlms,
         (CASE
         WHEN a.is_scrz = '1' AND a.whcd = '20' THEN 1
         WHEN a.is_scrz = '1' AND a.whcd = '30' THEN 2
         WHEN a.is_scrz = '1' AND a.whcd IN ('40','60') THEN 3
         WHEN a.is_tsknqt = '1' THEN 4 ELSE 0
-        END) AS rzjtLx,
-            IFNULL(a.hdyr_jlms,'暂无信息') as hdyrJlms, a.hly_jtff_shyj as hlyJtffShyj, a.hly_jtff_shrxm as hlyJtffShrxm,
-            a.id, a.jg_id, xm, a.sfzlx, a.sfzhm, a.csrq, a.cyrq, a.xb, a.lxdh, a.whcd, a.shbn,
-            a.zzzt, a.lzsj, a.rzsj, a.zylx, a.zylx_qt as zylxQt, a.gwlx, a.jtff_zt as jtffZt, a.is_qy as isQy,
-            a.is_hlyyzs as isHlyyzs, a.is_jnsb as isJnsb, a.hlydj, a.gq_hlydj as gqHlydj, a.jg_id as jgId, a.zw,
-            a.sfzhm_url as sfzhmUrl, a.whcd_url as whcdUrl, a.is_scrz as isScrz, a.is_scrz_url as isScrzUrl,
-            a.is_sybz as isSybz, a.is_tsknqt as isTsknqt
-        from yljg_yg_jbxx a
-        where a.id = #{id}
+        END) AS rzjtLx
+        FROM YLJG_YG_JBXX a
+        WHERE a.id = #{id}
+        ) AA
+    </select>
+
+<!--    <select id="selectYljgHlyJtjlById" parameterType="String" resultType="java.util.Map">-->
+<!--        select-->
+<!--        YEAR(NOW()) AS yearNow,-->
+<!--        IFNULL(DATE_FORMAT((SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id),'%Y-%m'),DATE_FORMAT(NOW(),'%Y-%m')) as gwStart,-->
+<!--        IFNULL((YEAR(NOW()) - YEAR((SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id))),0) AS hlyCynx,-->
+<!--        (SELECT MIN(htkssj) FROM yljg_yg_htxx WHERE cyry_id = A.id) AS htkssj,-->
+<!--        (SELECT MAX(htjssj) FROM yljg_yg_htxx WHERE cyry_id = A.id) AS htjssj,-->
+<!--        (CASE-->
+<!--        WHEN a.is_scrz = '1' AND a.whcd = '20' THEN 1-->
+<!--        WHEN a.is_scrz = '1' AND a.whcd = '30' THEN 2-->
+<!--        WHEN a.is_scrz = '1' AND a.whcd IN ('40','60') THEN 3-->
+<!--        WHEN a.is_tsknqt = '1' THEN 4 ELSE 0-->
+<!--        END) AS rzjtLx,-->
+<!--            IFNULL(a.hdyr_jlms,'暂无信息') as hdyrJlms, a.hly_jtff_shyj as hlyJtffShyj, a.hly_jtff_shrxm as hlyJtffShrxm,-->
+<!--            a.id, a.jg_id, xm, a.sfzlx, a.sfzhm, a.csrq, a.cyrq, a.xb, a.lxdh, a.whcd, a.shbn,-->
+<!--            a.zzzt, a.lzsj, a.rzsj, a.zylx, a.zylx_qt as zylxQt, a.gwlx, a.jtff_zt as jtffZt, a.is_qy as isQy,-->
+<!--            a.is_hlyyzs as isHlyyzs, a.is_jnsb as isJnsb, a.hlydj, a.gq_hlydj as gqHlydj, a.jg_id as jgId, a.zw,-->
+<!--            a.sfzhm_url as sfzhmUrl, a.whcd_url as whcdUrl, a.is_scrz as isScrz, a.is_scrz_url as isScrzUrl,-->
+<!--            a.is_sybz as isSybz, a.is_tsknqt as isTsknqt-->
+<!--        from yljg_yg_jbxx a-->
+<!--        where a.id = #{id}-->
+<!--    </select>-->
+
+    <select id="selectYljgHtxxById" parameterType="String" resultMap="YljgYgHtxxResult">
+
     </select>
 
+
+
+
+<!--    <select id="selectYljgHtxxById" parameterType="String" resultMap="YljgYgHtxxResult">-->
+<!--        SELECT-->
+<!--        htkssj, ffrqYM AS gwStart, htjssj, gwStartMonth, gwEndYM, gwEndMonth, ffyf AS gwFfys, dj,-->
+<!--        (-->
+<!--        CASE-->
+<!--        WHEN  dj=1 AND 13-gwStartMonth &gt;= ffyf-->
+<!--        THEN  50 * ffyf-->
+<!--        ELSE 50 * (13-gwStartMonth)-->
+<!--        END-->
+<!--        ) AS gwYear1,-->
+<!--        (-->
+<!--        CASE-->
+<!--        WHEN  dj=1 AND 13-gwStartMonth &gt;= ffyf-->
+<!--        THEN  0-->
+<!--        WHEN  dj=1 AND 12-gwStartMonth &lt; ffyf-->
+<!--        THEN  (ffyf-13+gwStartMonth) * 50-->
+<!--        WHEN  dj=2 AND ffyf-12 &lt;= 12-gwStartMonth+1-->
+<!--        THEN  (gwStartMonth-1) * 50 + (ffyf-12) * 100-->
+<!--        ELSE  (gwStartMonth-1) * 50 + (13-gwStartMonth) * 100-->
+<!--        END-->
+<!--        ) AS gwYear2-->
+<!--        FROM-->
+<!--        (-->
+<!--        SELECT-->
+<!--        htkssj, DATE_FORMAT(ffrq,'%Y-%m') AS ffrqYM, htjssj, gwStartMonth, gwEndYM, gwEndMonth,-->
+<!--        (-->
+<!--        CASE-->
+<!--        WHEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) &lt;= 0-->
+<!--        THEN 0-->
+<!--        WHEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) &gt; 0 AND TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d'))  &lt;=60-->
+<!--        THEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) + 1-->
+<!--        WHEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) &gt;60-->
+<!--        THEN 60-->
+<!--        ELSE 0-->
+<!--        END-->
+<!--        ) as ffyf,-->
+<!--        (-->
+<!--        CASE-->
+<!--        WHEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) &lt;= 0-->
+<!--        THEN 0-->
+<!--        WHEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) > 0 AND TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d'))  &lt;=59-->
+<!--        THEN CEIL((TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) + 1)/12)-->
+<!--        WHEN TIMESTAMPDIFF(MONTH, ffrq, DATE_FORMAT(htjssj,'%Y-%m-%d')) >59-->
+<!--        THEN 6-->
+<!--        ELSE 0-->
+<!--        END-->
+<!--        ) as dj-->
+<!--        FROM-->
+<!--        (-->
+<!--        select htkssj, htjssj,-->
+<!--        (-->
+<!--        CASE-->
+<!--        WHEN htkssj &lt;= 20200101-->
+<!--        THEN '2023-01-01'-->
+<!--        WHEN htkssj &gt; 20200101-->
+<!--        THEN DATE_FORMAT(DATE_ADD(htkssj, INTERVAL 3 YEAR),'%Y-%m-%d')-->
+<!--        END-->
+<!--        )  as ffrq,-->
+<!--        DATE_FORMAT(IF(htkssj &lt;= 20200101,20230101,htkssj),'%m') AS gwStartMonth,-->
+<!--        DATE_FORMAT(htjssj,'%Y%m') AS gwEndYM,-->
+<!--        DATE_FORMAT(htjssj,'%m') AS gwEndMonth-->
+<!--        from yljg_yg_htxx-->
+<!--        where cyry_id = #{id} and jg_id = #{jgId}-->
+<!--        ORDER BY HTKSSJ ASC-->
+<!--        ) AA-->
+<!--        ) BB-->
+<!--    </select>-->
+
     <select id="selectCommonYljgYgJbxxById" parameterType="String" resultMap="YljgYgJbxxResult">
         select * from yljg_yg_jbxx where id = #{id}
     </select>
@@ -360,6 +502,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="jgId != null">jg_id = #{jgId},</if>
             <if test="zw != null">zw = #{zw},</if>
             <if test="isQy != null">is_qy = #{isQy},</if>
+            <if test="btkssj != null and btkssj != 'empty'">btkssj = #{btkssj},</if>
+            <if test="btjssj != null and btjssj != 'empty'">btjssj = #{btjssj},</if>
+            <if test="btkssj != null and btkssj == 'empty'">btkssj = NULL,</if>
+            <if test="btjssj != null and btjssj == 'empty'">btjssj = NULL,</if>
             update_time_str = #{updateTimeStr},
             update_user_id = #{updateUserId},
             update_by = #{updateBy},

+ 5 - 7
ruoyi-modules/mz-organization/src/main/java/com/ruoyi/organization/controller/YljgYgHtxxController.java

@@ -1,9 +1,8 @@
 package com.ruoyi.organization.controller;
 
 import java.util.List;
-import javax.servlet.http.HttpServletResponse;
 
-import com.ruoyi.common.security.annotation.Logical;
+import com.ruoyi.organization.domain.YljgYgJbxx;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -22,7 +21,6 @@ import com.ruoyi.organization.domain.YljgYgHtxx;
 import com.ruoyi.organization.service.IYljgYgHtxxService;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.domain.AjaxResult;
-import com.ruoyi.common.core.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.web.page.TableDataInfo;
 
 /**
@@ -68,8 +66,8 @@ public class YljgYgHtxxController extends BaseController
     @PostMapping
     public AjaxResult add(@Validated({AddGroup.class}) @RequestBody YljgYgHtxx yljgYgHtxx)
     {
-        yljgYgHtxxService.checkParentIdExist(yljgYgHtxx);
-        return toAjax(yljgYgHtxxService.insertYljgYgHtxx(yljgYgHtxx),yljgYgHtxx.getId());
+        YljgYgJbxx ygXx = yljgYgHtxxService.checkParentIdExist(yljgYgHtxx);
+        return toAjax(yljgYgHtxxService.insertYljgYgHtxx(yljgYgHtxx,ygXx),yljgYgHtxx.getId());
     }
 
     /**
@@ -80,8 +78,8 @@ public class YljgYgHtxxController extends BaseController
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody YljgYgHtxx yljgYgHtxx)
     {
-        yljgYgHtxxService.checkParentIdExist(yljgYgHtxx);
-        return toAjax(yljgYgHtxxService.updateYljgYgHtxx(yljgYgHtxx));
+        YljgYgJbxx ygXx = yljgYgHtxxService.checkParentIdExist(yljgYgHtxx);
+        return toAjax(yljgYgHtxxService.updateYljgYgHtxx(yljgYgHtxx,ygXx));
     }
 
     /**

+ 3 - 3
ruoyi-ui/src/views/business/btgl/hlyJt/detail.vue

@@ -116,8 +116,8 @@
 						<h3>岗位津贴</h3>
 						<table>
 							<tr>
-								<td>护理员从业年限:</td>
-								<td>{{ subsidyInfo.hlyCynx }}年</td>
+<!--								<td>护理员从业年限:</td>-->
+<!--								<td>{{ subsidyInfo.hlyCynx }}年</td>-->
 								<td>岗位津贴总额:</td>
 								<td>{{ subsidyInfo.gwTotalMoney }}元</td>
 								<td>岗位津贴发放开始时间</td>
@@ -279,7 +279,7 @@ export default {
 				rzYear3: null,
 				hlydj: null,
 				hlydjJtjl: null,
-				hlyCynx: null,
+				// hlyCynx: null,
 				gwTotalMoney: null,
 				gwStart: null,
 				gwYear1: null,

+ 58 - 43
ruoyi-ui/src/views/organization/yggl/hlyJt/index.vue

@@ -71,7 +71,7 @@
 			</el-table-column>
 			<el-table-column label="员工姓名" align="center" prop="xm" />
 			<el-table-column label="证件号码" align="center" prop="sfzhm" width="180" />
-			<el-table-column label="性别" align="center" prop="xb">
+			<el-table-column label="性别" align="center" prop="xb" width="60">
 				<template slot-scope="scope">
 					<dict-tag :options="dict.type.C0007" :value="scope.row.xb" />
 				</template>
@@ -88,24 +88,39 @@
 					<dict-tag :options="dict.type.CH020" :value="scope.row.hlydj" />
 				</template>
 			</el-table-column>
-			<el-table-column label="岗位类型" align="center" prop="gwlx">
-				<template slot-scope="scope">
-					<dict-tag :options="dict.type.CH062" :value="scope.row.gwlx" />
-				</template>
-			</el-table-column>
+      <el-table-column label="合同开始时间" align="center" prop="htkssj">
+        <template slot-scope="scope">
+          <span>{{ special(scope.row.htkssj) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="合同结束时间" align="center" prop="htjssj">
+        <template slot-scope="scope">
+          <span>{{ special(scope.row.htjssj) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="补贴开始时间" align="center" prop="btkssj">
+        <template slot-scope="scope">
+          <span>{{ special(scope.row.btkssj) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="补贴结束时间" align="center" prop="btjssj">
+        <template slot-scope="scope">
+          <span>{{ special(scope.row.btjssj) }}</span>
+        </template>
+      </el-table-column>
 			<el-table-column label="审核状态" align="center" prop="shzt">
 				<template slot-scope="scope">
 					<dict-tag :options="dict.type.XZ120" :value="scope.row.jtffZt" />
 				</template>
 			</el-table-column>
-			<el-table-column label="审核意见" align="center" prop="shyj">
-				<template slot-scope="scope">
-					<el-tooltip effect="light" :content="scope.row.hlyJtffShyj" placement="top-start">
-						{{scope.row.hlyJtffShyj | ellipsis}}
-					</el-tooltip>
-					<!--<dict-tag :options="dict.type.XZ120" :value="scope.row.hlyJtffShyj" />-->
-				</template>
-			</el-table-column>
+<!--			<el-table-column label="审核意见" align="center" prop="shyj">-->
+<!--				<template slot-scope="scope">-->
+<!--					<el-tooltip effect="light" :content="scope.row.hlyJtffShyj" placement="top-start">-->
+<!--						{{scope.row.hlyJtffShyj | ellipsis}}-->
+<!--					</el-tooltip>-->
+<!--					&lt;!&ndash;<dict-tag :options="dict.type.XZ120" :value="scope.row.hlyJtffShyj" />&ndash;&gt;-->
+<!--				</template>-->
+<!--			</el-table-column>-->
 			<el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="is_Component" width="160">
 				<template slot-scope="scope">
 					<el-button
@@ -207,35 +222,35 @@
 						</tr>
 					</table>
 				</el-tab-pane>
-				<el-tab-pane label="补贴信息" name="second">
-					<ygjbxxtable :oldId="dataDetails.id" :isComponent="false">
+<!--				<el-tab-pane label="补贴信息" name="second">-->
+<!--					<ygjbxxtable :oldId="dataDetails.id" :isComponent="false">-->
 
-					</ygjbxxtable>
-				</el-tab-pane>
-				<el-tab-pane label="处罚信息" name="three">
-					<ygcfxxtable :oldId="dataDetails.id" :isComponent="false">
+<!--					</ygjbxxtable>-->
+<!--				</el-tab-pane>-->
+<!--				<el-tab-pane label="处罚信息" name="three">-->
+<!--					<ygcfxxtable :oldId="dataDetails.id" :isComponent="false">-->
 
-					</ygcfxxtable>
-				</el-tab-pane>
-				<el-tab-pane label="奖励信息" name="four">
-					<ygjlxxtable :oldId="dataDetails.id" :isComponent="false">
+<!--					</ygcfxxtable>-->
+<!--				</el-tab-pane>-->
+<!--				<el-tab-pane label="奖励信息" name="four">-->
+<!--					<ygjlxxtable :oldId="dataDetails.id" :isComponent="false">-->
 
-					</ygjlxxtable>
-				</el-tab-pane>
-				<el-tab-pane label="资质信息" name="five">
-					<ygzzxxtable :oldId="dataDetails.id" :isComponent="false">
-					</ygzzxxtable>
-				</el-tab-pane>
-				<el-tab-pane label="从业经历" name="six">
-					<ygcyjltable :oldId="dataDetails.id" :isComponent="false">
+<!--					</ygjlxxtable>-->
+<!--				</el-tab-pane>-->
+<!--				<el-tab-pane label="资质信息" name="five">-->
+<!--					<ygzzxxtable :oldId="dataDetails.id" :isComponent="false">-->
+<!--					</ygzzxxtable>-->
+<!--				</el-tab-pane>-->
+<!--				<el-tab-pane label="从业经历" name="six">-->
+<!--					<ygcyjltable :oldId="dataDetails.id" :isComponent="false">-->
 
-					</ygcyjltable>
-				</el-tab-pane>
-				<el-tab-pane label="培训经历" name="seven">
-					<ygpxjltable :oldId="dataDetails.id" :isComponent="false">
+<!--					</ygcyjltable>-->
+<!--				</el-tab-pane>-->
+<!--				<el-tab-pane label="培训经历" name="seven">-->
+<!--					<ygpxjltable :oldId="dataDetails.id" :isComponent="false">-->
 
-					</ygpxjltable>
-				</el-tab-pane>
+<!--					</ygpxjltable>-->
+<!--				</el-tab-pane>-->
 				<el-tab-pane label="合同信息" name="eight">
 					<ygHtxxtable :oldId="dataDetails.id" :isComponent="false">
 
@@ -301,11 +316,11 @@ export default {
 	},
 	components: {
 		ygjbxxtable: ygjbxxtable,
-		ygzzxxtable: ygzzxxtable,
-		ygcfxxtable: ygcfxxtable,
-		ygjlxxtable: ygjlxxtable,
-		ygcyjltable: ygcyjltable,
-		ygpxjltable: ygpxjltable,
+		// ygzzxxtable: ygzzxxtable,
+		// ygcfxxtable: ygcfxxtable,
+		// ygjlxxtable: ygjlxxtable,
+		// ygcyjltable: ygcyjltable,
+		// ygpxjltable: ygpxjltable,
 		ygHtxxtable: ygHtxxtable
 	},
 	props: {

+ 3 - 4
ruoyi-ui/src/views/organization/yggl/ygHtxx/table.vue

@@ -61,16 +61,14 @@
 						icon="el-icon-edit"
 						@click="handleUpdate(scope.row)"
 						v-hasPermi="['organization:htxx:edit']"
-					>修改
-					</el-button>
+            v-if="scope.$index === total -1">修改</el-button>
 					<el-button
 						size="mini"
 						type="text"
 						icon="el-icon-delete"
 						@click="handleDelete(scope.row,scope.$index)"
 						v-hasPermi="['organization:htxx:remove']"
-					>删除
-					</el-button>
+            v-if="scope.$index === total -1">删除</el-button>
 				</template>
 			</el-table-column>
 		</el-table>
@@ -318,6 +316,7 @@ export default {
 							}
 							this.htxxList.unshift({ ...this.form, id: response.data })
 							this.total++
+              this.getList();
 							/****** sks 需要改动的地方 end ******/
 						}).finally(() => this.submitFormLoading = false)
 					}