RapidrepairDaoImpl

news/2025/2/11 16:41:57/

目录

1、 RapidrepairDaoImpl 

1.1、 maintenanceNum 

1.2、 updateListReceptione 

1.2.1、 //派工状态 

1.2.2、 //领料状态 

1.2.3、 // 主表保存成功 

1.2.4、 // 维修明细表 

1.2.5、 // 费用明细表有数据 

1.2.6、 // 保险理赔明细 

1.2.7、 // 三包索赔明细 

  1. RapidrepairDaoImpl 

package com.gx.dao.impl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.gx.dao.IRapidrepairDao;

import com.gx.pojo.PW_Reception;

import com.gx.pojo.SYS_CollageDetai;

import com.gx.pojo.SYS_InsuranceDetail;

import com.gx.pojo.SYS_RecOtherCostDetail;

import com.gx.pojo.SYS_RecProductDetail;

import com.gx.pojo.SYS_RecRepairItemDetail;

import com.gx.pojo.SYS_ThreePacksDetail;

import com.gx.util.DbUtil;

import com.gx.util.JdbcHelper;

public class RapidrepairDaoImpl implements IRapidrepairDao {

 private Connection conn=null;

 private PreparedStatement ps=null;

 private ResultSet rs=null;

    1. maintenanceNum

 @Override

 public int maintenanceNum(String d) {

  String maintenanceNum = "SELECT TOP 1 SUBSTRING(MaintenanceNum,10,4) from PW_Reception "

    + "WHERE MaintenanceNum LIKE '%"

    + d

    + "%' ORDER BY  MaintenanceNum DESC";

  int num = 0;

  try {

   conn = DbUtil.getConnection();

   ps = conn.prepareStatement(maintenanceNum);

   rs = ps.executeQuery();

   while (rs.next()) {

    num = rs.getInt(1);

   }

  } catch (SQLException e) {

   e.printStackTrace();

  } finally {

   DbUtil.close(rs, ps, conn);

  }

  return num;

 }

    1. updateListReceptione

 @Override

