RapidrepairDaoImpl

目录

[1、 RapidrepairDaoImpl](#1、 RapidrepairDaoImpl)

[1.1、 maintenanceNum](#1.1、 maintenanceNum)

[1.2、 updateListReceptione](#1.2、 updateListReceptione)

[1.2.1、 //派工状态](#1.2.1、 //派工状态)

[1.2.2、 //领料状态](#1.2.2、 //领料状态)

[1.2.3、 // 主表保存成功](#1.2.3、 // 主表保存成功)

[1.2.4、 // 维修明细表](#1.2.4、 // 维修明细表)

[1.2.5、 // 费用明细表有数据](#1.2.5、 // 费用明细表有数据)

[1.2.6、 // 保险理赔明细](#1.2.6、 // 保险理赔明细)

[1.2.7、 // 三包索赔明细](#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;

}

}

相关推荐
love530love6 小时前
Windows避坑部署CosyVoice多语言大语言模型
人工智能·windows·python·语言模型·自然语言处理·pycharm
路人与大师7 小时前
从lightrag的prompt到基于openai Structured Outputs 的优化实现思路
windows·microsoft·prompt
shandianchengzi8 小时前
【记录】Windows|竖屏怎么调整分辨率使横竖双屏互动鼠标丝滑
windows·计算机外设·显示器·鼠标·分辨率·双屏
Mcband15 小时前
EasyExcel动态表头
java·windows
L_cl19 小时前
【NLP 75、如何通过API调用智谱大模型】
linux·服务器·windows
海尔辛19 小时前
学习黑客Active Directory 入门指南(一)
windows·学习·ad
※※冰馨※※19 小时前
彻底解决QT5 中文编译不过问题
c++·windows·qt
love530love20 小时前
【笔记】记一次PyCharm的问题反馈
ide·人工智能·windows·笔记·python·pycharm
范纹杉想快点毕业21 小时前
以项目的方式学QT开发C++(二)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·开发语言·c++·windows·vscode·qt·visual studio
兔子坨坨21 小时前
pycharm连接github(详细步骤)
windows·git·学习·pycharm·github