package cn.com.lzt.initialstock.service.impl; import cn.com.lzt.initialstock.entity.TBInitialStockEntity; import cn.com.lzt.initialstock.service.TBInitialStockServiceI; import cn.com.lzt.initialstockdetail.entity.TBInitialStockDetailEntity; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.util.MyBeanUtils; import org.jeecgframework.core.util.oConvertUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.UUID; @Service("tBInitialStockService") @Transactional public class TBInitialStockServiceImpl extends CommonServiceImpl implements TBInitialStockServiceI { public void delete(T entity) { super.delete(entity); //执行删除操作配置的sql增强 this.doDelSql((TBInitialStockEntity)entity); } public void addMain(TBInitialStockEntity tBInitialStock, List tBInitialStockDetailList){ //保存主信息 this.save(tBInitialStock); /**保存-期初库存详情*/ for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){ //外键设置 tBInitialStockDetail.setInitialStockId(tBInitialStock.getId()); this.save(tBInitialStockDetail); } //执行新增操作配置的sql增强 this.doAddSql(tBInitialStock); } // public void addMain_custom(TBInitialStockEntity tBInitialStock, // List tBInitialStockDetailList, List realStickList){ // //保存主信息 // this.save(tBInitialStock); // // /**保存-期初库存详情*/ // for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){ // //外键设置 // tBInitialStockDetail.setInitialStockId(tBInitialStock.getId()); // this.save(tBInitialStockDetail); // } // //设置实时库存 // for(TBRealtimeStockEntity realStick : realStickList){ // this.save(realStick); // } // //执行新增操作配置的sql增强 // this.doAddSql(tBInitialStock); // } // public void addRealtimeStockList(TBInitialStockEntity initialStock, List realtimeStockList){ // //更新期初库存 // this.updateEntitie(initialStock); // //添加实时库存 // for(TBRealtimeStockEntity realStick : realtimeStockList){ // this.save(realStick); // } // } public void updateMain(TBInitialStockEntity tBInitialStock, List tBInitialStockDetailList) { //保存主表信息 this.saveOrUpdate(tBInitialStock); // this.updateEntitie(tBInitialStock); //=================================================================================== //获取参数 Object id0 = tBInitialStock.getId(); //=================================================================================== //1.查询出数据库的明细数据-期初库存详情 String hql0 = "from TBInitialStockDetailEntity where 1 = 1 AND iNITIAL_STOCK_ID =? "; List tBInitialStockDetailOldList = this.findHql(hql0,id0); //2.筛选更新明细数据-期初库存详情 if(tBInitialStockDetailList!=null&&tBInitialStockDetailList.size()>0){ for(TBInitialStockDetailEntity oldE:tBInitialStockDetailOldList){ boolean isUpdate = false; for(TBInitialStockDetailEntity sendE:tBInitialStockDetailList){ //需要更新的明细数据-期初库存详情 if(oldE.getId().equals(sendE.getId())){ try { MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE); this.saveOrUpdate(oldE); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(e.getMessage()); } isUpdate= true; break; } } if(!isUpdate){ //如果数据库存在的明细,前台没有传递过来则是删除-期初库存详情 super.delete(oldE); } } //3.持久化新增的数据-期初库存详情 for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){ if(oConvertUtils.isEmpty(tBInitialStockDetail.getId())){ //外键设置 tBInitialStockDetail.setInitialStockId(tBInitialStock.getId()); this.save(tBInitialStockDetail); } } } //执行更新操作配置的sql增强 this.doUpdateSql(tBInitialStock); } // public void updateMain_custom(TBInitialStockEntity tBInitialStock, // List tBInitialStockDetailList, List realStickList) { // //保存主表信息 // this.saveOrUpdate(tBInitialStock); // //=================================================================================== // //获取参数 // Object id0 = tBInitialStock.getId(); // //=================================================================================== // //1.查询出数据库的明细数据-期初库存详情 // String hql0 = "from TBInitialStockDetailEntity where 1 = 1 AND iNITIAL_STOCK_ID = ? "; // List tBInitialStockDetailOldList = this.findHql(hql0,id0); // //2.筛选更新明细数据-期初库存详情 // if(tBInitialStockDetailList!=null&&tBInitialStockDetailList.size()>0){ // for(TBInitialStockDetailEntity oldE:tBInitialStockDetailOldList){ // boolean isUpdate = false; // for(TBInitialStockDetailEntity sendE:tBInitialStockDetailList){ // //需要更新的明细数据-期初库存详情 // if(oldE.getId().equals(sendE.getId())){ // try { // MyBeanUtils.copyBeanNotNull2Bean(sendE,oldE); // this.saveOrUpdate(oldE); // } catch (Exception e) { // e.printStackTrace(); // throw new BusinessException(e.getMessage()); // } // isUpdate= true; // break; // } // } // if(!isUpdate){ // //如果数据库存在的明细,前台没有传递过来则是删除-期初库存详情 // super.delete(oldE); // } // // } // //3.持久化新增的数据-期初库存详情 // for(TBInitialStockDetailEntity tBInitialStockDetail:tBInitialStockDetailList){ // if(oConvertUtils.isEmpty(tBInitialStockDetail.getId())){ // //外键设置 // tBInitialStockDetail.setInitialStockId(tBInitialStock.getId()); // this.save(tBInitialStockDetail); // } // } // } // //执行更新操作配置的sql增强 // this.doUpdateSql(tBInitialStock); // } public void delMain(TBInitialStockEntity tBInitialStock) { //删除主表信息 this.delete(tBInitialStock); //=================================================================================== //获取参数 Object id0 = tBInitialStock.getId(); //=================================================================================== //删除-期初库存详情 String hql0 = "from TBInitialStockDetailEntity where 1 = 1 AND iNITIAL_STOCK_ID =? "; List tBInitialStockDetailOldList = this.findHql(hql0,id0); this.deleteAllEntitie(tBInitialStockDetailOldList); } /** * 默认按钮-sql增强-新增操作 * @param id * @return */ public boolean doAddSql(TBInitialStockEntity t){ return true; } /** * 默认按钮-sql增强-更新操作 * @param id * @return */ public boolean doUpdateSql(TBInitialStockEntity t){ return true; } /** * 默认按钮-sql增强-删除操作 * @param id * @return */ public boolean doDelSql(TBInitialStockEntity t){ return true; } /** * 替换sql中的变量 * @param sql * @return */ public String replaceVal(String sql,TBInitialStockEntity t){ sql = sql.replace("#{id}",String.valueOf(t.getId())); sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName())); sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy())); sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate())); sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName())); sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy())); sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate())); sql = sql.replace("#{warehouse_id}",String.valueOf(t.getWarehouseId())); sql = sql.replace("#{warehouse_code}",String.valueOf(t.getWarehouseCode())); sql = sql.replace("#{warehouse_name}",String.valueOf(t.getWarehouseName())); sql = sql.replace("#{total_money}",String.valueOf(t.getTotalMoney())); sql = sql.replace("#{byhand_id}",String.valueOf(t.getByhandId())); sql = sql.replace("#{byhand_name}",String.valueOf(t.getByhandName())); sql = sql.replace("#{byhand_by}",String.valueOf(t.getByhandBy())); sql = sql.replace("#{byhand_date}",String.valueOf(t.getByhandDate())); sql = sql.replace("#{checker_id}",String.valueOf(t.getCheckerId())); sql = sql.replace("#{check_name}",String.valueOf(t.getCheckName())); sql = sql.replace("#{check_by}",String.valueOf(t.getCheckBy())); sql = sql.replace("#{check_date}",String.valueOf(t.getCheckDate())); sql = sql.replace("#{remark}",String.valueOf(t.getRemark())); sql = sql.replace("#{UUID}",UUID.randomUUID().toString()); return sql; } }