 public int updateListReceptione(List<PW_Reception> listReception,

   List<SYS_RecRepairItemDetail> listRecRepairItem,

   List<SYS_CollageDetai> listCollageDetai,

   List<SYS_RecOtherCostDetail> listRecOtherCost,

   List<SYS_InsuranceDetail> listArrInsuranceMoney,

   List<SYS_ThreePacksDetail> listThreePacksDetail) {

  int id = 0;

   if (listRecRepairItem.size() != 0)

         {

             listReception.get(0).setToSendWork(true);

      1. //派工状态

         }

         else {

             listReception.get(0).setToSendWork(false);//派工状态

         }

         if ( listReception.get(0).getReceptionID()== null)

         {

             listReception.get(0).setDocumentStateID(1); //未结算

             listReception.get(0).setBalanceStateID (3);//未付款

             listReception.get(0).setCollageState("未领料");

      1. //领料状态

             listReception.get(0).setToCompletion(false);//领料状态

             id=JdbcHelper.insert(listReception.get(0));

         }

         else

         {

          id=listReception.get(0).getReceptionID();

          rs=JdbcHelper.select(PW_Reception.class, "ReceptionID", id);

          PW_Reception list=JdbcHelper.getSingleResult(rs, PW_Reception.class);

             listReception.get(0).setMaintenAmount(list.getMaintenAmount());

             listReception.get(0).setDocumentStateID(list.getDocumentStateID());

             listReception.get(0).setBalanceStateID(list.getBalanceStateID());

             listReception.get(0).setCollageState(list.getCollageState());

             listReception.get(0).setToCompletion(list.getToCompletion());

             JdbcHelper.update(listReception.get(0));//修改

         }

  if (id > 0) {

      1. // 主表保存成功

   List<Integer> oldID = new ArrayList<Integer>();// 原来ID

   List<Integer> newID = new ArrayList<Integer>();// 传过来的ID

   if (listRecRepairItem.size() != 0) {// 修理项目明细表有数据

      1.     // 维修明细表

    rs = JdbcHelper.select(SYS_RecRepairItemDetail.class,

      "ReceptionID", id);

    List<SYS_RecRepairItemDetail> list = JdbcHelper.getResult(rs,

      SYS_RecRepairItemDetail.class);// 修理项目明细表

    for (SYS_RecRepairItemDetail item : list) {

     oldID.add(item.getRecRepairItemDetailID());// 把原来的明细id放进集合

    }

    for (int i = 0; i < listRecRepairItem.size(); i++) {// 遍历修理项目明细表

     listRecRepairItem.get(i).setReceptionID(id);

     if (listRecRepairItem.get(i).getRecRepairItemDetailID() == null) {

      JdbcHelper.insert(listRecRepairItem.get(i));// 新增

     } else {

      int recRepairItemDetailID = listRecRepairItem.get(i)

        .getRecRepairItemDetailID();

      newID.add(recRepairItemDetailID);

      JdbcHelper.update(listRecRepairItem.get(0));// 修改

     }

    }

    oldID.removeAll(newID);// 从某集合中删除其与另一个集合中相同的项;其实这个说简单点就是某集合中独有的元素(差集)

    for (Integer item : oldID) {

     JdbcHelper.delete(SYS_RecRepairItemDetail.class,

       "RecRepairItemDetailID", item);

    }

   } else {

    JdbcHelper.delete(SYS_RecRepairItemDetail.class, "ReceptionID",

      id);

   }

   if (listCollageDetai.size() != 0) {// /配件明细表有数据

    for (int i = 0; i < listCollageDetai.size(); i++) {

     int collageDetaiID=listCollageDetai.get(i).getCollageDetaiID();

     int maintainabilityID=listCollageDetai.get(i).getMaintainabilityID();

     rs=JdbcHelper.select(SYS_CollageDetai.class, "CollageDetaiID", collageDetaiID);

     SYS_CollageDetai list=JdbcHelper.getSingleResult(rs, SYS_CollageDetai.class);

     list.setMaintainabilityID(maintainabilityID);

     JdbcHelper.update(list);

    }

   }

   if (listRecOtherCost.size() != 0) {

      1. // 费用明细表有数据

    // 维修明细表

    oldID.clear();

    newID.clear();

    rs = JdbcHelper.select(SYS_RecOtherCostDetail.class,

      "ReceptionID", id);

    List<SYS_RecOtherCostDetail> list = JdbcHelper.getResult(rs,

      SYS_RecOtherCostDetail.class);// 费用明细表

    for (SYS_RecOtherCostDetail item : list) {

     oldID.add(item.getRecOtherCostDetailID());// 把原来的明细id放进集合

    }

    for (int i = 0; i < listRecOtherCost.size(); i++) {// 遍历修理项目明细表

     listRecOtherCost.get(i).setReceptionID(id);

     if (listRecOtherCost.get(i).getRecOtherCostDetailID() == null) {

      JdbcHelper.insert(listRecOtherCost.get(i));// 新增

     } else {

      newID.add(listRecOtherCost.get(i)

        .getRecOtherCostDetailID());

      JdbcHelper.update(listRecOtherCost.get(i));// 修改

     }

    }

    oldID.removeAll(newID);// 从某集合中删除其与另一个集合中相同的项;其实这个说简单点就是某集合中独有的元素(差集)

    for (Integer item : oldID) {

     JdbcHelper.delete(SYS_RecOtherCostDetail.class,

       "RecOtherCostDetailID", item);

    }

   } else {

    JdbcHelper.delete(SYS_RecOtherCostDetail.class, "ReceptionID",

      id);

   }

   if (listArrInsuranceMoney.size() != 0) {

      1.     // 保险理赔明细

    listArrInsuranceMoney.get(0).setReceptionID(id);

    if (listArrInsuranceMoney.get(0).getInsuranceDetailID() == null) {

     JdbcHelper.insert(listArrInsuranceMoney.get(0));// 新增

    } else {

     JdbcHelper.update(listArrInsuranceMoney.get(0));// 修改

    }

   }

   if (listThreePacksDetail.size() != 0) {

      1.     // 三包索赔明细

    listThreePacksDetail.get(0).setReceptionID(id);

    if (listThreePacksDetail.get(0).getThreePacksDetailID() == null) {

     JdbcHelper.insert(listThreePacksDetail.get(0));// 新增

    } else {

     JdbcHelper.update(listThreePacksDetail.get(0));// 修改

    }

   }

  }

  return id;

 }

}


