Browse Source

1.合同bug调整

wuhp 1 year ago
parent
commit
f22f46c239

+ 1 - 0
src/main/java/com/ydtech/modules/fnc/controller/contract/ContractController.java

@@ -139,4 +139,5 @@ public class ContractController extends BaseController {
             return HttpResult.error("查询错误" + e.getMessage());
         }
     }
+
 }

+ 46 - 0
src/main/java/com/ydtech/modules/fnc/controller/contract/ControllerTimer.java

@@ -0,0 +1,46 @@
+package com.ydtech.modules.fnc.controller.contract;
+
+import com.ydtech.modules.fnc.service.contract.ContractService;
+import com.ydtech.utils.DateUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ *  合同定时任务
+ */
+@Slf4j
+@Component
+public class ControllerTimer {
+    @Autowired
+    private ContractService contractService;
+
+
+
+
+    /**
+     *  @version
+     *  @author: whp
+     *  @Date: 2024/11/18
+     *  @Description:
+     */
+    @Scheduled(cron = "0 0 0 * * ?")
+    private void updateOrderDateNoon() {
+        //如果合同得失效日期有值如果过今天 超过失效日期则改为合同失效
+        log.info("更新合同失效状态,启动时间:{}", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
+        String nowTime = DateUtil.getDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss");
+
+        try {
+            contractService.batchOrderDate(nowTime);
+            log.info("定时更新合同失效状态");
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("定时更新合同失效状态:{}", e.getMessage());
+        }
+    }
+
+}

+ 12 - 0
src/main/java/com/ydtech/modules/fnc/dao/contract/ContractMapper.java

@@ -34,5 +34,17 @@ public interface ContractMapper  extends BaseMapper<ContractEntity> {
      */
     HashMap<String, Object> copyContractCode(String id);
 
+    /**
+     *
+     * @param nowTime
+     * @return  当前时间过滤失效日期
+     */
+    List<ContractEntity> selectFilterFailure(String nowTime);
+
+    /**
+     * 修改
+     * @param contractEntity
+     */
+    void updateMapper(ContractEntity contractEntity);
 
 }

+ 1 - 6
src/main/java/com/ydtech/modules/fnc/dto/contract/ContractDto.java

@@ -116,14 +116,9 @@ public class ContractDto implements Serializable {
     @ApiModelProperty("合同附件集合")
     private List<ContractFileEntity> contractFileEntityList;
 
-    @ApiModelProperty("顺延年")
-    private String yearTime;
-
-    @ApiModelProperty("顺延月")
-    private String monthTime;
 
     @ApiModelProperty("顺延日")
-    private String dayTime;
+    private String dateTime;
 
 
     @ApiModelProperty("顺延时间类型")

+ 6 - 0
src/main/java/com/ydtech/modules/fnc/entity/ContractEntity.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.fnc.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -8,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.naming.Name;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.List;
@@ -146,6 +148,10 @@ public class ContractEntity implements Serializable {
     private String dateType;
 
 
+    @ApiModelProperty("顺延日")
+    @TableField("date_time")
+    private String dateTime;
+
 
     @ApiModelProperty("供应商id")
     @TableField(exist = false)

+ 8 - 0
src/main/java/com/ydtech/modules/fnc/service/contract/ContractService.java

@@ -64,4 +64,12 @@ public interface ContractService extends IService<ContractEntity> {
      * @return  合同供应商分页
      */
     IPage<ContractDto> supplierContractPage(ContractVo contractVO);
+
+
+
+    /**
+     * 定时更新合同失效状态
+     */
+    void batchOrderDate(String nowTime);
+
 }

+ 34 - 24
src/main/java/com/ydtech/modules/fnc/service/contract/impl/contractServiceImpl.java

@@ -124,36 +124,36 @@ public class contractServiceImpl extends ServiceImpl<ContractMapper, ContractEnt
 //                contractEntity.setShouldPostponedDate(shouldPostponedDate);
 //            }
 
-            baseMapper.updateById(contractEntity);
+            contractMapper.updateMapper(contractEntity);
             contractSupplierService.saveAndUpdate(contractDto.getContractType(),contractDto.getSupplierIdList(), contractEntity.getId());
 
             contractFileService.saveAndUpdate(contractDto.getFilePathIdList(), contractEntity.getId());
         }
     }
 
-    private LocalDateTime saveShouldPostponedDate(ContractDto contractDto) {
-        LocalDateTime expiringDateNew =null;
-        String yearTime = contractDto.getYearTime();
-        String monthTime = contractDto.getMonthTime();
-        String dayTime = contractDto.getDayTime();
-
-
-
-        LocalDateTime expiringDate = contractDto.getExpiringDate();
-        if(StringUtils.isNotEmpty(yearTime)){
-            expiringDateNew=expiringDate.plusYears(Integer.parseInt(yearTime));
-        }
-        if(StringUtils.isNotEmpty(monthTime)){
-
-            expiringDateNew=expiringDate.plusMonths(Integer.parseInt(monthTime));
-        }
-
-        if(StringUtils.isNotEmpty(dayTime)){
-            expiringDateNew=expiringDate.plusDays(Integer.parseInt(dayTime));
-
-        }
-        return expiringDateNew;
-    }
+//    private LocalDateTime saveShouldPostponedDate(ContractDto contractDto) {
+//        LocalDateTime expiringDateNew =null;
+//        String yearTime = contractDto.getYearTime();
+//        String monthTime = contractDto.getMonthTime();
+//        String dayTime = contractDto.getDayTime();
+//
+//
+//
+//        LocalDateTime expiringDate = contractDto.getExpiringDate();
+//        if(StringUtils.isNotEmpty(yearTime)){
+//            expiringDateNew=expiringDate.plusYears(Integer.parseInt(yearTime));
+//        }
+//        if(StringUtils.isNotEmpty(monthTime)){
+//
+//            expiringDateNew=expiringDate.plusMonths(Integer.parseInt(monthTime));
+//        }
+//
+//        if(StringUtils.isNotEmpty(dayTime)){
+//            expiringDateNew=expiringDate.plusDays(Integer.parseInt(dayTime));
+//
+//        }
+//        return expiringDateNew;
+//    }
 
     private String getNameInv(String externalCompaniesId) {
         QueryWrapper<InvAccount> queryWrapper = new QueryWrapper<>();
@@ -463,4 +463,14 @@ public class contractServiceImpl extends ServiceImpl<ContractMapper, ContractEnt
     public IPage<ContractDto> supplierContractPage(ContractVo contractVO) {
         return contractSupplierService.supplierContractPage(contractVO);
     }
+
+    /**
+     * 定时更新合同失效状态
+     */
+    @Override
+    @Transactional
+    public void batchOrderDate(String  nowTime) {
+        List<ContractEntity> contractEntityList = baseMapper.selectFilterFailure(nowTime);
+        this.saveOrUpdateBatch(contractEntityList);
+    }
 }

+ 45 - 0
src/main/resources/mapper/modules/fnc/contract/ContractMapper.xml

@@ -65,4 +65,49 @@
         </where>
     </select>
 
+    <select id="selectFilterFailure" resultType="com.ydtech.modules.fnc.entity.ContractEntity">
+        select
+            ic.id as "id",
+            "1"  as "contractStatus"
+            from
+            ins_contract  ic
+        <where>
+            ic.expiring_date is not  null
+            <if test="nowTime !=null  and  nowTime != ''">
+               and  ic.expiring_date &lt; #{nowTime}
+            </if>
+        </where>
+    </select>
+
+    <update id="updateMapper">
+        UPDATE ins_contract
+        set contract_code                   =#{contractCode},
+            contract_name                   =#{contractName},
+            internal_company_name           =#{internalCompanyName},
+            internal_company_id             =#{internalCompanyId},
+            external_companies_name         =#{externalCompaniesName},
+            external_companies_id           =#{externalCompaniesId},
+            supplier_name                   =#{supplierName},
+            supplier_id                     =#{supplierId},
+            contract_type                   =#{contractType},
+            is_open_contract                =#{isOpenContract},
+            should_postponed                =#{shouldPostponed},
+            expiration_reminder             =#{expirationReminder},
+            effective_date                  =#{effectiveDate},
+            expiring_date                   =#{expiringDate},
+            should_postponed_date           =#{shouldPostponedDate},
+            should_postponed_effective_date =#{shouldPostponedEffectiveDate},
+            file_path_id                    =#{filePathId},
+            dept_id                         =#{deptId},
+            user_id                         =#{userId},
+            create_time                     =#{createTime},
+            extern_type                     =#{externType},
+            internal_type                   =#{internalType},
+            contract_status                 =#{contractStatus},
+            parent_id                       =#{parentId},
+            date_time                       =#{dateTime},
+            date_type                       =#{dateType}
+        WHERE id = #{id};
+    </update>
+
 </mapper>