当前位置: 首页 > article >正文

RapidrepairDaoImpl

目录

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.kler.cn/a/541043.html

相关文章:

  • 二、通义灵码插件保姆级教学-IDEA(使用篇)
  • 5 个释放 安卓潜力的 Shizuku 应用
  • 点大商城V2-2.6.6源码全开源uniapp +搭建教程
  • 每日一题——没有重复项数字的全排列
  • CSS 伪类(Pseudo-classes)的详细介绍
  • Linux 创建进程 fork()、vfork() 与进程管理
  • 利用ES6 Set去重
  • 标题:深入探索 gRPC:后端开发中高效通信的利器
  • Python语言的数据可视化
  • 2025年一段代码使用python完成过年放烟花写祝福
  • 【多模态大模型】系列2:如何用多GPU训练一个非常大的模型(数据/模型/流水线/张量并行、MoE、混合精度训练、压缩、激活重新计算)
  • elementplus 使用日期时间选择器,设置可选范围为前后大于2年且只能选择历史时间不能大于当前时间点
  • DeepSeek大模型的发展的十问十答
  • 蓄电池放电技术革新:引领能源存储新时代
  • Day60_补20250208_图论part5_并查集理论基础|寻找存在的路径
  • C++ 中的 cJSON 解析库:用法、实现及递归解析算法与内存高效管理
  • 基于fpga的数字频率计(论文+源码)
  • 鱼塘钓鱼(多路归并,贪心)
  • PDF密码忘了?三步找回超简单
  • 详解享元模式
  • 数据结构 顺序表及其实现
  • Oracle(OCP和OCM)
  • 微信小程序文件流转base64文件,wx.arrayBufferToBase64()方法已弃用
  • Linux网卡为什么没有对应的设备文件
  • 二叉树的遍历方式和子问题思路
  • MyBatis常见知识点