http://www.ppmy.cn/news/1571198.html

相关文章

uniapp实现人脸识别(不使用三方插件)

uniapp实现人脸识别 内容简介功能实现上传身份证进行人脸比对 遇到的问题 内容简介 1.拍摄/相册将身份证照片上传到接口进行图片解析 2.使用live-pusher组件拍摄人脸照片&#xff0c;上传接口与身份证人脸进行比对 功能实现 上传身份证 先看下效果 点击按钮调用chooseImage…

3.攻防世界 unseping(反序列化与魔术方法)

进入题目页面如下 给出源码&#xff0c;开始代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;方便调试和查看代码结构 highlight_file(__FILE__);// 定义一个名为 ease 的类 class ease {// 定义私有属性 $method&#xff0c;用于存储要调用的方法名private …

20240824 美团 笔试

文章目录 1、单选题1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.202、编程题2.12.2岗位:硬件开发工程师(嵌入式系统软件开发方向) 题型:20 道单选题,2 道编程题题 1、单选题 1.1 C 语言中,如果输入整数 v 是 2 的幂,下面表达式中哪个会返…

Day86:游戏开发

游戏开发是一项综合性强、技术多样的工作。它不仅涉及编程,还包括图形设计、用户体验(UX)设计、音效制作等多个方面。在本节中,我们将了解游戏开发的基础知识,学习如何使用 Python 开发简单的 2D 游戏,并使用库如 Pygame 来加速开发过程。 1. 游戏开发简介 游戏开发是创…

SIPp的参数及命令示例

以下是SIPp参数的分类表格整理&#xff0c;方便快速查阅和使用&#xff1a; SIPp 参数分类表格 分类参数描述默认值示例基本参数-sc指定XML场景文件&#xff08;客户端模式&#xff09;无-sc uac.xml-sd指定XML场景文件&#xff08;服务器端模式&#xff09;无-sd uas.xml-i本…

安卓使用JExcelApi读取Excel文件

要在安卓应用中使用JExcelApi读取Excel文件&#xff0c;你需要先确保你的项目中已经添加了JExcelApi的依赖。由于安卓项目的构建方式多样&#xff0c;这里以使用Gradle为例来介绍如何在安卓应用中集成和使用JExcelAPI。 ### 步骤1: 添加依赖 首先&#xff0c;在你的build.gra…

算法设计-二分查找(C++)

一、简述 二分查找是一种在有序数组中查找特定元素的高效算法&#xff0c;其时间复杂度为 O(log n)。 二、详细代码 #include<iostream> #include<cmath> using namespace std;int BinarySearch(int arr[], int x, int size ) {int l 0;int r size-1;int m 0…

DeepSeek 关联 Word 使用教程:解锁办公新效率

在当今数字化办公时代&#xff0c;将强大的人工智能模型与常用办公软件相结合&#xff0c;能显著提升工作效率。DeepSeek 作为一款先进的人工智能工具&#xff0c;若能与广泛使用的办公软件 Word 实现关联&#xff0c;可在文档撰写、编辑、内容优化等诸多方面为用户带来极大便利…